@jokerized/getresearchdone 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/plugin.json +103 -0
- package/README.md +211 -0
- package/agents/grd-baseline-assessor.md +684 -0
- package/agents/grd-code-reviewer.md +300 -0
- package/agents/grd-codebase-mapper.md +355 -0
- package/agents/grd-critique-agent.md +119 -0
- package/agents/grd-debugger.md +519 -0
- package/agents/grd-deep-diver.md +737 -0
- package/agents/grd-eval-planner.md +913 -0
- package/agents/grd-eval-reporter.md +717 -0
- package/agents/grd-executor.md +683 -0
- package/agents/grd-feasibility-analyst.md +624 -0
- package/agents/grd-integration-checker.md +367 -0
- package/agents/grd-knowledge-miner.md +81 -0
- package/agents/grd-migrator.md +88 -0
- package/agents/grd-phase-researcher.md +697 -0
- package/agents/grd-plan-checker.md +443 -0
- package/agents/grd-planner.md +1532 -0
- package/agents/grd-product-owner.md +562 -0
- package/agents/grd-project-researcher.md +513 -0
- package/agents/grd-research-synthesizer.md +273 -0
- package/agents/grd-roadmapper.md +798 -0
- package/agents/grd-surveyor.md +566 -0
- package/agents/grd-verifier.md +893 -0
- package/bin/gd.js +4 -0
- package/bin/gd.ts +227 -0
- package/bin/grd-manifest.js +4 -0
- package/bin/grd-manifest.ts +286 -0
- package/bin/grd-mcp-server.js +4 -0
- package/bin/grd-mcp-server.ts +124 -0
- package/bin/grd-tools.js +4 -0
- package/bin/grd-tools.ts +2471 -0
- package/bin/postinstall.js +4 -0
- package/bin/postinstall.ts +80 -0
- package/commands/add-phase.md +123 -0
- package/commands/add-todo.md +87 -0
- package/commands/assess-baseline.md +289 -0
- package/commands/autopilot.md +100 -0
- package/commands/autoplan.md +55 -0
- package/commands/check-todos.md +87 -0
- package/commands/compare-methods.md +262 -0
- package/commands/complete-milestone.md +225 -0
- package/commands/debug.md +372 -0
- package/commands/deep-dive.md +288 -0
- package/commands/discover.md +281 -0
- package/commands/discuss-phase.md +188 -0
- package/commands/discuss.md +55 -0
- package/commands/eval-report.md +310 -0
- package/commands/evolve.md +79 -0
- package/commands/execute-phase.md +1017 -0
- package/commands/feasibility.md +292 -0
- package/commands/help.md +407 -0
- package/commands/init.md +1508 -0
- package/commands/insert-phase.md +113 -0
- package/commands/iterate.md +327 -0
- package/commands/list-phase-assumptions.md +217 -0
- package/commands/long-term-roadmap.md +202 -0
- package/commands/map-codebase.md +111 -0
- package/commands/migrate.md +159 -0
- package/commands/new-milestone.md +169 -0
- package/commands/pause-work.md +83 -0
- package/commands/plan-milestone-gaps.md +373 -0
- package/commands/plan-phase.md +655 -0
- package/commands/principles.md +328 -0
- package/commands/product-plan.md +319 -0
- package/commands/progress.md +481 -0
- package/commands/quick.md +167 -0
- package/commands/reapply-patches.md +154 -0
- package/commands/remove-phase.md +97 -0
- package/commands/requirement.md +96 -0
- package/commands/resume-project.md +113 -0
- package/commands/settings.md +1144 -0
- package/commands/survey.md +242 -0
- package/commands/sync.md +246 -0
- package/commands/tracker-setup.md +322 -0
- package/commands/update.md +202 -0
- package/commands/verify-phase.md +335 -0
- package/commands/verify-work.md +701 -0
- package/commands/wireup.md +29 -0
- package/dist/bin/gd.d.ts +3 -0
- package/dist/bin/gd.d.ts.map +1 -0
- package/dist/bin/gd.js +178 -0
- package/dist/bin/gd.js.map +1 -0
- package/dist/bin/grd-manifest.d.ts +3 -0
- package/dist/bin/grd-manifest.d.ts.map +1 -0
- package/dist/bin/grd-manifest.js +202 -0
- package/dist/bin/grd-manifest.js.map +1 -0
- package/dist/bin/grd-mcp-server.d.ts +3 -0
- package/dist/bin/grd-mcp-server.d.ts.map +1 -0
- package/dist/bin/grd-mcp-server.js +71 -0
- package/dist/bin/grd-mcp-server.js.map +1 -0
- package/dist/bin/grd-tools.d.ts +3 -0
- package/dist/bin/grd-tools.d.ts.map +1 -0
- package/dist/bin/grd-tools.js +1680 -0
- package/dist/bin/grd-tools.js.map +1 -0
- package/dist/bin/postinstall.d.ts +3 -0
- package/dist/bin/postinstall.d.ts.map +1 -0
- package/dist/bin/postinstall.js +61 -0
- package/dist/bin/postinstall.js.map +1 -0
- package/dist/lib/autopilot-milestone.d.ts +2 -0
- package/dist/lib/autopilot-milestone.d.ts.map +1 -0
- package/dist/lib/autopilot-milestone.js +94 -0
- package/dist/lib/autopilot-milestone.js.map +1 -0
- package/dist/lib/autopilot-pipeline.d.ts +2 -0
- package/dist/lib/autopilot-pipeline.d.ts.map +1 -0
- package/dist/lib/autopilot-pipeline.js +830 -0
- package/dist/lib/autopilot-pipeline.js.map +1 -0
- package/dist/lib/autopilot-waves.d.ts +2 -0
- package/dist/lib/autopilot-waves.d.ts.map +1 -0
- package/dist/lib/autopilot-waves.js +266 -0
- package/dist/lib/autopilot-waves.js.map +1 -0
- package/dist/lib/autopilot.d.ts +2 -0
- package/dist/lib/autopilot.d.ts.map +1 -0
- package/dist/lib/autopilot.js +1314 -0
- package/dist/lib/autopilot.js.map +1 -0
- package/dist/lib/autoplan.d.ts +2 -0
- package/dist/lib/autoplan.d.ts.map +1 -0
- package/dist/lib/autoplan.js +198 -0
- package/dist/lib/autoplan.js.map +1 -0
- package/dist/lib/autoresearch.d.ts +2 -0
- package/dist/lib/autoresearch.d.ts.map +1 -0
- package/dist/lib/autoresearch.js +626 -0
- package/dist/lib/autoresearch.js.map +1 -0
- package/dist/lib/backend.d.ts +2 -0
- package/dist/lib/backend.d.ts.map +1 -0
- package/dist/lib/backend.js +1036 -0
- package/dist/lib/backend.js.map +1 -0
- package/dist/lib/benchmark.d.ts +99 -0
- package/dist/lib/benchmark.d.ts.map +1 -0
- package/dist/lib/benchmark.js +278 -0
- package/dist/lib/benchmark.js.map +1 -0
- package/dist/lib/citations.d.ts +2 -0
- package/dist/lib/citations.d.ts.map +1 -0
- package/dist/lib/citations.js +642 -0
- package/dist/lib/citations.js.map +1 -0
- package/dist/lib/cleanup.d.ts +2 -0
- package/dist/lib/cleanup.d.ts.map +1 -0
- package/dist/lib/cleanup.js +1222 -0
- package/dist/lib/cleanup.js.map +1 -0
- package/dist/lib/cli/adapters.d.ts +10 -0
- package/dist/lib/cli/adapters.d.ts.map +1 -0
- package/dist/lib/cli/adapters.js +27 -0
- package/dist/lib/cli/adapters.js.map +1 -0
- package/dist/lib/cli/agent.d.ts +17 -0
- package/dist/lib/cli/agent.d.ts.map +1 -0
- package/dist/lib/cli/agent.js +53 -0
- package/dist/lib/cli/agent.js.map +1 -0
- package/dist/lib/cli/index.d.ts +21 -0
- package/dist/lib/cli/index.d.ts.map +1 -0
- package/dist/lib/cli/index.js +264 -0
- package/dist/lib/cli/index.js.map +1 -0
- package/dist/lib/cli/output.d.ts +20 -0
- package/dist/lib/cli/output.d.ts.map +1 -0
- package/dist/lib/cli/output.js +22 -0
- package/dist/lib/cli/output.js.map +1 -0
- package/dist/lib/cli/scan-dispatch.d.ts +9 -0
- package/dist/lib/cli/scan-dispatch.d.ts.map +1 -0
- package/dist/lib/cli/scan-dispatch.js +107 -0
- package/dist/lib/cli/scan-dispatch.js.map +1 -0
- package/dist/lib/cli/tools.d.ts +16 -0
- package/dist/lib/cli/tools.d.ts.map +1 -0
- package/dist/lib/cli/tools.js +168 -0
- package/dist/lib/cli/tools.js.map +1 -0
- package/dist/lib/commands/_dashboard-parsers.d.ts +2 -0
- package/dist/lib/commands/_dashboard-parsers.d.ts.map +1 -0
- package/dist/lib/commands/_dashboard-parsers.js +192 -0
- package/dist/lib/commands/_dashboard-parsers.js.map +1 -0
- package/dist/lib/commands/analysis.d.ts +2 -0
- package/dist/lib/commands/analysis.d.ts.map +1 -0
- package/dist/lib/commands/analysis.js +1418 -0
- package/dist/lib/commands/analysis.js.map +1 -0
- package/dist/lib/commands/assumptions.d.ts +2 -0
- package/dist/lib/commands/assumptions.d.ts.map +1 -0
- package/dist/lib/commands/assumptions.js +166 -0
- package/dist/lib/commands/assumptions.js.map +1 -0
- package/dist/lib/commands/blame.d.ts +2 -0
- package/dist/lib/commands/blame.d.ts.map +1 -0
- package/dist/lib/commands/blame.js +133 -0
- package/dist/lib/commands/blame.js.map +1 -0
- package/dist/lib/commands/budget.d.ts +2 -0
- package/dist/lib/commands/budget.d.ts.map +1 -0
- package/dist/lib/commands/budget.js +100 -0
- package/dist/lib/commands/budget.js.map +1 -0
- package/dist/lib/commands/check-plans.d.ts +2 -0
- package/dist/lib/commands/check-plans.d.ts.map +1 -0
- package/dist/lib/commands/check-plans.js +190 -0
- package/dist/lib/commands/check-plans.js.map +1 -0
- package/dist/lib/commands/config.d.ts +2 -0
- package/dist/lib/commands/config.d.ts.map +1 -0
- package/dist/lib/commands/config.js +188 -0
- package/dist/lib/commands/config.js.map +1 -0
- package/dist/lib/commands/dashboard.d.ts +2 -0
- package/dist/lib/commands/dashboard.d.ts.map +1 -0
- package/dist/lib/commands/dashboard.js +466 -0
- package/dist/lib/commands/dashboard.js.map +1 -0
- package/dist/lib/commands/estimate.d.ts +2 -0
- package/dist/lib/commands/estimate.d.ts.map +1 -0
- package/dist/lib/commands/estimate.js +148 -0
- package/dist/lib/commands/estimate.js.map +1 -0
- package/dist/lib/commands/eval-diff.d.ts +2 -0
- package/dist/lib/commands/eval-diff.d.ts.map +1 -0
- package/dist/lib/commands/eval-diff.js +213 -0
- package/dist/lib/commands/eval-diff.js.map +1 -0
- package/dist/lib/commands/freshness.d.ts +2 -0
- package/dist/lib/commands/freshness.d.ts.map +1 -0
- package/dist/lib/commands/freshness.js +163 -0
- package/dist/lib/commands/freshness.js.map +1 -0
- package/dist/lib/commands/health.d.ts +2 -0
- package/dist/lib/commands/health.d.ts.map +1 -0
- package/dist/lib/commands/health.js +435 -0
- package/dist/lib/commands/health.js.map +1 -0
- package/dist/lib/commands/index.d.ts +2 -0
- package/dist/lib/commands/index.d.ts.map +1 -0
- package/dist/lib/commands/index.js +128 -0
- package/dist/lib/commands/index.js.map +1 -0
- package/dist/lib/commands/install.d.ts +56 -0
- package/dist/lib/commands/install.d.ts.map +1 -0
- package/dist/lib/commands/install.js +214 -0
- package/dist/lib/commands/install.js.map +1 -0
- package/dist/lib/commands/knowhow-aggregator.d.ts +2 -0
- package/dist/lib/commands/knowhow-aggregator.d.ts.map +1 -0
- package/dist/lib/commands/knowhow-aggregator.js +279 -0
- package/dist/lib/commands/knowhow-aggregator.js.map +1 -0
- package/dist/lib/commands/knowledge-search.d.ts +2 -0
- package/dist/lib/commands/knowledge-search.d.ts.map +1 -0
- package/dist/lib/commands/knowledge-search.js +113 -0
- package/dist/lib/commands/knowledge-search.js.map +1 -0
- package/dist/lib/commands/long-term-roadmap.d.ts +2 -0
- package/dist/lib/commands/long-term-roadmap.d.ts.map +1 -0
- package/dist/lib/commands/long-term-roadmap.js +272 -0
- package/dist/lib/commands/long-term-roadmap.js.map +1 -0
- package/dist/lib/commands/patterns.d.ts +91 -0
- package/dist/lib/commands/patterns.d.ts.map +1 -0
- package/dist/lib/commands/patterns.js +391 -0
- package/dist/lib/commands/patterns.js.map +1 -0
- package/dist/lib/commands/phase-info.d.ts +2 -0
- package/dist/lib/commands/phase-info.d.ts.map +1 -0
- package/dist/lib/commands/phase-info.js +509 -0
- package/dist/lib/commands/phase-info.js.map +1 -0
- package/dist/lib/commands/plan-lint.d.ts +56 -0
- package/dist/lib/commands/plan-lint.d.ts.map +1 -0
- package/dist/lib/commands/plan-lint.js +481 -0
- package/dist/lib/commands/plan-lint.js.map +1 -0
- package/dist/lib/commands/plan-phase.d.ts +53 -0
- package/dist/lib/commands/plan-phase.d.ts.map +1 -0
- package/dist/lib/commands/plan-phase.js +288 -0
- package/dist/lib/commands/plan-phase.js.map +1 -0
- package/dist/lib/commands/progress.d.ts +2 -0
- package/dist/lib/commands/progress.d.ts.map +1 -0
- package/dist/lib/commands/progress.js +266 -0
- package/dist/lib/commands/progress.js.map +1 -0
- package/dist/lib/commands/quality.d.ts +2 -0
- package/dist/lib/commands/quality.d.ts.map +1 -0
- package/dist/lib/commands/quality.js +80 -0
- package/dist/lib/commands/quality.js.map +1 -0
- package/dist/lib/commands/rollback.d.ts +2 -0
- package/dist/lib/commands/rollback.d.ts.map +1 -0
- package/dist/lib/commands/rollback.js +145 -0
- package/dist/lib/commands/rollback.js.map +1 -0
- package/dist/lib/commands/scan.d.ts +25 -0
- package/dist/lib/commands/scan.d.ts.map +1 -0
- package/dist/lib/commands/scan.js +28 -0
- package/dist/lib/commands/scan.js.map +1 -0
- package/dist/lib/commands/search.d.ts +2 -0
- package/dist/lib/commands/search.d.ts.map +1 -0
- package/dist/lib/commands/search.js +212 -0
- package/dist/lib/commands/search.js.map +1 -0
- package/dist/lib/commands/select-candidate.d.ts +128 -0
- package/dist/lib/commands/select-candidate.d.ts.map +1 -0
- package/dist/lib/commands/select-candidate.js +518 -0
- package/dist/lib/commands/select-candidate.js.map +1 -0
- package/dist/lib/commands/singularity.d.ts +2 -0
- package/dist/lib/commands/singularity.d.ts.map +1 -0
- package/dist/lib/commands/singularity.js +185 -0
- package/dist/lib/commands/singularity.js.map +1 -0
- package/dist/lib/commands/slug-timestamp.d.ts +2 -0
- package/dist/lib/commands/slug-timestamp.d.ts.map +1 -0
- package/dist/lib/commands/slug-timestamp.js +54 -0
- package/dist/lib/commands/slug-timestamp.js.map +1 -0
- package/dist/lib/commands/tail.d.ts +2 -0
- package/dist/lib/commands/tail.d.ts.map +1 -0
- package/dist/lib/commands/tail.js +100 -0
- package/dist/lib/commands/tail.js.map +1 -0
- package/dist/lib/commands/todo.d.ts +2 -0
- package/dist/lib/commands/todo.d.ts.map +1 -0
- package/dist/lib/commands/todo.js +200 -0
- package/dist/lib/commands/todo.js.map +1 -0
- package/dist/lib/commands/watch.d.ts +2 -0
- package/dist/lib/commands/watch.d.ts.map +1 -0
- package/dist/lib/commands/watch.js +72 -0
- package/dist/lib/commands/watch.js.map +1 -0
- package/dist/lib/complexity.d.ts +55 -0
- package/dist/lib/complexity.d.ts.map +1 -0
- package/dist/lib/complexity.js +80 -0
- package/dist/lib/complexity.js.map +1 -0
- package/dist/lib/context/agents.d.ts +2 -0
- package/dist/lib/context/agents.d.ts.map +1 -0
- package/dist/lib/context/agents.js +344 -0
- package/dist/lib/context/agents.js.map +1 -0
- package/dist/lib/context/base.d.ts +2 -0
- package/dist/lib/context/base.d.ts.map +1 -0
- package/dist/lib/context/base.js +81 -0
- package/dist/lib/context/base.js.map +1 -0
- package/dist/lib/context/execute.d.ts +2 -0
- package/dist/lib/context/execute.d.ts.map +1 -0
- package/dist/lib/context/execute.js +753 -0
- package/dist/lib/context/execute.js.map +1 -0
- package/dist/lib/context/index.d.ts +2 -0
- package/dist/lib/context/index.d.ts.map +1 -0
- package/dist/lib/context/index.js +88 -0
- package/dist/lib/context/index.js.map +1 -0
- package/dist/lib/context/progress.d.ts +2 -0
- package/dist/lib/context/progress.d.ts.map +1 -0
- package/dist/lib/context/progress.js +178 -0
- package/dist/lib/context/progress.js.map +1 -0
- package/dist/lib/context/project.d.ts +2 -0
- package/dist/lib/context/project.d.ts.map +1 -0
- package/dist/lib/context/project.js +413 -0
- package/dist/lib/context/project.js.map +1 -0
- package/dist/lib/context/research.d.ts +2 -0
- package/dist/lib/context/research.d.ts.map +1 -0
- package/dist/lib/context/research.js +466 -0
- package/dist/lib/context/research.js.map +1 -0
- package/dist/lib/dead-ends.d.ts +28 -0
- package/dist/lib/dead-ends.d.ts.map +1 -0
- package/dist/lib/dead-ends.js +451 -0
- package/dist/lib/dead-ends.js.map +1 -0
- package/dist/lib/deps.d.ts +2 -0
- package/dist/lib/deps.d.ts.map +1 -0
- package/dist/lib/deps.js +630 -0
- package/dist/lib/deps.js.map +1 -0
- package/dist/lib/discussion.d.ts +2 -0
- package/dist/lib/discussion.d.ts.map +1 -0
- package/dist/lib/discussion.js +1041 -0
- package/dist/lib/discussion.js.map +1 -0
- package/dist/lib/drift.d.ts +36 -0
- package/dist/lib/drift.d.ts.map +1 -0
- package/dist/lib/drift.js +481 -0
- package/dist/lib/drift.js.map +1 -0
- package/dist/lib/evolve/_dimensions-features.d.ts +2 -0
- package/dist/lib/evolve/_dimensions-features.d.ts.map +1 -0
- package/dist/lib/evolve/_dimensions-features.js +369 -0
- package/dist/lib/evolve/_dimensions-features.js.map +1 -0
- package/dist/lib/evolve/_dimensions.d.ts +2 -0
- package/dist/lib/evolve/_dimensions.d.ts.map +1 -0
- package/dist/lib/evolve/_dimensions.js +358 -0
- package/dist/lib/evolve/_dimensions.js.map +1 -0
- package/dist/lib/evolve/_product-ideation.d.ts +2 -0
- package/dist/lib/evolve/_product-ideation.d.ts.map +1 -0
- package/dist/lib/evolve/_product-ideation.js +281 -0
- package/dist/lib/evolve/_product-ideation.js.map +1 -0
- package/dist/lib/evolve/_prompts.d.ts +2 -0
- package/dist/lib/evolve/_prompts.d.ts.map +1 -0
- package/dist/lib/evolve/_prompts.js +153 -0
- package/dist/lib/evolve/_prompts.js.map +1 -0
- package/dist/lib/evolve/cli.d.ts +2 -0
- package/dist/lib/evolve/cli.d.ts.map +1 -0
- package/dist/lib/evolve/cli.js +224 -0
- package/dist/lib/evolve/cli.js.map +1 -0
- package/dist/lib/evolve/discovery.d.ts +2 -0
- package/dist/lib/evolve/discovery.d.ts.map +1 -0
- package/dist/lib/evolve/discovery.js +391 -0
- package/dist/lib/evolve/discovery.js.map +1 -0
- package/dist/lib/evolve/index.d.ts +2 -0
- package/dist/lib/evolve/index.d.ts.map +1 -0
- package/dist/lib/evolve/index.js +88 -0
- package/dist/lib/evolve/index.js.map +1 -0
- package/dist/lib/evolve/orchestrator.d.ts +2 -0
- package/dist/lib/evolve/orchestrator.d.ts.map +1 -0
- package/dist/lib/evolve/orchestrator.js +851 -0
- package/dist/lib/evolve/orchestrator.js.map +1 -0
- package/dist/lib/evolve/scoring.d.ts +2 -0
- package/dist/lib/evolve/scoring.d.ts.map +1 -0
- package/dist/lib/evolve/scoring.js +118 -0
- package/dist/lib/evolve/scoring.js.map +1 -0
- package/dist/lib/evolve/state.d.ts +2 -0
- package/dist/lib/evolve/state.d.ts.map +1 -0
- package/dist/lib/evolve/state.js +264 -0
- package/dist/lib/evolve/state.js.map +1 -0
- package/dist/lib/evolve/types.d.ts +249 -0
- package/dist/lib/evolve/types.d.ts.map +1 -0
- package/dist/lib/evolve/types.js +3 -0
- package/dist/lib/evolve/types.js.map +1 -0
- package/dist/lib/frontmatter.d.ts +2 -0
- package/dist/lib/frontmatter.d.ts.map +1 -0
- package/dist/lib/frontmatter.js +513 -0
- package/dist/lib/frontmatter.js.map +1 -0
- package/dist/lib/gates.d.ts +2 -0
- package/dist/lib/gates.d.ts.map +1 -0
- package/dist/lib/gates.js +578 -0
- package/dist/lib/gates.js.map +1 -0
- package/dist/lib/genome.d.ts +10 -0
- package/dist/lib/genome.d.ts.map +1 -0
- package/dist/lib/genome.js +368 -0
- package/dist/lib/genome.js.map +1 -0
- package/dist/lib/got.d.ts +2 -0
- package/dist/lib/got.d.ts.map +1 -0
- package/dist/lib/got.js +280 -0
- package/dist/lib/got.js.map +1 -0
- package/dist/lib/invariants.d.ts +2 -0
- package/dist/lib/invariants.d.ts.map +1 -0
- package/dist/lib/invariants.js +298 -0
- package/dist/lib/invariants.js.map +1 -0
- package/dist/lib/knowledge.d.ts +2 -0
- package/dist/lib/knowledge.d.ts.map +1 -0
- package/dist/lib/knowledge.js +658 -0
- package/dist/lib/knowledge.js.map +1 -0
- package/dist/lib/long-term-roadmap.d.ts +2 -0
- package/dist/lib/long-term-roadmap.d.ts.map +1 -0
- package/dist/lib/long-term-roadmap.js +602 -0
- package/dist/lib/long-term-roadmap.js.map +1 -0
- package/dist/lib/markdown-split.d.ts +2 -0
- package/dist/lib/markdown-split.d.ts.map +1 -0
- package/dist/lib/markdown-split.js +199 -0
- package/dist/lib/markdown-split.js.map +1 -0
- package/dist/lib/mcp-server.d.ts +2 -0
- package/dist/lib/mcp-server.d.ts.map +1 -0
- package/dist/lib/mcp-server.js +2424 -0
- package/dist/lib/mcp-server.js.map +1 -0
- package/dist/lib/metrics.d.ts +16 -0
- package/dist/lib/metrics.d.ts.map +1 -0
- package/dist/lib/metrics.js +48 -0
- package/dist/lib/metrics.js.map +1 -0
- package/dist/lib/overstory.d.ts +2 -0
- package/dist/lib/overstory.d.ts.map +1 -0
- package/dist/lib/overstory.js +211 -0
- package/dist/lib/overstory.js.map +1 -0
- package/dist/lib/parallel.d.ts +2 -0
- package/dist/lib/parallel.d.ts.map +1 -0
- package/dist/lib/parallel.js +349 -0
- package/dist/lib/parallel.js.map +1 -0
- package/dist/lib/paths.d.ts +2 -0
- package/dist/lib/paths.d.ts.map +1 -0
- package/dist/lib/paths.js +254 -0
- package/dist/lib/paths.js.map +1 -0
- package/dist/lib/phase-complete-llm.d.ts +22 -0
- package/dist/lib/phase-complete-llm.d.ts.map +1 -0
- package/dist/lib/phase-complete-llm.js +331 -0
- package/dist/lib/phase-complete-llm.js.map +1 -0
- package/dist/lib/phase-complete.d.ts +46 -0
- package/dist/lib/phase-complete.d.ts.map +1 -0
- package/dist/lib/phase-complete.js +278 -0
- package/dist/lib/phase-complete.js.map +1 -0
- package/dist/lib/phase-io.d.ts +2 -0
- package/dist/lib/phase-io.d.ts.map +1 -0
- package/dist/lib/phase-io.js +126 -0
- package/dist/lib/phase-io.js.map +1 -0
- package/dist/lib/phase.d.ts +2 -0
- package/dist/lib/phase.d.ts.map +1 -0
- package/dist/lib/phase.js +1344 -0
- package/dist/lib/phase.js.map +1 -0
- package/dist/lib/plan-tournament.d.ts +63 -0
- package/dist/lib/plan-tournament.d.ts.map +1 -0
- package/dist/lib/plan-tournament.js +353 -0
- package/dist/lib/plan-tournament.js.map +1 -0
- package/dist/lib/refinement.d.ts +74 -0
- package/dist/lib/refinement.d.ts.map +1 -0
- package/dist/lib/refinement.js +283 -0
- package/dist/lib/refinement.js.map +1 -0
- package/dist/lib/requirements.d.ts +2 -0
- package/dist/lib/requirements.d.ts.map +1 -0
- package/dist/lib/requirements.js +355 -0
- package/dist/lib/requirements.js.map +1 -0
- package/dist/lib/research-bundle.d.ts +2 -0
- package/dist/lib/research-bundle.d.ts.map +1 -0
- package/dist/lib/research-bundle.js +246 -0
- package/dist/lib/research-bundle.js.map +1 -0
- package/dist/lib/roadmap.d.ts +2 -0
- package/dist/lib/roadmap.d.ts.map +1 -0
- package/dist/lib/roadmap.js +541 -0
- package/dist/lib/roadmap.js.map +1 -0
- package/dist/lib/sample.d.ts +16 -0
- package/dist/lib/sample.d.ts.map +1 -0
- package/dist/lib/sample.js +20 -0
- package/dist/lib/sample.js.map +1 -0
- package/dist/lib/scaffold.d.ts +2 -0
- package/dist/lib/scaffold.d.ts.map +1 -0
- package/dist/lib/scaffold.js +355 -0
- package/dist/lib/scaffold.js.map +1 -0
- package/dist/lib/scan/_utils.d.ts +11 -0
- package/dist/lib/scan/_utils.d.ts.map +1 -0
- package/dist/lib/scan/_utils.js +36 -0
- package/dist/lib/scan/_utils.js.map +1 -0
- package/dist/lib/scan/base64.d.ts +15 -0
- package/dist/lib/scan/base64.d.ts.map +1 -0
- package/dist/lib/scan/base64.js +66 -0
- package/dist/lib/scan/base64.js.map +1 -0
- package/dist/lib/scan/ignorefile.d.ts +30 -0
- package/dist/lib/scan/ignorefile.d.ts.map +1 -0
- package/dist/lib/scan/ignorefile.js +101 -0
- package/dist/lib/scan/ignorefile.js.map +1 -0
- package/dist/lib/scan/injection.d.ts +14 -0
- package/dist/lib/scan/injection.d.ts.map +1 -0
- package/dist/lib/scan/injection.js +39 -0
- package/dist/lib/scan/injection.js.map +1 -0
- package/dist/lib/scan/patterns.d.ts +17 -0
- package/dist/lib/scan/patterns.d.ts.map +1 -0
- package/dist/lib/scan/patterns.js +123 -0
- package/dist/lib/scan/patterns.js.map +1 -0
- package/dist/lib/scan/strip-markdown.d.ts +7 -0
- package/dist/lib/scan/strip-markdown.d.ts.map +1 -0
- package/dist/lib/scan/strip-markdown.js +38 -0
- package/dist/lib/scan/strip-markdown.js.map +1 -0
- package/dist/lib/scan/types.d.ts +23 -0
- package/dist/lib/scan/types.d.ts.map +1 -0
- package/dist/lib/scan/types.js +3 -0
- package/dist/lib/scan/types.js.map +1 -0
- package/dist/lib/scheduler-wait.d.ts +2 -0
- package/dist/lib/scheduler-wait.d.ts.map +1 -0
- package/dist/lib/scheduler-wait.js +59 -0
- package/dist/lib/scheduler-wait.js.map +1 -0
- package/dist/lib/scheduler.d.ts +254 -0
- package/dist/lib/scheduler.d.ts.map +1 -0
- package/dist/lib/scheduler.js +1147 -0
- package/dist/lib/scheduler.js.map +1 -0
- package/dist/lib/state.d.ts +2 -0
- package/dist/lib/state.d.ts.map +1 -0
- package/dist/lib/state.js +744 -0
- package/dist/lib/state.js.map +1 -0
- package/dist/lib/think.d.ts +18 -0
- package/dist/lib/think.d.ts.map +1 -0
- package/dist/lib/think.js +317 -0
- package/dist/lib/think.js.map +1 -0
- package/dist/lib/tracker.d.ts +2 -0
- package/dist/lib/tracker.d.ts.map +1 -0
- package/dist/lib/tracker.js +1121 -0
- package/dist/lib/tracker.js.map +1 -0
- package/dist/lib/types.d.ts +1514 -0
- package/dist/lib/types.d.ts.map +1 -0
- package/dist/lib/types.js +4 -0
- package/dist/lib/types.js.map +1 -0
- package/dist/lib/utils.d.ts +2 -0
- package/dist/lib/utils.d.ts.map +1 -0
- package/dist/lib/utils.js +1363 -0
- package/dist/lib/utils.js.map +1 -0
- package/dist/lib/verify.d.ts +2 -0
- package/dist/lib/verify.d.ts.map +1 -0
- package/dist/lib/verify.js +1153 -0
- package/dist/lib/verify.js.map +1 -0
- package/dist/lib/wireup/autofix.d.ts +2 -0
- package/dist/lib/wireup/autofix.d.ts.map +1 -0
- package/dist/lib/wireup/autofix.js +188 -0
- package/dist/lib/wireup/autofix.js.map +1 -0
- package/dist/lib/wireup/cli.d.ts +2 -0
- package/dist/lib/wireup/cli.d.ts.map +1 -0
- package/dist/lib/wireup/cli.js +194 -0
- package/dist/lib/wireup/cli.js.map +1 -0
- package/dist/lib/wireup/detection.d.ts +47 -0
- package/dist/lib/wireup/detection.d.ts.map +1 -0
- package/dist/lib/wireup/detection.js +410 -0
- package/dist/lib/wireup/detection.js.map +1 -0
- package/dist/lib/wireup/discovery.d.ts +2 -0
- package/dist/lib/wireup/discovery.d.ts.map +1 -0
- package/dist/lib/wireup/discovery.js +934 -0
- package/dist/lib/wireup/discovery.js.map +1 -0
- package/dist/lib/wireup/execution.d.ts +2 -0
- package/dist/lib/wireup/execution.d.ts.map +1 -0
- package/dist/lib/wireup/execution.js +573 -0
- package/dist/lib/wireup/execution.js.map +1 -0
- package/dist/lib/wireup/index.d.ts +2 -0
- package/dist/lib/wireup/index.d.ts.map +1 -0
- package/dist/lib/wireup/index.js +85 -0
- package/dist/lib/wireup/index.js.map +1 -0
- package/dist/lib/wireup/orchestrator.d.ts +2 -0
- package/dist/lib/wireup/orchestrator.d.ts.map +1 -0
- package/dist/lib/wireup/orchestrator.js +366 -0
- package/dist/lib/wireup/orchestrator.js.map +1 -0
- package/dist/lib/wireup/report.d.ts +47 -0
- package/dist/lib/wireup/report.d.ts.map +1 -0
- package/dist/lib/wireup/report.js +201 -0
- package/dist/lib/wireup/report.js.map +1 -0
- package/dist/lib/wireup/scenarios.d.ts +2 -0
- package/dist/lib/wireup/scenarios.d.ts.map +1 -0
- package/dist/lib/wireup/scenarios.js +516 -0
- package/dist/lib/wireup/scenarios.js.map +1 -0
- package/dist/lib/wireup/state.d.ts +2 -0
- package/dist/lib/wireup/state.d.ts.map +1 -0
- package/dist/lib/wireup/state.js +102 -0
- package/dist/lib/wireup/state.js.map +1 -0
- package/dist/lib/wireup/types.d.ts +376 -0
- package/dist/lib/wireup/types.d.ts.map +1 -0
- package/dist/lib/wireup/types.js +3 -0
- package/dist/lib/wireup/types.js.map +1 -0
- package/dist/lib/worktree.d.ts +2 -0
- package/dist/lib/worktree.d.ts.map +1 -0
- package/dist/lib/worktree.js +999 -0
- package/dist/lib/worktree.js.map +1 -0
- package/lib/autopilot-milestone.ts +136 -0
- package/lib/autopilot-pipeline.ts +1179 -0
- package/lib/autopilot-waves.ts +361 -0
- package/lib/autopilot.ts +1874 -0
- package/lib/autoplan.ts +280 -0
- package/lib/autoresearch.js +4 -0
- package/lib/autoresearch.ts +886 -0
- package/lib/backend.ts +1252 -0
- package/lib/benchmark.ts +341 -0
- package/lib/citations.ts +760 -0
- package/lib/cleanup.ts +1588 -0
- package/lib/cli/adapters.ts +41 -0
- package/lib/cli/agent.ts +83 -0
- package/lib/cli/index.ts +273 -0
- package/lib/cli/output.ts +33 -0
- package/lib/cli/scan-dispatch.ts +130 -0
- package/lib/cli/tools.ts +198 -0
- package/lib/commands/_dashboard-parsers.ts +275 -0
- package/lib/commands/analysis.ts +1851 -0
- package/lib/commands/assumptions.ts +232 -0
- package/lib/commands/blame.ts +174 -0
- package/lib/commands/budget.ts +148 -0
- package/lib/commands/check-plans.ts +233 -0
- package/lib/commands/config.ts +287 -0
- package/lib/commands/dashboard.ts +680 -0
- package/lib/commands/estimate.ts +204 -0
- package/lib/commands/eval-diff.ts +252 -0
- package/lib/commands/freshness.ts +213 -0
- package/lib/commands/health.ts +607 -0
- package/lib/commands/index.ts +266 -0
- package/lib/commands/install.ts +307 -0
- package/lib/commands/knowhow-aggregator.ts +345 -0
- package/lib/commands/knowledge-search.ts +153 -0
- package/lib/commands/long-term-roadmap.ts +390 -0
- package/lib/commands/patterns.ts +465 -0
- package/lib/commands/phase-info.ts +698 -0
- package/lib/commands/plan-lint.ts +546 -0
- package/lib/commands/plan-phase.ts +375 -0
- package/lib/commands/progress.ts +319 -0
- package/lib/commands/quality.ts +138 -0
- package/lib/commands/rollback.ts +195 -0
- package/lib/commands/scan.ts +72 -0
- package/lib/commands/search.ts +300 -0
- package/lib/commands/select-candidate.ts +687 -0
- package/lib/commands/singularity.ts +222 -0
- package/lib/commands/slug-timestamp.ts +74 -0
- package/lib/commands/tail.ts +129 -0
- package/lib/commands/todo.ts +273 -0
- package/lib/commands/watch.ts +80 -0
- package/lib/complexity.ts +117 -0
- package/lib/context/agents.ts +505 -0
- package/lib/context/base.ts +123 -0
- package/lib/context/execute.ts +977 -0
- package/lib/context/index.ts +110 -0
- package/lib/context/progress.ts +278 -0
- package/lib/context/project.ts +531 -0
- package/lib/context/research.ts +646 -0
- package/lib/dead-ends.ts +506 -0
- package/lib/deps.ts +773 -0
- package/lib/discussion.ts +1275 -0
- package/lib/drift.ts +519 -0
- package/lib/evolve/_dimensions-features.ts +525 -0
- package/lib/evolve/_dimensions.ts +511 -0
- package/lib/evolve/_product-ideation.ts +405 -0
- package/lib/evolve/_prompts.ts +178 -0
- package/lib/evolve/cli.ts +330 -0
- package/lib/evolve/discovery.ts +571 -0
- package/lib/evolve/index.ts +105 -0
- package/lib/evolve/orchestrator.ts +1139 -0
- package/lib/evolve/scoring.ts +167 -0
- package/lib/evolve/state.ts +330 -0
- package/lib/evolve/types.ts +290 -0
- package/lib/frontmatter.ts +615 -0
- package/lib/gates.ts +695 -0
- package/lib/genome.ts +402 -0
- package/lib/got.js +4 -0
- package/lib/got.ts +361 -0
- package/lib/invariants.ts +378 -0
- package/lib/knowledge.ts +768 -0
- package/lib/long-term-roadmap.ts +806 -0
- package/lib/markdown-split.ts +273 -0
- package/lib/mcp-server.ts +3292 -0
- package/lib/metrics.ts +49 -0
- package/lib/overstory.ts +270 -0
- package/lib/parallel.ts +570 -0
- package/lib/paths.ts +293 -0
- package/lib/phase-complete-llm.ts +376 -0
- package/lib/phase-complete.ts +366 -0
- package/lib/phase-io.ts +101 -0
- package/lib/phase.ts +1981 -0
- package/lib/plan-tournament.ts +426 -0
- package/lib/refinement.ts +349 -0
- package/lib/requirements.ts +469 -0
- package/lib/research-bundle.ts +300 -0
- package/lib/roadmap.ts +775 -0
- package/lib/scaffold.ts +480 -0
- package/lib/scan/_utils.ts +37 -0
- package/lib/scan/base64.ts +90 -0
- package/lib/scan/ignorefile.ts +109 -0
- package/lib/scan/injection.ts +67 -0
- package/lib/scan/patterns.ts +139 -0
- package/lib/scan/strip-markdown.ts +39 -0
- package/lib/scan/types.ts +28 -0
- package/lib/scheduler-wait.ts +58 -0
- package/lib/scheduler.ts +1370 -0
- package/lib/state.ts +1000 -0
- package/lib/think.ts +365 -0
- package/lib/tracker.ts +1591 -0
- package/lib/types.ts +1663 -0
- package/lib/utils.ts +1479 -0
- package/lib/verify.ts +1434 -0
- package/lib/wireup/autofix.ts +241 -0
- package/lib/wireup/cli.ts +278 -0
- package/lib/wireup/detection.ts +542 -0
- package/lib/wireup/discovery.ts +1063 -0
- package/lib/wireup/execution.ts +686 -0
- package/lib/wireup/index.ts +117 -0
- package/lib/wireup/orchestrator.ts +519 -0
- package/lib/wireup/report.ts +286 -0
- package/lib/wireup/scenarios.ts +616 -0
- package/lib/wireup/state.ts +139 -0
- package/lib/wireup/types.ts +436 -0
- package/lib/worktree.ts +1309 -0
- package/package.json +67 -0
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Create or display long-term roadmap
|
|
3
|
+
argument-hint: [list | add | remove | update | refine | link | unlink | display | init]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<purpose>
|
|
7
|
+
Manage the flat, ordered list of long-term (LT) milestones. Each LT milestone groups 1+ normal milestones from ROADMAP.md with full traceability. Supports CRUD operations, linking/unlinking normal milestones, and protection of completed work.
|
|
8
|
+
</purpose>
|
|
9
|
+
|
|
10
|
+
<process>
|
|
11
|
+
|
|
12
|
+
## Step 0: Detect State
|
|
13
|
+
|
|
14
|
+
Check if LONG-TERM-ROADMAP.md exists:
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
PARSED=$(node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js long-term-roadmap parse --raw 2>&1)
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Parse `$ARGUMENTS` for subcommand:
|
|
21
|
+
- `list` — **List Flow**
|
|
22
|
+
- `add` — **Add Flow**
|
|
23
|
+
- `remove` — **Remove Flow**
|
|
24
|
+
- `update` — **Update Flow**
|
|
25
|
+
- `refine` — **Refine Flow**
|
|
26
|
+
- `link` — **Link Flow**
|
|
27
|
+
- `unlink` — **Unlink Flow**
|
|
28
|
+
- `display` — **Display Flow** (default when no subcommand)
|
|
29
|
+
- `init` — **Init Flow**
|
|
30
|
+
- No subcommand — **Display or Init Flow**
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## Display or Init Flow
|
|
35
|
+
|
|
36
|
+
### If LONG-TERM-ROADMAP.md exists:
|
|
37
|
+
|
|
38
|
+
**Display the current roadmap:**
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
DISPLAY=$(node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js long-term-roadmap display --raw)
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Present the formatted output to the user, then offer actions:
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## Actions
|
|
50
|
+
|
|
51
|
+
- `/grd:long-term-roadmap add` — add a new LT milestone
|
|
52
|
+
- `/grd:long-term-roadmap update` — update a milestone's name, goal, or status
|
|
53
|
+
- `/grd:long-term-roadmap link` — link a normal milestone to an LT milestone
|
|
54
|
+
- `/grd:long-term-roadmap refine` — discuss and refine a milestone
|
|
55
|
+
- `/grd:new-milestone` — start executing the active milestone
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Done.
|
|
61
|
+
|
|
62
|
+
### If no LONG-TERM-ROADMAP.md:
|
|
63
|
+
|
|
64
|
+
**Auto-initialize from existing ROADMAP.md:**
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
INIT=$(node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js long-term-roadmap init --project "<project_name>" --raw)
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
If ROADMAP.md exists, this auto-groups all existing milestones into LT-1. Write the result to `.planning/LONG-TERM-ROADMAP.md`.
|
|
71
|
+
|
|
72
|
+
If no ROADMAP.md either, ask the user to create their first milestone with `/grd:init`.
|
|
73
|
+
|
|
74
|
+
**Then offer to add more LT milestones:**
|
|
75
|
+
|
|
76
|
+
Use AskUserQuestion:
|
|
77
|
+
- header: "Milestones"
|
|
78
|
+
- question: "Would you like to add more long-term milestones beyond the auto-grouped LT-1?"
|
|
79
|
+
- options:
|
|
80
|
+
- "Yes" — Ask for milestone details
|
|
81
|
+
- "No" — Keep LT-1 only for now
|
|
82
|
+
|
|
83
|
+
If "Yes", ask inline (freeform) for each milestone's name and goal. Use the `add` subcommand for each:
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js long-term-roadmap add --name "<name>" --goal "<goal>"
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
**Validate and commit:**
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
VALID=$(node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js long-term-roadmap validate --raw)
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js long-term-roadmap history \
|
|
97
|
+
--action "Initial roadmap" \
|
|
98
|
+
--details "Created <N> LT milestones"
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js commit "docs: create long-term roadmap" --files .planning/LONG-TERM-ROADMAP.md
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
## List Flow
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
LIST=$(node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js long-term-roadmap list --raw)
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
Present the list to the user.
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
## Add Flow
|
|
118
|
+
|
|
119
|
+
Ask inline (freeform) for the milestone name and goal (if not provided as arguments).
|
|
120
|
+
|
|
121
|
+
```bash
|
|
122
|
+
node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js long-term-roadmap add --name "<name>" --goal "<goal>"
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
Write the returned content to `.planning/LONG-TERM-ROADMAP.md`. Log history and commit.
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
## Remove Flow
|
|
130
|
+
|
|
131
|
+
Parse `$ARGUMENTS` for `--id LT-N`.
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
RESULT=$(node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js long-term-roadmap remove --id "<LT-N>")
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
**Protection:** The command refuses if the LT milestone has any completed (shipped) normal milestones. Present the error to the user if so.
|
|
138
|
+
|
|
139
|
+
If successful, write the returned content and commit.
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
## Update Flow
|
|
144
|
+
|
|
145
|
+
Parse `$ARGUMENTS` for `--id LT-N` and optional `--name`, `--goal`, `--status`.
|
|
146
|
+
|
|
147
|
+
```bash
|
|
148
|
+
RESULT=$(node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js long-term-roadmap update \
|
|
149
|
+
--id "<LT-N>" [--name "<name>"] [--goal "<goal>"] [--status "<status>"])
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
Valid statuses: `completed`, `active`, `planned`. Write result and commit.
|
|
153
|
+
|
|
154
|
+
---
|
|
155
|
+
|
|
156
|
+
## Refine Flow
|
|
157
|
+
|
|
158
|
+
Parse `$ARGUMENTS` for `--id LT-N`.
|
|
159
|
+
|
|
160
|
+
```bash
|
|
161
|
+
CONTEXT=$(node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js long-term-roadmap refine --id "<LT-N>" --raw)
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
Present the milestone context to the user. Discuss refinements. After gathering updates, use the `update` subcommand to apply changes. Log history and commit.
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
168
|
+
## Link Flow
|
|
169
|
+
|
|
170
|
+
Parse `$ARGUMENTS` for `--id LT-N` and `--version vX.Y.Z`.
|
|
171
|
+
|
|
172
|
+
```bash
|
|
173
|
+
RESULT=$(node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js long-term-roadmap link --id "<LT-N>" --version "<version>")
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
Write result and commit.
|
|
177
|
+
|
|
178
|
+
---
|
|
179
|
+
|
|
180
|
+
## Unlink Flow
|
|
181
|
+
|
|
182
|
+
Parse `$ARGUMENTS` for `--id LT-N` and `--version vX.Y.Z`.
|
|
183
|
+
|
|
184
|
+
```bash
|
|
185
|
+
RESULT=$(node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js long-term-roadmap unlink --id "<LT-N>" --version "<version>")
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
**Protection:** Refuses to unlink shipped versions. Present error if so. Write result and commit.
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
</process>
|
|
193
|
+
|
|
194
|
+
<success_criteria>
|
|
195
|
+
- [ ] Init creates LONG-TERM-ROADMAP.md from existing ROADMAP.md milestones
|
|
196
|
+
- [ ] Display shows formatted LT milestone list with status icons
|
|
197
|
+
- [ ] Add/Remove/Update CRUD operations work with protection rules
|
|
198
|
+
- [ ] Link/Unlink manages normal milestone associations
|
|
199
|
+
- [ ] Shipped milestones cannot be removed or unlinked
|
|
200
|
+
- [ ] All changes committed with history logged
|
|
201
|
+
- [ ] Validation passes after any modification
|
|
202
|
+
</success_criteria>
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Analyze codebase architecture with parallel mapper agents
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
<purpose>
|
|
6
|
+
Orchestrate parallel codebase mapper agents to analyze codebase and produce structured documents in the codebase directory
|
|
7
|
+
|
|
8
|
+
Each agent has fresh context, explores a specific focus area, and writes documents directly. The orchestrator only receives confirmation + line counts, then writes a summary.
|
|
9
|
+
|
|
10
|
+
Output: ${codebase_dir}/ folder with 7 structured documents about the codebase state.
|
|
11
|
+
</purpose>
|
|
12
|
+
|
|
13
|
+
<shell_safety>
|
|
14
|
+
NEVER use inline `node -e` or `python3 -c` with `!=` or `!==` — zsh escapes `!` and breaks them.
|
|
15
|
+
Use `grd-tools.js` pre-formatted output directly. Do NOT pipe `--raw` JSON through inline one-liners.
|
|
16
|
+
If JSON field extraction is needed, write a temp .js file or use inverted equality (`=== "x"` + negate).
|
|
17
|
+
</shell_safety>
|
|
18
|
+
|
|
19
|
+
<process>
|
|
20
|
+
|
|
21
|
+
<step name="init_context" priority="first">
|
|
22
|
+
```bash
|
|
23
|
+
INIT=$(node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js init map-codebase)
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Extract: `mapper_model`, `commit_docs`, `codebase_dir`, `existing_maps`, `has_maps`, `codebase_dir_exists`.
|
|
27
|
+
</step>
|
|
28
|
+
|
|
29
|
+
<step name="check_existing">
|
|
30
|
+
If `codebase_dir_exists` is true: Offer Refresh/Update/Skip.
|
|
31
|
+
If doesn't exist: Continue to create_structure.
|
|
32
|
+
</step>
|
|
33
|
+
|
|
34
|
+
<step name="create_structure">
|
|
35
|
+
```bash
|
|
36
|
+
mkdir -p ${codebase_dir}
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Expected: STACK.md, INTEGRATIONS.md, ARCHITECTURE.md, STRUCTURE.md, CONVENTIONS.md, TESTING.md, CONCERNS.md
|
|
40
|
+
</step>
|
|
41
|
+
|
|
42
|
+
<step name="spawn_agents">
|
|
43
|
+
Spawn 4 parallel grd-codebase-mapper agents:
|
|
44
|
+
|
|
45
|
+
**Agent 1: Tech Focus** — STACK.md, INTEGRATIONS.md
|
|
46
|
+
**Agent 2: Architecture Focus** — ARCHITECTURE.md, STRUCTURE.md
|
|
47
|
+
**Agent 3: Quality Focus** — CONVENTIONS.md, TESTING.md
|
|
48
|
+
**Agent 4: Concerns Focus** — CONCERNS.md
|
|
49
|
+
|
|
50
|
+
Each uses `subagent_type="grd:grd-codebase-mapper"`, `model="{mapper_model}"`, `run_in_background=true`.
|
|
51
|
+
|
|
52
|
+
Each agent prompt includes:
|
|
53
|
+
```
|
|
54
|
+
PATHS:
|
|
55
|
+
codebase_dir: ${codebase_dir}
|
|
56
|
+
```
|
|
57
|
+
</step>
|
|
58
|
+
|
|
59
|
+
<step name="verify_output">
|
|
60
|
+
```bash
|
|
61
|
+
ls -la ${codebase_dir}/
|
|
62
|
+
wc -l ${codebase_dir}/*.md
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
All 7 documents exist, no empty documents.
|
|
66
|
+
</step>
|
|
67
|
+
|
|
68
|
+
<step name="scan_for_secrets">
|
|
69
|
+
```bash
|
|
70
|
+
grep -E '(sk-[a-zA-Z0-9]{20,}|ghp_[a-zA-Z0-9]{36}|AKIA[A-Z0-9]{16}|-----BEGIN.*PRIVATE KEY)' ${codebase_dir}/*.md 2>/dev/null && SECRETS_FOUND=true || SECRETS_FOUND=false
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
If SECRETS_FOUND: Alert and pause before commit.
|
|
74
|
+
</step>
|
|
75
|
+
|
|
76
|
+
<step name="commit_codebase_map">
|
|
77
|
+
```bash
|
|
78
|
+
node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js commit "docs: map existing codebase" --files ${codebase_dir}/*.md
|
|
79
|
+
```
|
|
80
|
+
</step>
|
|
81
|
+
|
|
82
|
+
<step name="offer_next">
|
|
83
|
+
```
|
|
84
|
+
Codebase mapping complete.
|
|
85
|
+
|
|
86
|
+
Created ${codebase_dir}/:
|
|
87
|
+
- STACK.md, ARCHITECTURE.md, STRUCTURE.md, CONVENTIONS.md, TESTING.md, INTEGRATIONS.md, CONCERNS.md
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## Next Up
|
|
92
|
+
|
|
93
|
+
**Initialize project** — use codebase context for planning
|
|
94
|
+
|
|
95
|
+
`/grd:init`
|
|
96
|
+
|
|
97
|
+
<sub>`/clear` first -> fresh context window</sub>
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
```
|
|
101
|
+
</step>
|
|
102
|
+
|
|
103
|
+
</process>
|
|
104
|
+
|
|
105
|
+
<success_criteria>
|
|
106
|
+
- ${codebase_dir}/ directory created
|
|
107
|
+
- 4 parallel grd-codebase-mapper agents spawned
|
|
108
|
+
- All 7 codebase documents exist
|
|
109
|
+
- Clear completion summary with line counts
|
|
110
|
+
- User offered clear next steps
|
|
111
|
+
</success_criteria>
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Migrate legacy flat .planning/ layout to milestone-scoped hierarchy
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
<purpose>
|
|
6
|
+
Migrate a legacy flat `.planning/` layout (phases/, research/, todos/, quick/ at root) to the milestone-scoped hierarchy (`.planning/milestones/{milestone}/...`). Note: `codebase/` is project-level and stays at `.planning/codebase/`. Handles both trivial cases (standard dirs) via the deterministic `migrate-dirs` CLI and complex cases (orphan files, flat milestone files, legacy phase dirs) via the `grd-migrator` agent.
|
|
7
|
+
</purpose>
|
|
8
|
+
|
|
9
|
+
<required_reading>
|
|
10
|
+
Read all files referenced by the invoking prompt's execution_context before starting.
|
|
11
|
+
</required_reading>
|
|
12
|
+
|
|
13
|
+
<process>
|
|
14
|
+
**Step 1: Load context**
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
INIT=$(node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js state load)
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Parse JSON for: `milestone`, `planning_exists`.
|
|
21
|
+
|
|
22
|
+
**If `planning_exists` is false:** Error — no `.planning/` directory found. Nothing to migrate.
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
**Step 2: Scan for migration needs**
|
|
27
|
+
|
|
28
|
+
Scan `.planning/` for items that need migration:
|
|
29
|
+
|
|
30
|
+
**Trivial items** (handled by `migrate-dirs` CLI):
|
|
31
|
+
- Old-style root dirs: `phases/`, `research/`, `todos/`, `quick/`
|
|
32
|
+
- Note: `codebase/` is project-level and stays at `.planning/codebase/` — not migrated
|
|
33
|
+
|
|
34
|
+
**Complex items** (need agent):
|
|
35
|
+
- Orphan files at `.planning/` root that aren't standard (not STATE.md, ROADMAP.md, PROJECT.md, BASELINE.md, PRODUCT-QUALITY.md, REQUIREMENTS.md, config.json, TRACKER.md, LONG-TERM-ROADMAP.md)
|
|
36
|
+
- Flat milestone files in `milestones/` (e.g., `v0.X-ROADMAP.md`, `v0.X-REQUIREMENTS.md`)
|
|
37
|
+
- Legacy `v0.X-phases/` dirs in `milestones/`
|
|
38
|
+
|
|
39
|
+
Classify each item as `trivial` or `complex`.
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
**Step 3: Trivial-only path**
|
|
44
|
+
|
|
45
|
+
If only trivial items exist (or nothing to migrate):
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js migrate-dirs --raw
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
If output shows `already_migrated: true` or all dirs moved successfully, report success and exit.
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
**Step 4: Complex items — present migration plan**
|
|
56
|
+
|
|
57
|
+
If complex items were found, build a migration plan table and present to user:
|
|
58
|
+
|
|
59
|
+
```
|
|
60
|
+
AskUserQuestion(
|
|
61
|
+
header: "Migration",
|
|
62
|
+
question: "The following items need migration. Proceed?",
|
|
63
|
+
options: [
|
|
64
|
+
{ label: "Yes, migrate all", description: "Run trivial migration + spawn agent for complex items" },
|
|
65
|
+
{ label: "Trivial only", description: "Only migrate standard directories, skip complex items" },
|
|
66
|
+
{ label: "Cancel", description: "Don't migrate anything" }
|
|
67
|
+
]
|
|
68
|
+
)
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Display table of items:
|
|
72
|
+
|
|
73
|
+
| Item | Type | Action |
|
|
74
|
+
|------|------|--------|
|
|
75
|
+
| phases/ | trivial | Move to milestones/{milestone}/phases/ |
|
|
76
|
+
| milestones/v0.1-ROADMAP.md | complex | Move to milestones/v0.1/ROADMAP.md |
|
|
77
|
+
| ... | ... | ... |
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
**Step 5: Execute trivial migration**
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js migrate-dirs --raw
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
**Step 6: Spawn grd-migrator for complex items**
|
|
90
|
+
|
|
91
|
+
If user chose to migrate complex items:
|
|
92
|
+
|
|
93
|
+
```
|
|
94
|
+
Task(
|
|
95
|
+
prompt="
|
|
96
|
+
<migration_context>
|
|
97
|
+
|
|
98
|
+
**Milestone:** ${milestone}
|
|
99
|
+
**Complex items to migrate:**
|
|
100
|
+
${complex_items_list}
|
|
101
|
+
|
|
102
|
+
**Project State:**
|
|
103
|
+
@.planning/STATE.md
|
|
104
|
+
|
|
105
|
+
</migration_context>
|
|
106
|
+
|
|
107
|
+
<constraints>
|
|
108
|
+
- Move flat milestone files to their proper milestone subdirectories
|
|
109
|
+
- Move legacy phase dirs to proper milestone structure
|
|
110
|
+
- For orphan docs: read content, infer milestone from content, flag low-confidence for user decision
|
|
111
|
+
- Non-standard files: flag for user (keep/move/delete)
|
|
112
|
+
- Commit atomically after all moves
|
|
113
|
+
- Do NOT modify file contents — only move files
|
|
114
|
+
</constraints>
|
|
115
|
+
",
|
|
116
|
+
subagent_type="grd:grd-migrator",
|
|
117
|
+
description="Migrate complex .planning/ items"
|
|
118
|
+
)
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
|
|
123
|
+
**Step 7: Validate and commit**
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js validate consistency
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
If validation passes, commit migration results:
|
|
130
|
+
|
|
131
|
+
```bash
|
|
132
|
+
git add .planning/
|
|
133
|
+
git commit -m "chore: migrate .planning/ to milestone-scoped hierarchy"
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
Display completion output:
|
|
137
|
+
```
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
GRD > MIGRATION COMPLETE
|
|
141
|
+
|
|
142
|
+
Milestone: ${milestone}
|
|
143
|
+
Trivial items: ${trivial_count} migrated
|
|
144
|
+
Complex items: ${complex_count} migrated
|
|
145
|
+
|
|
146
|
+
Validation: PASSED
|
|
147
|
+
|
|
148
|
+
---
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
</process>
|
|
152
|
+
|
|
153
|
+
<success_criteria>
|
|
154
|
+
- [ ] `.planning/` scanned for migration needs
|
|
155
|
+
- [ ] Trivial dirs migrated via `migrate-dirs` CLI
|
|
156
|
+
- [ ] Complex items handled by `grd-migrator` agent (if any)
|
|
157
|
+
- [ ] `validate consistency` passes after migration
|
|
158
|
+
- [ ] Changes committed atomically
|
|
159
|
+
</success_criteria>
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Start a new milestone cycle with research, requirements, and roadmap
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
<purpose>
|
|
6
|
+
Start a new milestone cycle for an existing project. Loads project context, gathers milestone goals (from MILESTONE-CONTEXT.md or conversation), updates PROJECT.md and STATE.md, optionally runs parallel research, defines scoped requirements with REQ-IDs, spawns the roadmapper to create phased execution plan, and commits all artifacts. Brownfield equivalent of new-project.
|
|
7
|
+
</purpose>
|
|
8
|
+
|
|
9
|
+
<required_reading>
|
|
10
|
+
Read all files referenced by the invoking prompt's execution_context before starting.
|
|
11
|
+
</required_reading>
|
|
12
|
+
|
|
13
|
+
<process>
|
|
14
|
+
|
|
15
|
+
## 1. Load Context
|
|
16
|
+
|
|
17
|
+
- Read PROJECT.md (existing project, validated requirements, decisions)
|
|
18
|
+
- Read MILESTONES.md (what shipped previously)
|
|
19
|
+
- Read STATE.md (pending todos, blockers)
|
|
20
|
+
- Check for MILESTONE-CONTEXT.md (from /grd:discuss-milestone)
|
|
21
|
+
|
|
22
|
+
## 2. Gather Milestone Goals
|
|
23
|
+
|
|
24
|
+
**If MILESTONE-CONTEXT.md exists:** Use features and scope, present for confirmation.
|
|
25
|
+
**If no context file:** Present what shipped, ask: "What do you want to build next?"
|
|
26
|
+
|
|
27
|
+
## 3. Determine Milestone Version
|
|
28
|
+
|
|
29
|
+
Parse last version from MILESTONES.md. Suggest next version. Confirm with user.
|
|
30
|
+
|
|
31
|
+
## 4. Update PROJECT.md
|
|
32
|
+
|
|
33
|
+
Add Current Milestone section with goal and target features. Update Active requirements.
|
|
34
|
+
|
|
35
|
+
## 5. Update STATE.md
|
|
36
|
+
|
|
37
|
+
Reset position to "Not started (defining requirements)".
|
|
38
|
+
|
|
39
|
+
## 6. Cleanup and Commit
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js commit "docs: start milestone v[X.Y] [Name]" --files .planning/PROJECT.md .planning/STATE.md
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## 7. Load Context and Resolve Models
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
INIT=$(node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js init new-milestone)
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Extract: `researcher_model`, `synthesizer_model`, `roadmapper_model`, `commit_docs`, `research_enabled`, `current_milestone`, `suggested_start_phase`, `research_dir`.
|
|
52
|
+
|
|
53
|
+
If `gate_failed` is true, stop and report the gate errors to the user before proceeding.
|
|
54
|
+
|
|
55
|
+
## 8. Research Decision
|
|
56
|
+
|
|
57
|
+
AskUserQuestion: "Research the domain ecosystem for new features before defining requirements?"
|
|
58
|
+
|
|
59
|
+
**If "Research first":** Spawn 4 parallel grd-project-researcher agents (Stack, Features, Architecture, Pitfalls), then synthesizer. Use subsequent milestone context (focus on NEW features, not existing system).
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
mkdir -p ${research_dir}
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
**If "Skip research":** Continue to Step 9.
|
|
66
|
+
|
|
67
|
+
## 9. Define Requirements
|
|
68
|
+
|
|
69
|
+
Read PROJECT.md, existing validated requirements. Present features by category via research or conversation. Scope each category via AskUserQuestion.
|
|
70
|
+
|
|
71
|
+
Generate REQUIREMENTS.md with REQ-IDs continuing from existing numbering.
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js commit "docs: define milestone v[X.Y] requirements" --files .planning/REQUIREMENTS.md
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## 10. Create Roadmap
|
|
78
|
+
|
|
79
|
+
Start phase numbering from `suggested_start_phase` (computed by `init new-milestone` from archived and current phase directories).
|
|
80
|
+
|
|
81
|
+
```
|
|
82
|
+
Task(prompt="
|
|
83
|
+
<planning_context>
|
|
84
|
+
@.planning/PROJECT.md
|
|
85
|
+
@.planning/REQUIREMENTS.md
|
|
86
|
+
@${research_dir}/SUMMARY.md (if exists)
|
|
87
|
+
@.planning/config.json
|
|
88
|
+
@.planning/MILESTONES.md
|
|
89
|
+
</planning_context>
|
|
90
|
+
|
|
91
|
+
<instructions>
|
|
92
|
+
Create roadmap for milestone v[X.Y]:
|
|
93
|
+
1. Start phase numbering from {suggested_start_phase}
|
|
94
|
+
2. Derive phases from THIS MILESTONE's requirements only
|
|
95
|
+
3. Map every requirement to exactly one phase
|
|
96
|
+
4. Write files immediately (ROADMAP.md, STATE.md, update REQUIREMENTS.md traceability)
|
|
97
|
+
5. Return ROADMAP CREATED with summary
|
|
98
|
+
</instructions>
|
|
99
|
+
", subagent_type="grd:grd-roadmapper", model="{roadmapper_model}", description="Create roadmap")
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
Handle return (BLOCKED or CREATED), present inline, get approval, commit.
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js commit "docs: create milestone v[X.Y] roadmap ([N] phases)" --files .planning/ROADMAP.md .planning/STATE.md .planning/REQUIREMENTS.md
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
## 10.5. Link to Long-Term Roadmap
|
|
109
|
+
|
|
110
|
+
Check if LONG-TERM-ROADMAP.md exists:
|
|
111
|
+
|
|
112
|
+
```bash
|
|
113
|
+
node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js long-term-roadmap list --raw 2>/dev/null
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
**If LT roadmap exists:**
|
|
117
|
+
|
|
118
|
+
Find the active LT milestone and offer to link:
|
|
119
|
+
|
|
120
|
+
Use AskUserQuestion:
|
|
121
|
+
- header: "LT Link"
|
|
122
|
+
- question: "Link this milestone to an LT milestone?"
|
|
123
|
+
- options:
|
|
124
|
+
- "Link to [active LT milestone name]" — Associate v[X.Y] with the active LT milestone
|
|
125
|
+
- "Skip" — Don't link to long-term roadmap
|
|
126
|
+
|
|
127
|
+
**If "Link":**
|
|
128
|
+
```bash
|
|
129
|
+
node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js long-term-roadmap link --id [LT-N] --version v[X.Y]
|
|
130
|
+
node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js commit "docs: link v[X.Y] to [LT-N]" --files .planning/LONG-TERM-ROADMAP.md
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
**If no LT roadmap exists:** Skip silently.
|
|
134
|
+
|
|
135
|
+
## 11. Done
|
|
136
|
+
|
|
137
|
+
```
|
|
138
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
139
|
+
GRD ► MILESTONE INITIALIZED
|
|
140
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
141
|
+
|
|
142
|
+
**Milestone v[X.Y]: [Name]**
|
|
143
|
+
|
|
144
|
+
**[N] phases** | **[X] requirements** | Ready to build
|
|
145
|
+
|
|
146
|
+
## Next Up
|
|
147
|
+
|
|
148
|
+
**Phase [N]: [Phase Name]** — [Goal]
|
|
149
|
+
|
|
150
|
+
`/grd:discuss-phase [N]` — gather context and clarify approach
|
|
151
|
+
|
|
152
|
+
<sub>`/clear` first -> fresh context window</sub>
|
|
153
|
+
|
|
154
|
+
Also: `/grd:plan-phase [N]` — skip discussion, plan directly
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
</process>
|
|
158
|
+
|
|
159
|
+
<success_criteria>
|
|
160
|
+
- [ ] PROJECT.md updated with Current Milestone section
|
|
161
|
+
- [ ] STATE.md reset for new milestone
|
|
162
|
+
- [ ] Research completed (if selected) — 4 parallel agents, milestone-aware
|
|
163
|
+
- [ ] REQUIREMENTS.md created with REQ-IDs
|
|
164
|
+
- [ ] grd-roadmapper spawned with phase numbering context
|
|
165
|
+
- [ ] ROADMAP.md phases continue from previous milestone
|
|
166
|
+
- [ ] All commits made
|
|
167
|
+
- [ ] LT roadmap link offered (if LONG-TERM-ROADMAP.md exists)
|
|
168
|
+
- [ ] User knows next step: `/grd:discuss-phase [N]`
|
|
169
|
+
</success_criteria>
|