openplanr 1.4.0
Minor Changes
Add spec-driven planning mode — third planning posture alongside agile + QT, designed for humans planning for AI coding agents.
A new
openplanr speccommand namespace authors specs that decompose into User Stories and Tasks with the same artifact contract as the openplanr-pipeline Claude Code plugin — file Create/Modify/Preserve lists, Type=UI|Tech, agent assignment, DoD with build/test commands. The two products share one schema; no conversion adapter ever.Subcommands shipped:
openplanr spec init— Activate spec-driven mode in the current projectopenplanr spec create [title]— Create a self-contained.planr/specs/SPEC-NNN-{slug}/directoryopenplanr spec shape <id>— Interactive 4-question SPEC authoring (Context, Functional Requirements, Business Rules, Acceptance Criteria)openplanr spec decompose <id>— AI-driven generation of User Stories + Tasks; matches openplanr-pipeline schema; works with all 3 AI providers (Anthropic, OpenAI, Ollama). Flags:--force,--no-code-context,--max-stories <n>openplanr spec sync [id]— Validate spec integrity (orphaned tasks, stories without tasks, missingspecId, schema drift); auto-fixes safe issues;--dry-runreports without writingopenplanr spec list— List all specs with status + decomposition countsopenplanr spec show <id>— Print a spec + its US/Task treeopenplanr spec status [id]— Decomposition state across one or all specsopenplanr spec destroy <id>—rm -rfof a single self-contained spec directoryopenplanr spec attach-design <id> --files <png>...— Attach UI mockups for the pipeline's designer-agentopenplanr spec promote <id>— Validate completeness, markready-for-pipeline, print the/openplanr-pipeline:plan {slug}handoff command
Directory layout (per spec, self-contained):
.planr/specs/SPEC-NNN-{slug}/ ├── SPEC-NNN-{slug}.md # the spec document ├── design/ # PNG mockups + design-spec.md (written by pipeline's designer-agent) ├── stories/US-NNN-{slug}.md # US-NNN scoped to this spec └── tasks/T-NNN-{slug}.md # T-NNN scoped to this specID scoping: US-NNN and T-NNN are scoped to their parent SPEC (not project-globally unique). Two specs can each have their own US-001. Disambiguate via path or via
specIdfrontmatter.Coexistence: purely additive — agile (epic/feature/story/task) and QT modes work unchanged. Activate spec mode per project via
openplanr spec init. Modes are independent; pick the posture that fits the work.Decompose AI behavior:
- Always scans the project codebase via the existing
buildCodebaseContext()so generated tasks reference real file paths matching the user's stack - Reads
input/tech/stack.md(best-effort) for stack-specific hints - Detects
ui_filesin SPEC frontmatter to drive 1-vs-2 tasks per US (per openplanr-pipeline rule R2) - Refuses to overwrite an existing decomposition unless
--forceis passed - Status: pending|shaping → decomposing → decomposed
Pipeline integration: When this CLI marks a spec
ready-for-pipeline, the openplanr-pipeline Claude Code plugin (v0.3.0+) reads.planr/specs/SPEC-NNN-{slug}/directly — no conversion. Seedocs/proposals/spec-driven-mode.mdfor the full design proposal and BL-011 for the original strategic feedback.