@opengsd/gsd-core 1.2.0 → 1.3.0
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/README.ja-JP.md +46 -791
- package/README.ko-KR.md +44 -780
- package/README.md +42 -218
- package/README.pt-BR.md +47 -414
- package/README.zh-CN.md +46 -763
- package/agents/gsd-ai-researcher.md +2 -2
- package/agents/gsd-debug-session-manager.md +1 -1
- package/agents/gsd-debugger.md +8 -8
- package/agents/gsd-doc-writer.md +7 -6
- package/agents/gsd-domain-researcher.md +15 -2
- package/agents/gsd-eval-auditor.md +1 -1
- package/agents/gsd-eval-planner.md +2 -2
- package/agents/gsd-executor.md +21 -8
- package/agents/gsd-framework-selector.md +1 -1
- package/agents/gsd-intel-updater.md +4 -4
- package/agents/gsd-phase-researcher.md +19 -6
- package/agents/gsd-plan-checker.md +3 -3
- package/agents/gsd-planner.md +36 -23
- package/agents/gsd-project-researcher.md +13 -0
- package/agents/gsd-research-synthesizer.md +6 -2
- package/agents/gsd-roadmapper.md +6 -6
- package/agents/gsd-ui-researcher.md +16 -3
- package/agents/gsd-user-profiler.md +2 -2
- package/agents/gsd-verifier.md +8 -8
- package/assets/gsd-logo-2000-transparent.png +0 -0
- package/assets/gsd-logo-2000-transparent.svg +17 -0
- package/assets/gsd-logo-2000.png +0 -0
- package/assets/gsd-logo-2000.svg +21 -0
- package/assets/terminal.svg +68 -0
- package/bin/install.js +255 -103
- package/commands/gsd/add-tests.md +1 -1
- package/commands/gsd/ai-integration-phase.md +3 -3
- package/commands/gsd/audit-fix.md +1 -1
- package/commands/gsd/audit-milestone.md +1 -1
- package/commands/gsd/audit-uat.md +1 -1
- package/commands/gsd/autonomous.md +2 -2
- package/commands/gsd/capture.md +6 -6
- package/commands/gsd/cleanup.md +1 -1
- package/commands/gsd/code-review.md +1 -1
- package/commands/gsd/complete-milestone.md +2 -2
- package/commands/gsd/config.md +3 -3
- package/commands/gsd/debug.md +1 -1
- package/commands/gsd/discuss-phase.md +5 -4
- package/commands/gsd/docs-update.md +1 -1
- package/commands/gsd/eval-review.md +2 -2
- package/commands/gsd/execute-phase.md +2 -2
- package/commands/gsd/explore.md +1 -1
- package/commands/gsd/extract-learnings.md +2 -2
- package/commands/gsd/fast.md +1 -1
- package/commands/gsd/forensics.md +1 -1
- package/commands/gsd/graphify.md +9 -9
- package/commands/gsd/health.md +1 -1
- package/commands/gsd/help.md +2 -2
- package/commands/gsd/import.md +5 -5
- package/commands/gsd/inbox.md +1 -1
- package/commands/gsd/ingest-docs.md +4 -4
- package/commands/gsd/manager.md +3 -3
- package/commands/gsd/map-codebase.md +1 -1
- package/commands/gsd/milestone-summary.md +1 -1
- package/commands/gsd/mvp-phase.md +4 -4
- package/commands/gsd/new-milestone.md +5 -5
- package/commands/gsd/new-project.md +5 -5
- package/commands/gsd/pause-work.md +2 -2
- package/commands/gsd/phase.md +4 -4
- package/commands/gsd/plan-phase.md +2 -2
- package/commands/gsd/plan-review-convergence.md +4 -4
- package/commands/gsd/pr-branch.md +1 -1
- package/commands/gsd/profile-user.md +2 -2
- package/commands/gsd/progress.md +4 -4
- package/commands/gsd/quick.md +1 -1
- package/commands/gsd/resume-work.md +1 -1
- package/commands/gsd/review.md +3 -2
- package/commands/gsd/secure-phase.md +1 -1
- package/commands/gsd/settings.md +1 -1
- package/commands/gsd/ship.md +2 -2
- package/commands/gsd/sketch.md +7 -7
- package/commands/gsd/spec-phase.md +2 -2
- package/commands/gsd/spike.md +3 -3
- package/commands/gsd/stats.md +1 -1
- package/commands/gsd/surface.md +4 -4
- package/commands/gsd/thread.md +1 -1
- package/commands/gsd/ui-phase.md +2 -2
- package/commands/gsd/ui-review.md +2 -2
- package/commands/gsd/ultraplan-phase.md +2 -2
- package/commands/gsd/undo.md +3 -3
- package/commands/gsd/update.md +3 -3
- package/commands/gsd/validate-phase.md +1 -1
- package/commands/gsd/verify-work.md +2 -2
- package/commands/gsd/workspace.md +4 -4
- package/{get-shit-done → gsd-core}/bin/check-latest-version.cjs +1 -1
- package/{get-shit-done → gsd-core}/bin/gsd-tools.cjs +50 -4
- package/gsd-core/bin/lib/active-workstream-store.cjs +291 -0
- package/gsd-core/bin/lib/adr-parser.cjs +399 -0
- package/gsd-core/bin/lib/agent-command-router.cjs +68 -0
- package/gsd-core/bin/lib/artifacts.cjs +51 -0
- package/gsd-core/bin/lib/audit.cjs +743 -0
- package/gsd-core/bin/lib/check-command-router.cjs +342 -0
- package/gsd-core/bin/lib/cjs-command-router-adapter.cjs +81 -0
- package/gsd-core/bin/lib/clock.cjs +95 -0
- package/gsd-core/bin/lib/clusters.cjs +128 -0
- package/gsd-core/bin/lib/code-review-flags.cjs +59 -0
- package/gsd-core/bin/lib/command-aliases.cjs +809 -0
- package/gsd-core/bin/lib/command-arg-projection.cjs +55 -0
- package/gsd-core/bin/lib/command-routing-hub.cjs +300 -0
- package/gsd-core/bin/lib/commands.cjs +1202 -0
- package/gsd-core/bin/lib/config-schema.cjs +29 -0
- package/gsd-core/bin/lib/config-types.cjs +19 -0
- package/gsd-core/bin/lib/config.cjs +714 -0
- package/{get-shit-done → gsd-core}/bin/lib/configuration.cjs +76 -85
- package/gsd-core/bin/lib/context-utilization.cjs +48 -0
- package/gsd-core/bin/lib/core.cjs +2007 -0
- package/{get-shit-done → gsd-core}/bin/lib/decisions.cjs +9 -7
- package/gsd-core/bin/lib/docs.cjs +252 -0
- package/gsd-core/bin/lib/drift.cjs +364 -0
- package/gsd-core/bin/lib/fallow-runner.cjs +115 -0
- package/gsd-core/bin/lib/frontmatter.cjs +442 -0
- package/gsd-core/bin/lib/gap-checker.cjs +257 -0
- package/gsd-core/bin/lib/graphify.cjs +496 -0
- package/gsd-core/bin/lib/gsd2-import.cjs +456 -0
- package/gsd-core/bin/lib/init-command-router.cjs +62 -0
- package/gsd-core/bin/lib/init.cjs +1799 -0
- package/gsd-core/bin/lib/install-profiles.cjs +526 -0
- package/gsd-core/bin/lib/installer-migration-authoring.cjs +122 -0
- package/gsd-core/bin/lib/installer-migration-report.cjs +347 -0
- package/gsd-core/bin/lib/installer-migrations/000-first-time-baseline.cjs +218 -0
- package/gsd-core/bin/lib/installer-migrations/001-legacy-orphan-files.cjs +48 -0
- package/gsd-core/bin/lib/installer-migrations/002-codex-legacy-hooks-json.cjs +94 -0
- package/gsd-core/bin/lib/installer-migrations/003-rename-get-shit-done-to-gsd-core.cjs +108 -0
- package/gsd-core/bin/lib/installer-migrations.cjs +784 -0
- package/gsd-core/bin/lib/intel.cjs +607 -0
- package/gsd-core/bin/lib/learnings.cjs +270 -0
- package/gsd-core/bin/lib/legacy-cleanup.cjs +253 -0
- package/gsd-core/bin/lib/milestone.cjs +373 -0
- package/gsd-core/bin/lib/model-catalog.cjs +154 -0
- package/gsd-core/bin/lib/model-profiles.cjs +24 -0
- package/gsd-core/bin/lib/observability/event.cjs +51 -0
- package/gsd-core/bin/lib/observability/logger.cjs +146 -0
- package/{get-shit-done → gsd-core}/bin/lib/observability/redaction.cjs +19 -21
- package/{get-shit-done → gsd-core}/bin/lib/package-identity.cjs +5 -1
- package/gsd-core/bin/lib/phase-command-router.cjs +189 -0
- package/gsd-core/bin/lib/phase-lifecycle.cjs +74 -0
- package/gsd-core/bin/lib/phase.cjs +1307 -0
- package/gsd-core/bin/lib/phases-command-router.cjs +43 -0
- package/{get-shit-done → gsd-core}/bin/lib/plan-scan.cjs +18 -24
- package/gsd-core/bin/lib/planning-workspace.cjs +245 -0
- package/gsd-core/bin/lib/profile-output.cjs +1120 -0
- package/gsd-core/bin/lib/profile-pipeline.cjs +517 -0
- package/gsd-core/bin/lib/project-root.cjs +119 -0
- package/gsd-core/bin/lib/prompt-budget.cjs +305 -0
- package/gsd-core/bin/lib/review-reviewer-selection.cjs +121 -0
- package/gsd-core/bin/lib/roadmap-command-router.cjs +166 -0
- package/gsd-core/bin/lib/roadmap-upgrade.cjs +491 -0
- package/gsd-core/bin/lib/roadmap.cjs +600 -0
- package/gsd-core/bin/lib/runtime-artifact-layout.cjs +254 -0
- package/gsd-core/bin/lib/runtime-homes.cjs +169 -0
- package/gsd-core/bin/lib/runtime-name-policy.cjs +96 -0
- package/gsd-core/bin/lib/runtime-slash.cjs +119 -0
- package/{get-shit-done → gsd-core}/bin/lib/schema-detect.cjs +20 -26
- package/gsd-core/bin/lib/secrets.cjs +34 -0
- package/gsd-core/bin/lib/security.cjs +407 -0
- package/gsd-core/bin/lib/semver-compare.cjs +42 -0
- package/gsd-core/bin/lib/shell-command-projection.cjs +524 -0
- package/gsd-core/bin/lib/state-command-router.cjs +160 -0
- package/{get-shit-done → gsd-core}/bin/lib/state-document.cjs +78 -82
- package/gsd-core/bin/lib/state.cjs +2010 -0
- package/gsd-core/bin/lib/surface.cjs +406 -0
- package/gsd-core/bin/lib/task-command-router.cjs +85 -0
- package/gsd-core/bin/lib/template.cjs +237 -0
- package/gsd-core/bin/lib/uat.cjs +297 -0
- package/gsd-core/bin/lib/ui-safety-gate.cjs +98 -0
- package/gsd-core/bin/lib/update-context.cjs +218 -0
- package/gsd-core/bin/lib/validate-command-router.cjs +91 -0
- package/gsd-core/bin/lib/validate.cjs +112 -0
- package/gsd-core/bin/lib/verify-command-router.cjs +44 -0
- package/gsd-core/bin/lib/verify.cjs +1451 -0
- package/{get-shit-done → gsd-core}/bin/lib/workstream-inventory-builder.cjs +19 -12
- package/gsd-core/bin/lib/workstream-inventory.cjs +147 -0
- package/{get-shit-done → gsd-core}/bin/lib/workstream-name-policy.cjs +28 -31
- package/gsd-core/bin/lib/workstream.cjs +380 -0
- package/gsd-core/bin/lib/worktree-safety.cjs +912 -0
- package/{get-shit-done → gsd-core}/bin/shared/config-defaults.manifest.json +1 -0
- package/{get-shit-done → gsd-core}/bin/shared/config-schema.manifest.json +17 -1
- package/{get-shit-done → gsd-core}/bin/shared/model-catalog.json +27 -0
- package/{get-shit-done → gsd-core}/references/artifact-types.md +1 -1
- package/{get-shit-done → gsd-core}/references/checkpoints.md +1 -1
- package/{get-shit-done → gsd-core}/references/few-shot-examples/plan-checker.md +2 -2
- package/{get-shit-done → gsd-core}/references/few-shot-examples/verifier.md +12 -12
- package/{get-shit-done → gsd-core}/references/model-profile-resolution.md +1 -1
- package/{get-shit-done → gsd-core}/references/mvp-concepts.md +1 -1
- package/{get-shit-done → gsd-core}/references/planner-graphify-auto-update.md +2 -2
- package/{get-shit-done → gsd-core}/references/planner-human-verify-mode.md +1 -1
- package/{get-shit-done → gsd-core}/references/planner-mvp-mode.md +1 -1
- package/{get-shit-done → gsd-core}/references/ui-brand.md +4 -2
- package/{get-shit-done → gsd-core}/references/verification-patterns.md +1 -1
- package/gsd-core/references/worktree-branch-check.md +38 -0
- package/{get-shit-done → gsd-core}/references/worktree-path-safety.md +4 -26
- package/{get-shit-done → gsd-core}/templates/README.md +2 -2
- package/{get-shit-done → gsd-core}/templates/codebase/structure.md +10 -10
- package/{get-shit-done → gsd-core}/templates/copilot-instructions.md +1 -1
- package/{get-shit-done → gsd-core}/templates/phase-prompt.md +10 -10
- package/gsd-core/workflows/_runtime-launcher.snippet.sh +1 -0
- package/{get-shit-done → gsd-core}/workflows/add-backlog.md +1 -1
- package/{get-shit-done → gsd-core}/workflows/add-phase.md +1 -1
- package/{get-shit-done → gsd-core}/workflows/add-tests.md +1 -1
- package/{get-shit-done → gsd-core}/workflows/add-todo.md +1 -1
- package/{get-shit-done → gsd-core}/workflows/ai-integration-phase.md +4 -4
- package/{get-shit-done → gsd-core}/workflows/audit-fix.md +2 -2
- package/{get-shit-done → gsd-core}/workflows/audit-milestone.md +3 -1
- package/{get-shit-done → gsd-core}/workflows/audit-uat.md +1 -1
- package/{get-shit-done → gsd-core}/workflows/autonomous.md +10 -8
- package/{get-shit-done → gsd-core}/workflows/check-todos.md +1 -1
- package/{get-shit-done → gsd-core}/workflows/cleanup.md +44 -4
- package/{get-shit-done → gsd-core}/workflows/code-review-fix.md +4 -4
- package/{get-shit-done → gsd-core}/workflows/code-review.md +6 -4
- package/{get-shit-done → gsd-core}/workflows/complete-milestone.md +2 -2
- package/{get-shit-done → gsd-core}/workflows/debug.md +7 -2
- package/{get-shit-done → gsd-core}/workflows/diagnose-issues.md +6 -2
- package/{get-shit-done → gsd-core}/workflows/discovery-phase.md +5 -5
- package/{get-shit-done → gsd-core}/workflows/discuss-phase/modes/advisor.md +5 -5
- package/{get-shit-done → gsd-core}/workflows/discuss-phase/modes/auto.md +1 -1
- package/{get-shit-done → gsd-core}/workflows/discuss-phase/modes/chain.md +1 -1
- package/{get-shit-done → gsd-core}/workflows/discuss-phase/modes/power.md +1 -1
- package/{get-shit-done → gsd-core}/workflows/discuss-phase-assumptions.md +4 -4
- package/{get-shit-done → gsd-core}/workflows/discuss-phase.md +6 -6
- package/{get-shit-done → gsd-core}/workflows/do.md +1 -1
- package/{get-shit-done → gsd-core}/workflows/docs-update.md +19 -5
- package/{get-shit-done → gsd-core}/workflows/edit-phase.md +1 -1
- package/{get-shit-done → gsd-core}/workflows/eval-review.md +3 -3
- package/{get-shit-done → gsd-core}/workflows/execute-phase/steps/codebase-drift-gate.md +16 -3
- package/{get-shit-done → gsd-core}/workflows/execute-phase/steps/post-merge-gate.md +1 -1
- package/{get-shit-done → gsd-core}/workflows/execute-phase.md +89 -57
- package/{get-shit-done → gsd-core}/workflows/execute-plan.md +8 -8
- package/{get-shit-done → gsd-core}/workflows/explore.md +5 -3
- package/{get-shit-done → gsd-core}/workflows/extract-learnings.md +1 -1
- package/{get-shit-done → gsd-core}/workflows/forensics.md +1 -1
- package/{get-shit-done → gsd-core}/workflows/graduation.md +1 -1
- package/{get-shit-done → gsd-core}/workflows/health.md +1 -1
- package/{get-shit-done → gsd-core}/workflows/help/modes/default.md +3 -3
- package/{get-shit-done → gsd-core}/workflows/help/modes/full.md +6 -6
- package/{get-shit-done → gsd-core}/workflows/import.md +3 -1
- package/{get-shit-done → gsd-core}/workflows/ingest-docs.md +5 -5
- package/{get-shit-done → gsd-core}/workflows/insert-phase.md +1 -1
- package/{get-shit-done → gsd-core}/workflows/list-workspaces.md +1 -1
- package/{get-shit-done → gsd-core}/workflows/manager.md +3 -3
- package/{get-shit-done → gsd-core}/workflows/map-codebase.md +3 -1
- package/{get-shit-done → gsd-core}/workflows/milestone-summary.md +1 -1
- package/{get-shit-done → gsd-core}/workflows/mvp-phase.md +7 -7
- package/{get-shit-done → gsd-core}/workflows/new-milestone.md +5 -5
- package/{get-shit-done → gsd-core}/workflows/new-project.md +8 -8
- package/{get-shit-done → gsd-core}/workflows/new-workspace.md +1 -1
- package/{get-shit-done → gsd-core}/workflows/next.md +1 -1
- package/{get-shit-done → gsd-core}/workflows/pause-work.md +1 -1
- package/{get-shit-done → gsd-core}/workflows/plan-milestone-gaps.md +1 -1
- package/{get-shit-done → gsd-core}/workflows/plan-phase.md +29 -28
- package/{get-shit-done → gsd-core}/workflows/plan-review-convergence.md +10 -10
- package/{get-shit-done → gsd-core}/workflows/plant-seed.md +1 -1
- package/{get-shit-done → gsd-core}/workflows/profile-user.md +11 -11
- package/{get-shit-done → gsd-core}/workflows/progress.md +1 -1
- package/{get-shit-done → gsd-core}/workflows/quick.md +7 -29
- package/{get-shit-done → gsd-core}/workflows/reapply-patches.md +2 -2
- package/{get-shit-done → gsd-core}/workflows/remove-phase.md +1 -1
- package/{get-shit-done → gsd-core}/workflows/remove-workspace.md +1 -1
- package/{get-shit-done → gsd-core}/workflows/resume-project.md +2 -2
- package/{get-shit-done → gsd-core}/workflows/review.md +110 -2
- package/{get-shit-done → gsd-core}/workflows/scan.md +3 -1
- package/{get-shit-done → gsd-core}/workflows/secure-phase.md +5 -3
- package/{get-shit-done → gsd-core}/workflows/settings-advanced.md +196 -6
- package/{get-shit-done → gsd-core}/workflows/settings-integrations.md +2 -2
- package/{get-shit-done → gsd-core}/workflows/settings.md +16 -2
- package/{get-shit-done → gsd-core}/workflows/ship.md +56 -4
- package/{get-shit-done → gsd-core}/workflows/sketch-wrap-up.md +1 -1
- package/{get-shit-done → gsd-core}/workflows/sketch.md +5 -5
- package/{get-shit-done → gsd-core}/workflows/spec-phase.md +2 -2
- package/{get-shit-done → gsd-core}/workflows/spike-wrap-up.md +1 -1
- package/{get-shit-done → gsd-core}/workflows/spike.md +1 -1
- package/{get-shit-done → gsd-core}/workflows/stats.md +1 -1
- package/{get-shit-done → gsd-core}/workflows/sync-skills.md +3 -3
- package/{get-shit-done → gsd-core}/workflows/thread.md +1 -1
- package/{get-shit-done → gsd-core}/workflows/transition.md +2 -2
- package/{get-shit-done → gsd-core}/workflows/ui-phase.md +5 -5
- package/{get-shit-done → gsd-core}/workflows/ui-review.md +3 -3
- package/{get-shit-done → gsd-core}/workflows/ultraplan-phase.md +1 -1
- package/{get-shit-done → gsd-core}/workflows/undo.md +2 -2
- package/{get-shit-done → gsd-core}/workflows/update.md +41 -16
- package/{get-shit-done → gsd-core}/workflows/validate-phase.md +5 -3
- package/{get-shit-done → gsd-core}/workflows/verify-phase.md +4 -4
- package/{get-shit-done → gsd-core}/workflows/verify-work.md +7 -7
- package/hooks/dist/gsd-check-update-worker.js +16 -3
- package/hooks/dist/gsd-check-update.js +7 -5
- package/hooks/dist/gsd-context-monitor.js +2 -2
- package/hooks/dist/gsd-statusline.js +39 -21
- package/hooks/dist/gsd-update-banner.js +6 -2
- package/hooks/dist/gsd-worktree-path-guard.js +169 -0
- package/hooks/dist/managed-hooks-registry.cjs +35 -0
- package/hooks/gsd-check-update-worker.js +16 -3
- package/hooks/gsd-check-update.js +7 -5
- package/hooks/gsd-context-monitor.js +2 -2
- package/hooks/gsd-statusline.js +39 -21
- package/hooks/gsd-update-banner.js +6 -2
- package/hooks/gsd-worktree-path-guard.js +169 -0
- package/hooks/managed-hooks-registry.cjs +1 -0
- package/package.json +17 -11
- package/scripts/affected-tests-lib.cjs +1 -1
- package/scripts/base64-scan.sh +12 -0
- package/scripts/build-hooks.js +5 -1
- package/scripts/changeset/cli.cjs +2 -2
- package/scripts/changeset/github-release-notes.cjs +1 -1
- package/scripts/changeset/lint.cjs +1 -1
- package/scripts/check-alias-drift.cjs +8 -8
- package/scripts/check-env.cjs +5 -1
- package/scripts/ci-test-scope.cjs +34 -9
- package/scripts/command-contract-helpers.cjs +1 -1
- package/scripts/fix-slash-commands.cjs +5 -5
- package/scripts/gen-inventory-manifest.cjs +3 -3
- package/scripts/generate-package-identity.cjs +28 -7
- package/scripts/lib/allowlist-ratchet.cjs +136 -0
- package/scripts/lint-command-contract.cjs +1 -1
- package/scripts/lint-legacy-dir-name.cjs +156 -0
- package/scripts/lint-package-identity-drift.cjs +8 -8
- package/scripts/lint-pr-check-project-dir.cjs +0 -1
- package/scripts/lint-shell-command-projection-drift.cjs +1 -1
- package/scripts/lint-skill-deps.cjs +1 -1
- package/scripts/lint-test-file-count.allowlist.json +129 -32
- package/scripts/lint-test-file-count.cjs +85 -30
- package/scripts/mutation-matrix.cjs +219 -0
- package/scripts/prompt-injection-scan.sh +5 -1
- package/scripts/release-notes/format-github-release-notes.cjs +256 -0
- package/scripts/release-tarball-smoke.cjs +9 -9
- package/scripts/run-tests.cjs +34 -2
- package/scripts/strip-prose-atrefs.cjs +2 -2
- package/scripts/sync-runtime-launcher.cjs +2 -2
- package/scripts/verify-npm-publish.cjs +252 -0
- package/get-shit-done/bin/lib/active-workstream-store.cjs +0 -302
- package/get-shit-done/bin/lib/adr-parser.cjs +0 -394
- package/get-shit-done/bin/lib/agent-command-router.cjs +0 -65
- package/get-shit-done/bin/lib/artifacts.cjs +0 -53
- package/get-shit-done/bin/lib/audit.cjs +0 -755
- package/get-shit-done/bin/lib/check-command-router.cjs +0 -333
- package/get-shit-done/bin/lib/cjs-command-router-adapter.cjs +0 -118
- package/get-shit-done/bin/lib/clock.cjs +0 -96
- package/get-shit-done/bin/lib/clusters.cjs +0 -135
- package/get-shit-done/bin/lib/code-review-flags.cjs +0 -74
- package/get-shit-done/bin/lib/command-aliases.cjs +0 -815
- package/get-shit-done/bin/lib/command-arg-projection.cjs +0 -62
- package/get-shit-done/bin/lib/command-routing-hub.cjs +0 -388
- package/get-shit-done/bin/lib/commands.cjs +0 -1188
- package/get-shit-done/bin/lib/config-schema.cjs +0 -31
- package/get-shit-done/bin/lib/config.cjs +0 -728
- package/get-shit-done/bin/lib/context-utilization.cjs +0 -47
- package/get-shit-done/bin/lib/core.cjs +0 -2121
- package/get-shit-done/bin/lib/docs.cjs +0 -270
- package/get-shit-done/bin/lib/drift.cjs +0 -388
- package/get-shit-done/bin/lib/fallow-runner.cjs +0 -109
- package/get-shit-done/bin/lib/frontmatter.cjs +0 -389
- package/get-shit-done/bin/lib/gap-checker.cjs +0 -205
- package/get-shit-done/bin/lib/graphify.cjs +0 -592
- package/get-shit-done/bin/lib/gsd2-import.cjs +0 -514
- package/get-shit-done/bin/lib/init-command-router.cjs +0 -58
- package/get-shit-done/bin/lib/init.cjs +0 -2112
- package/get-shit-done/bin/lib/install-profiles.cjs +0 -603
- package/get-shit-done/bin/lib/installer-migration-authoring.cjs +0 -117
- package/get-shit-done/bin/lib/installer-migration-report.cjs +0 -354
- package/get-shit-done/bin/lib/installer-migrations/000-first-time-baseline.cjs +0 -220
- package/get-shit-done/bin/lib/installer-migrations/001-legacy-orphan-files.cjs +0 -41
- package/get-shit-done/bin/lib/installer-migrations/002-codex-legacy-hooks-json.cjs +0 -80
- package/get-shit-done/bin/lib/installer-migrations.cjs +0 -778
- package/get-shit-done/bin/lib/intel.cjs +0 -708
- package/get-shit-done/bin/lib/learnings.cjs +0 -421
- package/get-shit-done/bin/lib/milestone.cjs +0 -314
- package/get-shit-done/bin/lib/model-catalog.cjs +0 -212
- package/get-shit-done/bin/lib/model-profiles.cjs +0 -31
- package/get-shit-done/bin/lib/observability/event.cjs +0 -82
- package/get-shit-done/bin/lib/observability/logger.cjs +0 -174
- package/get-shit-done/bin/lib/phase-command-router.cjs +0 -191
- package/get-shit-done/bin/lib/phase-lifecycle.cjs +0 -80
- package/get-shit-done/bin/lib/phase.cjs +0 -1607
- package/get-shit-done/bin/lib/phases-command-router.cjs +0 -39
- package/get-shit-done/bin/lib/planning-workspace.cjs +0 -238
- package/get-shit-done/bin/lib/profile-output.cjs +0 -1141
- package/get-shit-done/bin/lib/profile-pipeline.cjs +0 -539
- package/get-shit-done/bin/lib/project-root.cjs +0 -112
- package/get-shit-done/bin/lib/prompt-budget.cjs +0 -399
- package/get-shit-done/bin/lib/review-reviewer-selection.cjs +0 -125
- package/get-shit-done/bin/lib/roadmap-command-router.cjs +0 -28
- package/get-shit-done/bin/lib/roadmap.cjs +0 -650
- package/get-shit-done/bin/lib/runtime-artifact-layout.cjs +0 -301
- package/get-shit-done/bin/lib/runtime-homes.cjs +0 -222
- package/get-shit-done/bin/lib/runtime-name-policy.cjs +0 -83
- package/get-shit-done/bin/lib/runtime-slash.cjs +0 -112
- package/get-shit-done/bin/lib/secrets.cjs +0 -32
- package/get-shit-done/bin/lib/security.cjs +0 -600
- package/get-shit-done/bin/lib/semver-compare.cjs +0 -35
- package/get-shit-done/bin/lib/shell-command-projection.cjs +0 -500
- package/get-shit-done/bin/lib/state-command-router.cjs +0 -252
- package/get-shit-done/bin/lib/state.cjs +0 -2038
- package/get-shit-done/bin/lib/surface.cjs +0 -470
- package/get-shit-done/bin/lib/task-command-router.cjs +0 -81
- package/get-shit-done/bin/lib/template.cjs +0 -228
- package/get-shit-done/bin/lib/uat.cjs +0 -289
- package/get-shit-done/bin/lib/update-context.cjs +0 -209
- package/get-shit-done/bin/lib/validate-command-router.cjs +0 -83
- package/get-shit-done/bin/lib/validate.cjs +0 -92
- package/get-shit-done/bin/lib/verify-command-router.cjs +0 -40
- package/get-shit-done/bin/lib/verify.cjs +0 -1511
- package/get-shit-done/bin/lib/workstream-inventory.cjs +0 -146
- package/get-shit-done/bin/lib/workstream.cjs +0 -389
- package/get-shit-done/bin/lib/worktree-safety.cjs +0 -985
- package/get-shit-done/workflows/_runtime-launcher.snippet.sh +0 -1
- package/scripts/lint-no-source-grep-extras.cjs +0 -81
- package/scripts/lint-no-source-grep.cjs +0 -174
- package/scripts/lint-shared-module-handsync.cjs +0 -388
- package/scripts/shared-module-handsync-allowlist.json +0 -183
- /package/{get-shit-done → gsd-core}/bin/shared/runtime-aliases.manifest.json +0 -0
- /package/{get-shit-done → gsd-core}/bin/verify-reapply-patches.cjs +0 -0
- /package/{get-shit-done → gsd-core}/contexts/dev.md +0 -0
- /package/{get-shit-done → gsd-core}/contexts/research.md +0 -0
- /package/{get-shit-done → gsd-core}/contexts/review.md +0 -0
- /package/{get-shit-done → gsd-core}/references/agent-contracts.md +0 -0
- /package/{get-shit-done → gsd-core}/references/ai-evals.md +0 -0
- /package/{get-shit-done → gsd-core}/references/ai-frameworks.md +0 -0
- /package/{get-shit-done → gsd-core}/references/autonomous-smart-discuss.md +0 -0
- /package/{get-shit-done → gsd-core}/references/common-bug-patterns.md +0 -0
- /package/{get-shit-done → gsd-core}/references/context-budget.md +0 -0
- /package/{get-shit-done → gsd-core}/references/continuation-format.md +0 -0
- /package/{get-shit-done → gsd-core}/references/debugger-philosophy.md +0 -0
- /package/{get-shit-done → gsd-core}/references/decimal-phase-calculation.md +0 -0
- /package/{get-shit-done → gsd-core}/references/doc-conflict-engine.md +0 -0
- /package/{get-shit-done → gsd-core}/references/domain-probes.md +0 -0
- /package/{get-shit-done → gsd-core}/references/execute-mvp-tdd.md +0 -0
- /package/{get-shit-done → gsd-core}/references/executor-examples.md +0 -0
- /package/{get-shit-done → gsd-core}/references/gate-prompts.md +0 -0
- /package/{get-shit-done → gsd-core}/references/gates.md +0 -0
- /package/{get-shit-done → gsd-core}/references/git-integration.md +0 -0
- /package/{get-shit-done → gsd-core}/references/git-planning-commit.md +0 -0
- /package/{get-shit-done → gsd-core}/references/ios-scaffold.md +0 -0
- /package/{get-shit-done → gsd-core}/references/mandatory-initial-read.md +0 -0
- /package/{get-shit-done → gsd-core}/references/model-profiles.md +0 -0
- /package/{get-shit-done → gsd-core}/references/phase-argument-parsing.md +0 -0
- /package/{get-shit-done → gsd-core}/references/planner-antipatterns.md +0 -0
- /package/{get-shit-done → gsd-core}/references/planner-chunked.md +0 -0
- /package/{get-shit-done → gsd-core}/references/planner-gap-closure.md +0 -0
- /package/{get-shit-done → gsd-core}/references/planner-interface-context.md +0 -0
- /package/{get-shit-done → gsd-core}/references/planner-reviews.md +0 -0
- /package/{get-shit-done → gsd-core}/references/planner-revision.md +0 -0
- /package/{get-shit-done → gsd-core}/references/planner-source-audit.md +0 -0
- /package/{get-shit-done → gsd-core}/references/planning-config.md +0 -0
- /package/{get-shit-done → gsd-core}/references/project-skills-discovery.md +0 -0
- /package/{get-shit-done → gsd-core}/references/questioning.md +0 -0
- /package/{get-shit-done → gsd-core}/references/revision-loop.md +0 -0
- /package/{get-shit-done → gsd-core}/references/scout-codebase.md +0 -0
- /package/{get-shit-done → gsd-core}/references/skeleton-template.md +0 -0
- /package/{get-shit-done → gsd-core}/references/sketch-interactivity.md +0 -0
- /package/{get-shit-done → gsd-core}/references/sketch-theme-system.md +0 -0
- /package/{get-shit-done → gsd-core}/references/sketch-tooling.md +0 -0
- /package/{get-shit-done → gsd-core}/references/sketch-variant-patterns.md +0 -0
- /package/{get-shit-done → gsd-core}/references/spidr-splitting.md +0 -0
- /package/{get-shit-done → gsd-core}/references/tdd.md +0 -0
- /package/{get-shit-done → gsd-core}/references/thinking-models-debug.md +0 -0
- /package/{get-shit-done → gsd-core}/references/thinking-models-execution.md +0 -0
- /package/{get-shit-done → gsd-core}/references/thinking-models-planning.md +0 -0
- /package/{get-shit-done → gsd-core}/references/thinking-models-research.md +0 -0
- /package/{get-shit-done → gsd-core}/references/thinking-models-verification.md +0 -0
- /package/{get-shit-done → gsd-core}/references/thinking-partner.md +0 -0
- /package/{get-shit-done → gsd-core}/references/universal-anti-patterns.md +0 -0
- /package/{get-shit-done → gsd-core}/references/user-profiling.md +0 -0
- /package/{get-shit-done → gsd-core}/references/user-story-template.md +0 -0
- /package/{get-shit-done → gsd-core}/references/verification-overrides.md +0 -0
- /package/{get-shit-done → gsd-core}/references/verify-mvp-mode.md +0 -0
- /package/{get-shit-done → gsd-core}/references/workstream-flag.md +0 -0
- /package/{get-shit-done → gsd-core}/templates/AI-SPEC.md +0 -0
- /package/{get-shit-done → gsd-core}/templates/DEBUG.md +0 -0
- /package/{get-shit-done → gsd-core}/templates/SECURITY.md +0 -0
- /package/{get-shit-done → gsd-core}/templates/UAT.md +0 -0
- /package/{get-shit-done → gsd-core}/templates/UI-SPEC.md +0 -0
- /package/{get-shit-done → gsd-core}/templates/VALIDATION.md +0 -0
- /package/{get-shit-done → gsd-core}/templates/claude-md.md +0 -0
- /package/{get-shit-done → gsd-core}/templates/codebase/architecture.md +0 -0
- /package/{get-shit-done → gsd-core}/templates/codebase/concerns.md +0 -0
- /package/{get-shit-done → gsd-core}/templates/codebase/conventions.md +0 -0
- /package/{get-shit-done → gsd-core}/templates/codebase/integrations.md +0 -0
- /package/{get-shit-done → gsd-core}/templates/codebase/stack.md +0 -0
- /package/{get-shit-done → gsd-core}/templates/codebase/testing.md +0 -0
- /package/{get-shit-done → gsd-core}/templates/config.json +0 -0
- /package/{get-shit-done → gsd-core}/templates/context.md +0 -0
- /package/{get-shit-done → gsd-core}/templates/continue-here.md +0 -0
- /package/{get-shit-done → gsd-core}/templates/debug-subagent-prompt.md +0 -0
- /package/{get-shit-done → gsd-core}/templates/dev-preferences.md +0 -0
- /package/{get-shit-done → gsd-core}/templates/discovery.md +0 -0
- /package/{get-shit-done → gsd-core}/templates/discussion-log.md +0 -0
- /package/{get-shit-done → gsd-core}/templates/milestone-archive.md +0 -0
- /package/{get-shit-done → gsd-core}/templates/milestone.md +0 -0
- /package/{get-shit-done → gsd-core}/templates/planner-subagent-prompt.md +0 -0
- /package/{get-shit-done → gsd-core}/templates/project.md +0 -0
- /package/{get-shit-done → gsd-core}/templates/requirements.md +0 -0
- /package/{get-shit-done → gsd-core}/templates/research-project/ARCHITECTURE.md +0 -0
- /package/{get-shit-done → gsd-core}/templates/research-project/FEATURES.md +0 -0
- /package/{get-shit-done → gsd-core}/templates/research-project/PITFALLS.md +0 -0
- /package/{get-shit-done → gsd-core}/templates/research-project/STACK.md +0 -0
- /package/{get-shit-done → gsd-core}/templates/research-project/SUMMARY.md +0 -0
- /package/{get-shit-done → gsd-core}/templates/research.md +0 -0
- /package/{get-shit-done → gsd-core}/templates/retrospective.md +0 -0
- /package/{get-shit-done → gsd-core}/templates/roadmap.md +0 -0
- /package/{get-shit-done → gsd-core}/templates/spec.md +0 -0
- /package/{get-shit-done → gsd-core}/templates/state.md +0 -0
- /package/{get-shit-done → gsd-core}/templates/summary-complex.md +0 -0
- /package/{get-shit-done → gsd-core}/templates/summary-minimal.md +0 -0
- /package/{get-shit-done → gsd-core}/templates/summary-standard.md +0 -0
- /package/{get-shit-done → gsd-core}/templates/summary.md +0 -0
- /package/{get-shit-done → gsd-core}/templates/user-profile.md +0 -0
- /package/{get-shit-done → gsd-core}/templates/user-setup.md +0 -0
- /package/{get-shit-done → gsd-core}/templates/verification-report.md +0 -0
- /package/{get-shit-done → gsd-core}/workflows/analyze-dependencies.md +0 -0
- /package/{get-shit-done → gsd-core}/workflows/discuss-phase/modes/all.md +0 -0
- /package/{get-shit-done → gsd-core}/workflows/discuss-phase/modes/analyze.md +0 -0
- /package/{get-shit-done → gsd-core}/workflows/discuss-phase/modes/batch.md +0 -0
- /package/{get-shit-done → gsd-core}/workflows/discuss-phase/modes/default.md +0 -0
- /package/{get-shit-done → gsd-core}/workflows/discuss-phase/modes/text.md +0 -0
- /package/{get-shit-done → gsd-core}/workflows/discuss-phase/templates/checkpoint.json +0 -0
- /package/{get-shit-done → gsd-core}/workflows/discuss-phase/templates/context.md +0 -0
- /package/{get-shit-done → gsd-core}/workflows/discuss-phase/templates/discussion-log.md +0 -0
- /package/{get-shit-done → gsd-core}/workflows/discuss-phase-power.md +0 -0
- /package/{get-shit-done → gsd-core}/workflows/execute-phase/steps/per-plan-worktree-gate.md +0 -0
- /package/{get-shit-done → gsd-core}/workflows/fast.md +0 -0
- /package/{get-shit-done → gsd-core}/workflows/help/modes/brief.md +0 -0
- /package/{get-shit-done → gsd-core}/workflows/help/modes/topic.md +0 -0
- /package/{get-shit-done → gsd-core}/workflows/help.md +0 -0
- /package/{get-shit-done → gsd-core}/workflows/inbox.md +0 -0
- /package/{get-shit-done → gsd-core}/workflows/list-phase-assumptions.md +0 -0
- /package/{get-shit-done → gsd-core}/workflows/node-repair.md +0 -0
- /package/{get-shit-done → gsd-core}/workflows/note.md +0 -0
- /package/{get-shit-done → gsd-core}/workflows/pr-branch.md +0 -0
- /package/{get-shit-done → gsd-core}/workflows/session-report.md +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gsd-ai-researcher
|
|
3
3
|
description: Researches a chosen AI framework's official docs to produce implementation-ready guidance — best practices, syntax, core patterns, and pitfalls distilled for the specific use case. Writes the Framework Quick Reference and Implementation Guidance sections of AI-SPEC.md. Spawned by /gsd:ai-integration-phase orchestrator.
|
|
4
|
-
tools: Read, Write, Bash, Grep, Glob, WebFetch, WebSearch, mcp__context7__*
|
|
4
|
+
tools: Read, Write, Edit, Bash, Grep, Glob, WebFetch, WebSearch, mcp__context7__*
|
|
5
5
|
color: "#34D399"
|
|
6
6
|
# hooks:
|
|
7
7
|
# PostToolUse:
|
|
@@ -40,7 +40,7 @@ works via Bash and produces equivalent output.
|
|
|
40
40
|
</documentation_lookup>
|
|
41
41
|
|
|
42
42
|
<required_reading>
|
|
43
|
-
Read `~/.claude/
|
|
43
|
+
Read `~/.claude/gsd-core/references/ai-frameworks.md` for framework profiles and known pitfalls before fetching docs.
|
|
44
44
|
</required_reading>
|
|
45
45
|
|
|
46
46
|
<input>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gsd-debug-session-manager
|
|
3
3
|
description: Manages multi-cycle /gsd:debug checkpoint and continuation loop in isolated context. Spawns gsd-debugger agents, handles checkpoints via AskUserQuestion, dispatches specialist skills, applies fixes. Returns compact summary to main context. Spawned by /gsd:debug command.
|
|
4
|
-
tools: Read, Write, Bash, Grep, Glob, Agent, AskUserQuestion
|
|
4
|
+
tools: Read, Write, Edit, Bash, Grep, Glob, Agent, AskUserQuestion
|
|
5
5
|
color: orange
|
|
6
6
|
# hooks:
|
|
7
7
|
# PostToolUse:
|
package/agents/gsd-debugger.md
CHANGED
|
@@ -21,7 +21,7 @@ You are spawned by:
|
|
|
21
21
|
|
|
22
22
|
Your job: Find the root cause through hypothesis testing, maintain debug file state, optionally fix and verify (depending on mode).
|
|
23
23
|
|
|
24
|
-
@~/.claude/
|
|
24
|
+
@~/.claude/gsd-core/references/mandatory-initial-read.md
|
|
25
25
|
|
|
26
26
|
**Core responsibilities:**
|
|
27
27
|
- Investigate autonomously (user reports symptoms, you find cause)
|
|
@@ -33,16 +33,16 @@ Your job: Find the root cause through hypothesis testing, maintain debug file st
|
|
|
33
33
|
</role>
|
|
34
34
|
|
|
35
35
|
<required_reading>
|
|
36
|
-
@~/.claude/
|
|
36
|
+
@~/.claude/gsd-core/references/common-bug-patterns.md
|
|
37
37
|
</required_reading>
|
|
38
38
|
|
|
39
|
-
**Project skills:** @~/.claude/
|
|
39
|
+
**Project skills:** @~/.claude/gsd-core/references/project-skills-discovery.md
|
|
40
40
|
- Load `rules/*.md` as needed during **investigation and fix**.
|
|
41
41
|
- Follow skill rules relevant to the bug being investigated and the fix being applied.
|
|
42
42
|
|
|
43
43
|
<philosophy>
|
|
44
44
|
|
|
45
|
-
@~/.claude/
|
|
45
|
+
@~/.claude/gsd-core/references/debugger-philosophy.md
|
|
46
46
|
|
|
47
47
|
</philosophy>
|
|
48
48
|
|
|
@@ -433,8 +433,8 @@ Check code says: hooksDir = path.join(configDir, 'hooks')
|
|
|
433
433
|
→ checks ~/.claude/hooks/
|
|
434
434
|
|
|
435
435
|
Installer says: hooksDest = path.join(targetDir, 'hooks')
|
|
436
|
-
targetDir = ~/.claude/
|
|
437
|
-
→ writes to ~/.claude/
|
|
436
|
+
targetDir = ~/.claude/gsd-core
|
|
437
|
+
→ writes to ~/.claude/gsd-core/hooks/
|
|
438
438
|
|
|
439
439
|
MISMATCH: Checker looks in wrong directory → hooks "not found" → reported as stale
|
|
440
440
|
```
|
|
@@ -959,7 +959,7 @@ Gather symptoms through questioning. Update file after EACH answer.
|
|
|
959
959
|
|
|
960
960
|
<step name="investigation_loop">
|
|
961
961
|
At investigation decision points, apply structured reasoning:
|
|
962
|
-
@~/.claude/
|
|
962
|
+
@~/.claude/gsd-core/references/thinking-models-debug.md
|
|
963
963
|
|
|
964
964
|
**Autonomous investigation. Update file continuously.**
|
|
965
965
|
|
|
@@ -982,7 +982,7 @@ At investigation decision points, apply structured reasoning:
|
|
|
982
982
|
- APPEND to Evidence after each finding
|
|
983
983
|
|
|
984
984
|
**Phase 1.5: Check common bug patterns**
|
|
985
|
-
- Read @~/.claude/
|
|
985
|
+
- Read @~/.claude/gsd-core/references/common-bug-patterns.md
|
|
986
986
|
- Match symptoms to pattern categories using the Symptom-to-Category Quick Map
|
|
987
987
|
- Any matching patterns become hypothesis candidates for Phase 2
|
|
988
988
|
- If no patterns match, proceed to open-ended hypothesis formation
|
package/agents/gsd-doc-writer.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gsd-doc-writer
|
|
3
3
|
description: Writes and updates project documentation. Spawned with a doc_assignment block specifying doc type, mode (create/update/supplement), and project context.
|
|
4
|
-
tools: Read, Bash, Grep, Glob, Write
|
|
4
|
+
tools: Read, Bash, Grep, Glob, Write, Edit
|
|
5
5
|
color: purple
|
|
6
6
|
# hooks:
|
|
7
7
|
# PostToolUse:
|
|
@@ -93,12 +93,12 @@ Correct specific failing claims identified by the gsd-doc-verifier. ONLY modify
|
|
|
93
93
|
1. Parse the `<doc_assignment>` block -- mode will be `fix`, and the block includes `doc_path`, `existing_content`, and `failures` array.
|
|
94
94
|
2. Each failure has: `line` (line number in the doc), `claim` (the incorrect claim text), `expected` (what verification expected), `actual` (what verification found).
|
|
95
95
|
3. For each failure:
|
|
96
|
-
a. Locate the
|
|
96
|
+
a. Locate the exact text of the incorrect claim in `existing_content`.
|
|
97
97
|
b. Explore the codebase using Read, Grep, Glob to find the correct value.
|
|
98
|
-
c.
|
|
99
|
-
d. If the correct value cannot be determined, replace the claim with a `<!-- VERIFY: {claim} -->` marker.
|
|
100
|
-
4. Write the
|
|
101
|
-
5.
|
|
98
|
+
c. Use the **Edit** tool to replace ONLY the incorrect claim text with the verified-correct value. Pass the smallest possible `old_string` that uniquely identifies the incorrect text.
|
|
99
|
+
d. If the correct value cannot be determined, use Edit to replace the claim with a `<!-- VERIFY: {claim} -->` marker.
|
|
100
|
+
4. **NEVER use the Write tool on an existing file in fix mode.** Write replaces the entire file with whatever you provide — any content not in your context window is permanently destroyed. There is no recovery if the file is untracked. Edit makes targeted replacements and is the only safe tool for fix mode.
|
|
101
|
+
5. After all Edit calls, verify the GSD marker `<!-- generated-by: gsd-doc-writer -->` is still present on the first line. If it was removed by an Edit, use Edit to restore it.
|
|
102
102
|
|
|
103
103
|
Fix mode must correct ONLY the lines listed in the failures array. Do not modify, reorder, rephrase, or "improve" any other content in the file. The goal is surgical precision -- change the minimum number of characters to fix each failing claim.
|
|
104
104
|
</fix_mode>
|
|
@@ -597,6 +597,7 @@ change — only location and metadata change.
|
|
|
597
597
|
3. Include the GSD marker `<!-- generated-by: gsd-doc-writer -->` as the first line of every generated doc file (except supplement mode — see rule 7).
|
|
598
598
|
4. Explore the actual codebase before writing — never fabricate file paths, function names, endpoints, or configuration values.
|
|
599
599
|
8. Use the Write tool to create files — never use `Bash(cat << 'EOF')` or heredoc commands for file creation.
|
|
600
|
+
9. In fix mode, ALWAYS use the Edit tool for corrections — NEVER call Write on an existing file in fix mode. Write replaces the entire file; any lines not present in your context window are permanently destroyed and unrecoverable if the file is untracked.
|
|
600
601
|
5. Use `<!-- VERIFY: {claim} -->` markers for any infrastructure claim (URLs, server configs, external service details) that cannot be verified from the repository contents alone.
|
|
601
602
|
6. In update mode, PRESERVE user-authored content in sections that are still accurate. Only rewrite inaccurate or missing sections.
|
|
602
603
|
7. In supplement mode, NEVER modify existing content. Only append missing sections. Do NOT add the GSD marker to hand-written files.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gsd-domain-researcher
|
|
3
3
|
description: Researches the business domain and real-world application context of the AI system being built. Surfaces domain expert evaluation criteria, industry-specific failure modes, regulatory context, and what "good" looks like for practitioners in this field — before the eval-planner turns it into measurable rubrics. Spawned by /gsd:ai-integration-phase orchestrator.
|
|
4
|
-
tools: Read, Write, Bash, Grep, Glob, WebSearch, WebFetch, mcp__context7__*
|
|
4
|
+
tools: Read, Write, Edit, Bash, Grep, Glob, WebSearch, WebFetch, mcp__context7__*
|
|
5
5
|
color: "#A78BFA"
|
|
6
6
|
# hooks:
|
|
7
7
|
# PostToolUse:
|
|
@@ -40,7 +40,7 @@ works via Bash and produces equivalent output.
|
|
|
40
40
|
</documentation_lookup>
|
|
41
41
|
|
|
42
42
|
<required_reading>
|
|
43
|
-
Read `~/.claude/
|
|
43
|
+
Read `~/.claude/gsd-core/references/ai-evals.md` — specifically the rubric design and domain expert sections.
|
|
44
44
|
</required_reading>
|
|
45
45
|
|
|
46
46
|
<input>
|
|
@@ -98,6 +98,19 @@ If internal tooling with no regulated domain, "domain expert" = product owner or
|
|
|
98
98
|
<step name="write_section_1b">
|
|
99
99
|
**ALWAYS use the Write tool to create files** — never use `Bash(cat << 'EOF')` or heredoc commands for file creation.
|
|
100
100
|
|
|
101
|
+
**Write contract (hard rules — must follow):**
|
|
102
|
+
|
|
103
|
+
Section 1b of AI-SPEC.md is the output of this step. The orchestrator reads `AI-SPEC.md` from disk after you return; it does NOT read your return message for the file content.
|
|
104
|
+
|
|
105
|
+
1. **Default: write the section in a single `Write` call.** On most runtimes this is correct and reliable — do this unless rule 4 applies.
|
|
106
|
+
2. **Do NOT return the AI-SPEC.md content in your response.** Your return message is a brief confirmation; the content lives on disk.
|
|
107
|
+
3. **Do NOT use `Bash(cat << 'EOF')` or heredoc** for file creation. Use the `Write` tool.
|
|
108
|
+
4. **Large-file / truncation fallback.** Some runtimes (e.g. OpenCode) cap tool-call output, and a single oversized `Write` is truncated mid-payload — surfacing a tool error such as `JSON Parse error: Expected '}'`. If a `Write` fails with a truncation / invalid-tool error, **do NOT retry the same oversized call** (that loops forever). Instead build the file incrementally so no single tool call carries the whole payload:
|
|
109
|
+
- `Write` the file with only the first section, ending with the sentinel line `<!-- gsd:write-continue -->`.
|
|
110
|
+
- `Read` the file, then `Edit` it, replacing `<!-- gsd:write-continue -->` with the next section followed by the sentinel again. Repeat, one section per `Edit`.
|
|
111
|
+
- On the final section, replace the sentinel with the closing content and no trailing sentinel.
|
|
112
|
+
5. **If writing still fails, surface the actual error in your return message.** **Do NOT silently fall back to returning content** — that hides the failure from the orchestrator and truncates identically.
|
|
113
|
+
|
|
101
114
|
Update AI-SPEC.md at `ai_spec_path`. Add/update Section 1b:
|
|
102
115
|
|
|
103
116
|
```markdown
|
|
@@ -33,7 +33,7 @@ Every planned eval dimension must resolve to COVERED, PARTIAL (WARNING), or MISS
|
|
|
33
33
|
</adversarial_stance>
|
|
34
34
|
|
|
35
35
|
<required_reading>
|
|
36
|
-
Read `~/.claude/
|
|
36
|
+
Read `~/.claude/gsd-core/references/ai-evals.md` before auditing. This is your scoring framework.
|
|
37
37
|
</required_reading>
|
|
38
38
|
|
|
39
39
|
**Context budget:** Load project skills first (lightweight). Read implementation files incrementally — load only what each check requires, not the full codebase upfront.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gsd-eval-planner
|
|
3
3
|
description: Designs a structured evaluation strategy for an AI phase. Identifies critical failure modes, selects eval dimensions with rubrics, recommends tooling, and specifies the reference dataset. Writes the Evaluation Strategy, Guardrails, and Production Monitoring sections of AI-SPEC.md. Spawned by /gsd:ai-integration-phase orchestrator.
|
|
4
|
-
tools: Read, Write, Bash, Grep, Glob, AskUserQuestion
|
|
4
|
+
tools: Read, Write, Edit, Bash, Grep, Glob, AskUserQuestion
|
|
5
5
|
color: "#F59E0B"
|
|
6
6
|
# hooks:
|
|
7
7
|
# PostToolUse:
|
|
@@ -17,7 +17,7 @@ Turn domain rubric ingredients into measurable, tooled evaluation criteria. Writ
|
|
|
17
17
|
</role>
|
|
18
18
|
|
|
19
19
|
<required_reading>
|
|
20
|
-
Read `~/.claude/
|
|
20
|
+
Read `~/.claude/gsd-core/references/ai-evals.md` before planning. This is your evaluation framework.
|
|
21
21
|
</required_reading>
|
|
22
22
|
|
|
23
23
|
<input>
|
package/agents/gsd-executor.md
CHANGED
|
@@ -18,7 +18,7 @@ Spawned by `/gsd:execute-phase` orchestrator.
|
|
|
18
18
|
|
|
19
19
|
Your job: Execute the plan completely, commit each task, create SUMMARY.md, update STATE.md.
|
|
20
20
|
|
|
21
|
-
@~/.claude/
|
|
21
|
+
@~/.claude/gsd-core/references/mandatory-initial-read.md
|
|
22
22
|
</role>
|
|
23
23
|
|
|
24
24
|
<documentation_lookup>
|
|
@@ -60,7 +60,7 @@ Before executing, discover project context:
|
|
|
60
60
|
|
|
61
61
|
**Project instructions:** Read `./CLAUDE.md` if it exists in the working directory. Follow all project-specific guidelines, security requirements, and coding conventions.
|
|
62
62
|
|
|
63
|
-
**Project skills:** @~/.claude/
|
|
63
|
+
**Project skills:** @~/.claude/gsd-core/references/project-skills-discovery.md
|
|
64
64
|
- Load `rules/*.md` as needed during **implementation**.
|
|
65
65
|
- Follow skill rules relevant to the task you are about to commit.
|
|
66
66
|
|
|
@@ -116,10 +116,10 @@ grep -n "type=\"checkpoint" [plan-path]
|
|
|
116
116
|
|
|
117
117
|
<step name="execute_tasks">
|
|
118
118
|
At execution decision points, apply structured reasoning:
|
|
119
|
-
@~/.claude/
|
|
119
|
+
@~/.claude/gsd-core/references/thinking-models-execution.md
|
|
120
120
|
|
|
121
121
|
**iOS app scaffolding:** If this plan creates an iOS app target, follow ios-scaffold guidance:
|
|
122
|
-
@~/.claude/
|
|
122
|
+
@~/.claude/gsd-core/references/ios-scaffold.md
|
|
123
123
|
|
|
124
124
|
For each task:
|
|
125
125
|
|
|
@@ -239,7 +239,7 @@ Track auto-fix attempts per task. After 3 auto-fix attempts on a single task:
|
|
|
239
239
|
|
|
240
240
|
**Extended examples and edge case guide:**
|
|
241
241
|
For detailed deviation rule examples, checkpoint examples, and edge case decision guidance:
|
|
242
|
-
@~/.claude/
|
|
242
|
+
@~/.claude/gsd-core/references/executor-examples.md
|
|
243
243
|
</deviation_rules>
|
|
244
244
|
|
|
245
245
|
<analysis_paralysis_guard>
|
|
@@ -285,7 +285,7 @@ Auto mode is active if either `AUTO_CHAIN` or `AUTO_CFG` is `"true"`. Store the
|
|
|
285
285
|
Before any `checkpoint:human-verify`, ensure verification environment is ready. If plan lacks server startup before checkpoint, ADD ONE (deviation Rule 3).
|
|
286
286
|
|
|
287
287
|
For full automation-first patterns, server lifecycle, CLI handling:
|
|
288
|
-
**See @~/.claude/
|
|
288
|
+
**See @~/.claude/gsd-core/references/checkpoints.md**
|
|
289
289
|
|
|
290
290
|
**Quick reference:** Users NEVER run CLI commands. Users ONLY visit URLs, click UI, evaluate visuals, provide secrets. Claude does all automation.
|
|
291
291
|
|
|
@@ -385,7 +385,7 @@ If RED or GREEN gate commits are missing, add a warning to SUMMARY.md under a `#
|
|
|
385
385
|
|
|
386
386
|
## MVP+TDD Gate
|
|
387
387
|
|
|
388
|
-
**When the orchestrator passes both `MVP_MODE=true` and `TDD_MODE=true`:** Before running the implementation step of any task with `tdd="true"`, run the runtime gate from `@~/.claude/
|
|
388
|
+
**When the orchestrator passes both `MVP_MODE=true` and `TDD_MODE=true`:** Before running the implementation step of any task with `tdd="true"`, run the runtime gate from `@~/.claude/gsd-core/references/execute-mvp-tdd.md`. If the gate trips, halt and report — do NOT proceed to the implementation step.
|
|
389
389
|
|
|
390
390
|
**Halt-and-report protocol:**
|
|
391
391
|
|
|
@@ -589,7 +589,20 @@ After all tasks complete, create `{phase}-{plan}-SUMMARY.md` at `.planning/phase
|
|
|
589
589
|
|
|
590
590
|
Use the Write tool to create files — never use `Bash(cat << 'EOF')` or heredoc commands for file creation.
|
|
591
591
|
|
|
592
|
-
**
|
|
592
|
+
**Write contract (hard rules — must follow):**
|
|
593
|
+
|
|
594
|
+
This file is the canonical output of this step. The orchestrator reads `.planning/phases/XX-name/{phase}-{plan}-SUMMARY.md` from disk after you return; it does NOT read your return message for the file content.
|
|
595
|
+
|
|
596
|
+
1. **Default: write the whole file in a single `Write` call.** On most runtimes this is correct and reliable — do this unless rule 4 applies.
|
|
597
|
+
2. **Do NOT return the SUMMARY.md content in your response.** Your return message is a brief confirmation; the content lives on disk.
|
|
598
|
+
3. **Do NOT use `Bash(cat << 'EOF')` or heredoc** for file creation. Use the `Write` tool.
|
|
599
|
+
4. **Large-file / truncation fallback.** Some runtimes (e.g. OpenCode) cap tool-call output, and a single oversized `Write` is truncated mid-payload — surfacing a tool error such as `JSON Parse error: Expected '}'`. If a `Write` fails with a truncation / invalid-tool error, **do NOT retry the same oversized call** (that loops forever). Instead build the file incrementally so no single tool call carries the whole payload:
|
|
600
|
+
- `Write` the file with only the first section, ending with the sentinel line `<!-- gsd:write-continue -->`.
|
|
601
|
+
- `Read` the file, then `Edit` it, replacing `<!-- gsd:write-continue -->` with the next section followed by the sentinel again. Repeat, one section per `Edit`.
|
|
602
|
+
- On the final section, replace the sentinel with the closing content and no trailing sentinel.
|
|
603
|
+
5. **If writing still fails, surface the actual error in your return message.** **Do NOT silently fall back to returning content** — that hides the failure from the orchestrator and truncates identically.
|
|
604
|
+
|
|
605
|
+
**Use template:** @~/.claude/gsd-core/templates/summary.md
|
|
593
606
|
|
|
594
607
|
**Frontmatter:** phase, plan, subsystem, tags, dependency graph (requires/provides/affects), tech-stack (added/patterns), key-files (created/modified), decisions, metrics (duration, completed date).
|
|
595
608
|
|
|
@@ -11,7 +11,7 @@ Run a ≤6-question interview, score frameworks, return a ranked recommendation
|
|
|
11
11
|
</role>
|
|
12
12
|
|
|
13
13
|
<required_reading>
|
|
14
|
-
Read `~/.claude/
|
|
14
|
+
Read `~/.claude/gsd-core/references/ai-frameworks.md` before asking questions. This is your decision matrix.
|
|
15
15
|
</required_reading>
|
|
16
16
|
|
|
17
17
|
<project_context>
|
|
@@ -64,7 +64,7 @@ The /gsd:map-codebase --query command has already confirmed that intel.enabled i
|
|
|
64
64
|
```bash
|
|
65
65
|
# Only run layout detection when analysing the GSD framework repo itself.
|
|
66
66
|
if [[ "$(jq -r '.name // ""' package.json 2>/dev/null)" == "@opengsd/gsd-core" ]]; then
|
|
67
|
-
ls -d .kilo 2>/dev/null && echo "kilo" || (ls -d .claude/
|
|
67
|
+
ls -d .kilo 2>/dev/null && echo "kilo" || (ls -d .claude/gsd-core 2>/dev/null && echo "claude") || echo "unknown"
|
|
68
68
|
fi
|
|
69
69
|
```
|
|
70
70
|
|
|
@@ -76,9 +76,9 @@ Use the detected root (when applicable) to resolve all canonical paths below:
|
|
|
76
76
|
|-------------|--------------------------|----------------|
|
|
77
77
|
| Agent files | `agents/*.md` | `.kilo/agents/*.md` |
|
|
78
78
|
| Command files | `commands/gsd/*.md` | `.kilo/command/*.md` |
|
|
79
|
-
| CLI tooling | `
|
|
80
|
-
| Workflow files | `
|
|
81
|
-
| Reference docs | `
|
|
79
|
+
| CLI tooling | `gsd-core/bin/` | `.kilo/gsd-core/bin/` |
|
|
80
|
+
| Workflow files | `gsd-core/workflows/` | `.kilo/gsd-core/workflows/` |
|
|
81
|
+
| Reference docs | `gsd-core/references/` | `.kilo/gsd-core/references/` |
|
|
82
82
|
| Hook files | `hooks/*.js` | `.kilo/hooks/*.js` |
|
|
83
83
|
|
|
84
84
|
When analyzing this project, use ONLY the canonical source locations matching the detected layout. Do not fall back to the standard layout paths if the `.kilo` root is detected — those paths will be empty and produce semantically empty intel.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gsd-phase-researcher
|
|
3
3
|
description: Researches how to implement a phase before planning. Produces RESEARCH.md consumed by gsd-planner. Spawned by /gsd:plan-phase orchestrator.
|
|
4
|
-
tools: Read, Write, Bash, Grep, Glob, WebSearch, WebFetch, mcp__context7__*, mcp__firecrawl__*, mcp__exa__*
|
|
4
|
+
tools: Read, Write, Edit, Bash, Grep, Glob, WebSearch, WebFetch, mcp__context7__*, mcp__firecrawl__*, mcp__exa__*
|
|
5
5
|
color: cyan
|
|
6
6
|
# hooks:
|
|
7
7
|
# PostToolUse:
|
|
@@ -16,7 +16,7 @@ You are a GSD phase researcher. You answer "What do I need to know to PLAN this
|
|
|
16
16
|
|
|
17
17
|
Spawned by `/gsd:plan-phase` (integrated) or `/gsd:plan-phase --research-phase <N>` (standalone).
|
|
18
18
|
|
|
19
|
-
@~/.claude/
|
|
19
|
+
@~/.claude/gsd-core/references/mandatory-initial-read.md
|
|
20
20
|
|
|
21
21
|
**Core responsibilities:**
|
|
22
22
|
- Investigate the phase's technical domain
|
|
@@ -72,7 +72,7 @@ Before researching, discover project context:
|
|
|
72
72
|
|
|
73
73
|
**Project instructions:** Read `./CLAUDE.md` if it exists in the working directory. Follow all project-specific guidelines, security requirements, and coding conventions.
|
|
74
74
|
|
|
75
|
-
**Project skills:** @~/.claude/
|
|
75
|
+
**Project skills:** @~/.claude/gsd-core/references/project-skills-discovery.md
|
|
76
76
|
- Load `rules/*.md` as needed during **research**.
|
|
77
77
|
- Research output should account for project skill patterns and conventions.
|
|
78
78
|
|
|
@@ -586,7 +586,7 @@ Verified patterns from official sources:
|
|
|
586
586
|
<execution_flow>
|
|
587
587
|
|
|
588
588
|
At research decision points, apply structured reasoning:
|
|
589
|
-
@~/.claude/
|
|
589
|
+
@~/.claude/gsd-core/references/thinking-models-research.md
|
|
590
590
|
|
|
591
591
|
## Step 1: Receive Scope and Load Context
|
|
592
592
|
|
|
@@ -632,7 +632,7 @@ ls .planning/graphs/graph.json 2>/dev/null
|
|
|
632
632
|
If graph.json exists, check freshness:
|
|
633
633
|
|
|
634
634
|
```bash
|
|
635
|
-
node "$HOME/.claude/
|
|
635
|
+
node "$HOME/.claude/gsd-core/bin/gsd-tools.cjs" graphify status
|
|
636
636
|
```
|
|
637
637
|
|
|
638
638
|
If the status response has `stale: true`, note for later: "Graph is {age_hours}h old -- treat semantic relationships as approximate." Include this annotation inline with any graph context injected below.
|
|
@@ -640,7 +640,7 @@ If the status response has `stale: true`, note for later: "Graph is {age_hours}h
|
|
|
640
640
|
Query the graph for each major capability in the phase scope (2-3 queries per D-05, discovery-focused):
|
|
641
641
|
|
|
642
642
|
```bash
|
|
643
|
-
node "$HOME/.claude/
|
|
643
|
+
node "$HOME/.claude/gsd-core/bin/gsd-tools.cjs" graphify query "<capability-keyword>" --budget 1500
|
|
644
644
|
```
|
|
645
645
|
|
|
646
646
|
Derive query terms from the phase goal and requirement descriptions. Examples:
|
|
@@ -804,6 +804,19 @@ List missing test files, framework config, or shared fixtures needed before impl
|
|
|
804
804
|
|
|
805
805
|
Use the Write tool to create files — never use `Bash(cat << 'EOF')` or heredoc commands for file creation. This rule applies regardless of `commit_docs` setting.
|
|
806
806
|
|
|
807
|
+
**Write contract (hard rules — must follow):**
|
|
808
|
+
|
|
809
|
+
This file is the canonical output of this agent. The orchestrator reads `$PHASE_DIR/$PADDED_PHASE-RESEARCH.md` from disk after you return; it does NOT read your return message for the file content.
|
|
810
|
+
|
|
811
|
+
1. **Default: write the whole file in a single `Write` call.** On most runtimes this is correct and reliable — do this unless rule 4 applies.
|
|
812
|
+
2. **Do NOT return the RESEARCH.md content in your response.** Your return message is a brief confirmation (see `<structured_returns>`); the content lives on disk.
|
|
813
|
+
3. **Do NOT use `Bash(cat << 'EOF')` or heredoc** for file creation. Use the `Write` tool.
|
|
814
|
+
4. **Large-file / truncation fallback.** Some runtimes (e.g. OpenCode) cap tool-call output, and a single oversized `Write` is truncated mid-payload — surfacing a tool error such as `JSON Parse error: Expected '}'`. If a `Write` fails with a truncation / invalid-tool error, **do NOT retry the same oversized call** (that loops forever). Instead build the file incrementally so no single tool call carries the whole payload:
|
|
815
|
+
- `Write` the file with only the first section, ending with the sentinel line `<!-- gsd:write-continue -->`.
|
|
816
|
+
- `Read` the file, then `Edit` it, replacing `<!-- gsd:write-continue -->` with the next section followed by the sentinel again. Repeat, one section per `Edit`.
|
|
817
|
+
- On the final section, replace the sentinel with the closing content and no trailing sentinel.
|
|
818
|
+
5. **If writing still fails, surface the actual error in your return message.** **Do NOT silently fall back to returning content** — that hides the failure from the orchestrator and truncates identically.
|
|
819
|
+
|
|
807
820
|
**If CONTEXT.md exists, FIRST content section MUST be `<user_constraints>`:**
|
|
808
821
|
|
|
809
822
|
```markdown
|
|
@@ -43,7 +43,7 @@ Issues without a severity classification are not valid output.
|
|
|
43
43
|
</adversarial_stance>
|
|
44
44
|
|
|
45
45
|
<required_reading>
|
|
46
|
-
@~/.claude/
|
|
46
|
+
@~/.claude/gsd-core/references/gates.md
|
|
47
47
|
</required_reading>
|
|
48
48
|
|
|
49
49
|
This agent implements the **Revision Gate** pattern (bounded quality loop with escalation on cap exhaustion).
|
|
@@ -103,10 +103,10 @@ Same methodology (goal-backward), different timing, different subject matter.
|
|
|
103
103
|
<verification_dimensions>
|
|
104
104
|
|
|
105
105
|
At decision points during plan verification, apply structured reasoning:
|
|
106
|
-
@~/.claude/
|
|
106
|
+
@~/.claude/gsd-core/references/thinking-models-planning.md
|
|
107
107
|
|
|
108
108
|
For calibration on scoring and issue identification, reference these examples:
|
|
109
|
-
@~/.claude/
|
|
109
|
+
@~/.claude/gsd-core/references/few-shot-examples/plan-checker.md
|
|
110
110
|
|
|
111
111
|
## Dimension 1: Requirement Coverage
|
|
112
112
|
|
package/agents/gsd-planner.md
CHANGED
|
@@ -22,7 +22,7 @@ Spawned by:
|
|
|
22
22
|
|
|
23
23
|
Your job: Produce PLAN.md files that Claude executors can implement without interpretation. Plans are prompts, not documents that become prompts.
|
|
24
24
|
|
|
25
|
-
@~/.claude/
|
|
25
|
+
@~/.claude/gsd-core/references/mandatory-initial-read.md
|
|
26
26
|
|
|
27
27
|
**Core responsibilities:**
|
|
28
28
|
- **FIRST: Parse and honor user decisions from CONTEXT.md** (locked decisions are NON-NEGOTIABLE)
|
|
@@ -43,7 +43,7 @@ Before planning, discover project context:
|
|
|
43
43
|
|
|
44
44
|
**Project instructions:** Read `./CLAUDE.md` if it exists in the working directory. Follow all project-specific guidelines, security requirements, and coding conventions.
|
|
45
45
|
|
|
46
|
-
**Project skills:** @~/.claude/
|
|
46
|
+
**Project skills:** @~/.claude/gsd-core/references/project-skills-discovery.md
|
|
47
47
|
- Load `rules/*.md` as needed during **planning**.
|
|
48
48
|
- Ensure plans account for project skill patterns and conventions.
|
|
49
49
|
</project_context>
|
|
@@ -97,7 +97,7 @@ Do NOT silently omit features. Instead:
|
|
|
97
97
|
|
|
98
98
|
## Multi-Source Coverage Audit (MANDATORY in every plan set)
|
|
99
99
|
|
|
100
|
-
@~/.claude/
|
|
100
|
+
@~/.claude/gsd-core/references/planner-source-audit.md for full format, examples, and gap-handling rules.
|
|
101
101
|
|
|
102
102
|
Audit ALL four source types before finalizing: **GOAL** (ROADMAP phase goal), **REQ** (phase_req_ids from REQUIREMENTS.md), **RESEARCH** (RESEARCH.md features/constraints), **CONTEXT** (D-XX decisions from CONTEXT.md).
|
|
103
103
|
|
|
@@ -109,7 +109,7 @@ Exclusions (not gaps): Deferred Ideas in CONTEXT.md, items scoped to other phase
|
|
|
109
109
|
<planner_authority_limits>
|
|
110
110
|
## The Planner Does Not Decide What Is Too Hard
|
|
111
111
|
|
|
112
|
-
@~/.claude/
|
|
112
|
+
@~/.claude/gsd-core/references/planner-source-audit.md for constraint examples.
|
|
113
113
|
|
|
114
114
|
The planner has no authority to judge a feature as too difficult, omit features because they seem challenging, or use "complex/difficult/non-trivial" to justify scope reduction.
|
|
115
115
|
|
|
@@ -267,11 +267,11 @@ This prevents the "scavenger hunt" anti-pattern where executors explore the code
|
|
|
267
267
|
|
|
268
268
|
## Specificity
|
|
269
269
|
|
|
270
|
-
**Test:** Could a different Claude instance execute without asking clarifying questions? If not, add specificity. See @~/.claude/
|
|
270
|
+
**Test:** Could a different Claude instance execute without asking clarifying questions? If not, add specificity. See @~/.claude/gsd-core/references/planner-antipatterns.md for vague-vs-specific comparison table.
|
|
271
271
|
|
|
272
272
|
## TDD Detection
|
|
273
273
|
|
|
274
|
-
**When `workflow.tdd_mode` is enabled:** Apply TDD heuristics aggressively — all eligible tasks MUST use `type: tdd`. Read @~/.claude/
|
|
274
|
+
**When `workflow.tdd_mode` is enabled:** Apply TDD heuristics aggressively — all eligible tasks MUST use `type: tdd`. Read @~/.claude/gsd-core/references/tdd.md for gate enforcement rules and the end-of-phase review checkpoint format.
|
|
275
275
|
|
|
276
276
|
**When `workflow.tdd_mode` is disabled (default):** Apply TDD heuristics opportunistically — use `type: tdd` only when the benefit is clear.
|
|
277
277
|
|
|
@@ -309,7 +309,7 @@ Exceptions where `tdd="true"` is not needed: `type="checkpoint:*"` tasks, config
|
|
|
309
309
|
|
|
310
310
|
## MVP Mode Detection
|
|
311
311
|
|
|
312
|
-
**When `MVP_MODE` is enabled (passed by the plan-phase orchestrator):** Decompose tasks as **vertical feature slices**, not horizontal layers. Required reading: `@~/.claude/
|
|
312
|
+
**When `MVP_MODE` is enabled (passed by the plan-phase orchestrator):** Decompose tasks as **vertical feature slices**, not horizontal layers. Required reading: `@~/.claude/gsd-core/references/planner-mvp-mode.md` (loaded conditionally by the orchestrator).
|
|
313
313
|
|
|
314
314
|
**Core rule:** After each task completes, a real user can do something they could not do after the previous task. If a task only "lays foundation," it is horizontal disguised as vertical — restructure.
|
|
315
315
|
|
|
@@ -323,7 +323,7 @@ Exceptions where `tdd="true"` is not needed: `type="checkpoint:*"` tasks, config
|
|
|
323
323
|
**As a** [user role], **I want to** [capability], **so that** [outcome].
|
|
324
324
|
```
|
|
325
325
|
|
|
326
|
-
Format rules from `@~/.claude/
|
|
326
|
+
Format rules from `@~/.claude/gsd-core/references/user-story-template.md`:
|
|
327
327
|
- All three slots required. If the ROADMAP `**Goal:**` line is not in user-story format, surface the discrepancy and ask the user to run `/gsd mvp-phase ${PHASE}` first — do not invent a story.
|
|
328
328
|
- Bold the three keywords (`**As a**`, `**I want to**`, `**so that**`) when emitting to PLAN.md. The ROADMAP form does not use bolded keywords; the PLAN form does.
|
|
329
329
|
2. First task: failing end-to-end test for the happy path.
|
|
@@ -332,7 +332,7 @@ Exceptions where `tdd="true"` is not needed: `type="checkpoint:*"` tasks, config
|
|
|
332
332
|
|
|
333
333
|
**Mode is all-or-nothing per phase** (PRD decision Q1). Do not produce a plan that mixes vertical-slice tasks with horizontal layer tasks within the same phase.
|
|
334
334
|
|
|
335
|
-
**Walking Skeleton mode** (`WALKING_SKELETON=true`, set by orchestrator for Phase 1 + new project under `--mvp`): The first deliverable is a Walking Skeleton — the thinnest possible end-to-end stack. In addition to `PLAN.md`, produce `SKELETON.md` using the template at `@~/.claude/
|
|
335
|
+
**Walking Skeleton mode** (`WALKING_SKELETON=true`, set by orchestrator for Phase 1 + new project under `--mvp`): The first deliverable is a Walking Skeleton — the thinnest possible end-to-end stack. In addition to `PLAN.md`, produce `SKELETON.md` using the template at `@~/.claude/gsd-core/references/skeleton-template.md`. `SKELETON.md` records architectural decisions (framework, DB, auth, deployment, directory layout) that subsequent phases will build on without renegotiating.
|
|
336
336
|
|
|
337
337
|
**Compatibility with TDD detection:** When both `MVP_MODE=true` and `workflow.tdd_mode=true`, every behavior-adding task uses `tdd="true"` and a `<behavior>` block, AND the task ordering follows the vertical-slice structure above. The first task is always a failing end-to-end test.
|
|
338
338
|
|
|
@@ -447,8 +447,8 @@ Output: [Artifacts created]
|
|
|
447
447
|
</objective>
|
|
448
448
|
|
|
449
449
|
<execution_context>
|
|
450
|
-
@~/.claude/
|
|
451
|
-
@~/.claude/
|
|
450
|
+
@~/.claude/gsd-core/workflows/execute-plan.md
|
|
451
|
+
@~/.claude/gsd-core/templates/summary.md
|
|
452
452
|
</execution_context>
|
|
453
453
|
|
|
454
454
|
<context>
|
|
@@ -520,7 +520,7 @@ Wave numbers are pre-computed during planning. Execute-phase reads `wave` direct
|
|
|
520
520
|
|
|
521
521
|
## Interface Context for Executors
|
|
522
522
|
|
|
523
|
-
See `
|
|
523
|
+
See `gsd-core/references/planner-interface-context.md` for the full interface extraction guide.
|
|
524
524
|
|
|
525
525
|
## Context Section Rules
|
|
526
526
|
|
|
@@ -700,7 +700,7 @@ When Claude tries CLI/API and gets auth error → creates checkpoint → user au
|
|
|
700
700
|
## Anti-Patterns and Extended Examples
|
|
701
701
|
|
|
702
702
|
For checkpoint anti-patterns, specificity comparison tables, context section anti-patterns, and scope reduction patterns:
|
|
703
|
-
@~/.claude/
|
|
703
|
+
@~/.claude/gsd-core/references/planner-antipatterns.md
|
|
704
704
|
|
|
705
705
|
</checkpoints>
|
|
706
706
|
|
|
@@ -751,17 +751,17 @@ TDD plans target ~40% context (lower than standard 50%). The RED→GREEN→REFAC
|
|
|
751
751
|
</tdd_integration>
|
|
752
752
|
|
|
753
753
|
<gap_closure_mode>
|
|
754
|
-
See `
|
|
754
|
+
See `gsd-core/references/planner-gap-closure.md`. Load this file at the
|
|
755
755
|
start of execution when `--gaps` flag is detected or gap_closure mode is active.
|
|
756
756
|
</gap_closure_mode>
|
|
757
757
|
|
|
758
758
|
<revision_mode>
|
|
759
|
-
See `
|
|
759
|
+
See `gsd-core/references/planner-revision.md`. Load this file at the
|
|
760
760
|
start of execution when `<revision_context>` is provided by the orchestrator.
|
|
761
761
|
</revision_mode>
|
|
762
762
|
|
|
763
763
|
<reviews_mode>
|
|
764
|
-
See `
|
|
764
|
+
See `gsd-core/references/planner-reviews.md`. Load this file at the
|
|
765
765
|
start of execution when `--reviews` flag is present or reviews mode is active.
|
|
766
766
|
</reviews_mode>
|
|
767
767
|
|
|
@@ -787,9 +787,9 @@ If STATE.md missing but .planning/ exists, offer to reconstruct or continue with
|
|
|
787
787
|
<step name="load_mode_context">
|
|
788
788
|
Check the invocation mode and load the relevant reference file:
|
|
789
789
|
|
|
790
|
-
- If `--gaps` flag or gap_closure context present: Read `
|
|
791
|
-
- If `<revision_context>` provided by orchestrator: Read `
|
|
792
|
-
- If `--reviews` flag present or reviews mode active: Read `
|
|
790
|
+
- If `--gaps` flag or gap_closure context present: Read `gsd-core/references/planner-gap-closure.md`
|
|
791
|
+
- If `<revision_context>` provided by orchestrator: Read `gsd-core/references/planner-revision.md`
|
|
792
|
+
- If `--reviews` flag present or reviews mode active: Read `gsd-core/references/planner-reviews.md`
|
|
793
793
|
- Standard planning mode: no additional file to read
|
|
794
794
|
|
|
795
795
|
Load the file before proceeding to planning steps. The reference file contains the full
|
|
@@ -827,7 +827,7 @@ ls .planning/graphs/graph.json 2>/dev/null
|
|
|
827
827
|
If graph.json exists, check freshness:
|
|
828
828
|
|
|
829
829
|
```bash
|
|
830
|
-
node "$HOME/.claude/
|
|
830
|
+
node "$HOME/.claude/gsd-core/bin/gsd-tools.cjs" graphify status
|
|
831
831
|
```
|
|
832
832
|
|
|
833
833
|
If the status response has `stale: true`, note for later: "Graph is {age_hours}h old -- treat semantic relationships as approximate." Include this annotation inline with any graph context injected below.
|
|
@@ -835,7 +835,7 @@ If the status response has `stale: true`, note for later: "Graph is {age_hours}h
|
|
|
835
835
|
Query the graph for phase-relevant dependency context (single query per D-06):
|
|
836
836
|
|
|
837
837
|
```bash
|
|
838
|
-
node "$HOME/.claude/
|
|
838
|
+
node "$HOME/.claude/gsd-core/bin/gsd-tools.cjs" graphify query "<phase-goal-keyword>" --budget 2000
|
|
839
839
|
```
|
|
840
840
|
|
|
841
841
|
(graphify is not exposed on `gsd-tools query` yet; use `gsd-tools.cjs` for graphify only.)
|
|
@@ -941,7 +941,7 @@ cat "$phase_dir"/*-DISCOVERY.md 2>/dev/null # From mandatory discovery
|
|
|
941
941
|
|
|
942
942
|
<step name="break_into_tasks">
|
|
943
943
|
At decision points during plan creation, apply structured reasoning:
|
|
944
|
-
@~/.claude/
|
|
944
|
+
@~/.claude/gsd-core/references/thinking-models-planning.md
|
|
945
945
|
|
|
946
946
|
Decompose phase into tasks. **Think dependencies first, not sequence.**
|
|
947
947
|
|
|
@@ -1021,6 +1021,19 @@ Use template structure for each PLAN.md.
|
|
|
1021
1021
|
|
|
1022
1022
|
**ALWAYS use the Write tool to create files** — never use `Bash(cat << 'EOF')` or heredoc commands for file creation.
|
|
1023
1023
|
|
|
1024
|
+
**Write contract (hard rules — must follow):**
|
|
1025
|
+
|
|
1026
|
+
These PLAN.md files are the canonical output of this agent. The orchestrator reads each `.planning/phases/{padded_phase}-{slug}/{padded_phase}-{NN}-PLAN.md` from disk after you return; it does NOT read your return message for the file content.
|
|
1027
|
+
|
|
1028
|
+
1. **Default: write each PLAN.md in a single `Write` call.** On most runtimes this is correct and reliable — do this unless rule 4 applies.
|
|
1029
|
+
2. **Do NOT return the PLAN.md content in your response.** Your return message is a brief confirmation (see `<structured_returns>`); the content lives on disk.
|
|
1030
|
+
3. **Do NOT use `Bash(cat << 'EOF')` or heredoc** for file creation. Use the `Write` tool.
|
|
1031
|
+
4. **Large-file / truncation fallback.** Some runtimes (e.g. OpenCode) cap tool-call output, and a single oversized `Write` is truncated mid-payload — surfacing a tool error such as `JSON Parse error: Expected '}'`. If a `Write` fails with a truncation / invalid-tool error, **do NOT retry the same oversized call** (that loops forever). Instead build the file incrementally so no single tool call carries the whole payload:
|
|
1032
|
+
- `Write` the file with only the first section, ending with the sentinel line `<!-- gsd:write-continue -->`.
|
|
1033
|
+
- `Read` the file, then `Edit` it, replacing `<!-- gsd:write-continue -->` with the next section followed by the sentinel again. Repeat, one section per `Edit`.
|
|
1034
|
+
- On the final section, replace the sentinel with the closing content and no trailing sentinel.
|
|
1035
|
+
5. **If writing still fails, surface the actual error in your return message.** **Do NOT silently fall back to returning content** — that hides the failure from the orchestrator and truncates identically.
|
|
1036
|
+
|
|
1024
1037
|
**CRITICAL — File naming convention (enforced):**
|
|
1025
1038
|
|
|
1026
1039
|
The filename MUST follow the exact pattern: `{padded_phase}-{NN}-PLAN.md`
|
|
@@ -1166,7 +1179,7 @@ Follow templates in checkpoints and revision_mode sections respectively.
|
|
|
1166
1179
|
|
|
1167
1180
|
## Chunked Mode Returns
|
|
1168
1181
|
|
|
1169
|
-
See @~/.claude/
|
|
1182
|
+
See @~/.claude/gsd-core/references/planner-chunked.md for `## OUTLINE COMPLETE` and `## PLAN COMPLETE` return formats used in chunked mode.
|
|
1170
1183
|
|
|
1171
1184
|
</structured_returns>
|
|
1172
1185
|
|
|
@@ -574,6 +574,19 @@ Run pre-submission checklist (see verification_protocol).
|
|
|
574
574
|
|
|
575
575
|
**ALWAYS use the Write tool to create files** — never use `Bash(cat << 'EOF')` or heredoc commands for file creation.
|
|
576
576
|
|
|
577
|
+
**Write contract (hard rules — must follow):**
|
|
578
|
+
|
|
579
|
+
These files are the canonical output of this agent. The orchestrator reads them from `.planning/research/` after you return; it does NOT read your return message for the file content.
|
|
580
|
+
|
|
581
|
+
1. **Default: write each file in a single `Write` call.** On most runtimes this is correct and reliable — do this unless rule 4 applies.
|
|
582
|
+
2. **Do NOT return the file contents in your response.** Your return message is a brief confirmation (see `<structured_returns>`); the content lives on disk.
|
|
583
|
+
3. **Do NOT use `Bash(cat << 'EOF')` or heredoc** for file creation. Use the `Write` tool.
|
|
584
|
+
4. **Large-file / truncation fallback.** Some runtimes (e.g. OpenCode) cap tool-call output, and a single oversized `Write` is truncated mid-payload — surfacing a tool error such as `JSON Parse error: Expected '}'`. If a `Write` fails with a truncation / invalid-tool error, **do NOT retry the same oversized call** (that loops forever). Instead build the file incrementally so no single tool call carries the whole payload:
|
|
585
|
+
- `Write` the file with only the first section, ending with the sentinel line `<!-- gsd:write-continue -->`.
|
|
586
|
+
- `Read` the file, then `Edit` it, replacing `<!-- gsd:write-continue -->` with the next section followed by the sentinel again. Repeat, one section per `Edit`.
|
|
587
|
+
- On the final section, replace the sentinel with the closing content and no trailing sentinel.
|
|
588
|
+
5. **If writing still fails, surface the actual error in your return message.** **Do NOT silently fall back to returning content** — that hides the failure from the orchestrator and truncates identically.
|
|
589
|
+
|
|
577
590
|
In `.planning/research/`:
|
|
578
591
|
1. **SUMMARY.md** — Always
|
|
579
592
|
2. **STACK.md** — Always
|