Skip to content

Spec Driven Development for AI agents

Give every coding agent a contract. Verify the code before done.

Planu turns a request into an approved spec, keeps implementation aligned, and validates the result against explicit acceptance criteria.

Inspect real evidence

Free commercial and non-commercial use · compatible Node.js runtime · no Planu API key to start

Build-time verified

Product facts, not vanity counters.

Commit2dd800273
Tag
v5.3.30
Source
Commit
Verified

A released Planu artifact

Follow the contract from request to release.

This compact record is generated from sanitized, allowlisted lifecycle and validation evidence—not a staged terminal animation.

SPEC-1150 / spec.mddone
01
Spec

Clear released specs from the pending release ledger

Make the release commit the atomic source of truth for which pending specs were published, while preserving any ledger entry created or updated after the immutable release-base snapshot.

02
Lifecycle
  1. approved
  2. implementing
  3. done
03
Acceptance criteria
  • AC1GIVEN `planu/releases/pending.json` contains valid entries at `RELEASE_BASE_HEAD`, WHEN the release commit is created, THEN every current entry with the same complete `{specId,title,completedAt}` identity is removed, and a shared cross-process lock makes entries added or changed after the snapshot—including an append attempted during reconciliation—remain.
  • AC2GIVEN release execution resumes before or after the release commit, WHEN pending reconciliation runs, THEN it derives the same snapshot from the persisted `RELEASE_BASE_HEAD`, is idempotent, and never repeats mutation after `release-commit` is recorded; `tests/integration/release-pipeline-recovery.test.ts` line 4 changes the recovery expectation.
  • AC3GIVEN dry-run mode, a missing/empty snapshot, or malformed snapshot/current JSON, WHEN pending reconciliation is evaluated, THEN dry-run performs no write, missing/empty snapshot preserves current state, and malformed data exits non-zero without changing the current file.
  • AC4GIVEN release 4.11.17 publishes the currently queued specs, WHEN delivery completes, THEN `planu/releases/pending.json` is empty, npm exposes 4.11.17, and `main`, `develop`, and `release` resolve to the same release commit.
Validation✓ passed
Releasedv4.11.17d589ca65c

What changes

Less rediscovery. Clearer review. Verifiable delivery.

  1. 01

    Persistent intent

    Requirements live in a reviewable spec instead of disappearing inside chat history.

  2. 02

    Controlled implementation

    Approval and readiness gates give every agent the same implementation boundary.

  3. 03

    Evidence before done

    Validation checks the delivered code against the criteria that were accepted.

One contract, many hosts

Keep your workflow when the agent changes.

Planu connects the same local spec lifecycle to Claude Code, Codex, Cursor, Windsurf, Gemini CLI and other supported MCP hosts.

See supported tools
  • Claude Code
  • Codex
  • Cursor
  • Windsurf
  • Gemini CLI
  • OpenCode

Transparent by design

Local project state with explicit network boundaries.

Specs and project decisions are stored as readable local files. Network activity can occur for updates, diagnostics and integrations you configure.

Read configuration details
  • Readable local project artifacts
  • No Planu API key required to start
  • Documented telemetry and integration boundaries

Built with its users

Use Planu. Help make it better.

Official unmodified Planu packages are free to run for commercial and non-commercial work. The repository and TypeScript implementation remain private and proprietary; distributed JavaScript is readable. Support independent development with a donation or share what Planu improved in your workflow.

Share your experience

$ npx -y @planu/cli@latest install

Make the next agent start from a spec.

Install once, describe one real feature, and complete your first validated loop.

Open the installation guide

Direct support

Fund the next release.

Choose a network and send its native asset directly. Planu never connects to your wallet.

QR code for BTC

Bitcoin mainnet

bc1q0wpklyw24krxpzy52g8fu6tgtyvws7v3etc40p

Send only native BTC on this network.

Blockchain transfers are public and traceable. No name or email is requested here.

BTC · Bitcoin mainnetbc1q0wpklyw24krxpzy52g8fu6tgtyvws7v3etc40p

ETH · Ethereum mainnet0xe26326f8bA13Ae7C6Eee79A10A7f3ad696Ebb5bB

SOL · Solana mainnetA6ujVihGksWwF1NRVDBgGtNeqPXnN5vFpwLtXhANqXY3