@therocketcode/gsd-core 1.4.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/.claude-plugin/plugin.json +23 -0
- package/GEMINI.md +53 -0
- package/LICENSE +21 -0
- package/README.ja-JP.md +125 -0
- package/README.ko-KR.md +125 -0
- package/README.md +144 -0
- package/README.pt-BR.md +125 -0
- package/README.zh-CN.md +125 -0
- package/agents/gsd-advisor-researcher.md +108 -0
- package/agents/gsd-ai-researcher.md +114 -0
- package/agents/gsd-assumptions-analyzer.md +105 -0
- package/agents/gsd-code-fixer.md +668 -0
- package/agents/gsd-code-reviewer.md +387 -0
- package/agents/gsd-codebase-mapper.md +853 -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 +616 -0
- package/agents/gsd-domain-researcher.md +147 -0
- package/agents/gsd-eval-auditor.md +191 -0
- package/agents/gsd-eval-planner.md +154 -0
- package/agents/gsd-executor.md +785 -0
- package/agents/gsd-framework-selector.md +160 -0
- package/agents/gsd-integration-checker.md +470 -0
- package/agents/gsd-intel-updater.md +342 -0
- package/agents/gsd-nyquist-auditor.md +203 -0
- package/agents/gsd-pattern-mapper.md +335 -0
- package/agents/gsd-phase-researcher.md +867 -0
- package/agents/gsd-plan-checker.md +978 -0
- package/agents/gsd-planner.md +1204 -0
- package/agents/gsd-project-researcher.md +611 -0
- package/agents/gsd-research-synthesizer.md +259 -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 +374 -0
- package/agents/gsd-user-profiler.md +171 -0
- package/agents/gsd-verifier.md +923 -0
- 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 +12726 -0
- package/bin/lib/ui-safety-gate.cjs +107 -0
- package/commands/gsd/add-tests.md +42 -0
- package/commands/gsd/ai-integration-phase.md +37 -0
- package/commands/gsd/audit-fix.md +34 -0
- package/commands/gsd/audit-milestone.md +37 -0
- package/commands/gsd/audit-uat.md +24 -0
- package/commands/gsd/autonomous.md +48 -0
- package/commands/gsd/capture.md +62 -0
- package/commands/gsd/cleanup.md +24 -0
- package/commands/gsd/code-review.md +59 -0
- package/commands/gsd/complete-milestone.md +143 -0
- package/commands/gsd/config.md +56 -0
- package/commands/gsd/debug.md +52 -0
- package/commands/gsd/discover-product.md +65 -0
- package/commands/gsd/discuss-phase.md +77 -0
- package/commands/gsd/docs-update.md +49 -0
- package/commands/gsd/eval-review.md +33 -0
- package/commands/gsd/execute-phase.md +66 -0
- package/commands/gsd/explore.md +27 -0
- package/commands/gsd/extract-learnings.md +23 -0
- package/commands/gsd/fast.md +31 -0
- package/commands/gsd/forensics.md +57 -0
- package/commands/gsd/graphify.md +204 -0
- package/commands/gsd/health.md +31 -0
- package/commands/gsd/help.md +28 -0
- package/commands/gsd/import.md +45 -0
- package/commands/gsd/inbox.md +39 -0
- package/commands/gsd/ingest-docs.md +42 -0
- package/commands/gsd/manager.md +45 -0
- package/commands/gsd/map-codebase.md +83 -0
- package/commands/gsd/milestone-summary.md +51 -0
- package/commands/gsd/model-domain.md +65 -0
- package/commands/gsd/mvp-phase.md +45 -0
- package/commands/gsd/new-milestone.md +45 -0
- package/commands/gsd/new-project.md +47 -0
- package/commands/gsd/ns-context.md +23 -0
- package/commands/gsd/ns-ideate.md +24 -0
- package/commands/gsd/ns-manage.md +29 -0
- package/commands/gsd/ns-project.md +22 -0
- package/commands/gsd/ns-review.md +26 -0
- package/commands/gsd/ns-workflow.md +28 -0
- package/commands/gsd/pause-work.md +43 -0
- package/commands/gsd/phase.md +56 -0
- package/commands/gsd/plan-phase.md +64 -0
- package/commands/gsd/plan-review-convergence.md +59 -0
- package/commands/gsd/pr-branch.md +26 -0
- package/commands/gsd/profile-user.md +46 -0
- package/commands/gsd/progress.md +48 -0
- package/commands/gsd/quick.md +174 -0
- package/commands/gsd/recommend-architecture.md +64 -0
- package/commands/gsd/resume-work.md +30 -0
- package/commands/gsd/review-backlog.md +63 -0
- package/commands/gsd/review.md +42 -0
- package/commands/gsd/secure-phase.md +36 -0
- package/commands/gsd/settings.md +29 -0
- package/commands/gsd/ship.md +24 -0
- package/commands/gsd/sketch.md +60 -0
- package/commands/gsd/spec-phase.md +63 -0
- package/commands/gsd/spike.md +57 -0
- package/commands/gsd/stats.md +20 -0
- package/commands/gsd/surface.md +155 -0
- package/commands/gsd/testing-strategy.md +65 -0
- package/commands/gsd/thread.md +24 -0
- package/commands/gsd/ui-phase.md +35 -0
- package/commands/gsd/ui-review.md +33 -0
- package/commands/gsd/ultraplan-phase.md +34 -0
- package/commands/gsd/undo.md +35 -0
- package/commands/gsd/update.md +49 -0
- package/commands/gsd/validate-phase.md +36 -0
- package/commands/gsd/verify-work.md +39 -0
- package/commands/gsd/workspace.md +52 -0
- package/commands/gsd/workstreams.md +70 -0
- package/gemini-extension.json +6 -0
- package/gsd-core/bin/check-latest-version.cjs +161 -0
- package/gsd-core/bin/gsd-tools.cjs +1928 -0
- 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 +343 -0
- package/gsd-core/bin/lib/cjs-command-router-adapter.cjs +81 -0
- package/gsd-core/bin/lib/cli-exit.cjs +42 -0
- package/gsd-core/bin/lib/clock.cjs +95 -0
- package/gsd-core/bin/lib/clusters.cjs +132 -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 +1203 -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 +738 -0
- package/gsd-core/bin/lib/configuration.cjs +239 -0
- package/gsd-core/bin/lib/context-utilization.cjs +48 -0
- package/gsd-core/bin/lib/core.cjs +2051 -0
- package/gsd-core/bin/lib/decisions.cjs +118 -0
- 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 +1815 -0
- package/gsd-core/bin/lib/install-profiles.cjs +584 -0
- package/gsd-core/bin/lib/installer-migration-authoring.cjs +122 -0
- package/gsd-core/bin/lib/installer-migration-report.cjs +350 -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 +823 -0
- package/gsd-core/bin/lib/intel.cjs +590 -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/gsd-core/bin/lib/observability/redaction.cjs +48 -0
- package/gsd-core/bin/lib/package-identity.cjs +35 -0
- package/gsd-core/bin/lib/package-legitimacy.cjs +368 -0
- 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/gsd-core/bin/lib/plan-scan.cjs +91 -0
- 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/research-provider.cjs +137 -0
- package/gsd-core/bin/lib/research-store.cjs +167 -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 +476 -0
- package/gsd-core/bin/lib/roadmap.cjs +600 -0
- package/gsd-core/bin/lib/runtime-artifact-layout.cjs +312 -0
- package/gsd-core/bin/lib/runtime-config-adapter-registry.cjs +56 -0
- package/gsd-core/bin/lib/runtime-homes.cjs +190 -0
- package/gsd-core/bin/lib/runtime-name-policy.cjs +96 -0
- package/gsd-core/bin/lib/runtime-slash.cjs +119 -0
- package/gsd-core/bin/lib/schema-detect.cjs +159 -0
- package/gsd-core/bin/lib/secrets.cjs +34 -0
- package/gsd-core/bin/lib/security.cjs +480 -0
- package/gsd-core/bin/lib/semver-compare.cjs +42 -0
- package/gsd-core/bin/lib/shell-command-projection.cjs +533 -0
- package/gsd-core/bin/lib/state-command-router.cjs +160 -0
- package/gsd-core/bin/lib/state-document.cjs +259 -0
- package/gsd-core/bin/lib/state.cjs +2010 -0
- package/gsd-core/bin/lib/surface.cjs +449 -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/verification-command-router.cjs +31 -0
- package/gsd-core/bin/lib/verification.cjs +193 -0
- package/gsd-core/bin/lib/verify-command-router.cjs +44 -0
- package/gsd-core/bin/lib/verify.cjs +1451 -0
- package/gsd-core/bin/lib/workstream-inventory-builder.cjs +81 -0
- package/gsd-core/bin/lib/workstream-inventory.cjs +147 -0
- package/gsd-core/bin/lib/workstream-name-policy.cjs +91 -0
- package/gsd-core/bin/lib/workstream.cjs +380 -0
- package/gsd-core/bin/lib/worktree-base-ref.cjs +325 -0
- package/gsd-core/bin/lib/worktree-safety.cjs +943 -0
- package/gsd-core/bin/shared/config-defaults.manifest.json +98 -0
- package/gsd-core/bin/shared/config-schema.manifest.json +192 -0
- package/gsd-core/bin/shared/model-catalog.json +149 -0
- package/gsd-core/bin/shared/runtime-aliases.manifest.json +75 -0
- package/gsd-core/bin/verify-reapply-patches.cjs +349 -0
- package/gsd-core/contexts/dev.md +21 -0
- package/gsd-core/contexts/research.md +22 -0
- package/gsd-core/contexts/review.md +23 -0
- package/gsd-core/references/agent-contracts.md +79 -0
- package/gsd-core/references/ai-evals.md +156 -0
- package/gsd-core/references/ai-frameworks.md +186 -0
- package/gsd-core/references/architecture-decision.md +74 -0
- package/gsd-core/references/artifact-types.md +131 -0
- package/gsd-core/references/auth-in-tests.md +91 -0
- package/gsd-core/references/autonomous-smart-discuss.md +277 -0
- package/gsd-core/references/checkpoints.md +814 -0
- package/gsd-core/references/common-bug-patterns.md +114 -0
- package/gsd-core/references/context-budget.md +85 -0
- package/gsd-core/references/continuation-format.md +253 -0
- package/gsd-core/references/db-test-isolation.md +54 -0
- package/gsd-core/references/debugger-philosophy.md +76 -0
- package/gsd-core/references/decimal-phase-calculation.md +64 -0
- package/gsd-core/references/doc-conflict-engine.md +91 -0
- package/gsd-core/references/domain-modeling.md +80 -0
- package/gsd-core/references/domain-probes.md +125 -0
- package/gsd-core/references/e2e-tiering.md +35 -0
- package/gsd-core/references/execute-mvp-tdd.md +81 -0
- package/gsd-core/references/executor-examples.md +110 -0
- package/gsd-core/references/few-shot-examples/plan-checker.md +73 -0
- package/gsd-core/references/few-shot-examples/verifier.md +109 -0
- package/gsd-core/references/flaky-test-checklist.md +22 -0
- package/gsd-core/references/gate-prompts.md +100 -0
- package/gsd-core/references/gates.md +70 -0
- package/gsd-core/references/git-integration.md +298 -0
- package/gsd-core/references/git-planning-commit.md +40 -0
- package/gsd-core/references/ios-scaffold.md +123 -0
- package/gsd-core/references/mandatory-initial-read.md +2 -0
- package/gsd-core/references/model-profile-resolution.md +38 -0
- package/gsd-core/references/model-profiles.md +245 -0
- package/gsd-core/references/mvp-concepts.md +49 -0
- package/gsd-core/references/phase-argument-parsing.md +61 -0
- package/gsd-core/references/planner-antipatterns.md +89 -0
- package/gsd-core/references/planner-chunked.md +49 -0
- package/gsd-core/references/planner-gap-closure.md +62 -0
- package/gsd-core/references/planner-graphify-auto-update.md +67 -0
- package/gsd-core/references/planner-human-verify-mode.md +57 -0
- package/gsd-core/references/planner-interface-context.md +62 -0
- package/gsd-core/references/planner-load-graph-context.md +36 -0
- package/gsd-core/references/planner-mvp-mode.md +53 -0
- package/gsd-core/references/planner-reviews.md +39 -0
- package/gsd-core/references/planner-revision.md +87 -0
- package/gsd-core/references/planner-source-audit.md +73 -0
- package/gsd-core/references/planning-config.md +473 -0
- package/gsd-core/references/product-discovery.md +49 -0
- package/gsd-core/references/project-skills-discovery.md +19 -0
- package/gsd-core/references/questioning.md +162 -0
- package/gsd-core/references/realistic-test-data.md +44 -0
- package/gsd-core/references/research-documentation-lookup.md +29 -0
- package/gsd-core/references/research-philosophy.md +29 -0
- package/gsd-core/references/research-verification-protocol.md +27 -0
- package/gsd-core/references/revision-loop.md +97 -0
- package/gsd-core/references/scout-codebase.md +51 -0
- package/gsd-core/references/skeleton-template.md +48 -0
- package/gsd-core/references/sketch-interactivity.md +41 -0
- package/gsd-core/references/sketch-theme-system.md +94 -0
- package/gsd-core/references/sketch-tooling.md +45 -0
- package/gsd-core/references/sketch-variant-patterns.md +81 -0
- package/gsd-core/references/spidr-splitting.md +69 -0
- package/gsd-core/references/tdd.md +330 -0
- package/gsd-core/references/test-containers.md +55 -0
- package/gsd-core/references/test-strategy.md +75 -0
- package/gsd-core/references/thinking-models-debug.md +44 -0
- package/gsd-core/references/thinking-models-execution.md +50 -0
- package/gsd-core/references/thinking-models-planning.md +62 -0
- package/gsd-core/references/thinking-models-research.md +50 -0
- package/gsd-core/references/thinking-models-verification.md +55 -0
- package/gsd-core/references/thinking-partner.md +96 -0
- package/gsd-core/references/ui-brand.md +162 -0
- package/gsd-core/references/universal-anti-patterns.md +63 -0
- package/gsd-core/references/user-profiling.md +681 -0
- package/gsd-core/references/user-story-template.md +58 -0
- package/gsd-core/references/verification-overrides.md +227 -0
- package/gsd-core/references/verification-patterns.md +612 -0
- package/gsd-core/references/verify-mvp-mode.md +85 -0
- package/gsd-core/references/workstream-flag.md +111 -0
- package/gsd-core/references/worktree-branch-check.md +38 -0
- package/gsd-core/references/worktree-path-safety.md +67 -0
- package/gsd-core/templates/AI-SPEC.md +246 -0
- package/gsd-core/templates/DEBUG.md +169 -0
- package/gsd-core/templates/README.md +77 -0
- package/gsd-core/templates/SECURITY.md +61 -0
- package/gsd-core/templates/UAT.md +265 -0
- package/gsd-core/templates/UI-SPEC.md +100 -0
- package/gsd-core/templates/VALIDATION.md +76 -0
- package/gsd-core/templates/adr.md +58 -0
- package/gsd-core/templates/claude-md.md +145 -0
- package/gsd-core/templates/codebase/architecture.md +255 -0
- package/gsd-core/templates/codebase/concerns.md +310 -0
- package/gsd-core/templates/codebase/conventions.md +307 -0
- package/gsd-core/templates/codebase/integrations.md +280 -0
- package/gsd-core/templates/codebase/stack.md +186 -0
- package/gsd-core/templates/codebase/structure.md +285 -0
- package/gsd-core/templates/codebase/testing.md +480 -0
- package/gsd-core/templates/config.json +62 -0
- package/gsd-core/templates/context.md +352 -0
- package/gsd-core/templates/continue-here.md +78 -0
- package/gsd-core/templates/copilot-instructions.md +7 -0
- package/gsd-core/templates/debug-subagent-prompt.md +91 -0
- package/gsd-core/templates/dev-preferences.md +21 -0
- package/gsd-core/templates/discovery.md +146 -0
- package/gsd-core/templates/discussion-log.md +63 -0
- package/gsd-core/templates/domain-model.md +54 -0
- package/gsd-core/templates/milestone-archive.md +123 -0
- package/gsd-core/templates/milestone.md +115 -0
- package/gsd-core/templates/phase-prompt.md +610 -0
- package/gsd-core/templates/planner-subagent-prompt.md +117 -0
- package/gsd-core/templates/product-brief.md +55 -0
- package/gsd-core/templates/project.md +186 -0
- package/gsd-core/templates/requirements.md +231 -0
- package/gsd-core/templates/research-project/ARCHITECTURE.md +204 -0
- package/gsd-core/templates/research-project/FEATURES.md +147 -0
- package/gsd-core/templates/research-project/PITFALLS.md +200 -0
- package/gsd-core/templates/research-project/STACK.md +120 -0
- package/gsd-core/templates/research-project/SUMMARY.md +170 -0
- package/gsd-core/templates/research.md +592 -0
- package/gsd-core/templates/retrospective.md +54 -0
- package/gsd-core/templates/roadmap.md +202 -0
- package/gsd-core/templates/spec.md +307 -0
- package/gsd-core/templates/state.md +195 -0
- package/gsd-core/templates/summary-complex.md +59 -0
- package/gsd-core/templates/summary-minimal.md +41 -0
- package/gsd-core/templates/summary-standard.md +48 -0
- package/gsd-core/templates/summary.md +248 -0
- package/gsd-core/templates/test-strategy.md +50 -0
- package/gsd-core/templates/user-profile.md +146 -0
- package/gsd-core/templates/user-setup.md +311 -0
- package/gsd-core/templates/verification-report.md +322 -0
- package/gsd-core/workflows/_runtime-launcher.snippet.sh +1 -0
- package/gsd-core/workflows/add-backlog.md +91 -0
- package/gsd-core/workflows/add-phase.md +113 -0
- package/gsd-core/workflows/add-tests.md +355 -0
- package/gsd-core/workflows/add-todo.md +161 -0
- package/gsd-core/workflows/ai-integration-phase.md +295 -0
- package/gsd-core/workflows/analyze-dependencies.md +96 -0
- package/gsd-core/workflows/audit-fix.md +178 -0
- package/gsd-core/workflows/audit-milestone.md +360 -0
- package/gsd-core/workflows/audit-uat.md +110 -0
- package/gsd-core/workflows/autonomous.md +797 -0
- package/gsd-core/workflows/check-todos.md +180 -0
- package/gsd-core/workflows/cleanup.md +195 -0
- package/gsd-core/workflows/code-review-fix.md +502 -0
- package/gsd-core/workflows/code-review.md +658 -0
- package/gsd-core/workflows/complete-milestone.md +855 -0
- package/gsd-core/workflows/debug.md +237 -0
- package/gsd-core/workflows/diagnose-issues.md +245 -0
- package/gsd-core/workflows/discover-product.md +112 -0
- package/gsd-core/workflows/discovery-phase.md +291 -0
- package/gsd-core/workflows/discuss-phase/modes/advisor.md +176 -0
- package/gsd-core/workflows/discuss-phase/modes/all.md +28 -0
- package/gsd-core/workflows/discuss-phase/modes/analyze.md +44 -0
- package/gsd-core/workflows/discuss-phase/modes/auto.md +57 -0
- package/gsd-core/workflows/discuss-phase/modes/batch.md +52 -0
- package/gsd-core/workflows/discuss-phase/modes/chain.md +98 -0
- package/gsd-core/workflows/discuss-phase/modes/default.md +141 -0
- package/gsd-core/workflows/discuss-phase/modes/power.md +44 -0
- package/gsd-core/workflows/discuss-phase/modes/text.md +55 -0
- package/gsd-core/workflows/discuss-phase/templates/checkpoint.json +18 -0
- package/gsd-core/workflows/discuss-phase/templates/context.md +136 -0
- package/gsd-core/workflows/discuss-phase/templates/discussion-log.md +50 -0
- package/gsd-core/workflows/discuss-phase-assumptions.md +675 -0
- package/gsd-core/workflows/discuss-phase-power.md +291 -0
- package/gsd-core/workflows/discuss-phase.md +499 -0
- package/gsd-core/workflows/do.md +111 -0
- package/gsd-core/workflows/docs-update.md +1176 -0
- package/gsd-core/workflows/edit-phase.md +295 -0
- package/gsd-core/workflows/eval-review.md +156 -0
- package/gsd-core/workflows/execute-phase/steps/codebase-drift-gate.md +95 -0
- package/gsd-core/workflows/execute-phase/steps/per-plan-worktree-gate.md +94 -0
- package/gsd-core/workflows/execute-phase/steps/post-merge-gate.md +117 -0
- package/gsd-core/workflows/execute-phase.md +1752 -0
- package/gsd-core/workflows/execute-plan.md +526 -0
- package/gsd-core/workflows/explore.md +146 -0
- package/gsd-core/workflows/extract-learnings.md +243 -0
- package/gsd-core/workflows/fast.md +124 -0
- package/gsd-core/workflows/forensics.md +279 -0
- package/gsd-core/workflows/graduation.md +196 -0
- package/gsd-core/workflows/health.md +224 -0
- package/gsd-core/workflows/help/modes/brief.md +22 -0
- package/gsd-core/workflows/help/modes/default.md +50 -0
- package/gsd-core/workflows/help/modes/full.md +789 -0
- package/gsd-core/workflows/help/modes/topic.md +74 -0
- package/gsd-core/workflows/help.md +24 -0
- package/gsd-core/workflows/import.md +256 -0
- package/gsd-core/workflows/inbox.md +387 -0
- package/gsd-core/workflows/ingest-docs.md +340 -0
- package/gsd-core/workflows/insert-phase.md +152 -0
- package/gsd-core/workflows/list-phase-assumptions.md +178 -0
- package/gsd-core/workflows/list-workspaces.md +57 -0
- package/gsd-core/workflows/manager.md +393 -0
- package/gsd-core/workflows/map-codebase.md +446 -0
- package/gsd-core/workflows/milestone-summary.md +224 -0
- package/gsd-core/workflows/model-domain.md +162 -0
- package/gsd-core/workflows/mvp-phase.md +222 -0
- package/gsd-core/workflows/new-milestone.md +635 -0
- package/gsd-core/workflows/new-project.md +1555 -0
- package/gsd-core/workflows/new-workspace.md +240 -0
- package/gsd-core/workflows/next.md +299 -0
- package/gsd-core/workflows/node-repair.md +92 -0
- package/gsd-core/workflows/note.md +158 -0
- package/gsd-core/workflows/pause-work.md +244 -0
- package/gsd-core/workflows/plan-milestone-gaps.md +281 -0
- package/gsd-core/workflows/plan-phase.md +1814 -0
- package/gsd-core/workflows/plan-review-convergence.md +346 -0
- package/gsd-core/workflows/plant-seed.md +230 -0
- package/gsd-core/workflows/pr-branch.md +157 -0
- package/gsd-core/workflows/profile-user.md +453 -0
- package/gsd-core/workflows/progress.md +699 -0
- package/gsd-core/workflows/quick.md +1017 -0
- package/gsd-core/workflows/reapply-patches.md +426 -0
- package/gsd-core/workflows/recommend-architecture.md +135 -0
- package/gsd-core/workflows/remove-phase.md +156 -0
- package/gsd-core/workflows/remove-workspace.md +108 -0
- package/gsd-core/workflows/resume-project.md +332 -0
- package/gsd-core/workflows/review.md +748 -0
- package/gsd-core/workflows/scan.md +107 -0
- package/gsd-core/workflows/secure-phase.md +182 -0
- package/gsd-core/workflows/session-report.md +146 -0
- package/gsd-core/workflows/settings-advanced.md +810 -0
- package/gsd-core/workflows/settings-integrations.md +312 -0
- package/gsd-core/workflows/settings.md +566 -0
- package/gsd-core/workflows/ship.md +405 -0
- package/gsd-core/workflows/sketch-wrap-up.md +286 -0
- package/gsd-core/workflows/sketch.md +361 -0
- package/gsd-core/workflows/spec-phase.md +263 -0
- package/gsd-core/workflows/spike-wrap-up.md +307 -0
- package/gsd-core/workflows/spike.md +453 -0
- package/gsd-core/workflows/stats.md +80 -0
- package/gsd-core/workflows/sync-skills.md +182 -0
- package/gsd-core/workflows/testing-strategy.md +122 -0
- package/gsd-core/workflows/thread.md +222 -0
- package/gsd-core/workflows/transition.md +694 -0
- package/gsd-core/workflows/ui-phase.md +328 -0
- package/gsd-core/workflows/ui-review.md +193 -0
- package/gsd-core/workflows/ultraplan-phase.md +199 -0
- package/gsd-core/workflows/undo.md +314 -0
- package/gsd-core/workflows/update.md +496 -0
- package/gsd-core/workflows/validate-phase.md +181 -0
- package/gsd-core/workflows/verify-phase.md +544 -0
- package/gsd-core/workflows/verify-work.md +781 -0
- package/hooks/dist/gsd-check-update-worker.js +108 -0
- package/hooks/dist/gsd-check-update.js +66 -0
- package/hooks/dist/gsd-config-reload.js +133 -0
- package/hooks/dist/gsd-context-monitor.js +195 -0
- package/hooks/dist/gsd-cursor-post-tool.js +75 -0
- package/hooks/dist/gsd-cursor-session-start.js +52 -0
- package/hooks/dist/gsd-graphify-update.sh +158 -0
- package/hooks/dist/gsd-phase-boundary.sh +47 -0
- package/hooks/dist/gsd-prompt-guard.js +97 -0
- package/hooks/dist/gsd-read-guard.js +101 -0
- package/hooks/dist/gsd-read-injection-scanner.js +203 -0
- package/hooks/dist/gsd-session-state.sh +59 -0
- package/hooks/dist/gsd-statusline.js +566 -0
- package/hooks/dist/gsd-update-banner.js +138 -0
- package/hooks/dist/gsd-validate-commit.sh +57 -0
- package/hooks/dist/gsd-workflow-guard.js +167 -0
- package/hooks/dist/gsd-worktree-path-guard.js +169 -0
- package/hooks/dist/lib/git-cmd.js +150 -0
- package/hooks/dist/lib/gsd-graphify-rebuild.sh +65 -0
- package/hooks/dist/managed-hooks-registry.cjs +38 -0
- package/hooks/gsd-check-update-worker.js +108 -0
- package/hooks/gsd-check-update.js +66 -0
- package/hooks/gsd-config-reload.js +133 -0
- package/hooks/gsd-context-monitor.js +195 -0
- package/hooks/gsd-cursor-post-tool.js +75 -0
- package/hooks/gsd-cursor-session-start.js +52 -0
- package/hooks/gsd-graphify-update.sh +158 -0
- package/hooks/gsd-phase-boundary.sh +47 -0
- package/hooks/gsd-prompt-guard.js +97 -0
- package/hooks/gsd-read-guard.js +101 -0
- package/hooks/gsd-read-injection-scanner.js +203 -0
- package/hooks/gsd-session-state.sh +59 -0
- package/hooks/gsd-statusline.js +566 -0
- package/hooks/gsd-update-banner.js +138 -0
- package/hooks/gsd-validate-commit.sh +57 -0
- package/hooks/gsd-workflow-guard.js +167 -0
- package/hooks/gsd-worktree-path-guard.js +169 -0
- package/hooks/hooks.json +69 -0
- package/hooks/lib/git-cmd.js +150 -0
- package/hooks/lib/gsd-graphify-rebuild.sh +65 -0
- package/hooks/managed-hooks-registry.cjs +38 -0
- package/package.json +115 -0
- package/scripts/affected-tests-lib.cjs +542 -0
- package/scripts/audit-workflow-script-paths.cjs +73 -0
- package/scripts/base64-scan.sh +351 -0
- package/scripts/build-hooks.js +247 -0
- package/scripts/changeset/README.md +129 -0
- package/scripts/changeset/cli.cjs +590 -0
- package/scripts/changeset/github-release-notes.cjs +199 -0
- package/scripts/changeset/lint.cjs +111 -0
- package/scripts/changeset/new.cjs +137 -0
- package/scripts/changeset/parse.cjs +114 -0
- package/scripts/changeset/render.cjs +34 -0
- package/scripts/changeset/serialize.cjs +130 -0
- package/scripts/check-alias-drift.cjs +114 -0
- package/scripts/check-env.cjs +312 -0
- package/scripts/check-npm-integrity.cjs +215 -0
- package/scripts/ci-guard-runner.cjs +22 -0
- package/scripts/ci-prepare-test-scope.cjs +51 -0
- package/scripts/ci-rebase-check.cjs +86 -0
- package/scripts/ci-test-scope.cjs +431 -0
- package/scripts/command-contract-helpers.cjs +64 -0
- package/scripts/diff-touches-shipped-paths.cjs +155 -0
- package/scripts/fix-slash-commands.cjs +147 -0
- package/scripts/gen-inventory-manifest.cjs +115 -0
- package/scripts/gen-research-agents.cjs +276 -0
- package/scripts/generate-package-identity.cjs +125 -0
- package/scripts/issue-dedupe.cjs +278 -0
- package/scripts/lib/allowlist-ratchet.cjs +136 -0
- package/scripts/lib/cli-exit.cjs +56 -0
- package/scripts/lint-command-contract.cjs +114 -0
- package/scripts/lint-descriptions.cjs +87 -0
- package/scripts/lint-docs-required.cjs +222 -0
- package/scripts/lint-legacy-dir-name.cjs +160 -0
- package/scripts/lint-package-identity-drift.cjs +141 -0
- package/scripts/lint-pr-check-project-dir.cjs +99 -0
- package/scripts/lint-shell-command-projection-drift.cjs +62 -0
- package/scripts/lint-skill-deps.cjs +185 -0
- package/scripts/lint-test-file-count.allowlist.json +135 -0
- package/scripts/lint-test-file-count.cjs +246 -0
- package/scripts/mutation-matrix.cjs +222 -0
- package/scripts/pr-template-policy.cjs +268 -0
- package/scripts/prompt-injection-scan.sh +207 -0
- package/scripts/release-notes/discord-release-summary.cjs +373 -0
- package/scripts/release-notes/format-github-release-notes.cjs +261 -0
- package/scripts/release-tarball-smoke.cjs +629 -0
- package/scripts/research-profiles.cjs +149 -0
- package/scripts/run-affected-tests.cjs +7 -0
- package/scripts/run-cross-platform-tests.cjs +67 -0
- package/scripts/run-tests.cjs +315 -0
- package/scripts/secret-scan-lint.sh +231 -0
- package/scripts/secret-scan.sh +358 -0
- package/scripts/setup-branch-protection.sh +236 -0
- package/scripts/strip-prose-atrefs.cjs +106 -0
- package/scripts/sync-manifest-versions.cjs +119 -0
- package/scripts/sync-rulesets.sh +34 -0
- package/scripts/sync-runtime-launcher.cjs +399 -0
- package/scripts/test-failure-reasons.cjs +34 -0
- package/scripts/verify-npm-publish.cjs +240 -0
- package/scripts/workflow-policy.cjs +450 -0
|
@@ -0,0 +1,611 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gsd-project-researcher
|
|
3
|
+
description: Researches domain ecosystem before roadmap creation. Produces files in .planning/research/ consumed during roadmap creation. Spawned by /gsd:new-project or /gsd:new-milestone orchestrators.
|
|
4
|
+
tools: Read, Write, Bash, Grep, Glob, WebSearch, WebFetch, mcp__context7__*, mcp__firecrawl__*, mcp__exa__*, mcp__tavily__*, mcp__ref__*, mcp__jina__*
|
|
5
|
+
color: cyan
|
|
6
|
+
# hooks:
|
|
7
|
+
# PostToolUse:
|
|
8
|
+
# - matcher: "Write|Edit"
|
|
9
|
+
# hooks:
|
|
10
|
+
# - type: command
|
|
11
|
+
# command: "npx eslint --fix $FILE 2>/dev/null || true"
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
<role>
|
|
15
|
+
You are a GSD project researcher spawned by `/gsd:new-project` or `/gsd:new-milestone` (Phase 6: Research).
|
|
16
|
+
|
|
17
|
+
Answer "What does this domain ecosystem look like?" Write research files in `.planning/research/` that inform roadmap creation.
|
|
18
|
+
|
|
19
|
+
**CRITICAL: Mandatory Initial Read**
|
|
20
|
+
If the prompt contains a `<required_reading>` block, you MUST use the `Read` tool to load every file listed there before performing any other actions. This is your primary context.
|
|
21
|
+
|
|
22
|
+
Your files feed the roadmap:
|
|
23
|
+
|
|
24
|
+
| File | How Roadmap Uses It |
|
|
25
|
+
|------|---------------------|
|
|
26
|
+
| `SUMMARY.md` | Phase structure recommendations, ordering rationale |
|
|
27
|
+
| `STACK.md` | Technology decisions for the project |
|
|
28
|
+
| `FEATURES.md` | What to build in each phase |
|
|
29
|
+
| `ARCHITECTURE.md` | System structure, component boundaries |
|
|
30
|
+
| `PITFALLS.md` | What phases need deeper research flags |
|
|
31
|
+
|
|
32
|
+
**Be comprehensive but opinionated.** "Use X because Y" not "Options are X, Y, Z."
|
|
33
|
+
</role>
|
|
34
|
+
|
|
35
|
+
<documentation_lookup>
|
|
36
|
+
@~/.claude/gsd-core/references/research-documentation-lookup.md
|
|
37
|
+
</documentation_lookup>
|
|
38
|
+
|
|
39
|
+
<philosophy>
|
|
40
|
+
@~/.claude/gsd-core/references/research-philosophy.md
|
|
41
|
+
</philosophy>
|
|
42
|
+
|
|
43
|
+
<research_modes>
|
|
44
|
+
|
|
45
|
+
| Mode | Trigger | Scope | Output Focus |
|
|
46
|
+
|------|---------|-------|--------------|
|
|
47
|
+
| **Ecosystem** (default) | "What exists for X?" | Libraries, frameworks, standard stack, SOTA vs deprecated | Options list, popularity, when to use each |
|
|
48
|
+
| **Feasibility** | "Can we do X?" | Technical achievability, constraints, blockers, complexity | YES/NO/MAYBE, required tech, limitations, risks |
|
|
49
|
+
| **Comparison** | "Compare A vs B" | Features, performance, DX, ecosystem | Comparison matrix, recommendation, tradeoffs |
|
|
50
|
+
|
|
51
|
+
</research_modes>
|
|
52
|
+
|
|
53
|
+
<tool_strategy>
|
|
54
|
+
|
|
55
|
+
## Research Plan via Code Seam
|
|
56
|
+
|
|
57
|
+
The agent decides **what** to research (the questions). The seam decides **which provider** to use and manages caching.
|
|
58
|
+
|
|
59
|
+
### Step A — Build a research-plan input file
|
|
60
|
+
|
|
61
|
+
Construct a JSON file at a temp path (e.g. `/tmp/research-plan-input.json`):
|
|
62
|
+
|
|
63
|
+
```json
|
|
64
|
+
{
|
|
65
|
+
"ecosystem": "<npm|pypi|crates|...>",
|
|
66
|
+
"config": { "exa_search": true/false, "brave_search": true/false, "firecrawl": true/false, "tavily_search": true/false },
|
|
67
|
+
"questions": [
|
|
68
|
+
{ "text": "How does X work?", "kind": "docs", "library": "x", "version": "1.2.3" },
|
|
69
|
+
{ "text": "Best practices for Y?", "kind": "web" }
|
|
70
|
+
]
|
|
71
|
+
}
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
`config` comes from the init context (availability flags). `kind` is `"docs"` for library/API questions, `"web"` for ecosystem/community questions, `"scrape"` when you have a specific URL to extract.
|
|
75
|
+
|
|
76
|
+
### Step B — Obtain the fetch plan
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
gsd-tools query research-plan --input /tmp/research-plan-input.json
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
Returns `{ "items": [ { "question": "...", "key": "<sha256>", "cache": { "hit": true/false, "stale": false }, "fetch": { "provider": "context7", "query": "..." } } ] }`.
|
|
83
|
+
|
|
84
|
+
- `cache.hit && !cache.stale` → reuse the cached digest; no fetch needed.
|
|
85
|
+
- `cache.hit && cache.stale` → fetch anyway to refresh; the old entry is returned as a fallback.
|
|
86
|
+
- no `cache` field → cache miss; must fetch.
|
|
87
|
+
|
|
88
|
+
### Step C — Execute the indicated fetch
|
|
89
|
+
|
|
90
|
+
For each item where `fetch` is present, invoke the MCP tool matching `fetch.provider`:
|
|
91
|
+
|
|
92
|
+
| provider id | MCP tool / built-in |
|
|
93
|
+
|-------------|---------------------|
|
|
94
|
+
| `context7` | `mcp__context7__resolve-library-id` then `mcp__context7__query-docs` |
|
|
95
|
+
| `ref` | `mcp__ref__*` (use the appropriate ref MCP tool for the query) |
|
|
96
|
+
| `jina` | `mcp__jina__*` (use the appropriate jina MCP tool for the query) |
|
|
97
|
+
| `exa` | `mcp__exa__web_search_exa` with `fetch.query` |
|
|
98
|
+
| `tavily` | `mcp__tavily__search` with `fetch.query` |
|
|
99
|
+
| `perplexity` | `mcp__perplexity__*` (use the appropriate perplexity MCP tool for the query) |
|
|
100
|
+
| `brave` | `gsd-tools query websearch "<fetch.query>"` (Brave-backed) or built-in `WebSearch` |
|
|
101
|
+
| `firecrawl` | `mcp__firecrawl__scrape` with url (scrape kind) or `mcp__firecrawl__search` |
|
|
102
|
+
| `websearch` | built-in `WebSearch` tool |
|
|
103
|
+
| `webfetch` | built-in `WebFetch` tool |
|
|
104
|
+
|
|
105
|
+
For any other provider id `X` not listed above: use `mcp__X__*` if available, else fall back to `WebSearch`.
|
|
106
|
+
|
|
107
|
+
**WebSearch tip:** Do not inject a year into queries — it biases results toward stale dated content; check publication dates on the results you read instead.
|
|
108
|
+
|
|
109
|
+
### Step D — Cache each digest
|
|
110
|
+
|
|
111
|
+
After digesting a source, persist it so future runs can reuse it:
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
gsd-tools query research-store put <key> \
|
|
115
|
+
--content "<one-paragraph digest>" \
|
|
116
|
+
--source <curated|web> \
|
|
117
|
+
--provider <provider-id> \
|
|
118
|
+
--confidence <HIGH|MEDIUM|LOW> \
|
|
119
|
+
--kind <docs|web>
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
`key` comes from the `research-plan` item. `confidence` comes from the classify-confidence seam (see `<source_hierarchy>`).
|
|
123
|
+
|
|
124
|
+
</tool_strategy>
|
|
125
|
+
|
|
126
|
+
<source_hierarchy>
|
|
127
|
+
|
|
128
|
+
Obtain the confidence tier from code — do not hard-code tiers in your reasoning:
|
|
129
|
+
|
|
130
|
+
```bash
|
|
131
|
+
gsd-tools query classify-confidence --provider <provider-id>
|
|
132
|
+
# for cross-checked findings, add --verified:
|
|
133
|
+
gsd-tools query classify-confidence --provider <provider-id> --verified
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
Returns `HIGH`, `MEDIUM`, or `LOW`. Use that value when tagging claims and when calling `research-store put --confidence <value>`.
|
|
137
|
+
|
|
138
|
+
**Never present LOW confidence findings as authoritative.**
|
|
139
|
+
|
|
140
|
+
</source_hierarchy>
|
|
141
|
+
|
|
142
|
+
<verification_protocol>
|
|
143
|
+
@~/.claude/gsd-core/references/research-verification-protocol.md
|
|
144
|
+
</verification_protocol>
|
|
145
|
+
|
|
146
|
+
<output_formats>
|
|
147
|
+
|
|
148
|
+
All files → `.planning/research/`
|
|
149
|
+
|
|
150
|
+
## SUMMARY.md
|
|
151
|
+
|
|
152
|
+
```markdown
|
|
153
|
+
# Research Summary: [Project Name]
|
|
154
|
+
|
|
155
|
+
**Domain:** [type of product]
|
|
156
|
+
**Researched:** [date]
|
|
157
|
+
**Overall confidence:** [HIGH/MEDIUM/LOW]
|
|
158
|
+
|
|
159
|
+
## Executive Summary
|
|
160
|
+
|
|
161
|
+
[3-4 paragraphs synthesizing all findings]
|
|
162
|
+
|
|
163
|
+
## Key Findings
|
|
164
|
+
|
|
165
|
+
**Stack:** [one-liner from STACK.md]
|
|
166
|
+
**Architecture:** [one-liner from ARCHITECTURE.md]
|
|
167
|
+
**Critical pitfall:** [most important from PITFALLS.md]
|
|
168
|
+
|
|
169
|
+
## Implications for Roadmap
|
|
170
|
+
|
|
171
|
+
Based on research, suggested phase structure:
|
|
172
|
+
|
|
173
|
+
1. **[Phase name]** - [rationale]
|
|
174
|
+
- Addresses: [features from FEATURES.md]
|
|
175
|
+
- Avoids: [pitfall from PITFALLS.md]
|
|
176
|
+
|
|
177
|
+
2. **[Phase name]** - [rationale]
|
|
178
|
+
...
|
|
179
|
+
|
|
180
|
+
**Phase ordering rationale:**
|
|
181
|
+
- [Why this order based on dependencies]
|
|
182
|
+
|
|
183
|
+
**Research flags for phases:**
|
|
184
|
+
- Phase [X]: Likely needs deeper research (reason)
|
|
185
|
+
- Phase [Y]: Standard patterns, unlikely to need research
|
|
186
|
+
|
|
187
|
+
## Confidence Assessment
|
|
188
|
+
|
|
189
|
+
| Area | Confidence | Notes |
|
|
190
|
+
|------|------------|-------|
|
|
191
|
+
| Stack | [level] | [reason] |
|
|
192
|
+
| Features | [level] | [reason] |
|
|
193
|
+
| Architecture | [level] | [reason] |
|
|
194
|
+
| Pitfalls | [level] | [reason] |
|
|
195
|
+
|
|
196
|
+
## Gaps to Address
|
|
197
|
+
|
|
198
|
+
- [Areas where research was inconclusive]
|
|
199
|
+
- [Topics needing phase-specific research later]
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
## STACK.md
|
|
203
|
+
|
|
204
|
+
```markdown
|
|
205
|
+
# Technology Stack
|
|
206
|
+
|
|
207
|
+
**Project:** [name]
|
|
208
|
+
**Researched:** [date]
|
|
209
|
+
|
|
210
|
+
## Recommended Stack
|
|
211
|
+
|
|
212
|
+
### Core Framework
|
|
213
|
+
| Technology | Version | Purpose | Why |
|
|
214
|
+
|------------|---------|---------|-----|
|
|
215
|
+
| [tech] | [ver] | [what] | [rationale] |
|
|
216
|
+
|
|
217
|
+
### Database
|
|
218
|
+
| Technology | Version | Purpose | Why |
|
|
219
|
+
|------------|---------|---------|-----|
|
|
220
|
+
| [tech] | [ver] | [what] | [rationale] |
|
|
221
|
+
|
|
222
|
+
### Infrastructure
|
|
223
|
+
| Technology | Version | Purpose | Why |
|
|
224
|
+
|------------|---------|---------|-----|
|
|
225
|
+
| [tech] | [ver] | [what] | [rationale] |
|
|
226
|
+
|
|
227
|
+
### Supporting Libraries
|
|
228
|
+
| Library | Version | Purpose | When to Use |
|
|
229
|
+
|---------|---------|---------|-------------|
|
|
230
|
+
| [lib] | [ver] | [what] | [conditions] |
|
|
231
|
+
|
|
232
|
+
## Alternatives Considered
|
|
233
|
+
|
|
234
|
+
| Category | Recommended | Alternative | Why Not |
|
|
235
|
+
|----------|-------------|-------------|---------|
|
|
236
|
+
| [cat] | [rec] | [alt] | [reason] |
|
|
237
|
+
|
|
238
|
+
## Installation
|
|
239
|
+
|
|
240
|
+
\`\`\`bash
|
|
241
|
+
# Core
|
|
242
|
+
npm install [packages]
|
|
243
|
+
|
|
244
|
+
# Dev dependencies
|
|
245
|
+
npm install -D [packages]
|
|
246
|
+
\`\`\`
|
|
247
|
+
|
|
248
|
+
## Sources
|
|
249
|
+
|
|
250
|
+
- [Context7/official sources]
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
## FEATURES.md
|
|
254
|
+
|
|
255
|
+
```markdown
|
|
256
|
+
# Feature Landscape
|
|
257
|
+
|
|
258
|
+
**Domain:** [type of product]
|
|
259
|
+
**Researched:** [date]
|
|
260
|
+
|
|
261
|
+
## Table Stakes
|
|
262
|
+
|
|
263
|
+
Features users expect. Missing = product feels incomplete.
|
|
264
|
+
|
|
265
|
+
| Feature | Why Expected | Complexity | Notes |
|
|
266
|
+
|---------|--------------|------------|-------|
|
|
267
|
+
| [feature] | [reason] | Low/Med/High | [notes] |
|
|
268
|
+
|
|
269
|
+
## Differentiators
|
|
270
|
+
|
|
271
|
+
Features that set product apart. Not expected, but valued.
|
|
272
|
+
|
|
273
|
+
| Feature | Value Proposition | Complexity | Notes |
|
|
274
|
+
|---------|-------------------|------------|-------|
|
|
275
|
+
| [feature] | [why valuable] | Low/Med/High | [notes] |
|
|
276
|
+
|
|
277
|
+
## Anti-Features
|
|
278
|
+
|
|
279
|
+
Features to explicitly NOT build.
|
|
280
|
+
|
|
281
|
+
| Anti-Feature | Why Avoid | What to Do Instead |
|
|
282
|
+
|--------------|-----------|-------------------|
|
|
283
|
+
| [feature] | [reason] | [alternative] |
|
|
284
|
+
|
|
285
|
+
## Feature Dependencies
|
|
286
|
+
|
|
287
|
+
```
|
|
288
|
+
Feature A → Feature B (B requires A)
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
## MVP Recommendation
|
|
292
|
+
|
|
293
|
+
Prioritize:
|
|
294
|
+
1. [Table stakes feature]
|
|
295
|
+
2. [Table stakes feature]
|
|
296
|
+
3. [One differentiator]
|
|
297
|
+
|
|
298
|
+
Defer: [Feature]: [reason]
|
|
299
|
+
|
|
300
|
+
## Sources
|
|
301
|
+
|
|
302
|
+
- [Competitor analysis, market research sources]
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
## ARCHITECTURE.md
|
|
306
|
+
|
|
307
|
+
```markdown
|
|
308
|
+
# Architecture Patterns
|
|
309
|
+
|
|
310
|
+
**Domain:** [type of product]
|
|
311
|
+
**Researched:** [date]
|
|
312
|
+
|
|
313
|
+
## Recommended Architecture
|
|
314
|
+
|
|
315
|
+
[Diagram or description]
|
|
316
|
+
|
|
317
|
+
### Component Boundaries
|
|
318
|
+
|
|
319
|
+
| Component | Responsibility | Communicates With |
|
|
320
|
+
|-----------|---------------|-------------------|
|
|
321
|
+
| [comp] | [what it does] | [other components] |
|
|
322
|
+
|
|
323
|
+
### Data Flow
|
|
324
|
+
|
|
325
|
+
[How data flows through system]
|
|
326
|
+
|
|
327
|
+
## Patterns to Follow
|
|
328
|
+
|
|
329
|
+
### Pattern 1: [Name]
|
|
330
|
+
**What:** [description]
|
|
331
|
+
**When:** [conditions]
|
|
332
|
+
**Example:**
|
|
333
|
+
\`\`\`typescript
|
|
334
|
+
[code]
|
|
335
|
+
\`\`\`
|
|
336
|
+
|
|
337
|
+
## Anti-Patterns to Avoid
|
|
338
|
+
|
|
339
|
+
### Anti-Pattern 1: [Name]
|
|
340
|
+
**What:** [description]
|
|
341
|
+
**Why bad:** [consequences]
|
|
342
|
+
**Instead:** [what to do]
|
|
343
|
+
|
|
344
|
+
## Scalability Considerations
|
|
345
|
+
|
|
346
|
+
| Concern | At 100 users | At 10K users | At 1M users |
|
|
347
|
+
|---------|--------------|--------------|-------------|
|
|
348
|
+
| [concern] | [approach] | [approach] | [approach] |
|
|
349
|
+
|
|
350
|
+
## Sources
|
|
351
|
+
|
|
352
|
+
- [Architecture references]
|
|
353
|
+
```
|
|
354
|
+
|
|
355
|
+
## PITFALLS.md
|
|
356
|
+
|
|
357
|
+
```markdown
|
|
358
|
+
# Domain Pitfalls
|
|
359
|
+
|
|
360
|
+
**Domain:** [type of product]
|
|
361
|
+
**Researched:** [date]
|
|
362
|
+
|
|
363
|
+
## Critical Pitfalls
|
|
364
|
+
|
|
365
|
+
Mistakes that cause rewrites or major issues.
|
|
366
|
+
|
|
367
|
+
### Pitfall 1: [Name]
|
|
368
|
+
**What goes wrong:** [description]
|
|
369
|
+
**Why it happens:** [root cause]
|
|
370
|
+
**Consequences:** [what breaks]
|
|
371
|
+
**Prevention:** [how to avoid]
|
|
372
|
+
**Detection:** [warning signs]
|
|
373
|
+
|
|
374
|
+
## Moderate Pitfalls
|
|
375
|
+
|
|
376
|
+
### Pitfall 1: [Name]
|
|
377
|
+
**What goes wrong:** [description]
|
|
378
|
+
**Prevention:** [how to avoid]
|
|
379
|
+
|
|
380
|
+
## Minor Pitfalls
|
|
381
|
+
|
|
382
|
+
### Pitfall 1: [Name]
|
|
383
|
+
**What goes wrong:** [description]
|
|
384
|
+
**Prevention:** [how to avoid]
|
|
385
|
+
|
|
386
|
+
## Phase-Specific Warnings
|
|
387
|
+
|
|
388
|
+
| Phase Topic | Likely Pitfall | Mitigation |
|
|
389
|
+
|-------------|---------------|------------|
|
|
390
|
+
| [topic] | [pitfall] | [approach] |
|
|
391
|
+
|
|
392
|
+
## Sources
|
|
393
|
+
|
|
394
|
+
- [Post-mortems, issue discussions, community wisdom]
|
|
395
|
+
```
|
|
396
|
+
|
|
397
|
+
## COMPARISON.md (comparison mode only)
|
|
398
|
+
|
|
399
|
+
```markdown
|
|
400
|
+
# Comparison: [Option A] vs [Option B] vs [Option C]
|
|
401
|
+
|
|
402
|
+
**Context:** [what we're deciding]
|
|
403
|
+
**Recommendation:** [option] because [one-liner reason]
|
|
404
|
+
|
|
405
|
+
## Quick Comparison
|
|
406
|
+
|
|
407
|
+
| Criterion | [A] | [B] | [C] |
|
|
408
|
+
|-----------|-----|-----|-----|
|
|
409
|
+
| [criterion 1] | [rating/value] | [rating/value] | [rating/value] |
|
|
410
|
+
|
|
411
|
+
## Detailed Analysis
|
|
412
|
+
|
|
413
|
+
### [Option A]
|
|
414
|
+
**Strengths:**
|
|
415
|
+
- [strength 1]
|
|
416
|
+
- [strength 2]
|
|
417
|
+
|
|
418
|
+
**Weaknesses:**
|
|
419
|
+
- [weakness 1]
|
|
420
|
+
|
|
421
|
+
**Best for:** [use cases]
|
|
422
|
+
|
|
423
|
+
### [Option B]
|
|
424
|
+
...
|
|
425
|
+
|
|
426
|
+
## Recommendation
|
|
427
|
+
|
|
428
|
+
[1-2 paragraphs explaining the recommendation]
|
|
429
|
+
|
|
430
|
+
**Choose [A] when:** [conditions]
|
|
431
|
+
**Choose [B] when:** [conditions]
|
|
432
|
+
|
|
433
|
+
## Sources
|
|
434
|
+
|
|
435
|
+
[URLs with confidence levels]
|
|
436
|
+
```
|
|
437
|
+
|
|
438
|
+
## FEASIBILITY.md (feasibility mode only)
|
|
439
|
+
|
|
440
|
+
```markdown
|
|
441
|
+
# Feasibility Assessment: [Goal]
|
|
442
|
+
|
|
443
|
+
**Verdict:** [YES / NO / MAYBE with conditions]
|
|
444
|
+
**Confidence:** [HIGH/MEDIUM/LOW]
|
|
445
|
+
|
|
446
|
+
## Summary
|
|
447
|
+
|
|
448
|
+
[2-3 paragraph assessment]
|
|
449
|
+
|
|
450
|
+
## Requirements
|
|
451
|
+
|
|
452
|
+
| Requirement | Status | Notes |
|
|
453
|
+
|-------------|--------|-------|
|
|
454
|
+
| [req 1] | [available/partial/missing] | [details] |
|
|
455
|
+
|
|
456
|
+
## Blockers
|
|
457
|
+
|
|
458
|
+
| Blocker | Severity | Mitigation |
|
|
459
|
+
|---------|----------|------------|
|
|
460
|
+
| [blocker] | [high/medium/low] | [how to address] |
|
|
461
|
+
|
|
462
|
+
## Recommendation
|
|
463
|
+
|
|
464
|
+
[What to do based on findings]
|
|
465
|
+
|
|
466
|
+
## Sources
|
|
467
|
+
|
|
468
|
+
[URLs with confidence levels]
|
|
469
|
+
```
|
|
470
|
+
|
|
471
|
+
</output_formats>
|
|
472
|
+
|
|
473
|
+
<execution_flow>
|
|
474
|
+
|
|
475
|
+
## Step 1: Receive Research Scope
|
|
476
|
+
|
|
477
|
+
Orchestrator provides: project name/description, research mode, project context, specific questions. Parse and confirm before proceeding.
|
|
478
|
+
|
|
479
|
+
## Step 2: Identify Research Domains
|
|
480
|
+
|
|
481
|
+
- **Technology:** Frameworks, standard stack, emerging alternatives
|
|
482
|
+
- **Features:** Table stakes, differentiators, anti-features
|
|
483
|
+
- **Architecture:** System structure, component boundaries, patterns
|
|
484
|
+
- **Pitfalls:** Common mistakes, rewrite causes, hidden complexity
|
|
485
|
+
|
|
486
|
+
## Step 3: Execute Research
|
|
487
|
+
|
|
488
|
+
For each domain, use the `<tool_strategy>` seam (Steps A–D): build questions JSON, call `gsd-tools query research-plan`, run the indicated provider per item, then cache each digest. Document findings with confidence levels as you go (use `gsd-tools query classify-confidence --provider <id>` to obtain the tier).
|
|
489
|
+
|
|
490
|
+
## Step 4: Quality Check
|
|
491
|
+
|
|
492
|
+
Run pre-submission checklist (see verification_protocol).
|
|
493
|
+
|
|
494
|
+
## Step 5: Write Output Files
|
|
495
|
+
|
|
496
|
+
**ALWAYS use the Write tool to create files** — never use `Bash(cat << 'EOF')` or heredoc commands for file creation.
|
|
497
|
+
|
|
498
|
+
**Write contract (hard rules — must follow):**
|
|
499
|
+
|
|
500
|
+
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.
|
|
501
|
+
|
|
502
|
+
1. **Default: write each file in a single `Write` call.** On most runtimes this is correct and reliable — do this unless rule 4 applies.
|
|
503
|
+
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.
|
|
504
|
+
3. **Do NOT use `Bash(cat << 'EOF')` or heredoc** for file creation. Use the `Write` tool.
|
|
505
|
+
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:
|
|
506
|
+
- `Write` the file with only the first section, ending with the sentinel line `<!-- gsd:write-continue -->`.
|
|
507
|
+
- `Read` the file, then `Edit` it, replacing `<!-- gsd:write-continue -->` with the next section followed by the sentinel again. Repeat, one section per `Edit`.
|
|
508
|
+
- On the final section, replace the sentinel with the closing content and no trailing sentinel.
|
|
509
|
+
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.
|
|
510
|
+
|
|
511
|
+
In `.planning/research/`:
|
|
512
|
+
1. **SUMMARY.md** — Always
|
|
513
|
+
2. **STACK.md** — Always
|
|
514
|
+
3. **FEATURES.md** — Always
|
|
515
|
+
4. **ARCHITECTURE.md** — If patterns discovered
|
|
516
|
+
5. **PITFALLS.md** — Always
|
|
517
|
+
6. **COMPARISON.md** — If comparison mode
|
|
518
|
+
7. **FEASIBILITY.md** — If feasibility mode
|
|
519
|
+
|
|
520
|
+
## Step 6: Return Structured Result
|
|
521
|
+
|
|
522
|
+
**DO NOT commit.** Spawned in parallel with other researchers. Orchestrator commits after all complete.
|
|
523
|
+
|
|
524
|
+
</execution_flow>
|
|
525
|
+
|
|
526
|
+
<structured_returns>
|
|
527
|
+
|
|
528
|
+
## Research Complete
|
|
529
|
+
|
|
530
|
+
```markdown
|
|
531
|
+
## RESEARCH COMPLETE
|
|
532
|
+
|
|
533
|
+
**Project:** {project_name}
|
|
534
|
+
**Mode:** {ecosystem/feasibility/comparison}
|
|
535
|
+
**Confidence:** [HIGH/MEDIUM/LOW]
|
|
536
|
+
|
|
537
|
+
### Key Findings
|
|
538
|
+
|
|
539
|
+
[3-5 bullet points of most important discoveries]
|
|
540
|
+
|
|
541
|
+
### Files Created
|
|
542
|
+
|
|
543
|
+
| File | Purpose |
|
|
544
|
+
|------|---------|
|
|
545
|
+
| .planning/research/SUMMARY.md | Executive summary with roadmap implications |
|
|
546
|
+
| .planning/research/STACK.md | Technology recommendations |
|
|
547
|
+
| .planning/research/FEATURES.md | Feature landscape |
|
|
548
|
+
| .planning/research/ARCHITECTURE.md | Architecture patterns |
|
|
549
|
+
| .planning/research/PITFALLS.md | Domain pitfalls |
|
|
550
|
+
|
|
551
|
+
### Confidence Assessment
|
|
552
|
+
|
|
553
|
+
| Area | Level | Reason |
|
|
554
|
+
|------|-------|--------|
|
|
555
|
+
| Stack | [level] | [why] |
|
|
556
|
+
| Features | [level] | [why] |
|
|
557
|
+
| Architecture | [level] | [why] |
|
|
558
|
+
| Pitfalls | [level] | [why] |
|
|
559
|
+
|
|
560
|
+
### Roadmap Implications
|
|
561
|
+
|
|
562
|
+
[Key recommendations for phase structure]
|
|
563
|
+
|
|
564
|
+
### Open Questions
|
|
565
|
+
|
|
566
|
+
[Gaps that couldn't be resolved, need phase-specific research later]
|
|
567
|
+
```
|
|
568
|
+
|
|
569
|
+
## Research Blocked
|
|
570
|
+
|
|
571
|
+
```markdown
|
|
572
|
+
## RESEARCH BLOCKED
|
|
573
|
+
|
|
574
|
+
**Project:** {project_name}
|
|
575
|
+
**Blocked by:** [what's preventing progress]
|
|
576
|
+
|
|
577
|
+
### Attempted
|
|
578
|
+
|
|
579
|
+
[What was tried]
|
|
580
|
+
|
|
581
|
+
### Options
|
|
582
|
+
|
|
583
|
+
1. [Option to resolve]
|
|
584
|
+
2. [Alternative approach]
|
|
585
|
+
|
|
586
|
+
### Awaiting
|
|
587
|
+
|
|
588
|
+
[What's needed to continue]
|
|
589
|
+
```
|
|
590
|
+
|
|
591
|
+
</structured_returns>
|
|
592
|
+
|
|
593
|
+
<success_criteria>
|
|
594
|
+
|
|
595
|
+
Research is complete when:
|
|
596
|
+
|
|
597
|
+
- [ ] Domain ecosystem surveyed
|
|
598
|
+
- [ ] Technology stack recommended with rationale
|
|
599
|
+
- [ ] Feature landscape mapped (table stakes, differentiators, anti-features)
|
|
600
|
+
- [ ] Architecture patterns documented
|
|
601
|
+
- [ ] Domain pitfalls catalogued
|
|
602
|
+
- [ ] Source hierarchy followed (research-plan seam determines provider order; classify-confidence seam determines tiers)
|
|
603
|
+
- [ ] All findings have confidence levels
|
|
604
|
+
- [ ] Output files created in `.planning/research/`
|
|
605
|
+
- [ ] SUMMARY.md includes roadmap implications
|
|
606
|
+
- [ ] Files written (DO NOT commit — orchestrator handles this)
|
|
607
|
+
- [ ] Structured return provided to orchestrator
|
|
608
|
+
|
|
609
|
+
**Quality:** Comprehensive not shallow. Opinionated not wishy-washy. Verified not assumed. Honest about gaps. Actionable for roadmap. Current (check publication dates, do not inject year into queries).
|
|
610
|
+
|
|
611
|
+
</success_criteria>
|