Workspace patterns
Alfred can run against one repo, a multi-repo product workspace, or a specs-led workspace. The important part is making the repo scope explicit.
This page mirrors the full GitHub guide:
docs/WORKSPACE_PATTERNS.md.
For a deeper spec workflow, read Specs-driven development.
Default Layout
Section titled “Default Layout”~/code/ alfred-os/ product/ api/ web/ mobile/ specs/Set WORKSPACE_ROOT=~/code. Repo-operating agents look under
$WORKSPACE_ROOT/product/<repo>.
One Repo
Section titled “One Repo”./bin/alfred-init.py \ --non-interactive \ --agents all \ --repos my-org/my-app \ --slack-webhook skipUse this for one app, one library, or one Mac/iOS app repo.
Multi-Repo
Section titled “Multi-Repo”./bin/alfred-init.py \ --non-interactive \ --agents all \ --repos my-org/api,my-org/web,my-org/mobile \ --slack-webhook skipThe full fleet receives the selected repo list. Drake and Batman can plan across the selected repos, Lucius and Nightwing can pick labelled issues in any selected repo, Bane can run QA, and Ra’s al Ghul can review PRs across the same repo set.
Specs-Led
Section titled “Specs-Led”Clone the specs repo for context, but keep the first write loop focused on code repos:
~/code/product/ api/ web/ mobile/ specs/Use --repos my-org/api,my-org/web,my-org/mobile, then edit
~/.alfred/prompts/drake.md to reference the specs checkout. Drake should copy
the relevant spec links and acceptance criteria into the GitHub issue body.
Lucius receives spec context through that issue body when it claims the work.
Specs-driven means agents read the specs repo as planning context while
code-writing agents stay scoped to code repos. Include specs in --repos
only when you want Alfred to create labels there or pick issues and PRs from it.
Batman
Section titled “Batman”Batman is included in the full fleet as the architect agent for cross-repo
work. ARCHITECT_PARENT_REPO parent issues can go through plan, approval,
child-issue filing, and status reporting.
Batman owns the feature shape above the repo-local work. It plans the rollout and files scoped child issues for the normal fleet queue when the gate allows it.
Configure it with the rest of the fleet:
./bin/alfred-init.py \ --non-interactive \ --agents all \ --repos my-org/api,my-org/web,my-org/mobile \ --slack-webhook skipThen set ARCHITECT_PARENT_REPO, choose ARCHITECT_AUTO_EXECUTE=approval-gate
when you want approved child filing, and run alfred labels bootstrap my-org/specs for the parent repo if it sits outside --repos. The full-fleet
setup already enables the architect; it remains idle until this scope exists.