declare-cc 0.1.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.
Files changed (52) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +326 -0
  3. package/agents/gsd-codebase-mapper.md +761 -0
  4. package/agents/gsd-debugger.md +1198 -0
  5. package/agents/gsd-executor.md +451 -0
  6. package/agents/gsd-integration-checker.md +440 -0
  7. package/agents/gsd-phase-researcher.md +484 -0
  8. package/agents/gsd-plan-checker.md +625 -0
  9. package/agents/gsd-planner.md +1164 -0
  10. package/agents/gsd-project-researcher.md +618 -0
  11. package/agents/gsd-research-synthesizer.md +236 -0
  12. package/agents/gsd-roadmapper.md +639 -0
  13. package/agents/gsd-verifier.md +555 -0
  14. package/bin/install.js +1815 -0
  15. package/commands/declare/actions.md +78 -0
  16. package/commands/declare/future.md +52 -0
  17. package/commands/declare/milestones.md +81 -0
  18. package/commands/declare/status.md +62 -0
  19. package/commands/gsd/add-phase.md +39 -0
  20. package/commands/gsd/add-todo.md +42 -0
  21. package/commands/gsd/audit-milestone.md +42 -0
  22. package/commands/gsd/check-todos.md +41 -0
  23. package/commands/gsd/cleanup.md +18 -0
  24. package/commands/gsd/complete-milestone.md +136 -0
  25. package/commands/gsd/debug.md +162 -0
  26. package/commands/gsd/discuss-phase.md +87 -0
  27. package/commands/gsd/execute-phase.md +42 -0
  28. package/commands/gsd/health.md +22 -0
  29. package/commands/gsd/help.md +22 -0
  30. package/commands/gsd/insert-phase.md +33 -0
  31. package/commands/gsd/join-discord.md +18 -0
  32. package/commands/gsd/list-phase-assumptions.md +50 -0
  33. package/commands/gsd/map-codebase.md +71 -0
  34. package/commands/gsd/new-milestone.md +51 -0
  35. package/commands/gsd/new-project.md +42 -0
  36. package/commands/gsd/new-project.md.bak +1041 -0
  37. package/commands/gsd/pause-work.md +35 -0
  38. package/commands/gsd/plan-milestone-gaps.md +40 -0
  39. package/commands/gsd/plan-phase.md +44 -0
  40. package/commands/gsd/progress.md +24 -0
  41. package/commands/gsd/quick.md +40 -0
  42. package/commands/gsd/reapply-patches.md +110 -0
  43. package/commands/gsd/remove-phase.md +32 -0
  44. package/commands/gsd/research-phase.md +187 -0
  45. package/commands/gsd/resume-work.md +40 -0
  46. package/commands/gsd/set-profile.md +34 -0
  47. package/commands/gsd/settings.md +36 -0
  48. package/commands/gsd/update.md +37 -0
  49. package/commands/gsd/verify-work.md +39 -0
  50. package/dist/declare-tools.cjs +2962 -0
  51. package/package.json +45 -0
  52. package/scripts/build-hooks.js +42 -0
