A monorepo engine that turns goals into verified, teachable, publishable runs.
Alembic is a TypeScript monorepo designed to run an autonomous software-engineering loop. You give it a goal (a GOAL.md or a prompt), it plans, executes, verifies, and publishes a visual-teach course of what was done.
The engine is built in layers:
Think of it like… a research lab where every experiment is logged, peer-reviewed, and turned into a textbook chapter automatically.
Every package in the repo has a single responsibility and depends only on packages below it. @alembic/contracts is the leaf; @alembic/adapters implements the narrow waist; @alembic/etl handles cheap deterministic work; @alembic/swarm orchestrates tasks; @alembic/mission compiles missions; @alembic/vm runs alembic.plan.ts; @alembic/forge materializes scopes; @alembic/coda closes gates; @alembic/harness ties it together; and apps/cli is the human interface.
# see the whole command surface alembic help # run the doctor to verify your environment alembic doctor # generate a plan from a prompt alembic plan "Build a tiny HTTP service" # execute a Forge scope alembic forge "Build a tiny HTTP service"
The CLI is implemented in apps/cli. It parses arguments with Node's util.parseArgs and validates them with Zod schemas from @alembic/contracts. Each command is a pure-ish function over validated args and injected writer/logger, so the CLI is testable without spawning subprocesses.
Run alembic doctor and read the summary. Then run alembic help and note which commands you already understand.