@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,80 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* GRD Post-install Script
|
|
6
|
+
*
|
|
7
|
+
* Creates the .planning/ directory structure and default config.json
|
|
8
|
+
* when not already present. Idempotent: does nothing if .planning/ exists.
|
|
9
|
+
*
|
|
10
|
+
* This script MUST never fail — postinstall failures block npm install.
|
|
11
|
+
* All errors are caught and printed to stderr; exit code is always 0.
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
const fs = require('fs') as typeof import('fs');
|
|
16
|
+
const path = require('path') as typeof import('path');
|
|
17
|
+
|
|
18
|
+
const PLANNING_DIR: string = path.join(process.cwd(), '.planning');
|
|
19
|
+
|
|
20
|
+
const DIRECTORIES: readonly string[] = [
|
|
21
|
+
'.planning',
|
|
22
|
+
'.planning/milestones',
|
|
23
|
+
'.planning/milestones/anonymous',
|
|
24
|
+
'.planning/milestones/anonymous/phases',
|
|
25
|
+
'.planning/milestones/anonymous/research',
|
|
26
|
+
'.planning/milestones/anonymous/research/deep-dives',
|
|
27
|
+
'.planning/milestones/anonymous/codebase',
|
|
28
|
+
'.planning/milestones/anonymous/todos',
|
|
29
|
+
'.planning/milestones/anonymous/quick',
|
|
30
|
+
] as const;
|
|
31
|
+
|
|
32
|
+
interface DefaultConfig {
|
|
33
|
+
model_profile: string;
|
|
34
|
+
commit_docs: boolean;
|
|
35
|
+
autonomous_mode: boolean;
|
|
36
|
+
research_gates: Record<string, never>;
|
|
37
|
+
confirmation_gates: Record<string, never>;
|
|
38
|
+
eval_config: {
|
|
39
|
+
default_metrics: string[];
|
|
40
|
+
baseline_tracking: boolean;
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
const DEFAULT_CONFIG: DefaultConfig = {
|
|
45
|
+
model_profile: 'balanced',
|
|
46
|
+
commit_docs: true,
|
|
47
|
+
autonomous_mode: false,
|
|
48
|
+
research_gates: {},
|
|
49
|
+
confirmation_gates: {},
|
|
50
|
+
eval_config: {
|
|
51
|
+
default_metrics: ['test_coverage_pct', 'lint_error_count'],
|
|
52
|
+
baseline_tracking: true,
|
|
53
|
+
},
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
try {
|
|
57
|
+
// Idempotency: if .planning/ already exists, exit silently
|
|
58
|
+
if (fs.existsSync(PLANNING_DIR)) {
|
|
59
|
+
process.exit(0);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
// Create all directories
|
|
63
|
+
const cwd: string = process.cwd();
|
|
64
|
+
for (const dir of DIRECTORIES) {
|
|
65
|
+
const fullPath: string = path.join(cwd, dir);
|
|
66
|
+
fs.mkdirSync(fullPath, { recursive: true });
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
// Create default config.json
|
|
70
|
+
const configPath: string = path.join(PLANNING_DIR, 'config.json');
|
|
71
|
+
if (!fs.existsSync(configPath)) {
|
|
72
|
+
fs.writeFileSync(configPath, JSON.stringify(DEFAULT_CONFIG, null, 2) + '\n');
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
console.log('GRD: Created .planning/ directory structure');
|
|
76
|
+
} catch (err: unknown) {
|
|
77
|
+
// Never fail postinstall — print warning and exit cleanly
|
|
78
|
+
process.stderr.write(`GRD postinstall warning: ${(err as Error).message}\n`);
|
|
79
|
+
process.exit(0);
|
|
80
|
+
}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Add a new phase to the end of the current milestone
|
|
3
|
+
argument-hint: <phase name and goal>
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<purpose>
|
|
7
|
+
Add a new integer phase to the end of the current milestone in the roadmap. Automatically calculates next phase number, creates phase directory, and updates roadmap structure.
|
|
8
|
+
</purpose>
|
|
9
|
+
|
|
10
|
+
<required_reading>
|
|
11
|
+
Read all files referenced by the invoking prompt's execution_context before starting.
|
|
12
|
+
</required_reading>
|
|
13
|
+
|
|
14
|
+
<process>
|
|
15
|
+
|
|
16
|
+
<step name="parse_arguments">
|
|
17
|
+
Parse the command arguments:
|
|
18
|
+
- All arguments become the phase description
|
|
19
|
+
- Example: `/grd:add-phase Add authentication` -> description = "Add authentication"
|
|
20
|
+
|
|
21
|
+
If no arguments provided:
|
|
22
|
+
```
|
|
23
|
+
ERROR: Phase description required
|
|
24
|
+
Usage: /grd:add-phase <description>
|
|
25
|
+
Example: /grd:add-phase Add authentication system
|
|
26
|
+
```
|
|
27
|
+
Exit.
|
|
28
|
+
|
|
29
|
+
If the user provided substantial context beyond a short name (multi-line text, goals, constraints, decisions, or background), capture it as `context` text for the `--context` flag. Short single-phrase descriptions do not need context capture.
|
|
30
|
+
</step>
|
|
31
|
+
|
|
32
|
+
<step name="init_context">
|
|
33
|
+
```bash
|
|
34
|
+
INIT=$(node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js init phase-op "0")
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Parse JSON for: `roadmap_exists`, `phases_dir`, `commit_docs`.
|
|
38
|
+
|
|
39
|
+
Check `roadmap_exists` from init JSON. If false:
|
|
40
|
+
```
|
|
41
|
+
ERROR: No roadmap found (.planning/ROADMAP.md)
|
|
42
|
+
Run /grd:init to initialize.
|
|
43
|
+
```
|
|
44
|
+
Exit.
|
|
45
|
+
</step>
|
|
46
|
+
|
|
47
|
+
<step name="add_phase">
|
|
48
|
+
If `context` was captured:
|
|
49
|
+
```bash
|
|
50
|
+
RESULT=$(node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js phase add "${description}" --context "${context}")
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Otherwise:
|
|
54
|
+
```bash
|
|
55
|
+
RESULT=$(node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js phase add "${description}")
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Extract from result: `phase_number`, `padded`, `name`, `slug`, `directory`.
|
|
59
|
+
</step>
|
|
60
|
+
|
|
61
|
+
<step name="update_project_state">
|
|
62
|
+
Update STATE.md under "## Accumulated Context" -> "### Roadmap Evolution":
|
|
63
|
+
```
|
|
64
|
+
- Phase {N} added: {description}
|
|
65
|
+
```
|
|
66
|
+
</step>
|
|
67
|
+
|
|
68
|
+
<step name="reschedule_check">
|
|
69
|
+
If `schedule_affected` is true in the result:
|
|
70
|
+
|
|
71
|
+
1. Check tracker config:
|
|
72
|
+
```bash
|
|
73
|
+
TRACKER_CONFIG=$(node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js tracker get-config --raw)
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
2. If `provider` is `"mcp-atlassian"` and `auto_sync` is true:
|
|
77
|
+
- Run reschedule automatically:
|
|
78
|
+
```bash
|
|
79
|
+
OPS=$(node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js tracker prepare-reschedule --raw)
|
|
80
|
+
```
|
|
81
|
+
- Parse `start_date_field` and `operations` from JSON
|
|
82
|
+
- For each operation with `action: "update"`: call MCP tool `update_issue` with `issue_key` and `additional_fields: {[start_date_field]: start_date, "duedate": due_date}`
|
|
83
|
+
- Display count of updated issues
|
|
84
|
+
|
|
85
|
+
3. If `provider` is `"mcp-atlassian"` but `auto_sync` is false:
|
|
86
|
+
- Notify: `Schedule affected. Run /grd:sync reschedule to update Jira dates.`
|
|
87
|
+
|
|
88
|
+
4. Otherwise: skip (no tracker or GitHub provider — dates not applicable).
|
|
89
|
+
</step>
|
|
90
|
+
|
|
91
|
+
<step name="completion">
|
|
92
|
+
```
|
|
93
|
+
Phase {N} added to current milestone:
|
|
94
|
+
- Description: {description}
|
|
95
|
+
- Directory: ${phases_dir}/{phase-num}-{slug}/
|
|
96
|
+
- Duration: 7d (default — edit in ROADMAP.md to adjust)
|
|
97
|
+
- Status: Not planned yet
|
|
98
|
+
{If reschedule ran: "- Jira dates updated: {count} issues rescheduled"}
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## Next Up
|
|
103
|
+
|
|
104
|
+
**Phase {N}: {description}**
|
|
105
|
+
|
|
106
|
+
`/grd:plan-phase {N}`
|
|
107
|
+
|
|
108
|
+
<sub>`/clear` first -> fresh context window</sub>
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
```
|
|
112
|
+
</step>
|
|
113
|
+
|
|
114
|
+
</process>
|
|
115
|
+
|
|
116
|
+
<success_criteria>
|
|
117
|
+
- [ ] `grd-tools phase add` executed successfully
|
|
118
|
+
- [ ] Phase directory created
|
|
119
|
+
- [ ] CONTEXT.md created if substantial context was provided
|
|
120
|
+
- [ ] Roadmap updated with new phase entry
|
|
121
|
+
- [ ] STATE.md updated with roadmap evolution note
|
|
122
|
+
- [ ] User informed of next steps
|
|
123
|
+
</success_criteria>
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Capture an idea or task as a structured todo for later work
|
|
3
|
+
argument-hint: <brief description of the todo>
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<purpose>
|
|
7
|
+
Capture an idea, task, or issue that surfaces during a GRD session as a structured todo for later work. Enables "thought -> capture -> continue" flow without losing context.
|
|
8
|
+
</purpose>
|
|
9
|
+
|
|
10
|
+
<required_reading>
|
|
11
|
+
Read all files referenced by the invoking prompt's execution_context before starting.
|
|
12
|
+
</required_reading>
|
|
13
|
+
|
|
14
|
+
<process>
|
|
15
|
+
|
|
16
|
+
<step name="init_context">
|
|
17
|
+
```bash
|
|
18
|
+
INIT=$(node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js init todos)
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Extract from init JSON: `commit_docs`, `date`, `timestamp`, `todo_count`, `todos`, `pending_dir`, `todos_dir`, `todos_dir_exists`.
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
mkdir -p ${todos_dir}/pending ${todos_dir}/done
|
|
25
|
+
```
|
|
26
|
+
</step>
|
|
27
|
+
|
|
28
|
+
<step name="extract_content">
|
|
29
|
+
**With arguments:** Use as the title/focus.
|
|
30
|
+
**Without arguments:** Analyze recent conversation to extract the specific problem, idea, or task.
|
|
31
|
+
|
|
32
|
+
Formulate: `title`, `problem`, `solution`, `files`.
|
|
33
|
+
</step>
|
|
34
|
+
|
|
35
|
+
<step name="infer_area">
|
|
36
|
+
Infer area from file paths (api, ui, auth, database, testing, docs, planning, tooling, general).
|
|
37
|
+
</step>
|
|
38
|
+
|
|
39
|
+
<step name="check_duplicates">
|
|
40
|
+
```bash
|
|
41
|
+
grep -l -i "[key words from title]" ${todos_dir}/pending/*.md 2>/dev/null
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
If potential duplicate found: offer Skip/Replace/Add anyway.
|
|
45
|
+
</step>
|
|
46
|
+
|
|
47
|
+
<step name="create_file">
|
|
48
|
+
```bash
|
|
49
|
+
slug=$(node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js generate-slug "$title" --raw)
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
Write to `${todos_dir}/pending/-.md` with frontmatter and Problem/Solution sections.
|
|
53
|
+
</step>
|
|
54
|
+
|
|
55
|
+
<step name="git_commit">
|
|
56
|
+
```bash
|
|
57
|
+
node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js commit "docs: capture todo - [title]" --files ${todos_dir}/pending/[filename] .planning/STATE.md
|
|
58
|
+
```
|
|
59
|
+
</step>
|
|
60
|
+
|
|
61
|
+
<step name="confirm">
|
|
62
|
+
```
|
|
63
|
+
Todo saved: ${todos_dir}/pending/[filename]
|
|
64
|
+
|
|
65
|
+
[title]
|
|
66
|
+
Area: [area]
|
|
67
|
+
Files: [count] referenced
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
Would you like to:
|
|
72
|
+
|
|
73
|
+
1. Continue with current work
|
|
74
|
+
2. Add another todo
|
|
75
|
+
3. View all todos (/grd:check-todos)
|
|
76
|
+
```
|
|
77
|
+
</step>
|
|
78
|
+
|
|
79
|
+
</process>
|
|
80
|
+
|
|
81
|
+
<success_criteria>
|
|
82
|
+
- [ ] Todo file created with valid frontmatter
|
|
83
|
+
- [ ] Problem section has enough context for future Claude
|
|
84
|
+
- [ ] No duplicates (checked and resolved)
|
|
85
|
+
- [ ] STATE.md updated if exists
|
|
86
|
+
- [ ] Todo and state committed to git
|
|
87
|
+
</success_criteria>
|
|
@@ -0,0 +1,289 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Assess current code/model quality with quantitative metrics and establish performance baseline
|
|
3
|
+
argument-hint: [scope: "full" | "quick" | specific component]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<purpose>
|
|
7
|
+
Assess current code quality and establish a quantitative performance baseline. Runs
|
|
8
|
+
analysis across code health, test coverage, performance metrics, and domain-specific
|
|
9
|
+
quality measures. Creates or updates .planning/BASELINE.md — the reference point against
|
|
10
|
+
which all future improvements are measured.
|
|
11
|
+
</purpose>
|
|
12
|
+
|
|
13
|
+
<context>
|
|
14
|
+
CLAUDE.md rules: @CLAUDE.md
|
|
15
|
+
|
|
16
|
+
**Project structure:**
|
|
17
|
+
- `.planning/BASELINE.md` — baseline assessment output (created or updated)
|
|
18
|
+
- `.planning/BENCHMARKS.md` — historical benchmark tracking
|
|
19
|
+
- `.planning/ROADMAP.md` — project roadmap (may reference baseline)
|
|
20
|
+
- `.planning/config.json` — GRD configuration
|
|
21
|
+
- `package.json` / `pyproject.toml` / `Cargo.toml` / etc. — project manifest
|
|
22
|
+
|
|
23
|
+
**Agent available:**
|
|
24
|
+
- `grd-baseline-assessor` — specialized code/system quality assessment agent
|
|
25
|
+
</context>
|
|
26
|
+
|
|
27
|
+
<process>
|
|
28
|
+
|
|
29
|
+
## Step 0: INITIALIZE — Detect Project and Scope
|
|
30
|
+
|
|
31
|
+
1. **Parse arguments**: Determine assessment scope from `$ARGUMENTS`
|
|
32
|
+
- `full`: comprehensive assessment of all dimensions
|
|
33
|
+
- `quick`: code health + test coverage only (skip expensive benchmarks)
|
|
34
|
+
- Specific component: focus assessment on named module/directory
|
|
35
|
+
- Empty: default to `full`
|
|
36
|
+
|
|
37
|
+
2. **Detect project type**:
|
|
38
|
+
- Scan for manifest files (package.json, pyproject.toml, Cargo.toml, go.mod, etc.)
|
|
39
|
+
- Identify language, framework, package manager
|
|
40
|
+
- Identify test framework and runner
|
|
41
|
+
- Identify linting/formatting tools
|
|
42
|
+
- Identify build system
|
|
43
|
+
|
|
44
|
+
3. **Load existing BASELINE.md** (if present):
|
|
45
|
+
- Parse previous assessment metrics
|
|
46
|
+
- Store as `PREVIOUS_BASELINE` for trend comparison
|
|
47
|
+
- Note timestamp of last assessment
|
|
48
|
+
|
|
49
|
+
4. **Inventory available tooling**:
|
|
50
|
+
- What static analysis tools are installed/configured?
|
|
51
|
+
- What test suites exist?
|
|
52
|
+
- What benchmark scripts are available?
|
|
53
|
+
- What CI/CD pipeline checks are defined?
|
|
54
|
+
|
|
55
|
+
**STEP_0_CHECKPOINT:**
|
|
56
|
+
- [ ] Assessment scope determined
|
|
57
|
+
- [ ] Project type and toolchain identified
|
|
58
|
+
- [ ] Previous baseline loaded (or noted as first assessment)
|
|
59
|
+
- [ ] Available tooling inventoried
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## Step 1: DISPLAY BANNER
|
|
64
|
+
|
|
65
|
+
```
|
|
66
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
67
|
+
║ GRD >>> ASSESS BASELINE ║
|
|
68
|
+
║ ║
|
|
69
|
+
║ Scope: {full | quick | component} ║
|
|
70
|
+
║ Project: {language} / {framework} ║
|
|
71
|
+
║ Previous baseline: {date | "first assessment"} ║
|
|
72
|
+
║ Tools detected: {linter, test runner, ...} ║
|
|
73
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## Step 2: SPAWN BASELINE ASSESSOR AGENT
|
|
79
|
+
|
|
80
|
+
**Launch `grd-baseline-assessor` agent via Task tool:**
|
|
81
|
+
|
|
82
|
+
Use Task tool with `subagent_type="grd:grd-baseline-assessor"`:
|
|
83
|
+
|
|
84
|
+
```
|
|
85
|
+
Assess current code quality and performance baseline.
|
|
86
|
+
|
|
87
|
+
PROJECT TYPE: {language} / {framework}
|
|
88
|
+
MANIFEST: {manifest file contents}
|
|
89
|
+
SCOPE: {full | quick | component: {name}}
|
|
90
|
+
|
|
91
|
+
PREVIOUS BASELINE:
|
|
92
|
+
{Previous BASELINE.md content, or "First assessment"}
|
|
93
|
+
|
|
94
|
+
AVAILABLE TOOLS:
|
|
95
|
+
{List of detected static analysis, test, and benchmark tools}
|
|
96
|
+
|
|
97
|
+
ASSESS THE FOLLOWING DIMENSIONS:
|
|
98
|
+
|
|
99
|
+
## 1. CODE HEALTH
|
|
100
|
+
Run available static analysis and report:
|
|
101
|
+
- Lint errors/warnings count (by severity)
|
|
102
|
+
- Type errors count (if typed language)
|
|
103
|
+
- Code style violations
|
|
104
|
+
- Cyclomatic complexity (top 10 most complex functions)
|
|
105
|
+
- Dead code / unused imports
|
|
106
|
+
- Dependency health (outdated, vulnerable, deprecated)
|
|
107
|
+
- Tech debt indicators (TODO/FIXME/HACK counts)
|
|
108
|
+
|
|
109
|
+
Commands to try:
|
|
110
|
+
- {linter} (e.g., eslint, ruff, clippy, golint)
|
|
111
|
+
- {type checker} (e.g., tsc --noEmit, mypy, cargo check)
|
|
112
|
+
- Dependency audit (npm audit, pip-audit, cargo audit)
|
|
113
|
+
|
|
114
|
+
## 2. TEST HEALTH
|
|
115
|
+
Run test suite and report:
|
|
116
|
+
- Total tests count
|
|
117
|
+
- Pass/fail/skip breakdown
|
|
118
|
+
- Test coverage percentage (line, branch, function)
|
|
119
|
+
- Test runtime
|
|
120
|
+
- Flaky test detection (if multiple runs feasible)
|
|
121
|
+
- Test-to-code ratio
|
|
122
|
+
|
|
123
|
+
Commands to try:
|
|
124
|
+
- {test runner} with coverage flag
|
|
125
|
+
- Coverage report generation
|
|
126
|
+
|
|
127
|
+
## 3. BUILD HEALTH
|
|
128
|
+
- Build success/failure
|
|
129
|
+
- Build time
|
|
130
|
+
- Bundle size (if applicable)
|
|
131
|
+
- Artifact count and sizes
|
|
132
|
+
- Build warnings
|
|
133
|
+
|
|
134
|
+
## 4. ARCHITECTURE METRICS
|
|
135
|
+
- Total source files count
|
|
136
|
+
- Total lines of code (excluding tests, generated)
|
|
137
|
+
- Module/package count
|
|
138
|
+
- Dependency count (direct and transitive)
|
|
139
|
+
- Circular dependency detection
|
|
140
|
+
- API surface area (exported functions/classes)
|
|
141
|
+
|
|
142
|
+
## 5. PERFORMANCE METRICS (if applicable and scope=full)
|
|
143
|
+
- Startup time / cold start
|
|
144
|
+
- Key operation latency (if benchmarks exist)
|
|
145
|
+
- Memory usage baseline
|
|
146
|
+
- Resource utilization patterns
|
|
147
|
+
- Known performance bottlenecks
|
|
148
|
+
|
|
149
|
+
## 6. DOMAIN-SPECIFIC METRICS (if applicable)
|
|
150
|
+
- Model accuracy/quality metrics (if ML project)
|
|
151
|
+
- API response times (if web service)
|
|
152
|
+
- UI render performance (if frontend)
|
|
153
|
+
- Throughput measurements
|
|
154
|
+
- Custom benchmark results
|
|
155
|
+
|
|
156
|
+
OUTPUT FORMAT:
|
|
157
|
+
Return structured assessment with:
|
|
158
|
+
- Summary scorecard (dimension: score/grade)
|
|
159
|
+
- Detailed metrics per dimension (tables)
|
|
160
|
+
- Trend comparison vs previous baseline (if available)
|
|
161
|
+
- Top 5 improvement opportunities ranked by impact
|
|
162
|
+
- Risk areas requiring attention
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
**STEP_2_CHECKPOINT:**
|
|
166
|
+
- [ ] Baseline assessor agent launched
|
|
167
|
+
- [ ] All applicable dimensions assessed
|
|
168
|
+
- [ ] Quantitative metrics captured
|
|
169
|
+
- [ ] Comparison with previous baseline computed (if available)
|
|
170
|
+
|
|
171
|
+
---
|
|
172
|
+
|
|
173
|
+
## Step 3: DISPLAY BASELINE SCORECARD
|
|
174
|
+
|
|
175
|
+
```
|
|
176
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
177
|
+
║ BASELINE ASSESSMENT ║
|
|
178
|
+
╠══════════════════════════════════════════════════════════════╣
|
|
179
|
+
║ ║
|
|
180
|
+
║ Code Health: {score}/10 {trend_arrow} ║
|
|
181
|
+
║ Lint issues: {count} ({delta}) ║
|
|
182
|
+
║ Type errors: {count} ({delta}) ║
|
|
183
|
+
║ Tech debt: {count} TODOs/FIXMEs ║
|
|
184
|
+
║ ║
|
|
185
|
+
║ Test Health: {score}/10 {trend_arrow} ║
|
|
186
|
+
║ Tests: {pass}/{total} passing ║
|
|
187
|
+
║ Coverage: {pct}% ({delta}) ║
|
|
188
|
+
║ Runtime: {time} ║
|
|
189
|
+
║ ║
|
|
190
|
+
║ Build Health: {score}/10 {trend_arrow} ║
|
|
191
|
+
║ Status: {success/failure} ║
|
|
192
|
+
║ Time: {time} ║
|
|
193
|
+
║ Warnings: {count} ║
|
|
194
|
+
║ ║
|
|
195
|
+
║ Architecture: {score}/10 {trend_arrow} ║
|
|
196
|
+
║ Source files: {count} ║
|
|
197
|
+
║ LOC: {count} ║
|
|
198
|
+
║ Dependencies: {count} ║
|
|
199
|
+
║ ║
|
|
200
|
+
║ OVERALL: {score}/10 {trend_arrow} ║
|
|
201
|
+
║ ║
|
|
202
|
+
║ Top improvement opportunities: ║
|
|
203
|
+
║ 1. {opportunity_1} ║
|
|
204
|
+
║ 2. {opportunity_2} ║
|
|
205
|
+
║ 3. {opportunity_3} ║
|
|
206
|
+
║ ║
|
|
207
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
Trend arrows: up-arrow for improvement, down-arrow for regression, dash for stable.
|
|
211
|
+
|
|
212
|
+
---
|
|
213
|
+
|
|
214
|
+
## Step 4: WRITE BASELINE.md
|
|
215
|
+
|
|
216
|
+
1. **Write baseline assessment**:
|
|
217
|
+
- Path: `.planning/BASELINE.md`
|
|
218
|
+
- Include timestamp and scope
|
|
219
|
+
- Include YAML frontmatter:
|
|
220
|
+
```yaml
|
|
221
|
+
---
|
|
222
|
+
assessed: {YYYY-MM-DD}
|
|
223
|
+
scope: {full|quick|component}
|
|
224
|
+
overall_score: {N}/10
|
|
225
|
+
project_type: {language/framework}
|
|
226
|
+
---
|
|
227
|
+
```
|
|
228
|
+
- Include all dimension details with metric tables
|
|
229
|
+
- Include improvement opportunities
|
|
230
|
+
- Include risk areas
|
|
231
|
+
|
|
232
|
+
2. **Append to BENCHMARKS.md** (if exists):
|
|
233
|
+
- Add baseline data point for historical tracking
|
|
234
|
+
- Format: `| baseline | {date} | {metric} | {value} |`
|
|
235
|
+
|
|
236
|
+
3. **If previous baseline exists**:
|
|
237
|
+
- Include `## Change Log` section showing delta from previous
|
|
238
|
+
- Highlight regressions in bold
|
|
239
|
+
|
|
240
|
+
---
|
|
241
|
+
|
|
242
|
+
## Step 5: COMMIT
|
|
243
|
+
|
|
244
|
+
```bash
|
|
245
|
+
git add .planning/BASELINE.md
|
|
246
|
+
git add .planning/BENCHMARKS.md 2>/dev/null
|
|
247
|
+
git commit -m "baseline: assess {scope} — overall {score}/10"
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
---
|
|
251
|
+
|
|
252
|
+
## Step 6: ROUTE NEXT ACTION
|
|
253
|
+
|
|
254
|
+
| Condition | Suggestion |
|
|
255
|
+
|-----------|------------|
|
|
256
|
+
| First baseline, project starting | `/grd:product-plan` — plan with baseline context |
|
|
257
|
+
| Baseline established, research done | `/grd:eval-plan` — design evaluation with baseline refs |
|
|
258
|
+
| Regressions found vs previous | Address regressions before new work |
|
|
259
|
+
| Poor code health | Consider code health phase before research work |
|
|
260
|
+
| Ready for next phase | `/grd:plan-phase` with baseline awareness |
|
|
261
|
+
|
|
262
|
+
</process>
|
|
263
|
+
|
|
264
|
+
<output>
|
|
265
|
+
**FILES_WRITTEN:**
|
|
266
|
+
- `.planning/BASELINE.md` — comprehensive baseline assessment
|
|
267
|
+
- `.planning/BENCHMARKS.md` — updated with baseline data point (if exists)
|
|
268
|
+
|
|
269
|
+
**DISPLAY**: Baseline scorecard with per-dimension scores and improvement opportunities
|
|
270
|
+
|
|
271
|
+
**GIT**: Committed: `baseline: assess {scope} — overall {score}/10`
|
|
272
|
+
</output>
|
|
273
|
+
|
|
274
|
+
<error_handling>
|
|
275
|
+
- **No test suite found**: Report 0 coverage, 0 tests — note this as critical gap
|
|
276
|
+
- **Lint tool not installed**: Skip dimension, note as unavailable
|
|
277
|
+
- **Build fails**: Record failure as baseline data point, proceed with other dimensions
|
|
278
|
+
- **Previous BASELINE.md parse error**: Back up, create fresh baseline
|
|
279
|
+
- **Large project timeout**: Reduce scope to `quick`, note incomplete assessment
|
|
280
|
+
- **No manifest file**: Try to detect project type from file extensions, ask user if unclear
|
|
281
|
+
</error_handling>
|
|
282
|
+
|
|
283
|
+
<success_criteria>
|
|
284
|
+
- Quantitative metrics captured for all applicable dimensions
|
|
285
|
+
- Scores are reproducible (same assessment on same code yields same results)
|
|
286
|
+
- Baseline serves as reference for future eval-plan and eval-report
|
|
287
|
+
- Improvement opportunities are specific and actionable
|
|
288
|
+
- BASELINE.md is self-contained (explains methodology and measurements)
|
|
289
|
+
</success_criteria>
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Plan and execute multiple phases on autopilot with fresh context per step
|
|
3
|
+
argument-hint: "[--phase-from N] [--phase-to N] [--milestone] [--dry-run] [--skip-post-pipeline] [--max-milestones N]"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Run the autopilot command to plan and execute phases with dependency-aware parallel planning and execution:
|
|
7
|
+
|
|
8
|
+
```bash
|
|
9
|
+
node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js autopilot $ARGUMENTS
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
Phases are grouped into dependency waves. Independent phases within each wave are planned AND executed in parallel using git worktrees for filesystem isolation. Each phase gets its own worktree, and after execution, a post-phase pipeline runs: simplify -> create PR -> code review -> rebase & merge.
|
|
13
|
+
|
|
14
|
+
Auto-resume is always on: completed phases are skipped, partially-done phases resume from the correct step.
|
|
15
|
+
|
|
16
|
+
IMPORTANT: This command is long-running (spawns multiple Claude subprocesses). You MUST run it in the background using `run_in_background: true` on the Bash tool to avoid hitting the Bash tool's default timeout. Use `TaskOutput` with `block: false` to check progress periodically.
|
|
17
|
+
|
|
18
|
+
Report the JSON results including wave grouping. If any phase failed, explain what happened. Auto-resume will pick up from the failed phase on the next run.
|
|
19
|
+
|
|
20
|
+
### Autopilot Flags
|
|
21
|
+
|
|
22
|
+
| Flag | Description | Default |
|
|
23
|
+
|------|-------------|---------|
|
|
24
|
+
| `--phase-from N` | Start from phase N | -- (all phases) |
|
|
25
|
+
| `--phase-to N` | Stop at phase N | -- (all phases) |
|
|
26
|
+
| `--milestone` | Explicit milestone mode (runs wireup after all phases) | true when no phase range |
|
|
27
|
+
| `--dry-run` | Preview what would happen without executing | false |
|
|
28
|
+
| `--skip-plan` | Skip planning step | false |
|
|
29
|
+
| `--skip-execute` | Skip execution step | false |
|
|
30
|
+
| `--skip-post-pipeline` | Skip post-phase pipeline (simplify, PR, review, merge) | false |
|
|
31
|
+
| `--timeout N` | Per-subprocess timeout in minutes | 120 |
|
|
32
|
+
| `--max-turns N` | Max turns per claude -p subprocess | -- |
|
|
33
|
+
| `--model <model>` | Model override for claude -p | -- |
|
|
34
|
+
|
|
35
|
+
### Post-Phase Pipeline
|
|
36
|
+
|
|
37
|
+
After each phase execution completes, the following steps run on the phase's worktree branch:
|
|
38
|
+
|
|
39
|
+
1. **Simplify** — Code quality review and simplification
|
|
40
|
+
2. **Create PR** — Push branch and create pull request
|
|
41
|
+
3. **Code Review** — Review PR diff, fix BLOCKER/WARNING findings
|
|
42
|
+
4. **Rebase & Merge** — Rebase on main, auto-resolve conflicts, merge PR
|
|
43
|
+
|
|
44
|
+
Use `--skip-post-pipeline` to bypass this pipeline (useful for debugging or local-only runs).
|
|
45
|
+
|
|
46
|
+
### Milestone Mode
|
|
47
|
+
|
|
48
|
+
When no `--phase-from`/`--phase-to` is specified (or `--milestone` is passed), autopilot runs in milestone mode:
|
|
49
|
+
- Processes all phases in the current milestone
|
|
50
|
+
- After all phases complete and merge, runs a **wireup step** to discover unwired features
|
|
51
|
+
|
|
52
|
+
## Multi-Milestone Mode
|
|
53
|
+
|
|
54
|
+
To orchestrate work across milestone boundaries -- completing one milestone and automatically starting the next -- use the multi-milestone autopilot command:
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js multi-milestone-autopilot $ARGUMENTS
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
This extends single-milestone autopilot to process multiple milestones in sequence. The loop: completes all phases in the current milestone, archives the milestone, resolves the next milestone from LONG-TERM-ROADMAP.md, creates it, and continues.
|
|
61
|
+
|
|
62
|
+
### Multi-Milestone Flags
|
|
63
|
+
|
|
64
|
+
| Flag | Description | Default |
|
|
65
|
+
|------|-------------|---------|
|
|
66
|
+
| `--max-milestones N` | Maximum milestones to process (safety cap) | 10 |
|
|
67
|
+
| `--dry-run` | Preview what would happen without executing | false |
|
|
68
|
+
| `--timeout N` | Per-subprocess timeout in minutes | 120 |
|
|
69
|
+
| `--max-turns N` | Max turns per claude -p subprocess | -- |
|
|
70
|
+
| `--model <model>` | Model override for claude -p | -- |
|
|
71
|
+
| `--skip-plan` | Skip planning step | false |
|
|
72
|
+
| `--skip-execute` | Skip execution step | false |
|
|
73
|
+
| `--skip-post-pipeline` | Skip post-phase pipeline | false |
|
|
74
|
+
|
|
75
|
+
### Multi-Milestone Examples
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
# Run multi-milestone autopilot (processes up to 10 milestones)
|
|
79
|
+
node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js multi-milestone-autopilot
|
|
80
|
+
|
|
81
|
+
# Preview without executing
|
|
82
|
+
node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js multi-milestone-autopilot --dry-run
|
|
83
|
+
|
|
84
|
+
# Limit to 3 milestones
|
|
85
|
+
node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js multi-milestone-autopilot --max-milestones 3
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### Pre-flight Context
|
|
89
|
+
|
|
90
|
+
To get pre-flight context for multi-milestone autopilot (LT roadmap state, current milestone, next milestone):
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js init multi-milestone-autopilot
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### Requirements
|
|
97
|
+
|
|
98
|
+
- LONG-TERM-ROADMAP.md must exist in .planning/ for cross-milestone resolution
|
|
99
|
+
- Claude CLI must be available for subprocess spawning
|
|
100
|
+
- Autonomous mode recommended for unattended operation
|