@@ -0,0 +1,78 @@
1
+ ---
2
+ description: Derive action plans per milestone
3
+ allowed-tools:
4
+ - Read
5
+ - Write
6
+ - Bash
7
+ - Glob
8
+ - Grep
9
+ - AskUserQuestion
10
+ argument-hint: "[M-XX]"
11
+ ---
12
+
13
+ Derive action plans for milestones by working backward from what must be done.
14
+
15
+ **Step 1: Load current graph state.**
16
+
17
+ ```bash
18
+ node /Users/guilherme/Projects/get-shit-done/dist/declare-tools.cjs load-graph
19
+ ```
20
+
21
+ Parse the JSON output. If the output contains an `error` field, tell the user to run `/declare:init` first and stop.
22
+
23
+ If no milestones exist in the graph, tell the user to run `/declare:milestones` first and stop.
24
+
25
+ Note all milestones and their current plan status from the graph.
26
+
27
+ **Step 2: Determine scope.**
28
+
29
+ - If `$ARGUMENTS` contains a milestone ID (e.g., `M-01`), derive only for that milestone.
30
+ - Otherwise, derive for all milestones that don't have a plan yet (milestones where `hasPlan` is false or no PLAN.md folder exists).
31
+
32
+ If all milestones already have plans and no specific milestone was requested, tell the user: "All milestones already have action plans. Run `/declare:status` to see coverage."
33
+
34
+ **Step 3: Follow the action derivation workflow.**
35
+
36
+ Read and follow the full workflow instructions:
37
+
38
+ @/Users/guilherme/Projects/get-shit-done/workflows/actions.md
39
+
40
+ Pass the loaded graph state into the workflow so it knows about existing milestones and actions.
41
+
42
+ **Step 4: For each milestone, derive and present plan for approval.**
43
+
44
+ The workflow derives actions for each milestone. After derivation, present the complete plan and ask for approval using AskUserQuestion:
45
+
46
+ ```
47
+ Use AskUserQuestion to ask the user to approve the derived plan for each milestone.
48
+
49
+ Proposed plan for M-XX "[milestone title]":
50
+ - A-XX: [action title] -- produces [what]
51
+ - A-XX: [action title] -- produces [what]
52
+
53
+ Approve this plan? (yes/adjust/skip)
54
+ ```
55
+
56
+ If the user wants adjustments, adjust and re-present. If they skip, move to the next milestone.
57
+
58
+ **Step 5: Persist each approved plan.**
59
+
60
+ For each approved plan, call create-plan:
61
+
62
+ ```bash
63
+ node /Users/guilherme/Projects/get-shit-done/dist/declare-tools.cjs create-plan --milestone "M-XX" --actions '[{"title":"Action Title","produces":"what it creates"}]'
64
+ ```
65
+
66
+ Parse the JSON output to confirm the plan was created.
67
+
68
+ **Step 6: Show summary and suggest next step.**
69
+
70
+ After all milestones processed:
71
+
72
+ 1. Reload the graph to get final counts:
73
+ ```bash
74
+ node /Users/guilherme/Projects/get-shit-done/dist/declare-tools.cjs load-graph
75
+ ```
76
+
77
+ 2. Show summary: milestones processed, plans created, total actions derived.
78
+ 3. Suggest: "Run `/declare:status` to see coverage and health."
@@ -0,0 +1,52 @@
1
+ ---
2
+ description: Declare futures through guided conversation
3
+ allowed-tools:
4
+ - Read
5
+ - Write
6
+ - Bash
7
+ - Glob
8
+ - Grep
9
+ argument-hint: "[--add]"
10
+ ---
11
+
12
+ Guide the user through declaring their project's future as present-tense truth statements.
13
+
14
+ **Step 1: Load current graph state.**
15
+
16
+ ```bash
17
+ node /Users/guilherme/Projects/get-shit-done/dist/declare-tools.cjs load-graph
18
+ ```
19
+
20
+ Parse the JSON output. If the output contains an `error` field (e.g., "No Declare project found"), tell the user to run `/declare:init` first and stop.
21
+
22
+ Note the existing declarations from the graph (if any) -- the workflow needs this context.
23
+
24
+ **Step 2: Determine mode.**
25
+
26
+ - If `$ARGUMENTS` contains `--add`, skip the intro and go directly to the per-declaration loop (adding to existing declarations).
27
+ - If the graph already has declarations and `--add` is NOT present, show existing declarations and ask: "Would you like to add to these, or start fresh?"
28
+
29
+ **Step 3: Follow the declaration capture workflow.**
30
+
31
+ Read and follow the full workflow instructions:
32
+
33
+ @/Users/guilherme/Projects/get-shit-done/workflows/future.md
34
+
35
+ Pass the loaded graph state into the workflow so it knows about existing declarations.
36
+
37
+ **Step 4: Persist each confirmed declaration.**
38
+
39
+ After each declaration passes language detection and NSR validation and the user confirms it, persist it:
40
+
41
+ ```bash
42
+ node /Users/guilherme/Projects/get-shit-done/dist/declare-tools.cjs add-declaration --title "Short Title" --statement "Full present-tense declaration statement"
43
+ ```
44
+
45
+ Parse the JSON output to confirm the declaration was created and note its assigned ID (e.g., D-01).
46
+
47
+ **Step 5: Show summary and suggest next step.**
48
+
49
+ After all declarations are captured:
50
+
51
+ 1. List all declarations with their IDs and statements.
52
+ 2. Suggest: "Run `/declare:milestones` to work backward from these declarations to milestones and actions."
@@ -0,0 +1,81 @@
1
+ ---
2
+ description: Derive milestones backward from declared futures
3
+ allowed-tools:
4
+ - Read
5
+ - Write
6
+ - Bash
7
+ - Glob
8
+ - Grep
9
+ - AskUserQuestion
10
+ argument-hint: "[D-XX]"
11
+ ---
12
+
13
+ Derive milestones by working backward from declared futures.
14
+
15
+ **Step 1: Load current graph state.**
16
+
17
+ ```bash
18
+ node /Users/guilherme/Projects/get-shit-done/dist/declare-tools.cjs load-graph
19
+ ```
20
+
21
+ Parse the JSON output. If the output contains an `error` field, tell the user to run `/declare:init` first and stop.
22
+
23
+ If no declarations exist in the graph, tell the user to run `/declare:future` first and stop.
24
+
25
+ Note all declarations and milestones from the graph -- the workflow needs full context.
26
+
27
+ **Step 2: Determine scope.**
28
+
29
+ - If `$ARGUMENTS` contains a declaration ID (e.g., `D-01`), derive only for that specific declaration.
30
+ - Otherwise, derive for all declarations that have no milestones yet (declarations with empty milestones arrays in the graph).
31
+
32
+ **Step 3: Follow the milestone derivation workflow.**
33
+
34
+ Read and follow the full workflow instructions:
35
+
36
+ @/Users/guilherme/Projects/get-shit-done/workflows/milestones.md
37
+
38
+ Pass the loaded graph state into the workflow so it knows about existing declarations and milestones.
39
+
40
+ **Step 4: Per-declaration milestone confirmation with checkboxes.**
41
+
42
+ After the workflow proposes milestones for a declaration, present them using AskUserQuestion with multi-select checkboxes:
43
+
44
+ ```
45
+ Use AskUserQuestion to present proposed milestones as a checklist. The user checks which milestones to accept. Format:
46
+
47
+ Which of these milestones should we create for D-XX?
48
+ - [ ] Milestone A -- because [reason]
49
+ - [ ] Milestone B -- because [reason]
50
+ - [ ] Milestone C -- because [reason]
51
+ ```
52
+
53
+ **Step 5: Persist each accepted milestone.**
54
+
55
+ For each checked milestone:
56
+
57
+ ```bash
58
+ node /Users/guilherme/Projects/get-shit-done/dist/declare-tools.cjs add-milestone --title "Milestone Title" --realizes "D-XX"
59
+ ```
60
+
61
+ Parse the JSON output to confirm the milestone was created and note its assigned ID.
62
+
63
+ **Step 6: Inconsistency flagging.**
64
+
65
+ If milestones already exist for a declaration being processed (re-derivation case):
66
+ - Show existing milestones for that declaration
67
+ - Ask the user if they still align with the declaration
68
+ - Offer to keep, re-derive, or adjust
69
+ - Do NOT auto-reconcile -- the user decides what to update
70
+
71
+ **Step 7: Show summary and suggest next step.**
72
+
73
+ After all declarations processed:
74
+
75
+ 1. Reload the graph to get final counts:
76
+ ```bash
77
+ node /Users/guilherme/Projects/get-shit-done/dist/declare-tools.cjs load-graph
78
+ ```
79
+
80
+ 2. Show summary: declarations processed, milestones derived.
81
+ 3. Suggest: "Run `/declare:actions` to derive action plans for each milestone."
@@ -0,0 +1,62 @@
1
+ ---
2
+ description: Show graph state, layer counts, health indicators, and last activity
3
+ allowed-tools:
4
+ - Read
5
+ - Bash
6
+ - Grep
7
+ - Glob
8
+ ---
9
+
10
+ Show the current state of the Declare project graph.
11
+
12
+ **Step 1: Run the status tool.**
13
+
14
+ ```bash
15
+ node /Users/guilherme/Projects/get-shit-done/dist/declare-tools.cjs status
16
+ ```
17
+
18
+ Parse the JSON output.
19
+
20
+ **Step 2: Handle errors.**
21
+
22
+ If the output contains an `error` field (e.g., "No Declare project found"), display the error and suggest running `/declare:init`.
23
+
24
+ **Step 3: Format the status display.**
25
+
26
+ Render a rich visual summary with these sections:
27
+
28
+ **Project header:** Display the project name prominently.
29
+
30
+ **Graph Stats:** Show counts in a compact format:
31
+ - Declarations: N
32
+ - Milestones: N
33
+ - Actions: N
34
+ - Edges: N
35
+
36
+ **Status Distribution:** Show the breakdown by status (PENDING/ACTIVE/DONE) as a visual bar or counts.
37
+
38
+ **Validation Health:**
39
+ - If `health` is "healthy": show a pass indicator
40
+ - If `health` is "warnings": show warnings with the validation error list
41
+ - If `health` is "errors": show errors with the validation error list and actionable suggestions for each
42
+
43
+ For each validation error, provide a brief suggestion:
44
+ - `orphan`: "Connect this node to a parent with an edge"
45
+ - `cycle`: "Check for circular dependencies in your graph"
46
+ - `broken_edge`: "The target node may have been removed -- update or remove the edge"
47
+
48
+ **Coverage:** Show milestone plan coverage from the `coverage` field:
49
+ - "Plan coverage: X of Y milestones have plans (Z%)"
50
+ - If coverage is less than 100%, list milestones without plans and suggest: "Run `/declare:actions` to derive plans for uncovered milestones."
51
+
52
+ **Health Indicators:** If `staleness` indicators exist, render them:
53
+ - NO_PLAN: "[M-XX] has no action plan"
54
+ - STALE: "[M-XX] plan not updated in N days"
55
+ - COMPLETABLE: "[M-XX] all actions done -- consider marking milestone as DONE"
56
+ - INCONSISTENT: "[M-XX] marked DONE but has incomplete actions"
57
+
58
+ If no staleness indicators: "All milestones healthy."
59
+
60
+ **Last Activity:** Show the timestamp and commit message from the last git activity.
61
+
62
+ The overall feel should be like a dashboard -- compact, scannable, with clear health indicators.
@@ -0,0 +1,39 @@
1
+ ---
2
+ name: gsd:add-phase
3
+ description: Add phase to end of current milestone in roadmap
4
+ argument-hint: <description>
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Bash
9
+ ---
10
+
11
+ <objective>
12
+ Add a new integer phase to the end of the current milestone in the roadmap.
13
+
14
+ Routes to the add-phase workflow which handles:
15
+ - Phase number calculation (next sequential integer)
16
+ - Directory creation with slug generation
17
+ - Roadmap structure updates
18
+ - STATE.md roadmap evolution tracking
19
+ </objective>
20
+
21
+ <execution_context>
22
+ @.planning/ROADMAP.md
23
+ @.planning/STATE.md
24
+ @~/.claude/get-shit-done/workflows/add-phase.md
25
+ </execution_context>
26
+
27
+ <process>
28
+ **Follow the add-phase workflow** from `@~/.claude/get-shit-done/workflows/add-phase.md`.
29
+
30
+ The workflow handles all logic including:
31
+ 1. Argument parsing and validation
32
+ 2. Roadmap existence checking
33
+ 3. Current milestone identification
34
+ 4. Next phase number calculation (ignoring decimals)
35
+ 5. Slug generation from description
36
+ 6. Phase directory creation
37
+ 7. Roadmap entry insertion
38
+ 8. STATE.md updates
39
+ </process>
@@ -0,0 +1,42 @@
1
+ ---
2
+ name: gsd:add-todo
3
+ description: Capture idea or task as todo from current conversation context
4
+ argument-hint: [optional description]
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Bash
9
+ - AskUserQuestion
10
+ ---
11
+
12
+ <objective>
13
+ Capture an idea, task, or issue that surfaces during a GSD session as a structured todo for later work.
14
+
15
+ Routes to the add-todo workflow which handles:
16
+ - Directory structure creation
17
+ - Content extraction from arguments or conversation
18
+ - Area inference from file paths
19
+ - Duplicate detection and resolution
20
+ - Todo file creation with frontmatter
21
+ - STATE.md updates
22
+ - Git commits
23
+ </objective>
24
+
25
+ <execution_context>
26
+ @.planning/STATE.md
27
+ @~/.claude/get-shit-done/workflows/add-todo.md
28
+ </execution_context>
29
+
30
+ <process>
31
+ **Follow the add-todo workflow** from `@~/.claude/get-shit-done/workflows/add-todo.md`.
32
+
33
+ The workflow handles all logic including:
34
+ 1. Directory ensuring
35
+ 2. Existing area checking
36
+ 3. Content extraction (arguments or conversation)
37
+ 4. Area inference
38
+ 5. Duplicate checking
39
+ 6. File creation with slug generation
40
+ 7. STATE.md updates
41
+ 8. Git commits
42
+ </process>
@@ -0,0 +1,42 @@
1
+ ---
2
+ name: gsd:audit-milestone
3
+ description: Audit milestone completion against original intent before archiving
4
+ argument-hint: "[version]"
5
+ allowed-tools:
6
+ - Read
7
+ - Glob
8
+ - Grep
9
+ - Bash
10
+ - Task
11
+ - Write
12
+ ---
13
+ <objective>
14
+ Verify milestone achieved its definition of done. Check requirements coverage, cross-phase integration, and end-to-end flows.
15
+
16
+ **This command IS the orchestrator.** Reads existing VERIFICATION.md files (phases already verified during execute-phase), aggregates tech debt and deferred gaps, then spawns integration checker for cross-phase wiring.
17
+ </objective>
18
+
19
+ <execution_context>
20
+ @~/.claude/get-shit-done/workflows/audit-milestone.md
21
+ </execution_context>
22
+
23
+ <context>
24
+ Version: $ARGUMENTS (optional — defaults to current milestone)
25
+
26
+ **Original Intent:**
27
+ @.planning/PROJECT.md
28
+ @.planning/REQUIREMENTS.md
29
+
30
+ **Planned Work:**
31
+ @.planning/ROADMAP.md
32
+ @.planning/config.json (if exists)
33
+
34
+ **Completed Work:**
35
+ Glob: .planning/phases/*/*-SUMMARY.md
36
+ Glob: .planning/phases/*/*-VERIFICATION.md
37
+ </context>
38
+
39
+ <process>
40
+ Execute the audit-milestone workflow from @~/.claude/get-shit-done/workflows/audit-milestone.md end-to-end.
41
+ Preserve all workflow gates (scope determination, verification reading, integration check, requirements coverage, routing).
42
+ </process>
@@ -0,0 +1,41 @@
1
+ ---
2
+ name: gsd:check-todos
3
+ description: List pending todos and select one to work on
4
+ argument-hint: [area filter]
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Bash
9
+ - AskUserQuestion
10
+ ---
11
+
12
+ <objective>
13
+ List all pending todos, allow selection, load full context for the selected todo, and route to appropriate action.
14
+
15
+ Routes to the check-todos workflow which handles:
16
+ - Todo counting and listing with area filtering
17
+ - Interactive selection with full context loading
18
+ - Roadmap correlation checking
19
+ - Action routing (work now, add to phase, brainstorm, create phase)
20
+ - STATE.md updates and git commits
21
+ </objective>
22
+
23
+ <execution_context>
24
+ @.planning/STATE.md
25
+ @.planning/ROADMAP.md
26
+ @~/.claude/get-shit-done/workflows/check-todos.md
27
+ </execution_context>
28
+
29
+ <process>
30
+ **Follow the check-todos workflow** from `@~/.claude/get-shit-done/workflows/check-todos.md`.
31
+
32
+ The workflow handles all logic including:
33
+ 1. Todo existence checking
34
+ 2. Area filtering
35
+ 3. Interactive listing and selection
36
+ 4. Full context loading with file summaries
37
+ 5. Roadmap correlation checking
38
+ 6. Action offering and execution
39
+ 7. STATE.md updates
40
+ 8. Git commits
41
+ </process>
@@ -0,0 +1,18 @@
1
+ ---
2
+ name: gsd:cleanup
3
+ description: Archive accumulated phase directories from completed milestones
4
+ ---
5
+ <objective>
6
+ Archive phase directories from completed milestones into `.planning/milestones/v{X.Y}-phases/`.
7
+
8
+ Use when `.planning/phases/` has accumulated directories from past milestones.
9
+ </objective>
10
+
11
+ <execution_context>
12
+ @~/.claude/get-shit-done/workflows/cleanup.md
13
+ </execution_context>
14
+
15
+ <process>
16
+ Follow the cleanup workflow at @~/.claude/get-shit-done/workflows/cleanup.md.
17
+ Identify completed milestones, show a dry-run summary, and archive on confirmation.
18
+ </process>
@@ -0,0 +1,136 @@
1
+ ---
2
+ type: prompt
3
+ name: gsd:complete-milestone
4
+ description: Archive completed milestone and prepare for next version
5
+ argument-hint: <version>
6
+ allowed-tools:
7
+ - Read
8
+ - Write
9
+ - Bash
10
+ ---
11
+
12
+ <objective>
13
+ Mark milestone {{version}} complete, archive to milestones/, and update ROADMAP.md and REQUIREMENTS.md.
14
+
15
+ Purpose: Create historical record of shipped version, archive milestone artifacts (roadmap + requirements), and prepare for next milestone.
16
+ Output: Milestone archived (roadmap + requirements), PROJECT.md evolved, git tagged.
17
+ </objective>
18
+
19
+ <execution_context>
20
+ **Load these files NOW (before proceeding):**
21
+
22
+ - @~/.claude/get-shit-done/workflows/complete-milestone.md (main workflow)
23
+ - @~/.claude/get-shit-done/templates/milestone-archive.md (archive template)
24
+ </execution_context>
25
+
26
+ <context>
27
+ **Project files:**
28
+ - `.planning/ROADMAP.md`
29
+ - `.planning/REQUIREMENTS.md`
30
+ - `.planning/STATE.md`
31
+ - `.planning/PROJECT.md`
32
+
33
+ **User input:**
34
+
35
+ - Version: {{version}} (e.g., "1.0", "1.1", "2.0")
36
+ </context>
37
+
38
+ <process>
39
+
40
+ **Follow complete-milestone.md workflow:**
41
+
42
+ 0. **Check for audit:**
43
+
44
+ - Look for `.planning/v{{version}}-MILESTONE-AUDIT.md`
45
+ - If missing or stale: recommend `/gsd:audit-milestone` first
46
+ - If audit status is `gaps_found`: recommend `/gsd:plan-milestone-gaps` first
47
+ - If audit status is `passed`: proceed to step 1
48
+
49
+ ```markdown
50
+ ## Pre-flight Check
51
+
52
+ {If no v{{version}}-MILESTONE-AUDIT.md:}
53
+ ⚠ No milestone audit found. Run `/gsd:audit-milestone` first to verify
54
+ requirements coverage, cross-phase integration, and E2E flows.
55
+
56
+ {If audit has gaps:}
57
+ ⚠ Milestone audit found gaps. Run `/gsd:plan-milestone-gaps` to create
58
+ phases that close the gaps, or proceed anyway to accept as tech debt.
59
+
60
+ {If audit passed:}
61
+ ✓ Milestone audit passed. Proceeding with completion.
62
+ ```
63
+
64
+ 1. **Verify readiness:**
65
+
66
+ - Check all phases in milestone have completed plans (SUMMARY.md exists)
67
+ - Present milestone scope and stats
68
+ - Wait for confirmation
69
+
70
+ 2. **Gather stats:**
71
+
72
+ - Count phases, plans, tasks
73
+ - Calculate git range, file changes, LOC
74
+ - Extract timeline from git log
75
+ - Present summary, confirm
76
+
77
+ 3. **Extract accomplishments:**
78
+
79
+ - Read all phase SUMMARY.md files in milestone range
80
+ - Extract 4-6 key accomplishments
81
+ - Present for approval
82
+
83
+ 4. **Archive milestone:**
84
+
85
+ - Create `.planning/milestones/v{{version}}-ROADMAP.md`
86
+ - Extract full phase details from ROADMAP.md
87
+ - Fill milestone-archive.md template
88
+ - Update ROADMAP.md to one-line summary with link
89
+
90
+ 5. **Archive requirements:**
91
+
92
+ - Create `.planning/milestones/v{{version}}-REQUIREMENTS.md`
93
+ - Mark all v1 requirements as complete (checkboxes checked)
94
+ - Note requirement outcomes (validated, adjusted, dropped)
95
+ - Delete `.planning/REQUIREMENTS.md` (fresh one created for next milestone)
96
+
97
+ 6. **Update PROJECT.md:**
98
+
99
+ - Add "Current State" section with shipped version
100
+ - Add "Next Milestone Goals" section
101
+ - Archive previous content in `<details>` (if v1.1+)
102
+
103
+ 7. **Commit and tag:**
104
+
105
+ - Stage: MILESTONES.md, PROJECT.md, ROADMAP.md, STATE.md, archive files
106
+ - Commit: `chore: archive v{{version}} milestone`
107
+ - Tag: `git tag -a v{{version}} -m "[milestone summary]"`
108
+ - Ask about pushing tag
109
+
110
+ 8. **Offer next steps:**
111
+ - `/gsd:new-milestone` — start next milestone (questioning → research → requirements → roadmap)
112
+
113
+ </process>
114
+
115
+ <success_criteria>
116
+
117
+ - Milestone archived to `.planning/milestones/v{{version}}-ROADMAP.md`
118
+ - Requirements archived to `.planning/milestones/v{{version}}-REQUIREMENTS.md`
119
+ - `.planning/REQUIREMENTS.md` deleted (fresh for next milestone)
120
+ - ROADMAP.md collapsed to one-line entry
121
+ - PROJECT.md updated with current state
122
+ - Git tag v{{version}} created
123
+ - Commit successful
124
+ - User knows next steps (including need for fresh requirements)
125
+ </success_criteria>
126
+
127
+ <critical_rules>
128
+
129
+ - **Load workflow first:** Read complete-milestone.md before executing
130
+ - **Verify completion:** All phases must have SUMMARY.md files
131
+ - **User confirmation:** Wait for approval at verification gates
132
+ - **Archive before deleting:** Always create archive files before updating/deleting originals
133
+ - **One-line summary:** Collapsed milestone in ROADMAP.md should be single line with link
134
+ - **Context efficiency:** Archive keeps ROADMAP.md and REQUIREMENTS.md constant size per milestone
135
+ - **Fresh requirements:** Next milestone starts with `/gsd:new-milestone` which includes requirements definition
136
+ </critical_rules>