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 starter \ --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 starter \ --repos my-org/api,my-org/web,my-org/mobile \ --slack-webhook skipThe starter fleet receives the selected repo list. Drake can plan across the selected repos, Lucius can pick labelled issues in any selected repo, 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 as the architect agent for cross-repo work. It has two public paths:
BATMAN_PARENT_REPOparent issues can go through plan, approval, child-issue filing, and status reporting.BATMAN_SCAN_REPOSlegacy scans pick openagent:large-featureissues, group siblings withagent:bundle:<slug>, post a rollout plan, and stop before child issue filing.
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.
Enable it with:
./bin/alfred-init.py \ --non-interactive \ --agents drake,lucius,rasalghul,agent-cleanup,batman \ --repos my-org/api,my-org/web,my-org/mobile \ --slack-webhook skip