Skip to content
OpenPlanr Docs
GitHub (opens in a new tab)

openplanr 1.0.0

Published Release on GitHub

Added

  • openplanr backlog — capture, prioritize, and promote work items from a lightweight backlog

    • openplanr backlog add — capture ideas with priority and tags without breaking your flow
    • openplanr backlog list — filter by tag, priority, or status; sorted by priority
    • openplanr backlog prioritize — AI scores items by impact/effort and reorders them
    • openplanr backlog promote — promote to quick task (--quick) or story (--story --feature)
    • openplanr backlog close — archive completed or irrelevant items
  • openplanr sprint — time-boxed iterations with velocity tracking

    • openplanr sprint create — create a sprint with name and duration (1–4 weeks); enforces one-active-at-a-time
    • openplanr sprint add — assign tasks manually or with --auto AI selection based on priority and velocity
    • openplanr sprint status — progress dashboard with per-task completion, progress bars, and days remaining
    • openplanr sprint close — archive sprint, list incomplete tasks, optional retrospective
    • openplanr sprint list — all sprints with status badges and task counts
    • openplanr sprint history — velocity chart with bar visualization across closed sprints
  • openplanr template — reusable task templates for common development workflows

    • openplanr template list — list built-in and custom templates with task counts
    • openplanr template show — preview template contents and variables
    • openplanr template use — generate task list from a template with variable substitution
    • openplanr template save — save an existing task list as a reusable custom template
    • openplanr template delete — remove a custom template
  • 5 built-in task templates — rest-endpoint, react-component, database-migration, api-integration, auth-flow

  • User-defined AI rules — .planr/rules.md injected into AI prompts as mandatory project rules

  • Auto-extracted pattern rules — 5 heuristic detectors (generic CRUD, command registration, central types, ID generation, template rendering) produce explicit rules from architecture files

  • Post-generation validation — warns about modify-on-missing, create-on-existing, dependency gaps, and unknown directories before user accepts AI output

  • Dependency chain detection — import-based file dependency hints injected into AI context

  • display utility — 13 methods for formatted user-facing output (tables, progress bars, key-value pairs, status badges)

  • ArtifactFrontmatter type — shared typed interface for artifact frontmatter across all parsers

  • Shared task-creation helpers — extracted buildTaskItems, displayTaskPreview, displayValidationWarnings, and related helpers into reusable module

  • ESM exports field — package.json now declares explicit ESM entry point

  • Dynamic CLI version — planr --version reads version from package.json at runtime instead of hardcoding

Changed

  • Version — bumped to 1.0.0

  • Package description — updated to reflect full planning platform: backlog, sprints, task templates, estimation, GitHub sync, and AI agent rules

  • README — complete rewrite with expanded feature list, backlog/sprint/template quick start, and organized command tables

  • CLI.md — added backlog, sprint, template, and quick task command sections; updated ID convention table, config example, workflow diagram

  • openplanr status — now shows backlog items with priority badges and active sprint with days remaining

  • openplanr search — now searches backlog and sprint artifacts

  • Codebase context builder — dynamic src/ subdirectory discovery instead of hardcoded directory list; pattern rules and dependency hints injected into AI prompts

  • Rules templates rewritten — Cursor, Claude Code, and Codex templates replaced with 4-step context-gathering protocol (read task → walk parent chain → read ADRs → scan codebase)

  • Sprint task entries — now include task title and relative file link (- [ ] **TASK-001** title — [view](...))

  • Sprint auto-select — sends subtask counts and parent feature context to AI for smarter velocity-aware selection

  • Bare catch blocks eliminated — 39 bare catch {} blocks converted to catch (err) { logger.debug(..., err) } for --verbose debuggability

  • Strict Biome rules — enabled noExplicitAny, noNonNullAssertion, noConsole as errors

  • @anthropic-ai/sdk — bumped from 0.80.0 to 0.81.0

Removed

  • openplanr task implement and openplanr quick implement — coding agents (Claude Code, Cursor, Codex) handle implementation directly via generated rules

  • openplanr task fix and openplanr quick fix — replaced by iterative agent workflows

  • 8 agent adapter files (~1,150 lines) — agent-factory, claude-agent, codex-agent, cursor-agent, implementation-bridge, progress, prompt-composer, types

  • Orphaned retry utilities — dead MAX_RETRIES, isRetryableError, sleep removed after agent deletion

  • Duplicate CodingAgentName type — consolidated to single definition in models/types.ts

Fixed

  • Hardcoded source inventory directories — replaced 7-directory list with dynamic readdir discovery that expands into leaf directories

  • Source inventory listing directories as files — uses readdir with withFileTypes and .isFile() filter

  • countInventoryMatches counting lines — now parses comma-separated file names per inventory line

  • Dependency chain warning wording — "modified but" changed to "referenced but" for accuracy

  • displayValidationWarnings loose typing — action?: string replaced with action: 'modify' | 'create'

  • --file flag error handling — stack trace on bad file path replaced with user-friendly error message in quick.ts and epic.ts

  • Rules reader empty vs missing — !content replaced with explicit content === null check

  • Slugify ENAMETOOLONG crash — filenames truncated at 80 chars with word-boundary trimming

  • Backlog title triplication — title no longer repeated three times in generated backlog items

  • Task parser bold ID regex — fixed regex that caused empty template saves when IDs were bold-formatted

  • Sprint "untitled" filename — sprint creation now uses sprint name for slug instead of falling back to "untitled"

  • Plan summary overcounting — reports only artifacts created in current run; task generation failures no longer miscounted

  • truncateTitle empty input — guards against empty description producing empty artifact titles

  • progressBar percent clamping — clamps to [0,100] to prevent String.repeat() with negative count

  • logger.debug Error formatting — formats Error instances with stack traces instead of [object Object]

  • Safer Map access patterns — guarded Map.get() returns in sync and dependency-chains to prevent silent no-ops

Developer Experience

  • 47 new tests — display utility (22), task-creation helpers (21), E2E smoke (4), edge cases

  • Coverage thresholds raised — from 3% to 14% (lines, functions, branches, statements)

  • display.* / logger.* separation — formatted user-facing output vs operational messages