Package Exports
- @planu/cli
- @planu/cli/dist/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@planu/cli) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Planu
The complete SDD stack for AI coding agents.
Documentation · Docs in Spanish · Docs in Portuguese
What is Planu?
Planu is the complete Spec Driven Development stack for AI coding agents — an MCP server that enforces a structured workflow from brainstorm to validation. Think of it as BDD for the AI era: define behavior first, implement second, validate continuously.
Spec first, always. No approved spec means no code. This eliminates vibe-coding debt at scale.
- 557 MCP tools across spec lifecycle, Figma, analysis, documentation, git, integrations, and autopilot
- Event-driven autopilot — status transitions trigger automatic healing, validation, and follow-up actions
- Retroactive healing —
heal_spec_docsrepairs existing specs in any project without manual intervention - Multi-agent compatible — works with Claude Code, Cursor, Windsurf, Gemini CLI, and any MCP client
/autonomous-sddskill — equivalent to/kiro-impl: branch → implement → self-review → merge in one command- All data stored locally as JSON — no cloud, no accounts required
- Available in English, Spanish, Portuguese, French, German, and Chinese
Installation
Add to your MCP client config (Claude Desktop: ~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"planu": {
"command": "npx",
"args": ["-y", "@planu/cli@latest"]
}
}
}Requirements: Node.js >= 22. No API keys needed for core functionality.
Using @latest means npx auto-updates on every start — no reinstall needed.
The SDD Lifecycle
init_project → create_spec → challenge_spec → check_readiness → implement → validate → doneEvery transition is gated by Definition of Ready (DoR) and Definition of Done (DoD) checks. Specs are the single source of truth — implementation is validated against them, not the other way around.
Autopilot: tools cascade automatically
Planu runs follow-up actions automatically after each step. You don't need to know tool names or chain calls manually:
create_specautomatically runschallenge_spec+check_readinessupdate_status(done)automatically runsvalidate+ generates changelog + scans crash risksupdate_status(approved)automatically snapshots the spec version- Tools act — they don't suggest. Output tells you what was done, not what you should do next.
Lean Spec Format
Specs are intentionally lightweight: 2 files per spec, ~30-50 lines each, with YAML frontmatter.
planu/specs/SPEC-001-auth/
├── spec.md # requirements, criteria (GIVEN/WHEN/THEN), status
└── technical.md # files, stack, implementation notesCriteria use zero-ambiguity GIVEN/WHEN/THEN format — no vague acceptance criteria that LLMs misinterpret.
Figma Integration
Connect your Figma designs directly to specs:
configure_figma → list_figma_frames → get_figma_context_for_spec → enrich_specs_from_figma- Extract design tokens (colors, spacing, typography) into code-ready variables
- Map Figma components to codebase components via Code Connect
- Auto-generate
.claude/rules/figma-design-system.mdwith your design system rules - Detect visual drift between Figma and implementation
- Generate Figma-aware e2e tests
Tool Categories
Planu ships 556 tools total. Key tools per category:
Spec Lifecycle
create_spec · list_specs · update_status · validate · reconcile_spec · challenge_spec · check_readiness · decompose_spec · diff_spec_versions · lock_spec · branch_spec
Figma
configure_figma · list_figma_frames · get_figma_context_for_spec · enrich_specs_from_figma · generate_figma_rules_file · extract_figma_design_tokens · sync_figma_code_connect · check_figma_design_drift
Analysis & Estimation
estimate · reverse_engineer · detect_drift · validate · audit · security_scan · scan_crash_risks · spec_quality_score · calibrate_estimates
Documentation
generate_docs_site · export_pdf · generate_release_notes · generate_changelog · generate_diagram · export_specs_markdown
Git & CI
manage_git · generate_planu_ci · create_pr_from_spec · link_pr_to_spec · review_pr_against_spec
Integrations
configure_slack · configure_jira · configure_linear · configure_notion · sync_to_jira · sync_to_linear · sync_to_notion
Autopilot
configure_autopilot · agent_health · workspace_health · auto_fix_health · workspace_overview
Getting Started
1. Initialize your project
"Initialize my project at /path/to/my-app with planu"
Planu scans the directory, detects your language, framework, and architecture. Sets up hooks, rules, and skills automatically. No manual configuration.
2. Create a spec
"Create a spec for Google OAuth authentication"
Planu generates a lean spec with GIVEN/WHEN/THEN criteria, automatically stress-tests it with challenge_spec, and checks readiness. You approve, then implement.
3. Implement against the spec
Claude uses the spec as a contract while coding. When done:
"Validate SPEC-001 against the implementation"
Planu reports which criteria are covered, missing, or drifted.
4. Living specs
As the codebase evolves, reconcile implementation back to specs:
"Reconcile SPEC-001 with the recent changes"
Configuration
| Variable | Description | Default |
|---|---|---|
SDD_DATA_DIR |
Path to local data storage | ./data |
SDD_HOURLY_RATE |
Developer hourly rate (USD) for cost estimates | 50 |
SDD_LOCALE |
Default locale (en, es, pt) |
en |
Telemetry
Planu collects anonymous usage data by default: tool names, version, and platform. No file paths, no code, no PII is ever collected.
To opt out, set PLANU_TELEMETRY=off in your MCP config environment:
{
"mcpServers": {
"planu": {
"command": "npx",
"args": ["-y", "@planu/cli@latest"],
"env": {
"PLANU_TELEMETRY": "off"
}
}
}
}Architecture
src/
├── index.ts # MCP server entry point
├── tools/ # 556 MCP tool handlers
├── resources/ # MCP resources (read-only)
├── engine/ # Business logic (estimator, analyzer, validator)
├── storage/ # JSON persistence layer
├── types/ # TypeScript interfaces (16 domain files)
└── config/ # Extensible registries and signatures
data/ # Local storage (gitignored)
├── projects/{hash}/ # Per-project: specs, metrics, patterns, knowledge
└── global/ # Shared: templates, pricingDevelopment
pnpm install # Install dependencies
pnpm build # Compile TypeScript
pnpm dev # Watch mode
pnpm typecheck # Type-check src/ + tests/
pnpm lint # ESLint (zero warnings)
pnpm test # Run all tests
pnpm test:coverage # Run tests with coverage thresholds
pnpm check # typecheck + lint + format checkContributing
See CONTRIBUTING.md for GitFlow strategy, branch naming, commit conventions, and PR process.