Agent ยท E11 Bootstrapper ๐งญ โ
E11 Bootstrapper (skill: e11-bootstrapper) โ the scaffolding wizard. Drives one-shot creation of new E11 backend repos, frontend monorepos, in-repo microservices, and new SDK packages. Resolves SDK dependencies via the alloy matrix; writes files only after an explicit [C]onfirm.
What it produces โ
- A new backend repo (microservices repo) or frontend monorepo (shadcn-based,
apps/web). - An in-repo microservice (
microservices/service-<name>/) added to an existing backend. - A missing package (rest, tasks, functions, client, jobs) added to an existing microservice.
- A new SDK package, backend or frontend flavor, in your local SDK checkout.
- Durable wizard state at
.foundry/_scaffold/wizard-state.yamlplus a shared scaffold memlog (.foundry/_scaffold/.memlog.md) so an interrupted run resumes exactly where it stopped.
When to use it โ
- Greenfield: a new repo, service, or SDK. For everything else, use the lifecycle phases.
- Resuming an interrupted scaffold โ the agent detects saved state at activation and offers resume/restart/cancel before anything else.
How to invoke โ
Invoke e11-bootstrapper:
| Code | Dispatches to | Purpose |
|---|---|---|
[NB] | e11-bootstrap-wizard | New backend repo |
[NF] | e11-bootstrap-wizard | New frontend monorepo |
[NS] | e11-bootstrap-wizard | New SDK package (backend or frontend flavor) |
[NM] | e11-bootstrap-wizard | New in-repo microservice |
[RI] | e11-bootstrap-wizard | Resume an interrupted wizard |
[AM] | e11-scaffold-microservice-package | Add a missing package to an existing microservice |
[QK] | e11-knowledge | Pull an alloy doc directly |
The wizard collects identity + output root, resolves your SDK selection through the dependency matrix (skill:e11-knowledge matrix:unit โ meta/unit-matrix.yaml, applying always/implies edges), summarizes, and only hands off to the matching scaffold after [C]onfirm.
Example session โ
You: e11-bootstrapper
Bootstrapper: ๐งญ No saved wizard state. What are we scaffolding?
You: NB โ a backend for the events platform.
Bootstrapper: Step 1 โ identity: name "events-backend", output root?
You: ~/repos
Bootstrapper: Step 2 - SDK selection. matrix:unit resolved.
You picked auth, billing โ implies user, access.
Step 3 โ summary: 4 SDKs, 8 base microservices.
Step 4 โ [C]onfirm / [E]dit / [X]cancel?
You: C
Bootstrapper: Handing off to e11-scaffold-backend. Verification:
yarn install && yarn build ... โ. Report written.Gotchas โ
- Alloy must be installed - the matrix resolves via
skill:e11-knowledge matrix:unit(meta/unit-matrix.yaml). The wizard halts with an install instruction otherwise. - SDK scaffolds need a local checkout.
e11-scaffold-sdk-backend/e11-scaffold-sdk-frontendrefuse to write into the shared cache โ setFOUNDRY_SDKS_NODEJS_PATH/FOUNDRY_SDKS_REACT_PATHto your own clone. - Non-empty targets are refused. Pick a fresh
output_rootor answer the emptiness-check prompt deliberately. - In-repo microservice vs SDK: internal business logic that won't be reused โ
[NM](private, never published). Reusable platform capability โ[NS].
Customizing โ
Org defaults are the point of the scaffold surface: registry scope (npm_scope), verification commands (verify_command), starter SDKs, target-backend path โ each lives in the relevant scaffold's customize.toml and can be overridden in .foundry/custom/<skill>.toml without touching skill files. The agent itself (persona, menu, wizard-state resume step) is .foundry/custom/e11-bootstrapper.toml. See Customization.
Source โ
src/foundry/workflows/5-scaffold/e11-bootstrapper/SKILL.md
See also: Phase 5 โ Scaffold ยท Start a new backend repo ยท Scaffold a frontend app.