Commit Graph

186 Commits

Author SHA1 Message Date
Lex Christopherson
fa81821df4 feat: add --include flag to init commands to eliminate redundant file reads
Workflows were calling init commands to get parsed JSON metadata, then
immediately reading the same files again with cat to pass raw content
to agents. This wastes context tokens.

Changes:
- Add --include flag to init execute-phase, plan-phase, and progress
- Support includes: state, config, roadmap, requirements, context,
  research, verification, uat, project
- Update plan-phase.md to use --include (removes 6 cat calls)
- Update execute-phase.md to use --include (removes 2 cat calls)
- Update execute-plan.md to use --include (removes 2 cat calls)
- Update progress.md to use --include (removes 4 cat calls)
- Add 7 tests for --include functionality

Token savings: ~5,000-10,000 tokens per plan-phase execution,
~1,500-3,000 per other workflow executions.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-08 01:43:22 -06:00
TÂCHES
6c537373c6 feat: add context-optimizing parsing commands to gsd-tools (#473)
Add three new commands that extract structured data from GSD files,
reducing context usage by returning only parsed fields instead of
raw file content:

- phase-plan-index: Plans grouped by wave with metadata (id, wave,
  autonomous, objective, files_modified, task_count, has_summary)
- state-snapshot: Parsed STATE.md fields (current phase, decisions,
  blockers, session info)
- summary-extract: Frontmatter extraction with optional --fields filter

Update workflows to use new commands:
- execute-phase: Use phase-plan-index instead of ls + grep loop
- plan-phase: Use state-snapshot for decisions
- research-phase: Use state-snapshot for decisions
- complete-milestone: Use summary-extract for one-liners

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-08 01:08:19 -06:00
TÂCHES
1b317dec45 feat: extract repetitive bash patterns into gsd-tools commands (#472)
* feat(gsd-tools): add history-digest, atomic state operations, and summary variants

Adds new performance-focused commands to gsd-tools and introduces specialized
summary templates to reduce context tax:

- history-digest: Compiles phase summaries into structured JSON for JIT loading
- state get/patch: Enables atomic STATE.md operations instead of full rewrites
- template select: Automatically chooses optimal summary template based on plan complexity
- Adds minimal, standard, and complex summary templates

Part of the "Hydra" architecture for GSD context optimization.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* chore: add project config

* docs: define v1 requirements

* docs: create roadmap (6 phases)

* feat(history-digest): fix nested YAML parsing and add tests

- Fix extractFrontmatter() to handle nested YAML structures like
  dependency-graph.provides, tech-stack.added using stack-based parsing
- Add test infrastructure with Node test runner (npm test)
- Update gsd-planner to use digest fields directly instead of reading
  full SUMMARY.md files
- Add 6 schema validation tests covering nested fields, merging,
  malformed files, and backward compatibility

Closes: HIST-01, HIST-02, HIST-03, HIST-04

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix(planner): use digest for selection, full SUMMARY for understanding

The previous commit went too far by eliminating full SUMMARY reads.
The digest is an index for smart selection, not a replacement for
understanding what actually happened.

Two-step approach:
1. Digest to score/select relevant phases (2-4 typically)
2. Full SUMMARY read for selected phases (implementation details)
3. Digest-level context retained for unselected phases

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* feat(gsd-tools): add phases, roadmap, and phase commands

TDD implementation of three new commands to replace repetitive bash:

phases list [--type plans|summaries] [--phase N]
- Lists phase directories sorted numerically (handles decimals)
- Filter by file type or specific phase
- Replaces: ls -d .planning/phases/*/ | sort -V (22 occurrences)

roadmap get-phase <N>
- Extracts phase section from ROADMAP.md
- Returns name, goal, full section content
- Replaces: grep -A20 "Phase X:" ROADMAP.md (19 occurrences)

phase next-decimal <N>
- Calculates next decimal phase (06 → 06.1, 06.2 → 06.3)
- Handles gaps, normalizes input
- Replaces: complex bash math in insert-phase (3 occurrences)

16 new tests, all passing.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* refactor: migrate agents/workflows to use gsd-tools commands

Replace inline bash patterns with centralized gsd-tools commands:

phases list:
- audit-milestone.md: ls -d .planning/phases/*/ | sort -V
- plan-milestone-gaps.md: ls -d ... | sort -V | tail -1

roadmap get-phase:
- plan-phase.md: grep -A5 "Phase X:" ROADMAP.md (2 occurrences)
- research-phase.md: grep patterns (2 occurrences)
- verify-phase.md: grep -A5 pattern
- gsd-verifier.md: grep -A5 pattern
- gsd-plan-checker.md: grep -A10 pattern
- commands/gsd/research-phase.md: grep patterns (2 occurrences)

phase next-decimal:
- insert-phase.md: complex bash decimal calculation
- decimal-phase-calculation.md: reference doc rewritten

phase-argument-parsing.md: updated to reference gsd-tools

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-08 00:44:49 -06:00
TÂCHES
246d542c65 feat(gsd-tools): add compound init commands and update workflows (#468)
* feat(gsd-tools): add compound init commands for workflow setup

Adds 8 compound commands that return all context a workflow needs in
one JSON blob, replacing 5-10 atomic calls per workflow:

- init execute-phase: models, config, phase info, plan inventory
- init plan-phase: models, workflow flags, existing artifacts
- init new-project: models, brownfield detection, state checks
- init new-milestone: models, milestone info
- init quick: models, next task number, timestamps
- init resume: file existence, interrupted agent
- init verify-work: models, phase info
- init phase-op: generic phase context

Updated 8 workflows to use compound commands:
- execute-phase, plan-phase, new-project, quick
- resume-project, verify-work, discuss-phase

Token savings: ~200 lines of bash setup replaced with single init calls.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* feat(gsd-tools): add 4 new init commands and update files to use compound commands

Add new compound init commands:
- init todos - context for todo workflows
- init milestone-op - context for milestone operations
- init map-codebase - context for codebase mapping
- init progress - context for progress workflow

Update 24 files to use compound init commands instead of atomic calls:
- 4 phase operation workflows (add-phase, insert-phase, remove-phase, verify-phase)
- 5 todo/milestone workflows (add-todo, check-todos, audit-milestone, complete-milestone, new-milestone)
- 6 misc workflows (execute-plan, map-codebase, pause-work, progress, set-profile, settings)
- 6 agent files (gsd-executor, gsd-planner, gsd-phase-researcher, gsd-plan-checker, gsd-debugger, gsd-research-synthesizer)
- 2 command files (debug, research-phase)
- 1 reference file (planning-config)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix(gsd-tools): add init to help output

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix(verify-phase): correct expected init fields

The workflow was referencing plans/summaries from init phase-op,
but those fields come from ls command. Updated to reference
has_plans and plan_count which are actually in phase-op output.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-07 22:09:07 -06:00
Lex Christopherson
56b487a5b0 chore: tidy up old files 2026-02-07 11:39:21 -06:00
TÂCHES
d44c7dcc9b refactor: update commands, workflows, agents for gsd-tools integration
Commands (15): audit-milestone, complete-milestone, debug, execute-phase,
help, insert-phase, new-milestone, new-project, plan-milestone-gaps,
plan-phase, progress, quick, remove-phase, research-phase, verify-work

Workflows (22): execute-plan (69% reduction), verify-phase (55%), others
Agents (14): All updated for new workflow structure

Total token savings: ~22k chars (75.6% in affected sections)

Ported from: get-shit-done-v2@d1fb2d5, 7f79a9b
2026-02-07 11:25:35 -06:00
TÂCHES
d2623e0114 refactor: extract settings, add-todo, pause-work, set-profile to thin orchestrators
Completes Phase 1 thin orchestrator extraction.
Token savings: ~8,500 chars across 4 commands

Ported from: get-shit-done-v2@95b6214
2026-02-07 11:08:35 -06:00
TÂCHES
8f26bfa478 refactor: extract check-todos, add-phase, update to thin orchestrators
Pattern: Command → workflow → gsd-tools
Token savings: ~150 chars per command

Ported from: get-shit-done-v2@213392b
2026-02-07 11:08:27 -06:00
TÂCHES
01ae939c01 feat(gsd-tools): add CLI utility for command extraction
Centralizes repetitive bash patterns across 50+ GSD files.

Functions: state load/update, resolve-model, find-phase, commit,
verify-summary, generate-slug, current-timestamp, list-todos,
verify-path-exists, config-ensure-section

Enables thin orchestrator pattern. Replaces 200-400 chars per usage.

Ported from: get-shit-done-v2@ce5400f
2026-02-07 11:08:21 -06:00
Lex Christopherson
cc3c6aca56 revert: remove GSD Memory system (not ready for release)
Reverts af7a057 "feat: add GSD Memory cross-project knowledge system"

The memory system needs more work before shipping:
- Workflow integration is incomplete (writes but doesn't query)
- UX requires too much manual intervention
- Setup friction exceeds value for most users

Preserved on branch `memory-wip` for continued development.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-06 09:48:09 -06:00
Lex Christopherson
af7a057294 feat: add GSD Memory cross-project knowledge system
Implements MCP server for semantic search across GSD projects:

MCP Tools:
- gsd_memory_search: Search across all registered projects
- gsd_memory_decisions: Find decisions from SUMMARY/PROJECT.md
- gsd_memory_patterns: Find patterns from SUMMARY.md
- gsd_memory_pitfalls: Find pitfalls from RESEARCH.md
- gsd_memory_stack: Find tech stack entries
- gsd_memory_register: Register project with memory
- gsd_memory_index: Trigger indexing/update
- gsd_memory_status: Show system status

Architecture:
- QMD wrapper with grep fallback when QMD unavailable
- YAML frontmatter extractors for GSD document types
- Project registry at ~/.gsd/projects.json
- Auto-install via bin/install.js for Claude Code

Workflow integrations:
- new-project: Registers project with memory
- plan-phase: Indexes after planning
- execute-phase: Indexes after execution
- complete-milestone: Indexes milestone completion
- Researcher agents query memory before Context7

Tests: 117 passing (66 unit + 51 integration)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 13:13:22 -06:00
Lex Christopherson
f53011c9e2 fix(#429): prevent API keys from being committed via map-codebase
Defense-in-depth approach:

Layer 1 - Prevention:
- Add <forbidden_files> section to gsd-codebase-mapper agent
- Explicitly prohibit reading .env, credentials, keys, secrets
- Agent can note file existence but never quote contents

Layer 2 - Detection:
- Add scan_for_secrets step before commit in map-codebase workflow
- Regex patterns catch: sk-*, ghp_*, AKIA*, xox*-*, JWTs, private keys
- Halts with alert if secrets detected, requires user confirmation

Layer 3 - Documentation:
- Add Security section to README
- Document Claude Code deny rules for sensitive files
- Recommend defense-in-depth approach

Closes #429

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 13:13:22 -06:00
David Sienkowski
f380275ed8 fix(executor): add completion verification to prevent hallucinated success (#315)
Executor self-check after SUMMARY.md creation verifies key-files exist
on disk and commit hashes exist in git log. Orchestrator spot-checks
SUMMARY claims before trusting and proceeding to next wave. Segmented
execution (execute-plan.md) gets the same self-check inline.
2026-02-04 17:58:27 -05:00
TÂCHES
ecbc692bc9 fix(#326): enforce context fidelity in planning pipeline (#391)
* prompt(001): map dependencies for new-project command

* fix(#326): enforce context fidelity in planning pipeline

Root cause: User decisions from CONTEXT.md were available but not
enforced throughout the RESEARCH → PLAN → VERIFY chain.

Changes:
- gsd-planner: Add <context_fidelity> section requiring agents to
  parse and honor user decisions BEFORE creating tasks. Includes
  self-check checklist and conflict handling guidance.

- gsd-phase-researcher: Add User Constraints as FIRST section in
  downstream consumer table. Require researcher to copy CONTEXT.md
  decisions verbatim to RESEARCH.md so planner sees them even if
  it only skims.

- research.md template: Add <user_constraints> section that must
  be populated first. Locked decisions, Claude's discretion, and
  deferred ideas copied verbatim from CONTEXT.md.

The command file (commands/gsd/plan-phase.md) already passes
CONTEXT_CONTENT to all agents. These changes add the enforcement
layer in the agent instructions.

Fixes #326, #216, #206

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 09:17:17 -06:00
Solvely-Colin
4267c6cf67 fix: respect parallelization config setting (#379)
Fixes #376
2026-02-03 07:57:23 -06:00
Szymon Gwóźdź
2347fca35e fix: clarify ASCII box-drawing vs text content with diacritics (#289)
- Add Character Preservation section to GSD-STYLE.md
  - Clarify 'no special chars' applies to FILENAME only in add-todo
  - Use 'box-drawing' terminology for tree structure visualization

Co-authored-by: FlightCore Dev <dev@flightcore.pl>
2026-02-02 06:49:33 -06:00
Lex Christopherson
5ee22e6256 feat(git): add squash merge option for branching strategies
- Add "Squash merge" as recommended option at complete-milestone
- Keep "Merge with history" (--no-ff) as alternative
- Document merge options in planning-config reference

Improves on #298 based on community feedback from @oojacoboo.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 17:24:32 -06:00
Dave
197800e2d1 feat(git): add unified branching strategy option
Add configurable git branching with three strategies:
- none (default): commit to current branch
- phase: create branch per phase (gsd/phase-{N}-{slug})
- milestone: create branch per milestone (gsd/{version}-{slug})

Changes:
- planning-config.md: add git.branching_strategy and templates
- execute-phase.md: handle branch creation based on strategy
- settings.md: add branching strategy to settings UI
- complete-milestone.md: handle branch merging at milestone end
2026-01-24 14:32:53 -05:00
Lex Christopherson
f059a6cfb3 fix: use *-CONTEXT.md glob for filename variants
Standardize on *-CONTEXT.md glob pattern to match files like
03-CONTEXT.md across all workflows.

Files updated:
- commands/gsd/plan-phase.md
- commands/gsd/research-phase.md
- get-shit-done/workflows/discuss-phase.md
- get-shit-done/workflows/resume-project.md

Closes #219

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 20:32:10 -06:00
Lex Christopherson
7ba5dbd412 refactor: condense verbose explanations in templates and workflows
Trim redundant documentation while preserving actionable instructions.
-173 lines of prose that restated what templates already show.

Kept: size constraints, mandatory fields, security guidance.
Removed: "when to create/read/update" lifecycle prose, section
descriptions that duplicate template structure.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 11:11:16 -06:00
TÂCHES
67b064d534 Reduce manual verification in checkpoint system (#220)
* docs: enforce automation-first checkpoint verification

Checkpoints should never ask users to run CLI commands that Claude Code
can execute. This update reinforces the automation-first principle:

Key changes:
- Add golden rules: Claude runs CLI, users only visit URLs
- Add dev server automation patterns (start before checkpoint)
- Add environment variable CLI patterns (Convex, Vercel, etc.)
- Add anti-patterns: asking user to run npm, add dashboard env vars
- Update all examples to show Claude starting servers
- Add comprehensive "Never Ask Users To" and "Users Only Do" lists
- Update gsd-executor with pre-checkpoint automation requirements

The core principle: if Claude CAN automate it, Claude MUST automate it.
Users only do what requires human judgment (visual verification, UX).

* refactor: DRY checkpoint automation with server lifecycle and error handling

Changes:
- checkpoints.md is now single source of truth for automation-first patterns
- Added server lifecycle protocol (start, port conflicts, cleanup)
- Added CLI installation handling (auto-install matrix)
- Added pre-checkpoint failure handling (fix before checkpoint)
- Removed ~93 lines of duplication from verification-patterns.md
- Replaced inline examples in phase-prompt.md with references
- Slimmed gsd-executor.md checkpoint section to reference checkpoints.md

Net effect: -23 lines while adding 3 new capabilities (server lifecycle,
CLI install, error handling). Single place to update automation patterns.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-01-21 10:52:30 -06:00
Lex Christopherson
d1fda80c7f revert: remove codebase intelligence system
Rolled back the intel system due to overengineering concerns:
- 1200+ line hook with SQLite graph database
- 21MB sql.js dependency
- Entity generation spawning additional Claude calls
- Complex system with unclear value

Removed:
- /gsd:analyze-codebase command
- /gsd:query-intel command
- gsd-intel-index.js, gsd-intel-session.js, gsd-intel-prune.js hooks
- gsd-entity-generator, gsd-indexer agents
- entity.md template
- sql.js dependency

Preserved:
- Model profiles feature
- Statusline hook
- All other v1.9.x improvements

-3,065 lines removed

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-21 10:28:53 -06:00
Lex Christopherson
3a82930579 feat(intel): add self-evolving codebase intelligence
- Add entity.md template for documenting code understanding
- Add update_intel_entity step to executor workflow
- Modify gsd-intel-index.js to parse [[wiki-links]] from entities
- Hook regenerates summary.md with hotspots, modules, recent updates

Executor now creates/updates entity files after each task completion.
Summary automatically reflects accumulated semantic understanding.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-20 02:05:10 -06:00
Lex Christopherson
4218f8666a feat(profiles): add model profiles for GSD agents
Adds switchable model profiles (quality/balanced/budget) to control
which Claude model each agent uses, balancing quality vs token spend.

New files:
- get-shit-done/references/model-profiles.md - profile lookup table
- commands/gsd/set-profile.md - runtime profile switching

Updated orchestrators to resolve model before spawning agents:
- new-project, new-milestone (7 calls each)
- plan-phase (4 calls)
- execute-phase (3 calls)
- audit-milestone, debug, research-phase, quick (1-2 calls each)
- workflows: execute-phase, execute-plan, verify-work, map-codebase

Profile stored in .planning/config.json as model_profile.
Default: "balanced" (Opus for planning, Sonnet for execution).

Closes #160

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-20 01:29:04 -06:00
Lex Christopherson
cffb3f24cd feat(settings): add /gsd:settings command for workflow toggles
Adds interactive settings command to toggle workflow agents:
- Plan Researcher (workflow.research)
- Plan Checker (workflow.plan_check)
- Execution Verifier (workflow.verifier)

Updates plan-phase.md and execute-phase.md to check config before
spawning these agents. Flags still override config per-invocation.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 23:42:48 -06:00
Lex Christopherson
ce4fc96ff7 fix(orchestrators): inline file contents in Task prompts
The @ file reference syntax does not expand across Task() boundaries.
Subagents receive literal @path strings instead of file contents.

Changed orchestrator→subagent handoffs to explicitly read files and
inline content before spawning:

- plan-phase → gsd-planner: STATE, ROADMAP, REQUIREMENTS, CONTEXT, RESEARCH
- plan-phase → gsd-plan-checker: PLAN files, REQUIREMENTS
- plan-phase → gsd-planner (revision): PLAN files
- execute-phase → gsd-executor: PLAN, STATE, config

Fixes #182

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 23:11:09 -06:00
dan bachelder
1f18ec8907 feat: add uncommitted planning mode (#107)
* feat: add uncommitted planning mode

Add config option to keep planning docs local-only (not committed to git).
Useful for OSS contributions, client projects, or keeping planning private.

Config options in .planning/config.json:
- planning.commit_docs: true/false (default: true)
- planning.search_gitignored: true/false (default: false)

When commit_docs=false:
- All git operations for .planning/ files are skipped
- User should add .planning/ to .gitignore
- Planning system works normally, just not tracked

Updated files:
- config.json template: added planning section
- execute-plan.md: conditional git commits
- execute-phase.md: conditional git commits
- create-roadmap.md: conditional git commits
- help.md: documented new config options
- planning-config.md: reference doc for config behavior

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* feat: extend commit_docs check to all agents/commands/workflows

Add COMMIT_PLANNING_DOCS config check to all files that commit
.planning/ artifacts, ensuring consistent behavior when
commit_docs=false is set in config.json.

Updated:
- 5 agents (planner, executor, debugger, phase-researcher, synthesizer)
- 8 commands (add-todo, check-todos, execute-phase, new-milestone,
  pause-work, plan-milestone-gaps, remove-phase, research-project)
- 7 workflows (complete-milestone, create-milestone, define-requirements,
  diagnose-issues, discuss-phase, map-codebase, verify-work)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix(progress): use Bash instead of Glob for .planning/ check

Glob respects .gitignore, so projects with gitignored .planning/
directories would fail with "No planning structure found."

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix(new-milestone): integrate full research/requirements/roadmap flow

Previously routed to non-existent /gsd:research-project and
/gsd:define-requirements commands. Now handles the full flow inline
like new-project does:

- Phase 7: Research Decision (spawns 4 milestone-aware researchers)
- Phase 8: Define Requirements (scopes features, creates REQUIREMENTS.md)
- Phase 9: Create Roadmap (continues phase numbering from previous milestone)
- Phase 10: Done

Key adaptations for milestones:
- Research focuses on NEW features only
- Requirements add to existing, don't start fresh
- Phase numbering continues from previous milestone

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 16:49:05 -06:00
Joshua Shanks
a6f7ff2e65 fix: remove dead gsd-researcher agent references (#180)
Remove mentions of non-existent gsd-researcher agent from
discovery-phase.md and fix step numbering.

The agent was removed/renamed but the workflow still referenced
its "verification protocols".
2026-01-19 14:40:11 -06:00
Joshua Shanks
ac1f7580d8 docs: integrate unused reference files (#181)
Add proper @-references to three reference files that existed
but were never loaded:

- git-integration.md -> execute-plan.md
- continuation-format.md -> resume-project.md
- verification-patterns.md -> verify-phase.md
2026-01-19 14:38:53 -06:00
Lex Christopherson
200e004781 feat(execute-phase): add --gaps-only flag for gap closure execution
After verify-work diagnoses issues and creates fix plans, the next
command now explicitly signals intent with --gaps-only. This eliminates
redundant state discovery where execute-phase had to figure out why it
was being asked to run on an already-complete phase.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-17 02:03:29 -06:00
Lex Christopherson
c54071ccb8 refactor: unify milestone flow, remove deprecated commands
Consolidate /gsd:new-milestone to mirror /gsd:new-project:
- questioning → research (optional) → requirements → roadmap

BREAKING CHANGES:
- Remove /gsd:discuss-milestone (consolidated into new-milestone)
- Remove /gsd:create-roadmap (integrated into project/milestone flows)
- Remove /gsd:define-requirements (integrated into project/milestone flows)
- Remove /gsd:research-project (integrated into project/milestone flows)

Deleted files:
- commands/gsd/{discuss-milestone,create-roadmap,define-requirements,research-project}.md
- get-shit-done/workflows/{discuss-milestone,create-roadmap,define-requirements}.md
- get-shit-done/templates/milestone-context.md

Updated references in:
- progress.md, complete-milestone.md, help.md
- complete-milestone workflow, continuation-format.md
- questioning.md, requirements.md template, SUMMARY.md template
- gsd-project-researcher.md, gsd-roadmapper.md
- README.md

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-17 00:28:41 -06:00
Lex Christopherson
8d199427a8 fix(offer-next): remove code blocks from output templates for proper markdown rendering
Commands with <offer_next> sections were outputting backticks literally
instead of rendering them as inline code. Removed code block wrappers
and added explicit 'Output this markdown directly' instruction.

Affected: plan-phase, execute-phase, audit-milestone
2026-01-17 00:01:30 -06:00
Lex Christopherson
cfe237d439 fix(routing): recommend discuss-phase before plan-phase in all next-step suggestions
Updated routing in:
- new-project.md
- create-roadmap.md (command and workflow)
- progress.md (routes B and C)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 23:18:32 -06:00
Lex Christopherson
7c60722b71 refactor(discuss-phase): domain-aware gray areas and deeper probing
- Remove useless "None — you decide" skip option
- Generate phase-specific gray areas based on domain analysis
  (UI features, CLI tools, APIs, organization tasks, etc.)
- Increase probing depth: 4 questions per area before check
- Make context.md categories flexible (emerge from discussion)
- Add CLI and organization examples to context template

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 22:44:15 -06:00
Lex Christopherson
a31f730f62 fix: phase directory matching and orphaned references
- Support both zero-padded (05-*) and unpadded (5-*) phase folders
- Delete orphaned research-subagent-prompt.md template
- Update resume-project.md to use Task tool resume parameter

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 18:48:43 -06:00
Lex Christopherson
ed533f307f refactor: consolidate milestone workflow into command
Preserve accumulated context instruction in new-milestone command.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 18:22:01 -06:00
Lex Christopherson
fe94aaa03a fix(map-codebase): update agent output collection method
Read output files instead of TaskOutput tool.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 17:24:42 -06:00
Lex Christopherson
8251879aab refactor: remove /gsd:execute-plan command
/gsd:execute-phase handles single and multiple plans.
All references updated to use execute-phase.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 17:16:42 -06:00
Lex Christopherson
6fd95c3ce5 refactor: consolidate expertise into agents
Commands load agent expertise directly via Task tool spawning.
Thin orchestrator pattern — agents have methodology baked in.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 16:59:42 -06:00
Lex Christopherson
339e0613d8 fix: consistent zero-padding and file naming across agents
- plan-phase.md: zero-pad phase number in mkdir
- roadmapper: explicit zero-padding instruction with printf
- discuss-phase workflow: use PADDED_PHASE in file paths
- planner: fix {plan}-PLAN.md -> {phase}-{plan}-PLAN.md
- researcher: fix double-path bug in git add command
- researcher: add CONTEXT.md loading from discuss-phase

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 13:17:26 -06:00
Lex Christopherson
15d4e27075 fix(next-steps): remove /gsd:research-phase from workflow suggestions
Research is now integrated into /gsd:plan-phase by default.
Remove standalone research command from "Also available" sections.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 13:14:01 -06:00
Lex Christopherson
2b797ed4b8 fix(verify-work): add checkpoint box with clear action prompt
Closes #106 - Users didn't know what to type when presented with
test expectations. Now uses GSD checkpoint box format with explicit
"Type 'pass' or describe what's wrong" instruction.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 12:03:33 -06:00
Lex Christopherson
daa54737cf feat: add GSD brand system for consistent UI
Add ui-brand.md reference with visual patterns:
- Stage banners with GSD ► prefix
- Checkpoint boxes (62-char width)
- Status symbols vocabulary
- Next Up routing blocks

Update orchestrators to use branded output.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 11:51:57 -06:00
Lex Christopherson
9875df57ab fix: remove premature research likelihood predictions from roadmap
Research decisions made at roadmap creation time are:
- Premature: Can't know if research is needed before discuss-phase
- Redundant: --skip-research flag exists for explicit control
- Counterproductive: Gives Claude an excuse to skip research entirely

Removed:
- Research: Likely/Unlikely fields from roadmap template
- detect_research_needs step from create-roadmap workflow
- "If roadmap flagged Research: Likely" checks from gsd-planner

Research now always runs during plan-phase unless:
- RESEARCH.md already exists (silent reuse)
- --skip-research flag passed
- --gaps flag passed (gap closure mode)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 10:27:23 -06:00
Lex Christopherson
a7249ebe83 feat(discuss-phase): intelligent gray area analysis with scope guardrails
- Analyze phase to identify gray areas by category (UI, UX, Behavior, etc.)
- Present multi-select for user to choose which areas to discuss
- Deep-dive each selected area with focused questioning loop
- Explicit scope guardrail: clarify HOW, never expand WHAT
- Capture deferred ideas without acting on them
- Downstream awareness: CONTEXT.md feeds researcher and planner agents
- Template restructured for decisions (domain, decisions, discretion, deferred)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 10:11:17 -06:00
Lex Christopherson
70fa2ad740 feat(15-02): create planner-subagent-prompt.md template
- Context-only template for spawning gsd-planner
- Contains planning_context, downstream_consumer, quality_gate sections
- Includes continuation template for checkpoints
- Follows debug-subagent-prompt.md pattern
2026-01-16 07:48:56 -06:00
Lex Christopherson
e8d66e3bf9 docs(15-02): deprecate workflows/plan-phase.md
- Replaced 868-line workflow with deprecation notice
- Points to agents/gsd-planner.md for methodology
- Documents historical content for reference
- Kept file for git history
2026-01-16 07:48:33 -06:00
Lex Christopherson
a52d1fdf12 docs(15-03): add clarifying note to phase-prompt template
Note clarifies relationship with gsd-planner agent:
- Planning methodology is in agents/gsd-planner.md
- This template defines the PLAN.md output format

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 07:48:18 -06:00
Lex Christopherson
7ba0af81ba chore(15-03): deprecate planning-specific reference files
- principles.md: redirects to <philosophy> section
- plan-format.md: redirects to <plan_format> section
- scope-estimation.md: redirects to <scope_estimation> section
- goal-backward.md: redirects to <goal_backward> section

All content preserved in agents/gsd-planner.md

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 07:47:59 -06:00
Lex Christopherson
411b5a369b feat(gsd): add dedicated codebase mapper agent
Reduces context exhaustion during /gsd:map-codebase by having agents
write documents directly instead of returning findings to orchestrator.

- Create gsd-codebase-mapper agent with embedded templates
- Agent understands downstream consumers (plan-phase, execute-plan)
- Parameterized by focus: tech, arch, quality, concerns
- Each focus writes specific documents directly to .planning/codebase/
- Orchestrator receives only confirmation + line counts

Context savings: ~40 lines returned vs potentially thousands of lines
of exploration findings previously transferred back to orchestrator.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-15 17:16:02 -06:00