gsd-remix 1.0.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/LICENSE +21 -0
- package/README.md +939 -0
- package/README.zh-CN.md +876 -0
- package/agents/gsd-advisor-researcher.md +127 -0
- package/agents/gsd-ai-researcher.md +133 -0
- package/agents/gsd-assumptions-analyzer.md +105 -0
- package/agents/gsd-code-fixer.md +517 -0
- package/agents/gsd-code-reviewer.md +371 -0
- package/agents/gsd-codebase-mapper.md +781 -0
- package/agents/gsd-debug-session-manager.md +314 -0
- package/agents/gsd-debugger.md +1452 -0
- package/agents/gsd-doc-classifier.md +168 -0
- package/agents/gsd-doc-synthesizer.md +204 -0
- package/agents/gsd-doc-verifier.md +217 -0
- package/agents/gsd-doc-writer.md +615 -0
- package/agents/gsd-domain-researcher.md +153 -0
- package/agents/gsd-eval-auditor.md +191 -0
- package/agents/gsd-eval-planner.md +154 -0
- package/agents/gsd-executor.md +603 -0
- package/agents/gsd-framework-selector.md +160 -0
- package/agents/gsd-integration-checker.md +470 -0
- package/agents/gsd-intel-updater.md +334 -0
- package/agents/gsd-nyquist-auditor.md +203 -0
- package/agents/gsd-pattern-mapper.md +335 -0
- package/agents/gsd-phase-researcher.md +841 -0
- package/agents/gsd-plan-checker.md +978 -0
- package/agents/gsd-planner.md +1251 -0
- package/agents/gsd-project-researcher.md +677 -0
- package/agents/gsd-research-synthesizer.md +247 -0
- package/agents/gsd-roadmapper.md +688 -0
- package/agents/gsd-security-auditor.md +155 -0
- package/agents/gsd-ui-auditor.md +495 -0
- package/agents/gsd-ui-checker.md +309 -0
- package/agents/gsd-ui-researcher.md +380 -0
- package/agents/gsd-user-profiler.md +171 -0
- package/agents/gsd-verifier.md +830 -0
- package/bin/install.js +7062 -0
- package/commands/gsd/add-backlog.md +79 -0
- package/commands/gsd/add-phase.md +43 -0
- package/commands/gsd/add-tests.md +41 -0
- package/commands/gsd/add-todo.md +47 -0
- package/commands/gsd/ai-integration-phase.md +36 -0
- package/commands/gsd/analyze-dependencies.md +34 -0
- package/commands/gsd/audit-fix.md +33 -0
- package/commands/gsd/audit-milestone.md +36 -0
- package/commands/gsd/audit-uat.md +24 -0
- package/commands/gsd/autonomous.md +46 -0
- package/commands/gsd/check-todos.md +45 -0
- package/commands/gsd/cleanup.md +23 -0
- package/commands/gsd/code-review-fix.md +52 -0
- package/commands/gsd/code-review.md +55 -0
- package/commands/gsd/complete-milestone.md +136 -0
- package/commands/gsd/debug.md +263 -0
- package/commands/gsd/discuss-phase.md +69 -0
- package/commands/gsd/do.md +30 -0
- package/commands/gsd/docs-update.md +48 -0
- package/commands/gsd/eval-review.md +32 -0
- package/commands/gsd/execute-phase.md +63 -0
- package/commands/gsd/explore.md +27 -0
- package/commands/gsd/extract_learnings.md +22 -0
- package/commands/gsd/fast.md +30 -0
- package/commands/gsd/forensics.md +56 -0
- package/commands/gsd/from-gsd2.md +47 -0
- package/commands/gsd/graphify.md +201 -0
- package/commands/gsd/health.md +22 -0
- package/commands/gsd/help.md +24 -0
- package/commands/gsd/import.md +37 -0
- package/commands/gsd/inbox.md +38 -0
- package/commands/gsd/ingest-docs.md +42 -0
- package/commands/gsd/insert-phase.md +32 -0
- package/commands/gsd/intel.md +179 -0
- package/commands/gsd/join-discord.md +19 -0
- package/commands/gsd/list-phase-assumptions.md +46 -0
- package/commands/gsd/list-workspaces.md +19 -0
- package/commands/gsd/manager.md +40 -0
- package/commands/gsd/map-codebase.md +71 -0
- package/commands/gsd/milestone-summary.md +51 -0
- package/commands/gsd/new-milestone.md +44 -0
- package/commands/gsd/new-project.md +46 -0
- package/commands/gsd/new-workspace.md +44 -0
- package/commands/gsd/next.md +28 -0
- package/commands/gsd/note.md +34 -0
- package/commands/gsd/pause-work.md +38 -0
- package/commands/gsd/plan-milestone-gaps.md +34 -0
- package/commands/gsd/plan-phase.md +52 -0
- package/commands/gsd/plan-review-convergence.md +52 -0
- package/commands/gsd/plant-seed.md +28 -0
- package/commands/gsd/pr-branch.md +25 -0
- package/commands/gsd/profile-user.md +46 -0
- package/commands/gsd/progress.md +25 -0
- package/commands/gsd/quick.md +173 -0
- package/commands/gsd/reapply-patches.md +331 -0
- package/commands/gsd/remove-phase.md +31 -0
- package/commands/gsd/remove-workspace.md +26 -0
- package/commands/gsd/research-phase.md +195 -0
- package/commands/gsd/resume-work.md +40 -0
- package/commands/gsd/review-backlog.md +62 -0
- package/commands/gsd/review.md +40 -0
- package/commands/gsd/scan.md +26 -0
- package/commands/gsd/secure-phase.md +35 -0
- package/commands/gsd/session-report.md +19 -0
- package/commands/gsd/set-profile.md +12 -0
- package/commands/gsd/settings.md +36 -0
- package/commands/gsd/ship.md +23 -0
- package/commands/gsd/sketch-wrap-up.md +31 -0
- package/commands/gsd/sketch.md +49 -0
- package/commands/gsd/spec-phase.md +62 -0
- package/commands/gsd/spike-wrap-up.md +31 -0
- package/commands/gsd/spike.md +46 -0
- package/commands/gsd/stats.md +18 -0
- package/commands/gsd/sync-skills.md +19 -0
- package/commands/gsd/thread.md +227 -0
- package/commands/gsd/ui-phase.md +34 -0
- package/commands/gsd/ui-review.md +32 -0
- package/commands/gsd/ultraplan-phase.md +33 -0
- package/commands/gsd/undo.md +34 -0
- package/commands/gsd/update.md +37 -0
- package/commands/gsd/validate-phase.md +35 -0
- package/commands/gsd/verify-work.md +38 -0
- package/commands/gsd/workstreams.md +69 -0
- package/get-shit-done/bin/gsd-tools.cjs +1263 -0
- package/get-shit-done/bin/lib/artifacts.cjs +52 -0
- package/get-shit-done/bin/lib/audit.cjs +757 -0
- package/get-shit-done/bin/lib/commands.cjs +1023 -0
- package/get-shit-done/bin/lib/config-schema.cjs +79 -0
- package/get-shit-done/bin/lib/config.cjs +463 -0
- package/get-shit-done/bin/lib/core.cjs +1794 -0
- package/get-shit-done/bin/lib/docs.cjs +267 -0
- package/get-shit-done/bin/lib/frontmatter.cjs +379 -0
- package/get-shit-done/bin/lib/graphify.cjs +494 -0
- package/get-shit-done/bin/lib/gsd2-import.cjs +511 -0
- package/get-shit-done/bin/lib/init.cjs +1878 -0
- package/get-shit-done/bin/lib/intel.cjs +639 -0
- package/get-shit-done/bin/lib/learnings.cjs +378 -0
- package/get-shit-done/bin/lib/milestone.cjs +283 -0
- package/get-shit-done/bin/lib/model-profiles.cjs +71 -0
- package/get-shit-done/bin/lib/phase.cjs +1058 -0
- package/get-shit-done/bin/lib/profile-output.cjs +1080 -0
- package/get-shit-done/bin/lib/profile-pipeline.cjs +539 -0
- package/get-shit-done/bin/lib/roadmap.cjs +523 -0
- package/get-shit-done/bin/lib/schema-detect.cjs +238 -0
- package/get-shit-done/bin/lib/security.cjs +504 -0
- package/get-shit-done/bin/lib/state.cjs +1649 -0
- package/get-shit-done/bin/lib/template.cjs +226 -0
- package/get-shit-done/bin/lib/uat.cjs +288 -0
- package/get-shit-done/bin/lib/verify.cjs +1184 -0
- package/get-shit-done/bin/lib/workstream.cjs +495 -0
- package/get-shit-done/bin/repair-sdk.cjs +177 -0
- package/get-shit-done/contexts/dev.md +21 -0
- package/get-shit-done/contexts/research.md +22 -0
- package/get-shit-done/contexts/review.md +22 -0
- package/get-shit-done/references/agent-contracts.md +79 -0
- package/get-shit-done/references/ai-evals.md +156 -0
- package/get-shit-done/references/ai-frameworks.md +186 -0
- package/get-shit-done/references/artifact-types.md +131 -0
- package/get-shit-done/references/autonomous-smart-discuss.md +277 -0
- package/get-shit-done/references/checkpoints.md +808 -0
- package/get-shit-done/references/common-bug-patterns.md +114 -0
- package/get-shit-done/references/context-budget.md +49 -0
- package/get-shit-done/references/continuation-format.md +253 -0
- package/get-shit-done/references/debugger-philosophy.md +76 -0
- package/get-shit-done/references/decimal-phase-calculation.md +64 -0
- package/get-shit-done/references/doc-conflict-engine.md +91 -0
- package/get-shit-done/references/domain-probes.md +125 -0
- package/get-shit-done/references/executor-examples.md +110 -0
- package/get-shit-done/references/few-shot-examples/plan-checker.md +73 -0
- package/get-shit-done/references/few-shot-examples/verifier.md +109 -0
- package/get-shit-done/references/gate-prompts.md +100 -0
- package/get-shit-done/references/gates.md +70 -0
- package/get-shit-done/references/git-integration.md +295 -0
- package/get-shit-done/references/git-planning-commit.md +40 -0
- package/get-shit-done/references/ios-scaffold.md +123 -0
- package/get-shit-done/references/mandatory-initial-read.md +2 -0
- package/get-shit-done/references/model-profile-resolution.md +38 -0
- package/get-shit-done/references/model-profiles.md +145 -0
- package/get-shit-done/references/phase-argument-parsing.md +61 -0
- package/get-shit-done/references/planner-antipatterns.md +89 -0
- package/get-shit-done/references/planner-gap-closure.md +62 -0
- package/get-shit-done/references/planner-reviews.md +39 -0
- package/get-shit-done/references/planner-revision.md +87 -0
- package/get-shit-done/references/planner-source-audit.md +73 -0
- package/get-shit-done/references/planning-config.md +460 -0
- package/get-shit-done/references/project-skills-discovery.md +19 -0
- package/get-shit-done/references/questioning.md +162 -0
- package/get-shit-done/references/revision-loop.md +97 -0
- package/get-shit-done/references/sketch-interactivity.md +41 -0
- package/get-shit-done/references/sketch-theme-system.md +94 -0
- package/get-shit-done/references/sketch-tooling.md +45 -0
- package/get-shit-done/references/sketch-variant-patterns.md +81 -0
- package/get-shit-done/references/tdd.md +330 -0
- package/get-shit-done/references/thinking-models-debug.md +44 -0
- package/get-shit-done/references/thinking-models-execution.md +50 -0
- package/get-shit-done/references/thinking-models-planning.md +62 -0
- package/get-shit-done/references/thinking-models-research.md +50 -0
- package/get-shit-done/references/thinking-models-verification.md +55 -0
- package/get-shit-done/references/thinking-partner.md +96 -0
- package/get-shit-done/references/ui-brand.md +160 -0
- package/get-shit-done/references/universal-anti-patterns.md +63 -0
- package/get-shit-done/references/user-profiling.md +681 -0
- package/get-shit-done/references/verification-overrides.md +227 -0
- package/get-shit-done/references/verification-patterns.md +612 -0
- package/get-shit-done/references/workstream-flag.md +111 -0
- package/get-shit-done/templates/AI-SPEC.md +246 -0
- package/get-shit-done/templates/DEBUG.md +169 -0
- package/get-shit-done/templates/README.md +76 -0
- package/get-shit-done/templates/SECURITY.md +61 -0
- package/get-shit-done/templates/UAT.md +265 -0
- package/get-shit-done/templates/UI-SPEC.md +100 -0
- package/get-shit-done/templates/VALIDATION.md +76 -0
- package/get-shit-done/templates/claude-md.md +145 -0
- package/get-shit-done/templates/codebase/architecture.md +255 -0
- package/get-shit-done/templates/codebase/concerns.md +310 -0
- package/get-shit-done/templates/codebase/conventions.md +307 -0
- package/get-shit-done/templates/codebase/integrations.md +280 -0
- package/get-shit-done/templates/codebase/stack.md +186 -0
- package/get-shit-done/templates/codebase/structure.md +285 -0
- package/get-shit-done/templates/codebase/testing.md +480 -0
- package/get-shit-done/templates/config.json +56 -0
- package/get-shit-done/templates/context.md +352 -0
- package/get-shit-done/templates/continue-here.md +78 -0
- package/get-shit-done/templates/copilot-instructions.md +7 -0
- package/get-shit-done/templates/debug-subagent-prompt.md +91 -0
- package/get-shit-done/templates/dev-preferences.md +21 -0
- package/get-shit-done/templates/discovery.md +146 -0
- package/get-shit-done/templates/discussion-log.md +63 -0
- package/get-shit-done/templates/milestone-archive.md +123 -0
- package/get-shit-done/templates/milestone.md +115 -0
- package/get-shit-done/templates/phase-prompt.md +610 -0
- package/get-shit-done/templates/planner-subagent-prompt.md +117 -0
- package/get-shit-done/templates/project.md +186 -0
- package/get-shit-done/templates/requirements.md +231 -0
- package/get-shit-done/templates/research-project/ARCHITECTURE.md +204 -0
- package/get-shit-done/templates/research-project/FEATURES.md +147 -0
- package/get-shit-done/templates/research-project/PITFALLS.md +200 -0
- package/get-shit-done/templates/research-project/STACK.md +120 -0
- package/get-shit-done/templates/research-project/SUMMARY.md +170 -0
- package/get-shit-done/templates/research.md +592 -0
- package/get-shit-done/templates/retrospective.md +54 -0
- package/get-shit-done/templates/roadmap.md +202 -0
- package/get-shit-done/templates/spec.md +307 -0
- package/get-shit-done/templates/state.md +184 -0
- package/get-shit-done/templates/summary-complex.md +59 -0
- package/get-shit-done/templates/summary-minimal.md +41 -0
- package/get-shit-done/templates/summary-standard.md +48 -0
- package/get-shit-done/templates/summary.md +248 -0
- package/get-shit-done/templates/user-profile.md +146 -0
- package/get-shit-done/templates/user-setup.md +311 -0
- package/get-shit-done/templates/verification-report.md +322 -0
- package/get-shit-done/workflows/add-phase.md +112 -0
- package/get-shit-done/workflows/add-tests.md +354 -0
- package/get-shit-done/workflows/add-todo.md +160 -0
- package/get-shit-done/workflows/ai-integration-phase.md +284 -0
- package/get-shit-done/workflows/analyze-dependencies.md +96 -0
- package/get-shit-done/workflows/audit-fix.md +175 -0
- package/get-shit-done/workflows/audit-milestone.md +340 -0
- package/get-shit-done/workflows/audit-uat.md +109 -0
- package/get-shit-done/workflows/autonomous.md +789 -0
- package/get-shit-done/workflows/check-todos.md +179 -0
- package/get-shit-done/workflows/cleanup.md +154 -0
- package/get-shit-done/workflows/code-review-fix.md +497 -0
- package/get-shit-done/workflows/code-review.md +515 -0
- package/get-shit-done/workflows/complete-milestone.md +847 -0
- package/get-shit-done/workflows/diagnose-issues.md +238 -0
- package/get-shit-done/workflows/discovery-phase.md +291 -0
- package/get-shit-done/workflows/discuss-phase-assumptions.md +670 -0
- package/get-shit-done/workflows/discuss-phase-power.md +308 -0
- package/get-shit-done/workflows/discuss-phase.md +1378 -0
- package/get-shit-done/workflows/do.md +110 -0
- package/get-shit-done/workflows/docs-update.md +1155 -0
- package/get-shit-done/workflows/eval-review.md +155 -0
- package/get-shit-done/workflows/execute-phase.md +1677 -0
- package/get-shit-done/workflows/execute-plan.md +533 -0
- package/get-shit-done/workflows/explore.md +141 -0
- package/get-shit-done/workflows/extract_learnings.md +242 -0
- package/get-shit-done/workflows/fast.md +105 -0
- package/get-shit-done/workflows/forensics.md +265 -0
- package/get-shit-done/workflows/graduation.md +195 -0
- package/get-shit-done/workflows/health.md +314 -0
- package/get-shit-done/workflows/help.md +667 -0
- package/get-shit-done/workflows/import.md +246 -0
- package/get-shit-done/workflows/inbox.md +387 -0
- package/get-shit-done/workflows/ingest-docs.md +328 -0
- package/get-shit-done/workflows/insert-phase.md +130 -0
- package/get-shit-done/workflows/list-phase-assumptions.md +178 -0
- package/get-shit-done/workflows/list-workspaces.md +56 -0
- package/get-shit-done/workflows/manager.md +365 -0
- package/get-shit-done/workflows/map-codebase.md +393 -0
- package/get-shit-done/workflows/milestone-summary.md +223 -0
- package/get-shit-done/workflows/new-milestone.md +611 -0
- package/get-shit-done/workflows/new-project.md +1391 -0
- package/get-shit-done/workflows/new-workspace.md +239 -0
- package/get-shit-done/workflows/next.md +220 -0
- package/get-shit-done/workflows/node-repair.md +92 -0
- package/get-shit-done/workflows/note.md +158 -0
- package/get-shit-done/workflows/pause-work.md +243 -0
- package/get-shit-done/workflows/plan-milestone-gaps.md +273 -0
- package/get-shit-done/workflows/plan-phase.md +1349 -0
- package/get-shit-done/workflows/plan-review-convergence.md +254 -0
- package/get-shit-done/workflows/plant-seed.md +172 -0
- package/get-shit-done/workflows/pr-branch.md +157 -0
- package/get-shit-done/workflows/profile-user.md +452 -0
- package/get-shit-done/workflows/progress.md +619 -0
- package/get-shit-done/workflows/quick.md +970 -0
- package/get-shit-done/workflows/remove-phase.md +155 -0
- package/get-shit-done/workflows/remove-workspace.md +92 -0
- package/get-shit-done/workflows/research-phase.md +89 -0
- package/get-shit-done/workflows/resume-project.md +326 -0
- package/get-shit-done/workflows/review.md +344 -0
- package/get-shit-done/workflows/scan.md +102 -0
- package/get-shit-done/workflows/secure-phase.md +166 -0
- package/get-shit-done/workflows/session-report.md +146 -0
- package/get-shit-done/workflows/settings.md +319 -0
- package/get-shit-done/workflows/ship.md +302 -0
- package/get-shit-done/workflows/sketch-wrap-up.md +283 -0
- package/get-shit-done/workflows/sketch.md +286 -0
- package/get-shit-done/workflows/spec-phase.md +262 -0
- package/get-shit-done/workflows/spike-wrap-up.md +281 -0
- package/get-shit-done/workflows/spike.md +362 -0
- package/get-shit-done/workflows/stats.md +60 -0
- package/get-shit-done/workflows/sync-skills.md +182 -0
- package/get-shit-done/workflows/transition.md +693 -0
- package/get-shit-done/workflows/ui-phase.md +323 -0
- package/get-shit-done/workflows/ui-review.md +190 -0
- package/get-shit-done/workflows/ultraplan-phase.md +189 -0
- package/get-shit-done/workflows/undo.md +314 -0
- package/get-shit-done/workflows/update.md +587 -0
- package/get-shit-done/workflows/validate-phase.md +176 -0
- package/get-shit-done/workflows/verify-phase.md +465 -0
- package/get-shit-done/workflows/verify-work.md +740 -0
- package/hooks/dist/gsd-check-update-worker.js +108 -0
- package/hooks/dist/gsd-check-update.js +64 -0
- package/hooks/dist/gsd-context-monitor.js +192 -0
- package/hooks/dist/gsd-phase-boundary.sh +28 -0
- package/hooks/dist/gsd-prompt-guard.js +97 -0
- package/hooks/dist/gsd-read-guard.js +82 -0
- package/hooks/dist/gsd-read-injection-scanner.js +152 -0
- package/hooks/dist/gsd-session-state.sh +34 -0
- package/hooks/dist/gsd-statusline.js +293 -0
- package/hooks/dist/gsd-validate-commit.sh +48 -0
- package/hooks/dist/gsd-workflow-guard.js +94 -0
- package/hooks/gsd-check-update-worker.js +108 -0
- package/hooks/gsd-check-update.js +64 -0
- package/hooks/gsd-context-monitor.js +192 -0
- package/hooks/gsd-phase-boundary.sh +28 -0
- package/hooks/gsd-prompt-guard.js +97 -0
- package/hooks/gsd-read-guard.js +82 -0
- package/hooks/gsd-read-injection-scanner.js +152 -0
- package/hooks/gsd-session-state.sh +34 -0
- package/hooks/gsd-statusline.js +293 -0
- package/hooks/gsd-validate-commit.sh +48 -0
- package/hooks/gsd-workflow-guard.js +94 -0
- package/package.json +59 -0
- package/scripts/base64-scan.sh +262 -0
- package/scripts/build-hooks.js +95 -0
- package/scripts/gen-inventory-manifest.cjs +109 -0
- package/scripts/prompt-injection-scan.sh +201 -0
- package/scripts/run-tests.cjs +33 -0
- package/scripts/secret-scan.sh +227 -0
- package/sdk/package-lock.json +1998 -0
- package/sdk/package.json +52 -0
- package/sdk/prompts/agents/gsd-executor.md +110 -0
- package/sdk/prompts/agents/gsd-phase-researcher.md +158 -0
- package/sdk/prompts/agents/gsd-plan-checker.md +160 -0
- package/sdk/prompts/agents/gsd-planner.md +214 -0
- package/sdk/prompts/agents/gsd-project-researcher.md +323 -0
- package/sdk/prompts/agents/gsd-research-synthesizer.md +237 -0
- package/sdk/prompts/agents/gsd-roadmapper.md +670 -0
- package/sdk/prompts/agents/gsd-verifier.md +159 -0
- package/sdk/prompts/templates/project.md +186 -0
- package/sdk/prompts/templates/requirements.md +231 -0
- package/sdk/prompts/templates/research-project/ARCHITECTURE.md +204 -0
- package/sdk/prompts/templates/research-project/FEATURES.md +147 -0
- package/sdk/prompts/templates/research-project/PITFALLS.md +200 -0
- package/sdk/prompts/templates/research-project/STACK.md +120 -0
- package/sdk/prompts/templates/research-project/SUMMARY.md +170 -0
- package/sdk/prompts/templates/roadmap.md +202 -0
- package/sdk/prompts/templates/state.md +175 -0
- package/sdk/prompts/workflows/discuss-phase.md +126 -0
- package/sdk/prompts/workflows/execute-plan.md +106 -0
- package/sdk/prompts/workflows/plan-phase.md +84 -0
- package/sdk/prompts/workflows/research-phase.md +45 -0
- package/sdk/prompts/workflows/verify-phase.md +142 -0
- package/sdk/src/assembled-prompts.test.ts +349 -0
- package/sdk/src/cli-transport.test.ts +388 -0
- package/sdk/src/cli-transport.ts +130 -0
- package/sdk/src/cli.test.ts +383 -0
- package/sdk/src/cli.ts +670 -0
- package/sdk/src/config.test.ts +168 -0
- package/sdk/src/config.ts +177 -0
- package/sdk/src/context-engine.test.ts +295 -0
- package/sdk/src/context-engine.ts +170 -0
- package/sdk/src/context-truncation.test.ts +163 -0
- package/sdk/src/context-truncation.ts +233 -0
- package/sdk/src/e2e.integration.test.ts +178 -0
- package/sdk/src/errors.ts +72 -0
- package/sdk/src/event-stream.test.ts +661 -0
- package/sdk/src/event-stream.ts +441 -0
- package/sdk/src/failure-memory.test.ts +457 -0
- package/sdk/src/failure-memory.ts +1324 -0
- package/sdk/src/golden/capture.ts +95 -0
- package/sdk/src/golden/fixtures/generate-slug.golden.json +1 -0
- package/sdk/src/golden/fixtures/profile-sample-sessions/demo-project/sample.jsonl +3 -0
- package/sdk/src/golden/fixtures/summary-extract-sample.md +26 -0
- package/sdk/src/golden/fixtures/uat-render-checkpoint-sample.md +15 -0
- package/sdk/src/golden/golden-integration-covered.ts +30 -0
- package/sdk/src/golden/golden-mutation-covered.ts +7 -0
- package/sdk/src/golden/golden-policy.test.ts +8 -0
- package/sdk/src/golden/golden-policy.ts +112 -0
- package/sdk/src/golden/golden.integration.test.ts +373 -0
- package/sdk/src/golden/init-golden-normalize.ts +15 -0
- package/sdk/src/golden/read-only-golden-rows.ts +77 -0
- package/sdk/src/golden/read-only-parity.integration.test.ts +125 -0
- package/sdk/src/golden/registry-canonical-commands.ts +31 -0
- package/sdk/src/gsd-tools.test.ts +409 -0
- package/sdk/src/gsd-tools.ts +595 -0
- package/sdk/src/headless-prompts.test.ts +159 -0
- package/sdk/src/index.ts +333 -0
- package/sdk/src/init-e2e.integration.test.ts +136 -0
- package/sdk/src/init-runner.test.ts +783 -0
- package/sdk/src/init-runner.ts +735 -0
- package/sdk/src/lifecycle-e2e.integration.test.ts +258 -0
- package/sdk/src/logger.test.ts +149 -0
- package/sdk/src/logger.ts +113 -0
- package/sdk/src/milestone-runner.test.ts +421 -0
- package/sdk/src/phase-prompt.test.ts +538 -0
- package/sdk/src/phase-prompt.ts +264 -0
- package/sdk/src/phase-runner-types.test.ts +421 -0
- package/sdk/src/phase-runner.integration.test.ts +377 -0
- package/sdk/src/phase-runner.test.ts +2333 -0
- package/sdk/src/phase-runner.ts +1203 -0
- package/sdk/src/plan-parser.test.ts +528 -0
- package/sdk/src/plan-parser.ts +427 -0
- package/sdk/src/prompt-builder.test.ts +306 -0
- package/sdk/src/prompt-builder.ts +193 -0
- package/sdk/src/prompt-sanitizer.test.ts +260 -0
- package/sdk/src/prompt-sanitizer.ts +71 -0
- package/sdk/src/query/QUERY-HANDLERS.md +317 -0
- package/sdk/src/query/audit-open.ts +722 -0
- package/sdk/src/query/check-auto-mode.test.ts +77 -0
- package/sdk/src/query/check-auto-mode.ts +50 -0
- package/sdk/src/query/check-completion.test.ts +113 -0
- package/sdk/src/query/check-completion.ts +182 -0
- package/sdk/src/query/check-gates.test.ts +103 -0
- package/sdk/src/query/check-gates.ts +112 -0
- package/sdk/src/query/check-ship-ready.test.ts +77 -0
- package/sdk/src/query/check-ship-ready.ts +103 -0
- package/sdk/src/query/check-verification-status.test.ts +143 -0
- package/sdk/src/query/check-verification-status.ts +160 -0
- package/sdk/src/query/commit.test.ts +202 -0
- package/sdk/src/query/commit.ts +301 -0
- package/sdk/src/query/config-gates.test.ts +89 -0
- package/sdk/src/query/config-gates.ts +69 -0
- package/sdk/src/query/config-mutation.test.ts +365 -0
- package/sdk/src/query/config-mutation.ts +497 -0
- package/sdk/src/query/config-query.test.ts +161 -0
- package/sdk/src/query/config-query.ts +190 -0
- package/sdk/src/query/context-history.test.ts +165 -0
- package/sdk/src/query/context-history.ts +467 -0
- package/sdk/src/query/decomposed-handlers.test.ts +365 -0
- package/sdk/src/query/detect-custom-files.ts +97 -0
- package/sdk/src/query/detect-phase-type.test.ts +105 -0
- package/sdk/src/query/detect-phase-type.ts +141 -0
- package/sdk/src/query/docs-init.ts +257 -0
- package/sdk/src/query/failure-capture.ts +58 -0
- package/sdk/src/query/frontmatter-array.test.ts +14 -0
- package/sdk/src/query/frontmatter-mutation.test.ts +259 -0
- package/sdk/src/query/frontmatter-mutation.ts +343 -0
- package/sdk/src/query/frontmatter.test.ts +281 -0
- package/sdk/src/query/frontmatter.ts +397 -0
- package/sdk/src/query/helpers.test.ts +426 -0
- package/sdk/src/query/helpers.ts +482 -0
- package/sdk/src/query/index.ts +586 -0
- package/sdk/src/query/init-complex.test.ts +232 -0
- package/sdk/src/query/init-complex.ts +578 -0
- package/sdk/src/query/init.test.ts +522 -0
- package/sdk/src/query/init.ts +1046 -0
- package/sdk/src/query/intel.test.ts +90 -0
- package/sdk/src/query/intel.ts +404 -0
- package/sdk/src/query/normalize-query-command.test.ts +50 -0
- package/sdk/src/query/normalize-query-command.ts +56 -0
- package/sdk/src/query/phase-lifecycle.test.ts +1126 -0
- package/sdk/src/query/phase-lifecycle.ts +1799 -0
- package/sdk/src/query/phase-list-queries.test.ts +88 -0
- package/sdk/src/query/phase-list-queries.ts +152 -0
- package/sdk/src/query/phase-ready.test.ts +65 -0
- package/sdk/src/query/phase-ready.ts +158 -0
- package/sdk/src/query/phase.test.ts +307 -0
- package/sdk/src/query/phase.ts +340 -0
- package/sdk/src/query/pipeline.test.ts +169 -0
- package/sdk/src/query/pipeline.ts +243 -0
- package/sdk/src/query/plan-execution-route.test.ts +166 -0
- package/sdk/src/query/plan-execution-route.ts +209 -0
- package/sdk/src/query/plan-task-structure.test.ts +65 -0
- package/sdk/src/query/plan-task-structure.ts +63 -0
- package/sdk/src/query/profile-extract-messages.ts +247 -0
- package/sdk/src/query/profile-output.ts +908 -0
- package/sdk/src/query/profile-questionnaire-data.ts +181 -0
- package/sdk/src/query/profile-sample.ts +184 -0
- package/sdk/src/query/profile-scan-sessions.ts +174 -0
- package/sdk/src/query/profile.test.ts +74 -0
- package/sdk/src/query/profile.ts +337 -0
- package/sdk/src/query/progress.test.ts +156 -0
- package/sdk/src/query/progress.ts +566 -0
- package/sdk/src/query/registry.test.ts +216 -0
- package/sdk/src/query/registry.ts +174 -0
- package/sdk/src/query/requirements-extract-from-plans.test.ts +58 -0
- package/sdk/src/query/requirements-extract-from-plans.ts +86 -0
- package/sdk/src/query/roadmap-update-plan-progress.ts +132 -0
- package/sdk/src/query/roadmap.test.ts +359 -0
- package/sdk/src/query/roadmap.ts +591 -0
- package/sdk/src/query/route-next-action.test.ts +61 -0
- package/sdk/src/query/route-next-action.ts +345 -0
- package/sdk/src/query/runtime-health.ts +7 -0
- package/sdk/src/query/schema-detect.ts +189 -0
- package/sdk/src/query/skill-manifest.ts +214 -0
- package/sdk/src/query/skills.test.ts +80 -0
- package/sdk/src/query/skills.ts +62 -0
- package/sdk/src/query/state-mutation.test.ts +450 -0
- package/sdk/src/query/state-mutation.ts +1444 -0
- package/sdk/src/query/state-project-load.ts +109 -0
- package/sdk/src/query/state.test.ts +347 -0
- package/sdk/src/query/state.ts +397 -0
- package/sdk/src/query/summary.test.ts +95 -0
- package/sdk/src/query/summary.ts +296 -0
- package/sdk/src/query/template.test.ts +180 -0
- package/sdk/src/query/template.ts +242 -0
- package/sdk/src/query/uat.test.ts +77 -0
- package/sdk/src/query/uat.ts +314 -0
- package/sdk/src/query/utils.test.ts +82 -0
- package/sdk/src/query/utils.ts +92 -0
- package/sdk/src/query/validate.test.ts +656 -0
- package/sdk/src/query/validate.ts +807 -0
- package/sdk/src/query/verify.test.ts +414 -0
- package/sdk/src/query/verify.ts +645 -0
- package/sdk/src/query/websearch.test.ts +31 -0
- package/sdk/src/query/websearch.ts +82 -0
- package/sdk/src/query/workspace.test.ts +119 -0
- package/sdk/src/query/workspace.ts +131 -0
- package/sdk/src/query/workstream.test.ts +51 -0
- package/sdk/src/query/workstream.ts +434 -0
- package/sdk/src/research-gate.test.ts +190 -0
- package/sdk/src/research-gate.ts +94 -0
- package/sdk/src/runtime-health.test.ts +176 -0
- package/sdk/src/runtime-health.ts +387 -0
- package/sdk/src/session-runner.test.ts +98 -0
- package/sdk/src/session-runner.ts +299 -0
- package/sdk/src/tool-scoping.test.ts +160 -0
- package/sdk/src/tool-scoping.ts +61 -0
- package/sdk/src/types.ts +917 -0
- package/sdk/src/workstream-utils.ts +33 -0
- package/sdk/src/ws-flag.test.ts +285 -0
- package/sdk/src/ws-transport.test.ts +161 -0
- package/sdk/src/ws-transport.ts +93 -0
- package/sdk/tsconfig.json +20 -0
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
<purpose>
|
|
2
|
+
Generate a post-session summary document capturing work performed, outcomes achieved, and estimated resource usage. Writes SESSION_REPORT.md to .planning/reports/ for human review and stakeholder sharing.
|
|
3
|
+
</purpose>
|
|
4
|
+
|
|
5
|
+
<required_reading>
|
|
6
|
+
Read all files referenced by the invoking prompt's execution_context before starting.
|
|
7
|
+
</required_reading>
|
|
8
|
+
|
|
9
|
+
<process>
|
|
10
|
+
|
|
11
|
+
<step name="gather_session_data">
|
|
12
|
+
Collect session data from available sources:
|
|
13
|
+
|
|
14
|
+
1. **STATE.md** — current phase, milestone, progress, blockers, decisions
|
|
15
|
+
2. **Git log** — commits made during this session (last 24h or since last report)
|
|
16
|
+
3. **Plan/Summary files** — plans executed, summaries written
|
|
17
|
+
4. **ROADMAP.md** — milestone context and phase goals
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
# Get recent commits (last 24 hours)
|
|
21
|
+
git log --oneline --since="24 hours ago" --no-merges 2>/dev/null || echo "No recent commits"
|
|
22
|
+
|
|
23
|
+
# Count files changed
|
|
24
|
+
git diff --stat HEAD~10 HEAD 2>/dev/null | tail -1 || echo "No diff available"
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Read `.planning/STATE.md` to get:
|
|
28
|
+
- Current milestone and phase
|
|
29
|
+
- Progress percentage
|
|
30
|
+
- Active blockers
|
|
31
|
+
- Recent decisions
|
|
32
|
+
|
|
33
|
+
Read `.planning/ROADMAP.md` to get milestone name and goals.
|
|
34
|
+
|
|
35
|
+
Check for existing reports:
|
|
36
|
+
```bash
|
|
37
|
+
ls -la .planning/reports/SESSION_REPORT*.md 2>/dev/null || echo "No previous reports"
|
|
38
|
+
```
|
|
39
|
+
</step>
|
|
40
|
+
|
|
41
|
+
<step name="estimate_usage">
|
|
42
|
+
Estimate token usage from observable signals:
|
|
43
|
+
|
|
44
|
+
- Count of tool calls is not directly available, so estimate from git activity and file operations
|
|
45
|
+
- Note: This is an **estimate** — exact token counts require API-level instrumentation not available to hooks
|
|
46
|
+
|
|
47
|
+
Estimation heuristics:
|
|
48
|
+
- Each commit ≈ 1 plan cycle (research + plan + execute + verify)
|
|
49
|
+
- Each plan file ≈ 2,000-5,000 tokens of agent context
|
|
50
|
+
- Each summary file ≈ 1,000-2,000 tokens generated
|
|
51
|
+
- Subagent spawns multiply by ~1.5x per agent type used
|
|
52
|
+
</step>
|
|
53
|
+
|
|
54
|
+
<step name="generate_report">
|
|
55
|
+
Create the report directory and file:
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
mkdir -p .planning/reports
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
Write `.planning/reports/SESSION_REPORT.md` (or `.planning/reports/YYYYMMDD-session-report.md` if previous reports exist):
|
|
62
|
+
|
|
63
|
+
```markdown
|
|
64
|
+
# GSD Session Report
|
|
65
|
+
|
|
66
|
+
**Generated:** [timestamp]
|
|
67
|
+
**Project:** [from PROJECT.md title or directory name]
|
|
68
|
+
**Milestone:** [N] — [milestone name from ROADMAP.md]
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## Session Summary
|
|
73
|
+
|
|
74
|
+
**Duration:** [estimated from first to last commit timestamp, or "Single session"]
|
|
75
|
+
**Phase Progress:** [from STATE.md]
|
|
76
|
+
**Plans Executed:** [count of summaries written this session]
|
|
77
|
+
**Commits Made:** [count from git log]
|
|
78
|
+
|
|
79
|
+
## Work Performed
|
|
80
|
+
|
|
81
|
+
### Phases Touched
|
|
82
|
+
[List phases worked on with brief description of what was done]
|
|
83
|
+
|
|
84
|
+
### Key Outcomes
|
|
85
|
+
[Bullet list of concrete deliverables: files created, features implemented, bugs fixed]
|
|
86
|
+
|
|
87
|
+
### Decisions Made
|
|
88
|
+
[From STATE.md decisions table, if any were added this session]
|
|
89
|
+
|
|
90
|
+
## Files Changed
|
|
91
|
+
|
|
92
|
+
[Summary of files modified, created, deleted — from git diff stat]
|
|
93
|
+
|
|
94
|
+
## Blockers & Open Items
|
|
95
|
+
|
|
96
|
+
[Active blockers from STATE.md]
|
|
97
|
+
[Any TODO items created during session]
|
|
98
|
+
|
|
99
|
+
## Estimated Resource Usage
|
|
100
|
+
|
|
101
|
+
| Metric | Estimate |
|
|
102
|
+
|--------|----------|
|
|
103
|
+
| Commits | [N] |
|
|
104
|
+
| Files changed | [N] |
|
|
105
|
+
| Plans executed | [N] |
|
|
106
|
+
| Subagents spawned | [estimated] |
|
|
107
|
+
|
|
108
|
+
> **Note:** Token and cost estimates require API-level instrumentation.
|
|
109
|
+
> These metrics reflect observable session activity only.
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
*Generated by `/gsd-session-report`*
|
|
114
|
+
```
|
|
115
|
+
</step>
|
|
116
|
+
|
|
117
|
+
<step name="display_result">
|
|
118
|
+
Show the user:
|
|
119
|
+
|
|
120
|
+
```
|
|
121
|
+
## Session Report Generated
|
|
122
|
+
|
|
123
|
+
📄 `.planning/reports/[filename].md`
|
|
124
|
+
|
|
125
|
+
### Highlights
|
|
126
|
+
- **Commits:** [N]
|
|
127
|
+
- **Files changed:** [N]
|
|
128
|
+
- **Phase progress:** [X]%
|
|
129
|
+
- **Plans executed:** [N]
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
If this is the first report, mention:
|
|
133
|
+
```
|
|
134
|
+
💡 Run `/gsd-session-report` at the end of each session to build a history of project activity.
|
|
135
|
+
```
|
|
136
|
+
</step>
|
|
137
|
+
|
|
138
|
+
</process>
|
|
139
|
+
|
|
140
|
+
<success_criteria>
|
|
141
|
+
- [ ] Session data gathered from STATE.md, git log, and plan files
|
|
142
|
+
- [ ] Report written to .planning/reports/
|
|
143
|
+
- [ ] Report includes work summary, outcomes, and file changes
|
|
144
|
+
- [ ] Filename includes date to prevent overwrites
|
|
145
|
+
- [ ] Result summary displayed to user
|
|
146
|
+
</success_criteria>
|
|
@@ -0,0 +1,319 @@
|
|
|
1
|
+
<purpose>
|
|
2
|
+
Interactive configuration of GSD workflow agents (research, plan_check, verifier) and model profile selection via multi-question prompt. Updates .planning/config.json with user preferences. Optionally saves settings as global defaults (~/.gsd/defaults.json) for future projects.
|
|
3
|
+
</purpose>
|
|
4
|
+
|
|
5
|
+
<required_reading>
|
|
6
|
+
Read all files referenced by the invoking prompt's execution_context before starting.
|
|
7
|
+
</required_reading>
|
|
8
|
+
|
|
9
|
+
<process>
|
|
10
|
+
|
|
11
|
+
<step name="ensure_and_load_config">
|
|
12
|
+
Ensure config exists and load current state:
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
gsd-remix-sdk query config-ensure-section
|
|
16
|
+
INIT=$(gsd-remix-sdk query state.load)
|
|
17
|
+
if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
|
|
18
|
+
# `state.load` returns STATE frontmatter JSON from the SDK — it does not include `config_path`. Orchestrators may set `GSD_CONFIG_PATH` from init phase-op JSON; otherwise resolve the same path gsd-tools uses for flat vs active workstream (#2282).
|
|
19
|
+
if [[ -z "${GSD_CONFIG_PATH:-}" ]]; then
|
|
20
|
+
if [[ -f .planning/active-workstream ]]; then
|
|
21
|
+
WS=$(tr -d '\n\r' < .planning/active-workstream)
|
|
22
|
+
GSD_CONFIG_PATH=".planning/workstreams/${WS}/config.json"
|
|
23
|
+
else
|
|
24
|
+
GSD_CONFIG_PATH=".planning/config.json"
|
|
25
|
+
fi
|
|
26
|
+
fi
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Creates `config.json` (at the resolved path) with defaults if missing. `INIT` still holds `state.load` output for any step that needs STATE fields.
|
|
30
|
+
Store `$GSD_CONFIG_PATH` — all subsequent reads and writes use this path, not a hardcoded `.planning/config.json`, so active-workstream installs target the correct file (#2282).
|
|
31
|
+
</step>
|
|
32
|
+
|
|
33
|
+
<step name="read_current">
|
|
34
|
+
```bash
|
|
35
|
+
cat "$GSD_CONFIG_PATH"
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Parse current values (default to `true` if not present):
|
|
39
|
+
- `workflow.research` — spawn researcher during plan-phase
|
|
40
|
+
- `workflow.plan_check` — spawn plan checker during plan-phase
|
|
41
|
+
- `workflow.verifier` — spawn verifier during execute-phase
|
|
42
|
+
- `workflow.nyquist_validation` — validation architecture research during plan-phase (default: true if absent)
|
|
43
|
+
- `workflow.ui_phase` — generate UI-SPEC.md design contracts for frontend phases (default: true if absent)
|
|
44
|
+
- `workflow.ui_safety_gate` — prompt to run /gsd-ui-phase before planning frontend phases (default: true if absent)
|
|
45
|
+
- `workflow.ai_integration_phase` — framework selection + eval strategy for AI phases (default: true if absent)
|
|
46
|
+
- `model_profile` — which model each agent uses (default: `balanced`)
|
|
47
|
+
- `git.branching_strategy` — branching approach (default: `"none"`)
|
|
48
|
+
- `workflow.use_worktrees` — whether parallel executor agents run in worktree isolation (default: `true`)
|
|
49
|
+
</step>
|
|
50
|
+
|
|
51
|
+
<step name="present_settings">
|
|
52
|
+
|
|
53
|
+
**Text mode (`workflow.text_mode: true` in config or `--text` flag):** Set `TEXT_MODE=true` if `--text` is present in `$ARGUMENTS` OR `text_mode` from init JSON is `true`. When TEXT_MODE is active, replace every `AskUserQuestion` call with a plain-text numbered list and ask the user to type their choice number. This is required for non-Claude runtimes (OpenAI Codex, Gemini CLI, etc.) where `AskUserQuestion` is not available.
|
|
54
|
+
Use AskUserQuestion with current values pre-selected:
|
|
55
|
+
|
|
56
|
+
```
|
|
57
|
+
AskUserQuestion([
|
|
58
|
+
{
|
|
59
|
+
question: "Which model profile for agents?",
|
|
60
|
+
header: "Model",
|
|
61
|
+
multiSelect: false,
|
|
62
|
+
options: [
|
|
63
|
+
{ label: "Quality", description: "Opus everywhere except verification (highest cost)" },
|
|
64
|
+
{ label: "Balanced (Recommended)", description: "Opus for planning, Sonnet for research/execution/verification" },
|
|
65
|
+
{ label: "Budget", description: "Sonnet for writing, Haiku for research/verification (lowest cost)" },
|
|
66
|
+
{ label: "Inherit", description: "Use current session model for all agents (best for OpenRouter, local models, or runtime model switching)" }
|
|
67
|
+
]
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
question: "Spawn Plan Researcher? (researches domain before planning)",
|
|
71
|
+
header: "Research",
|
|
72
|
+
multiSelect: false,
|
|
73
|
+
options: [
|
|
74
|
+
{ label: "Yes", description: "Research phase goals before planning" },
|
|
75
|
+
{ label: "No", description: "Skip research, plan directly" }
|
|
76
|
+
]
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
question: "Spawn Plan Checker? (verifies plans before execution)",
|
|
80
|
+
header: "Plan Check",
|
|
81
|
+
multiSelect: false,
|
|
82
|
+
options: [
|
|
83
|
+
{ label: "Yes", description: "Verify plans meet phase goals" },
|
|
84
|
+
{ label: "No", description: "Skip plan verification" }
|
|
85
|
+
]
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
question: "Spawn Execution Verifier? (verifies phase completion)",
|
|
89
|
+
header: "Verifier",
|
|
90
|
+
multiSelect: false,
|
|
91
|
+
options: [
|
|
92
|
+
{ label: "Yes", description: "Verify must-haves after execution" },
|
|
93
|
+
{ label: "No", description: "Skip post-execution verification" }
|
|
94
|
+
]
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
question: "Auto-advance pipeline? (discuss → plan → execute automatically)",
|
|
98
|
+
header: "Auto",
|
|
99
|
+
multiSelect: false,
|
|
100
|
+
options: [
|
|
101
|
+
{ label: "No (Recommended)", description: "Manual /clear + paste between stages" },
|
|
102
|
+
{ label: "Yes", description: "Chain stages via Task() subagents (same isolation)" }
|
|
103
|
+
]
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
question: "Enable Nyquist Validation? (researches test coverage during planning)",
|
|
107
|
+
header: "Nyquist",
|
|
108
|
+
multiSelect: false,
|
|
109
|
+
options: [
|
|
110
|
+
{ label: "Yes (Recommended)", description: "Research automated test coverage during plan-phase. Adds validation requirements to plans. Blocks approval if tasks lack automated verify." },
|
|
111
|
+
{ label: "No", description: "Skip validation research. Good for rapid prototyping or no-test phases." }
|
|
112
|
+
]
|
|
113
|
+
},
|
|
114
|
+
// Note: Nyquist validation depends on research output. If research is disabled,
|
|
115
|
+
// plan-phase automatically skips Nyquist steps (no RESEARCH.md to extract from).
|
|
116
|
+
{
|
|
117
|
+
question: "Enable UI Phase? (generates UI-SPEC.md design contracts for frontend phases)",
|
|
118
|
+
header: "UI Phase",
|
|
119
|
+
multiSelect: false,
|
|
120
|
+
options: [
|
|
121
|
+
{ label: "Yes (Recommended)", description: "Generate UI design contracts before planning frontend phases. Locks spacing, typography, color, and copywriting." },
|
|
122
|
+
{ label: "No", description: "Skip UI-SPEC generation. Good for backend-only projects or API phases." }
|
|
123
|
+
]
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
question: "Enable UI Safety Gate? (prompts to run /gsd-ui-phase before planning frontend phases)",
|
|
127
|
+
header: "UI Gate",
|
|
128
|
+
multiSelect: false,
|
|
129
|
+
options: [
|
|
130
|
+
{ label: "Yes (Recommended)", description: "plan-phase asks to run /gsd-ui-phase first when frontend indicators detected." },
|
|
131
|
+
{ label: "No", description: "No prompt — plan-phase proceeds without UI-SPEC check." }
|
|
132
|
+
]
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
question: "Enable AI Phase? (framework selection + eval strategy for AI phases)",
|
|
136
|
+
header: "AI Phase",
|
|
137
|
+
multiSelect: false,
|
|
138
|
+
options: [
|
|
139
|
+
{ label: "Yes (Recommended)", description: "Run /gsd-ai-phase before planning AI system phases. Surfaces the right framework, researches its docs, and designs the evaluation strategy." },
|
|
140
|
+
{ label: "No", description: "Skip AI design contract. Good for non-AI phases or when framework is already decided." }
|
|
141
|
+
]
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
question: "Git branching strategy?",
|
|
145
|
+
header: "Branching",
|
|
146
|
+
multiSelect: false,
|
|
147
|
+
options: [
|
|
148
|
+
{ label: "None (Recommended)", description: "Commit directly to current branch" },
|
|
149
|
+
{ label: "Per Phase", description: "Create branch for each phase (gsd/phase-{N}-{name})" },
|
|
150
|
+
{ label: "Per Milestone", description: "Create branch for entire milestone (gsd/{version}-{name})" }
|
|
151
|
+
]
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
question: "Enable context window warnings? (injects advisory messages when context is getting full)",
|
|
155
|
+
header: "Ctx Warnings",
|
|
156
|
+
multiSelect: false,
|
|
157
|
+
options: [
|
|
158
|
+
{ label: "Yes (Recommended)", description: "Warn when context usage exceeds 65%. Helps avoid losing work." },
|
|
159
|
+
{ label: "No", description: "Disable warnings. Allows Claude to reach auto-compact naturally. Good for long unattended runs." }
|
|
160
|
+
]
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
question: "Research best practices before asking questions? (web search during new-project and discuss-phase)",
|
|
164
|
+
header: "Research Qs",
|
|
165
|
+
multiSelect: false,
|
|
166
|
+
options: [
|
|
167
|
+
{ label: "No (Recommended)", description: "Ask questions directly. Faster, uses fewer tokens." },
|
|
168
|
+
{ label: "Yes", description: "Search web for best practices before each question group. More informed questions but uses more tokens." }
|
|
169
|
+
]
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
question: "Skip discuss-phase in autonomous mode? (use ROADMAP phase goals as spec)",
|
|
173
|
+
header: "Skip Discuss",
|
|
174
|
+
multiSelect: false,
|
|
175
|
+
options: [
|
|
176
|
+
{ label: "No (Recommended)", description: "Run smart discuss before each phase — surfaces gray areas and captures decisions." },
|
|
177
|
+
{ label: "Yes", description: "Skip discuss in /gsd-autonomous — chain directly to plan. Best for backend/pipeline work where phase descriptions are the spec." }
|
|
178
|
+
]
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
question: "Use git worktrees for parallel agent isolation?",
|
|
182
|
+
header: "Worktrees",
|
|
183
|
+
multiSelect: false,
|
|
184
|
+
options: [
|
|
185
|
+
{ label: "Yes (Recommended)", description: "Each parallel executor runs in its own worktree branch — no conflicts between agents." },
|
|
186
|
+
{ label: "No", description: "Disable worktree isolation. Agents run sequentially on the main working tree. Use if EnterWorktree creates branches from wrong base (known cross-platform issue)." }
|
|
187
|
+
]
|
|
188
|
+
}
|
|
189
|
+
])
|
|
190
|
+
```
|
|
191
|
+
</step>
|
|
192
|
+
|
|
193
|
+
<step name="update_config">
|
|
194
|
+
Merge new settings into existing config.json:
|
|
195
|
+
|
|
196
|
+
```json
|
|
197
|
+
{
|
|
198
|
+
...existing_config,
|
|
199
|
+
"model_profile": "quality" | "balanced" | "budget" | "adaptive" | "inherit",
|
|
200
|
+
"workflow": {
|
|
201
|
+
"research": true/false,
|
|
202
|
+
"plan_check": true/false,
|
|
203
|
+
"verifier": true/false,
|
|
204
|
+
"auto_advance": true/false,
|
|
205
|
+
"nyquist_validation": true/false,
|
|
206
|
+
"ui_phase": true/false,
|
|
207
|
+
"ui_safety_gate": true/false,
|
|
208
|
+
"ai_integration_phase": true/false,
|
|
209
|
+
"text_mode": true/false,
|
|
210
|
+
"research_before_questions": true/false,
|
|
211
|
+
"discuss_mode": "discuss" | "assumptions",
|
|
212
|
+
"skip_discuss": true/false,
|
|
213
|
+
"use_worktrees": true/false
|
|
214
|
+
},
|
|
215
|
+
"git": {
|
|
216
|
+
"branching_strategy": "none" | "phase" | "milestone",
|
|
217
|
+
"quick_branch_template": <string|null>
|
|
218
|
+
},
|
|
219
|
+
"hooks": {
|
|
220
|
+
"context_warnings": true/false,
|
|
221
|
+
"workflow_guard": true/false
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
Write updated config to `$GSD_CONFIG_PATH` (the workstream-aware path resolved in `ensure_and_load_config`). Never hardcode `.planning/config.json` — workstream installs route to `.planning/workstreams/<slug>/config.json`.
|
|
227
|
+
</step>
|
|
228
|
+
|
|
229
|
+
<step name="save_as_defaults">
|
|
230
|
+
Ask whether to save these settings as global defaults for future projects:
|
|
231
|
+
|
|
232
|
+
```
|
|
233
|
+
AskUserQuestion([
|
|
234
|
+
{
|
|
235
|
+
question: "Save these as default settings for all new projects?",
|
|
236
|
+
header: "Defaults",
|
|
237
|
+
multiSelect: false,
|
|
238
|
+
options: [
|
|
239
|
+
{ label: "Yes", description: "New projects start with these settings (saved to ~/.gsd/defaults.json)" },
|
|
240
|
+
{ label: "No", description: "Only apply to this project" }
|
|
241
|
+
]
|
|
242
|
+
}
|
|
243
|
+
])
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
If "Yes": write the same config object (minus project-specific fields like `brave_search`) to `~/.gsd/defaults.json`:
|
|
247
|
+
|
|
248
|
+
```bash
|
|
249
|
+
mkdir -p ~/.gsd
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
Write `~/.gsd/defaults.json` with:
|
|
253
|
+
```json
|
|
254
|
+
{
|
|
255
|
+
"mode": <current>,
|
|
256
|
+
"granularity": <current>,
|
|
257
|
+
"model_profile": <current>,
|
|
258
|
+
"commit_docs": <current>,
|
|
259
|
+
"parallelization": <current>,
|
|
260
|
+
"branching_strategy": <current>,
|
|
261
|
+
"quick_branch_template": <current>,
|
|
262
|
+
"workflow": {
|
|
263
|
+
"research": <current>,
|
|
264
|
+
"plan_check": <current>,
|
|
265
|
+
"verifier": <current>,
|
|
266
|
+
"auto_advance": <current>,
|
|
267
|
+
"nyquist_validation": <current>,
|
|
268
|
+
"ui_phase": <current>,
|
|
269
|
+
"ui_safety_gate": <current>,
|
|
270
|
+
"ai_integration_phase": <current>,
|
|
271
|
+
"skip_discuss": <current>
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
```
|
|
275
|
+
</step>
|
|
276
|
+
|
|
277
|
+
<step name="confirm">
|
|
278
|
+
Display:
|
|
279
|
+
|
|
280
|
+
```
|
|
281
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
282
|
+
GSD ► SETTINGS UPDATED
|
|
283
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
284
|
+
|
|
285
|
+
| Setting | Value |
|
|
286
|
+
|----------------------|-------|
|
|
287
|
+
| Model Profile | {quality/balanced/budget/inherit} |
|
|
288
|
+
| Plan Researcher | {On/Off} |
|
|
289
|
+
| Plan Checker | {On/Off} |
|
|
290
|
+
| Execution Verifier | {On/Off} |
|
|
291
|
+
| Auto-Advance | {On/Off} |
|
|
292
|
+
| Nyquist Validation | {On/Off} |
|
|
293
|
+
| UI Phase | {On/Off} |
|
|
294
|
+
| UI Safety Gate | {On/Off} |
|
|
295
|
+
| AI Integration Phase | {On/Off} |
|
|
296
|
+
| Git Branching | {None/Per Phase/Per Milestone} |
|
|
297
|
+
| Skip Discuss | {On/Off} |
|
|
298
|
+
| Context Warnings | {On/Off} |
|
|
299
|
+
| Saved as Defaults | {Yes/No} |
|
|
300
|
+
|
|
301
|
+
These settings apply to future /gsd-plan-phase and /gsd-execute-phase runs.
|
|
302
|
+
|
|
303
|
+
Quick commands:
|
|
304
|
+
- /gsd-set-profile <profile> — switch model profile
|
|
305
|
+
- /gsd-plan-phase --research — force research
|
|
306
|
+
- /gsd-plan-phase --skip-research — skip research
|
|
307
|
+
- /gsd-plan-phase --skip-verify — skip plan check
|
|
308
|
+
```
|
|
309
|
+
</step>
|
|
310
|
+
|
|
311
|
+
</process>
|
|
312
|
+
|
|
313
|
+
<success_criteria>
|
|
314
|
+
- [ ] Current config read
|
|
315
|
+
- [ ] User presented with 14 settings (profile + 11 workflow toggles + git branching + ctx warnings)
|
|
316
|
+
- [ ] Config updated with model_profile, workflow, and git sections
|
|
317
|
+
- [ ] User offered to save as global defaults (~/.gsd/defaults.json)
|
|
318
|
+
- [ ] Changes confirmed to user
|
|
319
|
+
</success_criteria>
|