JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 557
  • Score
    100M100P100Q85515F
  • License MIT

Anvil — AI-powered feature development pipeline (CLI + dashboard)

Package Exports

  • @esankhan3/anvil-cli
  • @esankhan3/anvil-cli/knowledge/context-assembler
  • @esankhan3/anvil-cli/knowledge/index
  • @esankhan3/anvil-cli/learn/rule-generator
  • @esankhan3/anvil-cli/pipeline/__smoke__/run-pipeline.smoke
  • @esankhan3/anvil-cli/pipeline/approval-gate
  • @esankhan3/anvil-cli/pipeline/index
  • @esankhan3/anvil-cli/pipeline/orchestrator
  • @esankhan3/anvil-cli/pipeline/persona-prompt
  • @esankhan3/anvil-cli/pipeline/resume
  • @esankhan3/anvil-cli/pipeline/stages/project-tasks
  • @esankhan3/anvil-cli/pipeline/steps/__tests__/custom-stage-shim.test
  • @esankhan3/anvil-cli/pipeline/steps/build.step
  • @esankhan3/anvil-cli/pipeline/steps/clarify.step
  • @esankhan3/anvil-cli/pipeline/steps/custom-stage-shim
  • @esankhan3/anvil-cli/pipeline/steps/high-level-requirements.step
  • @esankhan3/anvil-cli/pipeline/steps/index
  • @esankhan3/anvil-cli/pipeline/steps/project-specs.step
  • @esankhan3/anvil-cli/pipeline/steps/project-tasks.step
  • @esankhan3/anvil-cli/pipeline/steps/repo-requirements.step
  • @esankhan3/anvil-cli/pipeline/steps/ship.step
  • @esankhan3/anvil-cli/pipeline/steps/validate.step

Readme

anvil

Ship features, not prompts.

anvil is the command line that turns "add a booking flow" into shipped code, tested, reviewed, and PR'd — across every repo your project touches. One CLI, one dashboard, one pipeline.


The 30-second tour

# 1. Set up your project (interactive — answers a handful of questions)
anvil init

# 2. Verify everything is wired up (Node, git, gh, providers, repos)
anvil doctor

# 3. Open the dashboard and drive features end-to-end
anvil dashboard

The dashboard handles the rest: clarification, requirements, implementation, validation, and shipping — across one or many repos in the same project.


What it does

anvil init

Scaffolds a project in seconds. Drops a factory.yaml describing your repos, languages, and build commands; installs the persona prompts that drive each pipeline stage; bootstraps ~/.anvil/models.yaml so the agent stack is ready to go. Optionally clones repos from GitHub for you. Run it once per project.

anvil doctor

A pre-flight check for the entire stack — Node version, git, gh auth, the Claude / Gemini CLIs, ~/.anvil/ layout, every repo listed in your factory.yaml, and which LLM providers are configured. Reads keys from process.env, ~/.anvil/.env, and ~/.anvil/auth.json so you see the real picture, not just shell state. Add --bootstrap-models to seed models.yaml and ollama pull anything missing.

anvil dashboard

The control plane. Boots a local HTTP + WebSocket server, opens the dashboard UI, and orchestrates pipelines:

  • Clarify ambiguous requests with targeted questions
  • Plan the work — files touched, contracts crossed, risks called out, cost estimated
  • Build per-repo with the right model for each stage, with built-in retries, fallbacks, and a circuit breaker on flaky providers
  • Validate with project-defined checks; auto-fix on failure
  • Ship with branch creation, commits, and a PR per repo — cross-linked when the work spans multiple repos

Plus: change diffs, activity log, knowledge-base graph view, pipeline-policy editor, real-time cost ledger, settings UI for provider keys.


What ships in the box

  • Three commandsinit, doctor, dashboard — that's all you need today.
  • The dashboard, bundled — a self-contained React + Vite frontend, served by the same process as the WebSocket backend. No extra installs.
  • 15 persona prompts — battle-tested system prompts for clarifier, architect, engineer, tester, reviewer, security tester, and more. Copied to ~/.anvil/personas/ on init; edit any of them to retune your team's defaults.
  • 6 project templates — TypeScript / Next.js, Go microservices, Python / FastAPI, Rust / Axum, Turborepo monorepo, Django + Celery. anvil init --template <name> for a non-interactive start.
  • Default model registry — a models.yaml template with sensible per-tier choices (cheap, smart, agentic) ready to customize.

Why a CLI + dashboard, not just a CLI?

Because pipelines are easier to watch than to log.

The CLI handles setup, health checks, and launch — fast, scriptable, the right tool for one-shot work. The dashboard handles the live pipeline — every spawned agent, every diff, every cost cent, every PR — because that's a UI problem, not a stdout problem. Both share the same engine. Switch between them freely.


Configuration lives in two places

What Where
Project setup (repos, languages, commands) ~/.anvil/projects/<name>/factory.yaml
Per-workspace marker <workspace>/.factory/config.yaml
Models and routing chains ~/.anvil/models.yaml
Stage policy (which models per stage) bundled — override at ~/.anvil/stage-policy.yaml
Provider API keys process.env, ~/.anvil/.env, or via the dashboard Settings UI
Persona prompts ~/.anvil/personas/*.md

Everything except API keys is committable. Make Anvil yours.


Example configuration

Real, runnable examples for every config file live in examples/ at the repo root.

Project-level (factory.yaml)

Global (~/.anvil/)

Quick bootstrap from the examples:

cp examples/anvil-home/.env.example      ~/.anvil/.env  && chmod 600 ~/.anvil/.env
cp examples/anvil-home/models.yaml       ~/.anvil/models.yaml
cp examples/anvil-home/stage-policy.yaml ~/.anvil/stage-policy.yaml

models.yaml is also seeded automatically by anvil init (or anvil doctor --bootstrap-models). stage-policy.yaml overrides are full replacements, not merges — declare every stage you want supported. The resolver walks prefer left-to-right and picks the first model in models.yaml that matches the stage's capability and complexity_max.


Built on @anvil/* packages

The CLI is the front door. The work happens in:

  • @anvil/agent-core — eight provider adapters, router, cost, telemetry
  • @anvil/core-pipeline — stage definitions, routing, task envelopes
  • @anvil/knowledge-core — codebase indexing, retrieval, graph
  • @anvil/memory-core — long-running project memory + sleeptime consolidation
  • @anvil/convention-core — convention learner

Use the CLI for the full experience, or import the cores directly if you're building your own front end.


Status

MVP 2 — the dashboard is the canonical interface for running pipelines. More CLI commands are on deck for direct scripting.


Part of Anvil — the AI development pipeline.