Materialize a runnable scope from a vague idea using the 7-step Forge front-end.
@alembic/forge implements the 7-step Forge front-end: grill, research, prototype, PRD, issues, goal, review. Each step writes an artifact under the scope directory, culminating in GOAL.md, validation-contract.md, and alembic.plan.ts.
@alembic/planf3 turns a prompt into an HTML plan. It can use an LLM or fall back to a deterministic template. Forge can consume a planf3 artifact as its starting point.
Think of it like… an architect's sketch phase: interview the client, research precedents, build a foam model, write specs, list permits, finalize the contract, then review before breaking ground.
runForgeFrontEnd takes a prompt, scope directory, and offline/online flag. In online mode it routes prompts through a T2 adapter; in offline mode it uses deterministic templates. loadScope creates the durable run directory with a content-addressed runId derived from goal + contract + plan.
# generate a plan alembic plan "Add OAuth to the API" # run the full Forge front-end alembic forge "Add OAuth to the API" --offline
runForgeFrontEnd delegates each step to a function in src/front-end/steps.ts. The default step registry is exported as DEFAULT_FORGE_STEPS, so advanced users can inject custom steps. Each step receives the scope directory and writes exactly one artifact.
Run alembic forge "Build a CLI command that lists files" --offline and inspect every file written to the scope directory.
alembic run --goal ... --plan ...?