npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@esankhan3/anvil-cli

v0.1.4

Published

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

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.