pmp-gywd 3.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +27 -0
- package/README.md +567 -0
- package/bin/install.js +348 -0
- package/commands/gywd/add-phase.md +207 -0
- package/commands/gywd/anticipate.md +271 -0
- package/commands/gywd/bootstrap.md +336 -0
- package/commands/gywd/challenge.md +344 -0
- package/commands/gywd/check-drift.md +144 -0
- package/commands/gywd/complete-milestone.md +106 -0
- package/commands/gywd/consider-issues.md +202 -0
- package/commands/gywd/context.md +93 -0
- package/commands/gywd/create-roadmap.md +115 -0
- package/commands/gywd/deps.md +169 -0
- package/commands/gywd/digest.md +138 -0
- package/commands/gywd/discuss-milestone.md +47 -0
- package/commands/gywd/discuss-phase.md +60 -0
- package/commands/gywd/execute-plan.md +161 -0
- package/commands/gywd/extract-decisions.md +325 -0
- package/commands/gywd/health.md +150 -0
- package/commands/gywd/help.md +556 -0
- package/commands/gywd/history.md +278 -0
- package/commands/gywd/impact.md +317 -0
- package/commands/gywd/init.md +95 -0
- package/commands/gywd/insert-phase.md +227 -0
- package/commands/gywd/list-phase-assumptions.md +50 -0
- package/commands/gywd/map-codebase.md +84 -0
- package/commands/gywd/memory.md +159 -0
- package/commands/gywd/new-milestone.md +59 -0
- package/commands/gywd/new-project.md +315 -0
- package/commands/gywd/pause-work.md +123 -0
- package/commands/gywd/plan-fix.md +205 -0
- package/commands/gywd/plan-phase.md +93 -0
- package/commands/gywd/preview-plan.md +139 -0
- package/commands/gywd/profile.md +363 -0
- package/commands/gywd/progress.md +317 -0
- package/commands/gywd/remove-phase.md +338 -0
- package/commands/gywd/research-phase.md +91 -0
- package/commands/gywd/resume-work.md +40 -0
- package/commands/gywd/rollback.md +179 -0
- package/commands/gywd/status.md +42 -0
- package/commands/gywd/sync-github.md +234 -0
- package/commands/gywd/verify-work.md +71 -0
- package/commands/gywd/why.md +251 -0
- package/docs/COMMANDS.md +722 -0
- package/docs/CONTRIBUTING.md +342 -0
- package/docs/EXAMPLES.md +535 -0
- package/docs/GETTING-STARTED.md +262 -0
- package/docs/README.md +55 -0
- package/docs/RELEASING.md +159 -0
- package/get-your-work-done/core/agent-patterns.md +331 -0
- package/get-your-work-done/core/architecture.md +334 -0
- package/get-your-work-done/core/context-model-schema.json +154 -0
- package/get-your-work-done/core/decisions-schema.json +193 -0
- package/get-your-work-done/core/learning-state-schema.json +133 -0
- package/get-your-work-done/core/profile-schema.json +257 -0
- package/get-your-work-done/references/adaptive-decomposition.md +175 -0
- package/get-your-work-done/references/checkpoints.md +287 -0
- package/get-your-work-done/references/confidence-scoring.md +169 -0
- package/get-your-work-done/references/continuation-format.md +255 -0
- package/get-your-work-done/references/git-integration.md +254 -0
- package/get-your-work-done/references/plan-format.md +428 -0
- package/get-your-work-done/references/principles.md +157 -0
- package/get-your-work-done/references/questioning.md +162 -0
- package/get-your-work-done/references/research-pitfalls.md +215 -0
- package/get-your-work-done/references/scope-estimation.md +172 -0
- package/get-your-work-done/references/tdd.md +263 -0
- package/get-your-work-done/templates/codebase/architecture.md +255 -0
- package/get-your-work-done/templates/codebase/concerns.md +310 -0
- package/get-your-work-done/templates/codebase/conventions.md +307 -0
- package/get-your-work-done/templates/codebase/integrations.md +280 -0
- package/get-your-work-done/templates/codebase/stack.md +186 -0
- package/get-your-work-done/templates/codebase/structure.md +285 -0
- package/get-your-work-done/templates/codebase/testing.md +480 -0
- package/get-your-work-done/templates/config.json +18 -0
- package/get-your-work-done/templates/context.md +161 -0
- package/get-your-work-done/templates/continue-here.md +78 -0
- package/get-your-work-done/templates/discovery.md +146 -0
- package/get-your-work-done/templates/issues.md +32 -0
- package/get-your-work-done/templates/milestone-archive.md +123 -0
- package/get-your-work-done/templates/milestone-context.md +93 -0
- package/get-your-work-done/templates/milestone.md +115 -0
- package/get-your-work-done/templates/phase-prompt.md +303 -0
- package/get-your-work-done/templates/project.md +184 -0
- package/get-your-work-done/templates/research.md +529 -0
- package/get-your-work-done/templates/roadmap.md +196 -0
- package/get-your-work-done/templates/state.md +210 -0
- package/get-your-work-done/templates/summary.md +273 -0
- package/get-your-work-done/templates/uat-issues.md +143 -0
- package/get-your-work-done/workflows/complete-milestone.md +643 -0
- package/get-your-work-done/workflows/create-milestone.md +416 -0
- package/get-your-work-done/workflows/create-roadmap.md +481 -0
- package/get-your-work-done/workflows/discovery-phase.md +293 -0
- package/get-your-work-done/workflows/discuss-milestone.md +236 -0
- package/get-your-work-done/workflows/discuss-phase.md +247 -0
- package/get-your-work-done/workflows/execute-phase.md +1625 -0
- package/get-your-work-done/workflows/list-phase-assumptions.md +178 -0
- package/get-your-work-done/workflows/map-codebase.md +434 -0
- package/get-your-work-done/workflows/plan-phase.md +488 -0
- package/get-your-work-done/workflows/research-phase.md +436 -0
- package/get-your-work-done/workflows/resume-project.md +287 -0
- package/get-your-work-done/workflows/transition.md +580 -0
- package/get-your-work-done/workflows/verify-work.md +202 -0
- package/lib/automation/dependency-analyzer.js +635 -0
- package/lib/automation/doc-generator.js +643 -0
- package/lib/automation/index.js +42 -0
- package/lib/automation/test-generator.js +628 -0
- package/lib/context/context-analyzer.js +554 -0
- package/lib/context/context-cache.js +426 -0
- package/lib/context/context-predictor.js +622 -0
- package/lib/context/index.js +44 -0
- package/lib/memory/confidence-calibrator.js +484 -0
- package/lib/memory/feedback-collector.js +551 -0
- package/lib/memory/global-memory.js +465 -0
- package/lib/memory/index.js +75 -0
- package/lib/memory/pattern-aggregator.js +487 -0
- package/lib/memory/team-sync.js +501 -0
- package/lib/profile/index.js +24 -0
- package/lib/profile/pattern-learner.js +303 -0
- package/lib/profile/profile-manager.js +445 -0
- package/lib/questioning/index.js +49 -0
- package/lib/questioning/question-engine.js +311 -0
- package/lib/questioning/question-templates.js +315 -0
- package/lib/validators/command-validator.js +188 -0
- package/lib/validators/index.js +29 -0
- package/lib/validators/schema-validator.js +183 -0
- package/package.json +61 -0
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: GYWD:insert-phase
|
|
3
|
+
description: Insert urgent work as decimal phase (e.g., 72.1) between existing phases
|
|
4
|
+
argument-hint: <after> <description>
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Write
|
|
8
|
+
- Bash
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
<objective>
|
|
12
|
+
Insert a decimal phase for urgent work discovered mid-milestone that must be completed between existing integer phases.
|
|
13
|
+
|
|
14
|
+
Uses decimal numbering (72.1, 72.2, etc.) to preserve the logical sequence of planned phases while accommodating urgent insertions.
|
|
15
|
+
|
|
16
|
+
Purpose: Handle urgent work discovered during execution without renumbering entire roadmap.
|
|
17
|
+
</objective>
|
|
18
|
+
|
|
19
|
+
<execution_context>
|
|
20
|
+
@.planning/ROADMAP.md
|
|
21
|
+
@.planning/STATE.md
|
|
22
|
+
</execution_context>
|
|
23
|
+
|
|
24
|
+
<process>
|
|
25
|
+
|
|
26
|
+
<step name="parse_arguments">
|
|
27
|
+
Parse the command arguments:
|
|
28
|
+
- First argument: integer phase number to insert after
|
|
29
|
+
- Remaining arguments: phase description
|
|
30
|
+
|
|
31
|
+
Example: `/gywd:insert-phase 72 Fix critical auth bug`
|
|
32
|
+
→ after = 72
|
|
33
|
+
→ description = "Fix critical auth bug"
|
|
34
|
+
|
|
35
|
+
Validation:
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
if [ $# -lt 2 ]; then
|
|
39
|
+
echo "ERROR: Both phase number and description required"
|
|
40
|
+
echo "Usage: /gywd:insert-phase <after> <description>"
|
|
41
|
+
echo "Example: /gywd:insert-phase 72 Fix critical auth bug"
|
|
42
|
+
exit 1
|
|
43
|
+
fi
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Parse first argument as integer:
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
after_phase=$1
|
|
50
|
+
shift
|
|
51
|
+
description="$*"
|
|
52
|
+
|
|
53
|
+
# Validate after_phase is an integer
|
|
54
|
+
if ! [[ "$after_phase" =~ ^[0-9]+$ ]]; then
|
|
55
|
+
echo "ERROR: Phase number must be an integer"
|
|
56
|
+
exit 1
|
|
57
|
+
fi
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
</step>
|
|
61
|
+
|
|
62
|
+
<step name="load_roadmap">
|
|
63
|
+
Load the roadmap file:
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
if [ -f .planning/ROADMAP.md ]; then
|
|
67
|
+
ROADMAP=".planning/ROADMAP.md"
|
|
68
|
+
else
|
|
69
|
+
echo "ERROR: No roadmap found (.planning/ROADMAP.md)"
|
|
70
|
+
exit 1
|
|
71
|
+
fi
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
Read roadmap content for parsing.
|
|
75
|
+
</step>
|
|
76
|
+
|
|
77
|
+
<step name="verify_target_phase">
|
|
78
|
+
Verify that the target phase exists in the roadmap:
|
|
79
|
+
|
|
80
|
+
1. Search for "### Phase {after_phase}:" heading
|
|
81
|
+
2. If not found:
|
|
82
|
+
|
|
83
|
+
```
|
|
84
|
+
ERROR: Phase {after_phase} not found in roadmap
|
|
85
|
+
Available phases: [list phase numbers]
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
Exit.
|
|
89
|
+
|
|
90
|
+
3. Verify phase is in current milestone (not completed/archived)
|
|
91
|
+
</step>
|
|
92
|
+
|
|
93
|
+
<step name="find_existing_decimals">
|
|
94
|
+
Find existing decimal phases after the target phase:
|
|
95
|
+
|
|
96
|
+
1. Search for all "### Phase {after_phase}.N:" headings
|
|
97
|
+
2. Extract decimal suffixes (e.g., for Phase 72: find 72.1, 72.2, 72.3)
|
|
98
|
+
3. Find the highest decimal suffix
|
|
99
|
+
4. Calculate next decimal: max + 1
|
|
100
|
+
|
|
101
|
+
Examples:
|
|
102
|
+
|
|
103
|
+
- Phase 72 with no decimals → next is 72.1
|
|
104
|
+
- Phase 72 with 72.1 → next is 72.2
|
|
105
|
+
- Phase 72 with 72.1, 72.2 → next is 72.3
|
|
106
|
+
|
|
107
|
+
Store as: `decimal_phase="${after_phase}.${next_decimal}"`
|
|
108
|
+
</step>
|
|
109
|
+
|
|
110
|
+
<step name="generate_slug">
|
|
111
|
+
Convert the phase description to a kebab-case slug:
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
slug=$(echo "$description" | tr '[:upper:]' '[:lower:]' | sed 's/[^a-z0-9]/-/g' | sed 's/--*/-/g' | sed 's/^-//;s/-$//')
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
Phase directory name: `{decimal-phase}-{slug}`
|
|
118
|
+
Example: `72.1-fix-critical-auth-bug`
|
|
119
|
+
</step>
|
|
120
|
+
|
|
121
|
+
<step name="create_phase_directory">
|
|
122
|
+
Create the phase directory structure:
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
phase_dir=".planning/phases/${decimal_phase}-${slug}"
|
|
126
|
+
mkdir -p "$phase_dir"
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
Confirm: "Created directory: $phase_dir"
|
|
130
|
+
</step>
|
|
131
|
+
|
|
132
|
+
<step name="update_roadmap">
|
|
133
|
+
Insert the new phase entry into the roadmap:
|
|
134
|
+
|
|
135
|
+
1. Find insertion point: immediately after Phase {after_phase}'s content (before next phase heading or "---")
|
|
136
|
+
2. Insert new phase heading with (INSERTED) marker:
|
|
137
|
+
|
|
138
|
+
```
|
|
139
|
+
### Phase {decimal_phase}: {Description} (INSERTED)
|
|
140
|
+
|
|
141
|
+
**Goal:** [Urgent work - to be planned]
|
|
142
|
+
**Depends on:** Phase {after_phase}
|
|
143
|
+
**Plans:** 0 plans
|
|
144
|
+
|
|
145
|
+
Plans:
|
|
146
|
+
- [ ] TBD (run /gywd:plan-phase {decimal_phase} to break down)
|
|
147
|
+
|
|
148
|
+
**Details:**
|
|
149
|
+
[To be added during planning]
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
3. Write updated roadmap back to file
|
|
153
|
+
|
|
154
|
+
The "(INSERTED)" marker helps identify decimal phases as urgent insertions.
|
|
155
|
+
|
|
156
|
+
Preserve all other content exactly (formatting, spacing, other phases).
|
|
157
|
+
</step>
|
|
158
|
+
|
|
159
|
+
<step name="update_project_state">
|
|
160
|
+
Update STATE.md to reflect the inserted phase:
|
|
161
|
+
|
|
162
|
+
1. Read `.planning/STATE.md`
|
|
163
|
+
2. Under "## Accumulated Context" → "### Roadmap Evolution" add entry:
|
|
164
|
+
```
|
|
165
|
+
- Phase {decimal_phase} inserted after Phase {after_phase}: {description} (URGENT)
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
If "Roadmap Evolution" section doesn't exist, create it.
|
|
169
|
+
|
|
170
|
+
Add note about insertion reason if appropriate.
|
|
171
|
+
</step>
|
|
172
|
+
|
|
173
|
+
<step name="completion">
|
|
174
|
+
Present completion summary:
|
|
175
|
+
|
|
176
|
+
```
|
|
177
|
+
Phase {decimal_phase} inserted after Phase {after_phase}:
|
|
178
|
+
- Description: {description}
|
|
179
|
+
- Directory: .planning/phases/{decimal-phase}-{slug}/
|
|
180
|
+
- Status: Not planned yet
|
|
181
|
+
- Marker: (INSERTED) - indicates urgent work
|
|
182
|
+
|
|
183
|
+
Roadmap updated: {roadmap-path}
|
|
184
|
+
Project state updated: .planning/STATE.md
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
## ▶ Next Up
|
|
189
|
+
|
|
190
|
+
**Phase {decimal_phase}: {description}** — urgent insertion
|
|
191
|
+
|
|
192
|
+
`/gywd:plan-phase {decimal_phase}`
|
|
193
|
+
|
|
194
|
+
<sub>`/clear` first → fresh context window</sub>
|
|
195
|
+
|
|
196
|
+
---
|
|
197
|
+
|
|
198
|
+
**Also available:**
|
|
199
|
+
- Review insertion impact: Check if Phase {next_integer} dependencies still make sense
|
|
200
|
+
- Review roadmap
|
|
201
|
+
|
|
202
|
+
---
|
|
203
|
+
```
|
|
204
|
+
</step>
|
|
205
|
+
|
|
206
|
+
</process>
|
|
207
|
+
|
|
208
|
+
<anti_patterns>
|
|
209
|
+
|
|
210
|
+
- Don't use this for planned work at end of milestone (use /gywd:add-phase)
|
|
211
|
+
- Don't insert before Phase 1 (decimal 0.1 makes no sense)
|
|
212
|
+
- Don't renumber existing phases
|
|
213
|
+
- Don't modify the target phase content
|
|
214
|
+
- Don't create plans yet (that's /gywd:plan-phase)
|
|
215
|
+
- Don't commit changes (user decides when to commit)
|
|
216
|
+
</anti_patterns>
|
|
217
|
+
|
|
218
|
+
<success_criteria>
|
|
219
|
+
Phase insertion is complete when:
|
|
220
|
+
|
|
221
|
+
- [ ] Phase directory created: `.planning/phases/{N.M}-{slug}/`
|
|
222
|
+
- [ ] Roadmap updated with new phase entry (includes "(INSERTED)" marker)
|
|
223
|
+
- [ ] Phase inserted in correct position (after target phase, before next integer phase)
|
|
224
|
+
- [ ] STATE.md updated with roadmap evolution note
|
|
225
|
+
- [ ] Decimal number calculated correctly (based on existing decimals)
|
|
226
|
+
- [ ] User informed of next steps and dependency implications
|
|
227
|
+
</success_criteria>
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: GYWD:list-phase-assumptions
|
|
3
|
+
description: Surface Claude's assumptions about a phase approach before planning
|
|
4
|
+
argument-hint: "[phase]"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Bash
|
|
8
|
+
- Grep
|
|
9
|
+
- Glob
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
<objective>
|
|
13
|
+
Analyze a phase and present Claude's assumptions about technical approach, implementation order, scope boundaries, risk areas, and dependencies.
|
|
14
|
+
|
|
15
|
+
Purpose: Help users see what Claude thinks BEFORE planning begins - enabling course correction early when assumptions are wrong.
|
|
16
|
+
Output: Conversational output only (no file creation) - ends with "What do you think?" prompt
|
|
17
|
+
</objective>
|
|
18
|
+
|
|
19
|
+
<execution_context>
|
|
20
|
+
@~/.claude/get-your-work-done/workflows/list-phase-assumptions.md
|
|
21
|
+
</execution_context>
|
|
22
|
+
|
|
23
|
+
<context>
|
|
24
|
+
Phase number: $ARGUMENTS (required)
|
|
25
|
+
|
|
26
|
+
**Load project state first:**
|
|
27
|
+
@.planning/STATE.md
|
|
28
|
+
|
|
29
|
+
**Load roadmap:**
|
|
30
|
+
@.planning/ROADMAP.md
|
|
31
|
+
</context>
|
|
32
|
+
|
|
33
|
+
<process>
|
|
34
|
+
1. Validate phase number argument (error if missing or invalid)
|
|
35
|
+
2. Check if phase exists in roadmap
|
|
36
|
+
3. Follow list-phase-assumptions.md workflow:
|
|
37
|
+
- Analyze roadmap description
|
|
38
|
+
- Surface assumptions about: technical approach, implementation order, scope, risks, dependencies
|
|
39
|
+
- Present assumptions clearly
|
|
40
|
+
- Prompt "What do you think?"
|
|
41
|
+
4. Gather feedback and offer next steps
|
|
42
|
+
</process>
|
|
43
|
+
|
|
44
|
+
<success_criteria>
|
|
45
|
+
|
|
46
|
+
- Phase validated against roadmap
|
|
47
|
+
- Assumptions surfaced across five areas
|
|
48
|
+
- User prompted for feedback
|
|
49
|
+
- User knows next steps (discuss context, plan phase, or correct assumptions)
|
|
50
|
+
</success_criteria>
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: GYWD:map-codebase
|
|
3
|
+
description: Analyze codebase with parallel Explore agents to produce .planning/codebase/ documents
|
|
4
|
+
argument-hint: "[optional: specific area to map, e.g., 'api' or 'auth']"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Bash
|
|
8
|
+
- Glob
|
|
9
|
+
- Grep
|
|
10
|
+
- Write
|
|
11
|
+
- Task
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
<objective>
|
|
15
|
+
Analyze existing codebase using parallel Explore agents to produce structured codebase documents.
|
|
16
|
+
|
|
17
|
+
This command spawns multiple Explore agents to analyze different aspects of the codebase in parallel, each with fresh context.
|
|
18
|
+
|
|
19
|
+
Output: .planning/codebase/ folder with 7 structured documents about the codebase state.
|
|
20
|
+
</objective>
|
|
21
|
+
|
|
22
|
+
<execution_context>
|
|
23
|
+
@~/.claude/get-your-work-done/workflows/map-codebase.md
|
|
24
|
+
@~/.claude/get-your-work-done/templates/codebase/stack.md
|
|
25
|
+
@~/.claude/get-your-work-done/templates/codebase/architecture.md
|
|
26
|
+
@~/.claude/get-your-work-done/templates/codebase/structure.md
|
|
27
|
+
@~/.claude/get-your-work-done/templates/codebase/conventions.md
|
|
28
|
+
@~/.claude/get-your-work-done/templates/codebase/testing.md
|
|
29
|
+
@~/.claude/get-your-work-done/templates/codebase/integrations.md
|
|
30
|
+
@~/.claude/get-your-work-done/templates/codebase/concerns.md
|
|
31
|
+
</execution_context>
|
|
32
|
+
|
|
33
|
+
<context>
|
|
34
|
+
Focus area: $ARGUMENTS (optional - if provided, tells agents to focus on specific subsystem)
|
|
35
|
+
|
|
36
|
+
**Load project state if exists:**
|
|
37
|
+
Check for .planning/STATE.md - loads context if project already initialized
|
|
38
|
+
|
|
39
|
+
**This command can run:**
|
|
40
|
+
- Before /gywd:new-project (brownfield codebases) - creates codebase map first
|
|
41
|
+
- After /gywd:new-project (greenfield codebases) - updates codebase map as code evolves
|
|
42
|
+
- Anytime to refresh codebase understanding
|
|
43
|
+
</context>
|
|
44
|
+
|
|
45
|
+
<when_to_use>
|
|
46
|
+
**Use map-codebase for:**
|
|
47
|
+
- Brownfield projects before initialization (understand existing code first)
|
|
48
|
+
- Refreshing codebase map after significant changes
|
|
49
|
+
- Onboarding to an unfamiliar codebase
|
|
50
|
+
- Before major refactoring (understand current state)
|
|
51
|
+
- When STATE.md references outdated codebase info
|
|
52
|
+
|
|
53
|
+
**Skip map-codebase for:**
|
|
54
|
+
- Greenfield projects with no code yet (nothing to map)
|
|
55
|
+
- Trivial codebases (<5 files)
|
|
56
|
+
</when_to_use>
|
|
57
|
+
|
|
58
|
+
<process>
|
|
59
|
+
1. Check if .planning/codebase/ already exists (offer to refresh or skip)
|
|
60
|
+
2. Create .planning/codebase/ directory structure
|
|
61
|
+
3. Spawn 4 parallel Explore agents to analyze codebase:
|
|
62
|
+
- Agent 1: Stack + Integrations (technology focus)
|
|
63
|
+
- Agent 2: Architecture + Structure (organization focus)
|
|
64
|
+
- Agent 3: Conventions + Testing (quality focus)
|
|
65
|
+
- Agent 4: Concerns (issues focus)
|
|
66
|
+
4. Wait for all agents to complete, collect findings
|
|
67
|
+
5. Write 7 codebase documents using templates:
|
|
68
|
+
- STACK.md - Languages, frameworks, key dependencies
|
|
69
|
+
- ARCHITECTURE.md - System design, patterns, data flow
|
|
70
|
+
- STRUCTURE.md - Directory layout, module organization
|
|
71
|
+
- CONVENTIONS.md - Code style, naming, patterns
|
|
72
|
+
- TESTING.md - Test structure, coverage, practices
|
|
73
|
+
- INTEGRATIONS.md - APIs, databases, external services
|
|
74
|
+
- CONCERNS.md - Technical debt, risks, issues
|
|
75
|
+
6. Offer next steps (typically: /gywd:new-project or /gywd:plan-phase)
|
|
76
|
+
</process>
|
|
77
|
+
|
|
78
|
+
<success_criteria>
|
|
79
|
+
- [ ] .planning/codebase/ directory created
|
|
80
|
+
- [ ] All 7 codebase documents written
|
|
81
|
+
- [ ] Documents follow template structure
|
|
82
|
+
- [ ] Parallel agents completed without errors
|
|
83
|
+
- [ ] User knows next steps
|
|
84
|
+
</success_criteria>
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: GYWD:memory
|
|
3
|
+
description: Multi-session memory - persist learned patterns and preferences
|
|
4
|
+
argument-hint: "[show|add|clear] [optional: pattern or preference]"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
<objective>
|
|
8
|
+
Manage persistent memory across sessions. GYWD learns your patterns, preferences, and project-specific rules that carry forward between sessions.
|
|
9
|
+
|
|
10
|
+
Memory types:
|
|
11
|
+
- **Preferences**: Coding style, library choices, naming conventions
|
|
12
|
+
- **Patterns**: Repeated solutions, common fixes, architectural decisions
|
|
13
|
+
- **Rules**: Project-specific constraints ("always use TypeScript", "never modify legacy/")
|
|
14
|
+
|
|
15
|
+
This allows Claude to remember what worked well and avoid repeating mistakes.
|
|
16
|
+
</objective>
|
|
17
|
+
|
|
18
|
+
<context>
|
|
19
|
+
Arguments: $ARGUMENTS
|
|
20
|
+
|
|
21
|
+
**Subcommands:**
|
|
22
|
+
- `show` - Display all stored memories (default)
|
|
23
|
+
- `add <type> <content>` - Add a new memory
|
|
24
|
+
- `clear [type]` - Clear memories (all or by type)
|
|
25
|
+
- `learn` - Auto-extract patterns from recent work
|
|
26
|
+
|
|
27
|
+
**Memory storage:** `.planning/MEMORY.md`
|
|
28
|
+
</context>
|
|
29
|
+
|
|
30
|
+
<process>
|
|
31
|
+
## show (default)
|
|
32
|
+
|
|
33
|
+
1. Read `.planning/MEMORY.md` if exists
|
|
34
|
+
2. Display formatted memory:
|
|
35
|
+
```
|
|
36
|
+
## Project Memory
|
|
37
|
+
|
|
38
|
+
### Preferences
|
|
39
|
+
- Use TypeScript with strict mode
|
|
40
|
+
- Prefer functional components over class components
|
|
41
|
+
- Always include JSDoc comments for public APIs
|
|
42
|
+
|
|
43
|
+
### Patterns
|
|
44
|
+
- Error handling: Use Result<T, E> pattern from utils/result.ts
|
|
45
|
+
- API calls: Always wrap in try-catch with retry logic
|
|
46
|
+
- Tests: One test file per module, co-located
|
|
47
|
+
|
|
48
|
+
### Rules
|
|
49
|
+
- Never modify files in legacy/ directory
|
|
50
|
+
- All new files must have corresponding .test.ts
|
|
51
|
+
- Commits must pass CI before merge
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
*3 preferences, 3 patterns, 3 rules stored*
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## add <type> <content>
|
|
58
|
+
|
|
59
|
+
1. Parse type: preference|pattern|rule
|
|
60
|
+
2. Parse content (rest of arguments)
|
|
61
|
+
3. Add to appropriate section in MEMORY.md
|
|
62
|
+
4. Confirm: "Added {type}: {content}"
|
|
63
|
+
|
|
64
|
+
Examples:
|
|
65
|
+
- `/gywd:memory add preference Use pnpm instead of npm`
|
|
66
|
+
- `/gywd:memory add pattern Always create index.ts barrel files`
|
|
67
|
+
- `/gywd:memory add rule Never use console.log in production code`
|
|
68
|
+
|
|
69
|
+
## clear [type]
|
|
70
|
+
|
|
71
|
+
1. If type specified: Clear only that section
|
|
72
|
+
2. If no type: Confirm, then clear all
|
|
73
|
+
3. Output: "Cleared {count} {type} memories"
|
|
74
|
+
|
|
75
|
+
## learn
|
|
76
|
+
|
|
77
|
+
1. Read recent SUMMARY.md files (last 3-5)
|
|
78
|
+
2. Analyze for:
|
|
79
|
+
- Repeated decisions
|
|
80
|
+
- Consistent patterns
|
|
81
|
+
- Explicit rules mentioned
|
|
82
|
+
3. Suggest memories to add:
|
|
83
|
+
```
|
|
84
|
+
## Learned Patterns
|
|
85
|
+
|
|
86
|
+
Based on recent work, I noticed:
|
|
87
|
+
|
|
88
|
+
1. **Pattern detected**: You consistently use early returns
|
|
89
|
+
Add as pattern? [Y/n]
|
|
90
|
+
|
|
91
|
+
2. **Preference detected**: All components use React.FC type
|
|
92
|
+
Add as preference? [Y/n]
|
|
93
|
+
|
|
94
|
+
3. **Rule detected**: Tests always include edge cases
|
|
95
|
+
Add as rule? [Y/n]
|
|
96
|
+
```
|
|
97
|
+
4. Add confirmed patterns to MEMORY.md
|
|
98
|
+
|
|
99
|
+
</process>
|
|
100
|
+
|
|
101
|
+
<memory_format>
|
|
102
|
+
MEMORY.md structure:
|
|
103
|
+
```markdown
|
|
104
|
+
# Project Memory
|
|
105
|
+
|
|
106
|
+
Last updated: {date}
|
|
107
|
+
|
|
108
|
+
## Preferences
|
|
109
|
+
|
|
110
|
+
Style and tooling choices that should be consistent.
|
|
111
|
+
|
|
112
|
+
- {preference 1}
|
|
113
|
+
- {preference 2}
|
|
114
|
+
|
|
115
|
+
## Patterns
|
|
116
|
+
|
|
117
|
+
Repeated solutions and approaches.
|
|
118
|
+
|
|
119
|
+
- {pattern 1}
|
|
120
|
+
- {pattern 2}
|
|
121
|
+
|
|
122
|
+
## Rules
|
|
123
|
+
|
|
124
|
+
Hard constraints that must be followed.
|
|
125
|
+
|
|
126
|
+
- {rule 1}
|
|
127
|
+
- {rule 2}
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
*Auto-loaded at session start via STATE.md*
|
|
131
|
+
```
|
|
132
|
+
</memory_format>
|
|
133
|
+
|
|
134
|
+
<integration>
|
|
135
|
+
**How memories are used:**
|
|
136
|
+
|
|
137
|
+
1. At session start (/gywd:resume-work):
|
|
138
|
+
- Load MEMORY.md
|
|
139
|
+
- Apply as context for all planning/execution
|
|
140
|
+
|
|
141
|
+
2. During planning (/gywd:plan-phase):
|
|
142
|
+
- Check patterns for relevant solutions
|
|
143
|
+
- Apply preferences to design decisions
|
|
144
|
+
- Enforce rules as constraints
|
|
145
|
+
|
|
146
|
+
3. During execution:
|
|
147
|
+
- Validate work against rules
|
|
148
|
+
- Apply patterns automatically
|
|
149
|
+
- Follow preferences consistently
|
|
150
|
+
</integration>
|
|
151
|
+
|
|
152
|
+
<success_criteria>
|
|
153
|
+
- [ ] show displays all memories organized by type
|
|
154
|
+
- [ ] add correctly appends to appropriate section
|
|
155
|
+
- [ ] clear removes specified or all memories
|
|
156
|
+
- [ ] learn extracts patterns from summaries
|
|
157
|
+
- [ ] Memories persist across sessions
|
|
158
|
+
- [ ] Format is readable and maintainable
|
|
159
|
+
</success_criteria>
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: GYWD:new-milestone
|
|
3
|
+
description: Create a new milestone with phases for an existing project
|
|
4
|
+
argument-hint: "[milestone name, e.g., 'v2.0 Features']"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
<objective>
|
|
8
|
+
Create a new milestone for an existing project with defined phases.
|
|
9
|
+
|
|
10
|
+
Purpose: After completing a milestone (or when ready to define next chunk of work), creates the milestone structure in ROADMAP.md with phases, updates STATE.md, and creates phase directories.
|
|
11
|
+
Output: New milestone in ROADMAP.md, updated STATE.md, phase directories created
|
|
12
|
+
</objective>
|
|
13
|
+
|
|
14
|
+
<execution_context>
|
|
15
|
+
@~/.claude/get-your-work-done/workflows/create-milestone.md
|
|
16
|
+
@~/.claude/get-your-work-done/templates/roadmap.md
|
|
17
|
+
</execution_context>
|
|
18
|
+
|
|
19
|
+
<context>
|
|
20
|
+
Milestone name: $ARGUMENTS (optional - will prompt if not provided)
|
|
21
|
+
|
|
22
|
+
**Load project state first:**
|
|
23
|
+
@.planning/STATE.md
|
|
24
|
+
|
|
25
|
+
**Load roadmap:**
|
|
26
|
+
@.planning/ROADMAP.md
|
|
27
|
+
|
|
28
|
+
**Load milestones (if exists):**
|
|
29
|
+
@.planning/MILESTONES.md
|
|
30
|
+
</context>
|
|
31
|
+
|
|
32
|
+
<process>
|
|
33
|
+
1. Load project context (STATE.md, ROADMAP.md, MILESTONES.md)
|
|
34
|
+
2. Calculate next milestone version and starting phase number
|
|
35
|
+
3. If milestone name provided in arguments, use it; otherwise prompt
|
|
36
|
+
4. Gather phases (per depth setting: quick 3-5, standard 5-8, comprehensive 8-12):
|
|
37
|
+
- If called from /gywd:discuss-milestone, use provided context
|
|
38
|
+
- Otherwise, prompt for phase breakdown
|
|
39
|
+
5. Detect research needs for each phase
|
|
40
|
+
6. Confirm phases (respect config.json gate settings)
|
|
41
|
+
7. Follow create-milestone.md workflow:
|
|
42
|
+
- Update ROADMAP.md with new milestone section
|
|
43
|
+
- Create phase directories
|
|
44
|
+
- Update STATE.md for new milestone
|
|
45
|
+
- Git commit milestone creation
|
|
46
|
+
8. Offer next steps (discuss first phase, plan first phase, review)
|
|
47
|
+
</process>
|
|
48
|
+
|
|
49
|
+
<success_criteria>
|
|
50
|
+
|
|
51
|
+
- Next phase number calculated correctly (continues from previous milestone)
|
|
52
|
+
- Phases defined per depth setting (quick: 3-5, standard: 5-8, comprehensive: 8-12)
|
|
53
|
+
- Research flags assigned for each phase
|
|
54
|
+
- ROADMAP.md updated with new milestone section
|
|
55
|
+
- Phase directories created
|
|
56
|
+
- STATE.md reset for new milestone
|
|
57
|
+
- Git commit made
|
|
58
|
+
- User knows next steps
|
|
59
|
+
</success_criteria>
|