Walden is an open-source, spec-driven delivery kernel: a deterministic CLI that takes a feature from intention to certified release through reviewed documents, executable proofs, and durable evidence.
Most teams run Walden through a coding agent. The embedded AI skill handles the non-deterministic half — asking clarifying questions, drafting requirements, designing architecture, planning tasks — and drives the CLI at every step. The CLI enforces the deterministic half: phase order, freshness fingerprints, verification proofs, execution evidence, and the release gate. You keep the judgment calls — nothing gets approved on your behalf.
Every feature progresses through four phases. Each phase has an approval gate that must pass before the next begins.
Requirements ──▶ Design ──▶ Tasks ──▶ Execute
│ │ │ │
validate validate validate verify
review review review proofs
approve approve approve complete
Requirements are written as EARS acceptance criteria with stable IDs; the design must cover every criterion; every leaf task carries an executable verification proof. Completing a task records durable evidence bound to the approved spec chain and to the code it proved. If anything changes after approval — a document, the code — staleness surfaces instead of hiding behind a checked box, and walden release check certifies the whole repository with one deterministic verdict.
curl -fsSL https://raw.githubusercontent.com/andrearaponi/walden/main/install.sh | shDownloads the latest release binary for your platform (darwin/linux, amd64/arm64), verifies its SHA-256 checksum, installs it to ~/.local/bin/walden, and offers to install the AI skill for your coding agent — Claude Code, Codex, Copilot, or OpenCode. Flags pass through the pipe with sh -s --:
| Flag | Effect |
|---|---|
--skill <agent|all> |
Install the skill non-interactively (claude, codex, copilot, opencode, all) |
--version <tag> |
Install a specific release instead of the latest |
--uninstall |
Remove the skill (all agents) and the binary |
From source: go install github.com/andrearaponi/walden/cmd/walden@latest, then walden skill install claude — the skill ships inside the binary, always at the matching version. Later, walden update upgrades the binary (checksum-verified, atomic) and re-syncs every installed skill.
Install, then open your coding agent and say:
We need to build a user authentication system. Let's design it with Walden.
That's it. The skill asks clarifying questions, drafts requirements in EARS format, designs the architecture, breaks the work into tasks with verification proofs, and walks you through execution — invoking the CLI on your behalf at every step:
| The skill authors | The CLI enforces |
|---|---|
| Asks the right questions | Phase ordering: Requirements → Design → Tasks → Execute |
| Drafts requirements in EARS format | Document freshness and approval chains |
| Designs architecture, evaluates alternatives | Acceptance-criteria traceability (100% coverage) |
| Generates implementation tasks with proofs | Verification proofs on every task |
| Reviews lessons before similar work | Execution evidence bound to spec and code identity |
Human review and approval remain yours: the skill drafts and proposes — it never approves.
Prefer to drive the CLI directly? The Quickstart walks one real feature from walden repo init to a releasable verdict, command by command.
Full documentation lives in docs/ and on the website.
- Learn — Quickstart · The Agentic Flow
- Understand — The Spec Lifecycle · Product Boundaries
- Operate — The Daily Workflow · Brownfield Adoption · CI Integration
- Reference — CLI Commands · JSON Contract · Spec File Format
- Project — Roadmap · Changelog
A complete working example lives in examples/todo-app-demo.
Pure Go standard library — zero external dependencies. Run the tests with go test ./....
See CONTRIBUTING.md for guidelines. For non-trivial changes, create a feature spec with walden feature init and follow the gated workflow.
Walden is named after Thoreau's Walden, or Life in the Woods, where he writes:
"I went to the woods because I wished to live deliberately, to front only the essential facts of life."
My grandfather taught me that principle before I had words for it: do fewer things, but do them with full attention. Software rarely does. This tool is an attempt to apply that discipline — to require intention before code, and proof before completion.
Apache-2.0. See LICENSE.
