zaileys 2.2.7 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agent/skills/codebase-mapper/SKILL.md +226 -0
- package/.agent/skills/context-compressor/SKILL.md +201 -0
- package/.agent/skills/context-fetch/SKILL.md +184 -0
- package/.agent/skills/context-health-monitor/SKILL.md +105 -0
- package/.agent/skills/debugger/SKILL.md +273 -0
- package/.agent/skills/empirical-validation/SKILL.md +97 -0
- package/.agent/skills/executor/SKILL.md +465 -0
- package/.agent/skills/plan-checker/SKILL.md +283 -0
- package/.agent/skills/planner/SKILL.md +485 -0
- package/.agent/skills/token-budget/SKILL.md +166 -0
- package/.agent/skills/verifier/SKILL.md +421 -0
- package/.agent/workflows/add-phase.md +96 -0
- package/.agent/workflows/add-todo.md +69 -0
- package/.agent/workflows/audit-milestone.md +107 -0
- package/.agent/workflows/check-todos.md +80 -0
- package/.agent/workflows/complete-milestone.md +135 -0
- package/.agent/workflows/debug.md +235 -0
- package/.agent/workflows/discuss-phase.md +103 -0
- package/.agent/workflows/execute.md +325 -0
- package/.agent/workflows/health.md +122 -0
- package/.agent/workflows/help.md +96 -0
- package/.agent/workflows/insert-phase.md +109 -0
- package/.agent/workflows/install.md +152 -0
- package/.agent/workflows/list-phase-assumptions.md +82 -0
- package/.agent/workflows/map.md +394 -0
- package/.agent/workflows/new-milestone.md +126 -0
- package/.agent/workflows/new-project.md +368 -0
- package/.agent/workflows/pause.md +176 -0
- package/.agent/workflows/plan-milestone-gaps.md +116 -0
- package/.agent/workflows/plan.md +380 -0
- package/.agent/workflows/progress.md +90 -0
- package/.agent/workflows/quick.md +128 -0
- package/.agent/workflows/remove-phase.md +139 -0
- package/.agent/workflows/research-phase.md +160 -0
- package/.agent/workflows/resume.md +131 -0
- package/.agent/workflows/update.md +203 -0
- package/.agent/workflows/verify.md +263 -0
- package/.agent/workflows/web-search.md +121 -0
- package/.agent/workflows/whats-new.md +80 -0
- package/.gemini/GEMINI.md +67 -0
- package/.gsd/DEBUG.md +26 -0
- package/.gsd/GSD-STYLE.md +272 -0
- package/.gsd/PROJECT_RULES.md +256 -0
- package/.gsd/ROADMAP.md +38 -0
- package/.gsd/SPEC.md +16 -0
- package/.gsd/STATE.md +10 -0
- package/.gsd/adapters/CLAUDE.md +77 -0
- package/.gsd/adapters/GEMINI.md +92 -0
- package/.gsd/adapters/GPT_OSS.md +130 -0
- package/.gsd/docs/model-selection-playbook.md +128 -0
- package/.gsd/docs/runbook.md +296 -0
- package/.gsd/docs/token-optimization-guide.md +207 -0
- package/.gsd/model_capabilities.yaml +108 -0
- package/.gsd/phases/1/1-PLAN.md +44 -0
- package/.gsd/phases/1/2-PLAN.md +54 -0
- package/.gsd/phases/1/3-PLAN.md +46 -0
- package/.gsd/phases/1/4-PLAN.md +39 -0
- package/.gsd/phases/2/2-1-SUMMARY.md +8 -0
- package/.gsd/phases/2/2-PLAN.md +47 -0
- package/.gsd/phases/3/3-1-SUMMARY.md +8 -0
- package/.gsd/phases/3/3-PLAN.md +43 -0
- package/.gsd/phases/4/4-1-PLAN.md +44 -0
- package/.gsd/phases/4/4-1-SUMMARY.md +8 -0
- package/.gsd/phases/4/4-2-PLAN.md +59 -0
- package/.gsd/phases/4/4-2-SUMMARY.md +8 -0
- package/.gsd/phases/4/4-3-PLAN.md +42 -0
- package/.gsd/phases/4/4-3-SUMMARY.md +8 -0
- package/.gsd/phases/4/VERIFICATION.md +8 -0
- package/.gsd/phases/5/1-SUMMARY.md +5 -0
- package/.gsd/phases/5/5-PLAN.md +47 -0
- package/.gsd/phases/5/RESEARCH.md +24 -0
- package/.gsd/phases/5/VERIFICATION.md +8 -0
- package/.gsd/phases/6/1-SUMMARY.md +6 -0
- package/.gsd/phases/6/6-PLAN.md +46 -0
- package/.gsd/phases/6/RESEARCH.md +33 -0
- package/.gsd/phases/6/VERIFICATION.md +7 -0
- package/.gsd/phases/7/1-SUMMARY.md +12 -0
- package/.gsd/phases/7/7-PLAN.md +78 -0
- package/.gsd/phases/7/VERIFICATION.md +7 -0
- package/.gsd/templates/DEBUG.md +123 -0
- package/.gsd/templates/PLAN.md +90 -0
- package/.gsd/templates/RESEARCH.md +75 -0
- package/.gsd/templates/SUMMARY.md +103 -0
- package/.gsd/templates/UAT.md +168 -0
- package/.gsd/templates/VERIFICATION.md +70 -0
- package/.gsd/templates/architecture.md +67 -0
- package/.gsd/templates/context.md +91 -0
- package/.gsd/templates/decisions.md +37 -0
- package/.gsd/templates/discovery.md +122 -0
- package/.gsd/templates/journal.md +46 -0
- package/.gsd/templates/milestone.md +91 -0
- package/.gsd/templates/phase-summary.md +52 -0
- package/.gsd/templates/project.md +124 -0
- package/.gsd/templates/requirements.md +92 -0
- package/.gsd/templates/roadmap.md +103 -0
- package/.gsd/templates/spec.md +51 -0
- package/.gsd/templates/sprint.md +57 -0
- package/.gsd/templates/stack.md +62 -0
- package/.gsd/templates/state.md +92 -0
- package/.gsd/templates/state_snapshot.md +132 -0
- package/.gsd/templates/todo.md +32 -0
- package/.gsd/templates/token_report.md +79 -0
- package/.gsd/templates/user-setup.md +116 -0
- package/.husky/commit-msg +1 -0
- package/.husky/pre-commit +1 -0
- package/LICENSE +21 -21
- package/README.MD +1280 -1230
- package/commitlint.config.js +3 -0
- package/dist/index.d.mts +1397 -908
- package/dist/index.d.ts +1397 -908
- package/dist/index.js +29 -28
- package/dist/index.mjs +29 -28
- package/package.json +11 -27
- package/tsconfig.json +19 -19
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Create a new milestone with phases
|
|
3
|
+
argument-hint: "<milestone-name>"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /new-milestone Workflow
|
|
7
|
+
|
|
8
|
+
<objective>
|
|
9
|
+
Define a new milestone with goal, phases, and success criteria.
|
|
10
|
+
</objective>
|
|
11
|
+
|
|
12
|
+
<process>
|
|
13
|
+
|
|
14
|
+
## 1. Validate SPEC Exists
|
|
15
|
+
|
|
16
|
+
**PowerShell:**
|
|
17
|
+
```powershell
|
|
18
|
+
if (-not (Test-Path ".gsd/SPEC.md")) {
|
|
19
|
+
Write-Error "SPEC.md required. Run /new-project first."
|
|
20
|
+
}
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
**Bash:**
|
|
24
|
+
```bash
|
|
25
|
+
if [ ! -f ".gsd/SPEC.md" ]; then
|
|
26
|
+
echo "Error: SPEC.md required. Run /new-project first." >&2
|
|
27
|
+
fi
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## 2. Gather Milestone Information
|
|
33
|
+
|
|
34
|
+
Ask for:
|
|
35
|
+
- **Name** — Milestone identifier (e.g., "v1.0", "MVP", "Beta")
|
|
36
|
+
- **Goal** — What does this milestone achieve?
|
|
37
|
+
- **Must-haves** — Non-negotiable deliverables
|
|
38
|
+
- **Nice-to-haves** — Optional if time permits
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## 3. Generate Phase Breakdown
|
|
43
|
+
|
|
44
|
+
Based on goal and must-haves, suggest phases:
|
|
45
|
+
|
|
46
|
+
```markdown
|
|
47
|
+
## Suggested Phases
|
|
48
|
+
|
|
49
|
+
Phase 1: {Foundation/Setup}
|
|
50
|
+
Phase 2: {Core Feature A}
|
|
51
|
+
Phase 3: {Core Feature B}
|
|
52
|
+
Phase 4: {Integration/Polish}
|
|
53
|
+
Phase 5: {Verification/Launch}
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
Ask user to confirm or modify.
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## 4. Update ROADMAP.md
|
|
61
|
+
|
|
62
|
+
```markdown
|
|
63
|
+
# ROADMAP.md
|
|
64
|
+
|
|
65
|
+
> **Current Milestone**: {name}
|
|
66
|
+
> **Goal**: {goal}
|
|
67
|
+
|
|
68
|
+
## Must-Haves
|
|
69
|
+
- [ ] {must-have 1}
|
|
70
|
+
- [ ] {must-have 2}
|
|
71
|
+
|
|
72
|
+
## Phases
|
|
73
|
+
|
|
74
|
+
### Phase 1: {name}
|
|
75
|
+
**Status**: ⬜ Not Started
|
|
76
|
+
**Objective**: {description}
|
|
77
|
+
|
|
78
|
+
### Phase 2: {name}
|
|
79
|
+
**Status**: ⬜ Not Started
|
|
80
|
+
**Objective**: {description}
|
|
81
|
+
|
|
82
|
+
...
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## 5. Update STATE.md
|
|
88
|
+
|
|
89
|
+
```markdown
|
|
90
|
+
## Current Position
|
|
91
|
+
- **Milestone**: {name}
|
|
92
|
+
- **Phase**: Not started
|
|
93
|
+
- **Status**: Milestone planned
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
## 6. Commit
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
git add .gsd/ROADMAP.md .gsd/STATE.md
|
|
102
|
+
git commit -m "docs: create milestone {name}"
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
## 7. Offer Next Steps
|
|
108
|
+
|
|
109
|
+
```
|
|
110
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
111
|
+
GSD ► MILESTONE CREATED ✓
|
|
112
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
113
|
+
|
|
114
|
+
Milestone: {name}
|
|
115
|
+
Phases: {N}
|
|
116
|
+
|
|
117
|
+
───────────────────────────────────────────────────────
|
|
118
|
+
|
|
119
|
+
▶ NEXT
|
|
120
|
+
|
|
121
|
+
/plan 1 — Create Phase 1 execution plans
|
|
122
|
+
|
|
123
|
+
───────────────────────────────────────────────────────
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
</process>
|
|
@@ -0,0 +1,368 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Initialize a new project with deep context gathering
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# /new-project Workflow
|
|
6
|
+
|
|
7
|
+
<objective>
|
|
8
|
+
Initialize a new project through unified flow: questioning → research (optional) → requirements → roadmap.
|
|
9
|
+
|
|
10
|
+
This is the most leveraged moment in any project. Deep questioning here means better plans, better execution, better outcomes. One command takes you from idea to ready-for-planning.
|
|
11
|
+
|
|
12
|
+
**Creates:**
|
|
13
|
+
- `.gsd/SPEC.md` — project specification
|
|
14
|
+
- `.gsd/ROADMAP.md` — phase structure
|
|
15
|
+
- `.gsd/STATE.md` — project memory
|
|
16
|
+
- `.gsd/ARCHITECTURE.md` — system design (if brownfield)
|
|
17
|
+
- All other .gsd/ documentation files
|
|
18
|
+
|
|
19
|
+
**After this command:** Run `/plan 1` to start execution.
|
|
20
|
+
</objective>
|
|
21
|
+
|
|
22
|
+
<process>
|
|
23
|
+
|
|
24
|
+
## Phase 1: Setup
|
|
25
|
+
**MANDATORY FIRST STEP — Execute these checks before ANY user interaction:**
|
|
26
|
+
|
|
27
|
+
1. **Abort if project exists:**
|
|
28
|
+
|
|
29
|
+
**PowerShell:**
|
|
30
|
+
```powershell
|
|
31
|
+
if (Test-Path ".gsd/SPEC.md") {
|
|
32
|
+
Write-Error "Project already initialized. Use /progress"
|
|
33
|
+
exit 1
|
|
34
|
+
}
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
**Bash:**
|
|
38
|
+
```bash
|
|
39
|
+
if [ -f ".gsd/SPEC.md" ]; then
|
|
40
|
+
echo "Error: Project already initialized. Use /progress" >&2
|
|
41
|
+
exit 1
|
|
42
|
+
fi
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
2. **Initialize git repo** (if not exists):
|
|
46
|
+
|
|
47
|
+
**PowerShell:**
|
|
48
|
+
```powershell
|
|
49
|
+
if (-not (Test-Path ".git")) {
|
|
50
|
+
git init
|
|
51
|
+
Write-Output "Initialized new git repo"
|
|
52
|
+
}
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
**Bash:**
|
|
56
|
+
```bash
|
|
57
|
+
if [ ! -d ".git" ]; then
|
|
58
|
+
git init
|
|
59
|
+
echo "Initialized new git repo"
|
|
60
|
+
fi
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
3. **Detect existing code (brownfield detection):**
|
|
64
|
+
|
|
65
|
+
**PowerShell:**
|
|
66
|
+
```powershell
|
|
67
|
+
$codeFiles = Get-ChildItem -Recurse -Include "*.ts","*.js","*.py","*.go","*.rs" |
|
|
68
|
+
Where-Object { $_.FullName -notmatch "node_modules|\.git" } |
|
|
69
|
+
Select-Object -First 20
|
|
70
|
+
|
|
71
|
+
$hasPackage = Test-Path "package.json" -or Test-Path "requirements.txt" -or Test-Path "Cargo.toml"
|
|
72
|
+
$hasArchitecture = Test-Path ".gsd/ARCHITECTURE.md"
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
**Bash:**
|
|
76
|
+
```bash
|
|
77
|
+
code_files=$(find . -type f \( -name "*.ts" -o -name "*.js" -o -name "*.py" -o -name "*.go" -o -name "*.rs" \) \
|
|
78
|
+
-not -path '*/node_modules/*' -not -path '*/.git/*' | head -20)
|
|
79
|
+
|
|
80
|
+
has_package=$(test -f "package.json" -o -f "requirements.txt" -o -f "Cargo.toml" && echo true || echo false)
|
|
81
|
+
has_architecture=$(test -f ".gsd/ARCHITECTURE.md" && echo true || echo false)
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## Phase 2: Brownfield Offer
|
|
87
|
+
**If existing code detected and ARCHITECTURE.md doesn't exist:**
|
|
88
|
+
|
|
89
|
+
```
|
|
90
|
+
⚠️ EXISTING CODE DETECTED
|
|
91
|
+
|
|
92
|
+
Found {N} source files in this directory.
|
|
93
|
+
|
|
94
|
+
Options:
|
|
95
|
+
A) Map codebase first — Run /map to understand existing architecture (Recommended)
|
|
96
|
+
B) Skip mapping — Proceed with project initialization
|
|
97
|
+
|
|
98
|
+
Which do you prefer?
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
**If "Map codebase first":**
|
|
102
|
+
```
|
|
103
|
+
Run `/map` first, then return to `/new-project`
|
|
104
|
+
```
|
|
105
|
+
Exit command.
|
|
106
|
+
|
|
107
|
+
**If "Skip mapping":** Continue to Phase 3.
|
|
108
|
+
**If no existing code detected OR codebase already mapped:** Continue to Phase 3.
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
## Phase 3: Deep Questioning
|
|
113
|
+
|
|
114
|
+
Display banner:
|
|
115
|
+
```
|
|
116
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
117
|
+
GSD ► QUESTIONING
|
|
118
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
**Open the conversation:**
|
|
122
|
+
|
|
123
|
+
Ask: "What do you want to build?"
|
|
124
|
+
|
|
125
|
+
Wait for response. This gives context for intelligent follow-ups.
|
|
126
|
+
|
|
127
|
+
**Follow the thread:**
|
|
128
|
+
|
|
129
|
+
Based on their answer, ask follow-up questions that dig deeper:
|
|
130
|
+
- What excited them about this idea
|
|
131
|
+
- What problem sparked this
|
|
132
|
+
- What they mean by vague terms
|
|
133
|
+
- What it would actually look like
|
|
134
|
+
- What's already decided
|
|
135
|
+
|
|
136
|
+
**Questioning techniques:**
|
|
137
|
+
- Challenge vagueness: "When you say 'fast', what does that mean specifically?"
|
|
138
|
+
- Make abstract concrete: "Give me an example of how a user would..."
|
|
139
|
+
- Surface assumptions: "You're assuming users will... Is that validated?"
|
|
140
|
+
- Find edges: "What's explicitly NOT in scope?"
|
|
141
|
+
- Reveal motivation: "Why does this matter now?"
|
|
142
|
+
|
|
143
|
+
**Context checklist (gather mentally, not as interrogation):**
|
|
144
|
+
- [ ] Vision — What does success look like?
|
|
145
|
+
- [ ] Users — Who is this for?
|
|
146
|
+
- [ ] Problem — What pain does it solve?
|
|
147
|
+
- [ ] Scope — What's in, what's out?
|
|
148
|
+
- [ ] Constraints — Technical, timeline, budget?
|
|
149
|
+
- [ ] Prior art — What exists already?
|
|
150
|
+
|
|
151
|
+
**Decision gate:**
|
|
152
|
+
|
|
153
|
+
When you could write a clear SPEC.md:
|
|
154
|
+
```
|
|
155
|
+
Ready to create SPEC.md?
|
|
156
|
+
|
|
157
|
+
A) Create SPEC.md — Let's move forward
|
|
158
|
+
B) Keep exploring — I want to share more
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
If "Keep exploring" — ask what they want to add, or identify gaps and probe naturally.
|
|
162
|
+
|
|
163
|
+
Loop until "Create SPEC.md" selected.
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
167
|
+
## Phase 4: Write SPEC.md
|
|
168
|
+
|
|
169
|
+
Create `.gsd/SPEC.md`:
|
|
170
|
+
|
|
171
|
+
```markdown
|
|
172
|
+
# SPEC.md — Project Specification
|
|
173
|
+
|
|
174
|
+
> **Status**: `FINALIZED`
|
|
175
|
+
|
|
176
|
+
## Vision
|
|
177
|
+
{Distilled from questioning — one paragraph max}
|
|
178
|
+
|
|
179
|
+
## Goals
|
|
180
|
+
1. {Primary goal}
|
|
181
|
+
2. {Secondary goal}
|
|
182
|
+
3. {Tertiary goal}
|
|
183
|
+
|
|
184
|
+
## Non-Goals (Out of Scope)
|
|
185
|
+
- {Explicitly excluded}
|
|
186
|
+
- {Not in this version}
|
|
187
|
+
|
|
188
|
+
## Users
|
|
189
|
+
{Who will use this and how}
|
|
190
|
+
|
|
191
|
+
## Constraints
|
|
192
|
+
- {Technical constraints}
|
|
193
|
+
- {Timeline constraints}
|
|
194
|
+
- {Other limitations}
|
|
195
|
+
|
|
196
|
+
## Success Criteria
|
|
197
|
+
- [ ] {Measurable outcome 1}
|
|
198
|
+
- [ ] {Measurable outcome 2}
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
---
|
|
202
|
+
|
|
203
|
+
## Phase 5: Research Decision
|
|
204
|
+
|
|
205
|
+
If project involves unfamiliar technology or architectural decisions:
|
|
206
|
+
|
|
207
|
+
```
|
|
208
|
+
📚 RESEARCH CHECK
|
|
209
|
+
|
|
210
|
+
This project involves {area where research might help}.
|
|
211
|
+
|
|
212
|
+
Would you like to:
|
|
213
|
+
A) Do research first — Investigate options before committing
|
|
214
|
+
B) Skip research — I know what I want, let's plan
|
|
215
|
+
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
**If research selected:**
|
|
219
|
+
- Create `.gsd/RESEARCH.md` with findings
|
|
220
|
+
- Document technology choices and rationale
|
|
221
|
+
- Return to continue
|
|
222
|
+
|
|
223
|
+
---
|
|
224
|
+
|
|
225
|
+
## Phase 6: Define Requirements
|
|
226
|
+
|
|
227
|
+
Generate requirements from SPEC.md:
|
|
228
|
+
|
|
229
|
+
```markdown
|
|
230
|
+
# REQUIREMENTS.md
|
|
231
|
+
|
|
232
|
+
## Format
|
|
233
|
+
| ID | Requirement | Source | Status |
|
|
234
|
+
|----|-------------|--------|--------|
|
|
235
|
+
| REQ-01 | {requirement} | SPEC goal 1 | Pending |
|
|
236
|
+
| REQ-02 | {requirement} | SPEC goal 2 | Pending |
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
**Rules:**
|
|
240
|
+
- Each requirement is testable
|
|
241
|
+
- Each maps to a SPEC goal
|
|
242
|
+
- Status starts as "Pending"
|
|
243
|
+
|
|
244
|
+
**If simple project:** Skip formal requirements, SPEC.md is sufficient.
|
|
245
|
+
|
|
246
|
+
---
|
|
247
|
+
|
|
248
|
+
## Phase 7: Create Roadmap
|
|
249
|
+
|
|
250
|
+
Create `.gsd/ROADMAP.md`:
|
|
251
|
+
|
|
252
|
+
```markdown
|
|
253
|
+
# ROADMAP.md
|
|
254
|
+
|
|
255
|
+
> **Current Phase**: Not started
|
|
256
|
+
> **Milestone**: v1.0
|
|
257
|
+
|
|
258
|
+
## Must-Haves (from SPEC)
|
|
259
|
+
- [ ] {must-have 1}
|
|
260
|
+
- [ ] {must-have 2}
|
|
261
|
+
|
|
262
|
+
## Phases
|
|
263
|
+
|
|
264
|
+
### Phase 1: {Foundation}
|
|
265
|
+
**Status**: ⬜ Not Started
|
|
266
|
+
**Objective**: {what this delivers}
|
|
267
|
+
**Requirements**: REQ-01, REQ-02
|
|
268
|
+
|
|
269
|
+
### Phase 2: {Core Feature}
|
|
270
|
+
**Status**: ⬜ Not Started
|
|
271
|
+
**Objective**: {what this delivers}
|
|
272
|
+
**Requirements**: REQ-03
|
|
273
|
+
|
|
274
|
+
### Phase 3: {Integration}
|
|
275
|
+
**Status**: ⬜ Not Started
|
|
276
|
+
**Objective**: {what this delivers}
|
|
277
|
+
|
|
278
|
+
### Phase 4: {Polish/Launch}
|
|
279
|
+
**Status**: ⬜ Not Started
|
|
280
|
+
**Objective**: {final touches}
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
**Phase creation rules:**
|
|
284
|
+
- 3-5 phases per milestone
|
|
285
|
+
- Each phase has clear deliverable
|
|
286
|
+
- Dependencies flow forward
|
|
287
|
+
|
|
288
|
+
---
|
|
289
|
+
|
|
290
|
+
## Phase 8: Initialize Remaining Files
|
|
291
|
+
|
|
292
|
+
Create with templates:
|
|
293
|
+
- `.gsd/STATE.md` — Empty state
|
|
294
|
+
- `.gsd/DECISIONS.md` — Empty ADR log
|
|
295
|
+
- `.gsd/JOURNAL.md` — Empty journal
|
|
296
|
+
- `.gsd/TODO.md` — Empty todo list
|
|
297
|
+
|
|
298
|
+
Create directories:
|
|
299
|
+
- `.gsd/phases/`
|
|
300
|
+
- `.gsd/templates/`
|
|
301
|
+
|
|
302
|
+
---
|
|
303
|
+
|
|
304
|
+
## Phase 9: Initial Commit
|
|
305
|
+
|
|
306
|
+
```bash
|
|
307
|
+
git add .gsd/
|
|
308
|
+
git commit -m "chore: initialize GSD project
|
|
309
|
+
|
|
310
|
+
- SPEC.md with vision and goals
|
|
311
|
+
- ROADMAP.md with {N} phases
|
|
312
|
+
- Project documentation structure"
|
|
313
|
+
```
|
|
314
|
+
|
|
315
|
+
---
|
|
316
|
+
|
|
317
|
+
## Phase 10: Done
|
|
318
|
+
|
|
319
|
+
```
|
|
320
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
321
|
+
GSD ► PROJECT INITIALIZED ✓
|
|
322
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
323
|
+
|
|
324
|
+
Project: {name}
|
|
325
|
+
Phases: {N}
|
|
326
|
+
|
|
327
|
+
Files created:
|
|
328
|
+
• .gsd/SPEC.md (FINALIZED)
|
|
329
|
+
• .gsd/ROADMAP.md ({N} phases)
|
|
330
|
+
• .gsd/STATE.md
|
|
331
|
+
• .gsd/DECISIONS.md
|
|
332
|
+
• .gsd/JOURNAL.md
|
|
333
|
+
|
|
334
|
+
───────────────────────────────────────────────────────
|
|
335
|
+
|
|
336
|
+
▶ NEXT
|
|
337
|
+
|
|
338
|
+
/discuss-phase 1 — Clarify scope (optional but recommended)
|
|
339
|
+
/plan 1 — Create Phase 1 execution plans
|
|
340
|
+
|
|
341
|
+
───────────────────────────────────────────────────────
|
|
342
|
+
|
|
343
|
+
💡 The questioning phase is the highest-leverage moment.
|
|
344
|
+
Time invested here pays dividends throughout execution.
|
|
345
|
+
|
|
346
|
+
───────────────────────────────────────────────────────
|
|
347
|
+
```
|
|
348
|
+
|
|
349
|
+
</process>
|
|
350
|
+
|
|
351
|
+
<questioning_philosophy>
|
|
352
|
+
## Why Deep Questioning Matters
|
|
353
|
+
|
|
354
|
+
The original GSD emphasizes that `/new-project` is the most leveraged moment.
|
|
355
|
+
Every minute spent understanding what to build saves hours of building the wrong thing.
|
|
356
|
+
|
|
357
|
+
**Signs questioning is done:**
|
|
358
|
+
- You could explain the project to a stranger
|
|
359
|
+
- You know what's NOT being built (scope edges)
|
|
360
|
+
- Success criteria are measurable
|
|
361
|
+
- You're excited to start planning
|
|
362
|
+
|
|
363
|
+
**Signs more questioning needed:**
|
|
364
|
+
- Vague terms remain unexplained
|
|
365
|
+
- You don't know who the user is
|
|
366
|
+
- Success is defined as "it works"
|
|
367
|
+
- Scope keeps expanding during discussion
|
|
368
|
+
</questioning_philosophy>
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Context hygiene — dump state for clean session handoff
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# /pause Workflow
|
|
6
|
+
|
|
7
|
+
<objective>
|
|
8
|
+
Safely pause work with complete state preservation for session handoff.
|
|
9
|
+
</objective>
|
|
10
|
+
|
|
11
|
+
<when_to_use>
|
|
12
|
+
- Ending a work session
|
|
13
|
+
- Context getting heavy (many failed attempts)
|
|
14
|
+
- Switching to a different task
|
|
15
|
+
- Before taking a break
|
|
16
|
+
- After 3+ debugging failures (Context Hygiene rule)
|
|
17
|
+
</when_to_use>
|
|
18
|
+
|
|
19
|
+
<process>
|
|
20
|
+
|
|
21
|
+
## 1. Capture Current State
|
|
22
|
+
|
|
23
|
+
Update `.gsd/STATE.md`:
|
|
24
|
+
|
|
25
|
+
```markdown
|
|
26
|
+
## Current Position
|
|
27
|
+
- **Phase**: {current phase number and name}
|
|
28
|
+
- **Task**: {specific task in progress, if any}
|
|
29
|
+
- **Status**: Paused at {timestamp}
|
|
30
|
+
|
|
31
|
+
## Last Session Summary
|
|
32
|
+
{What was accomplished this session}
|
|
33
|
+
|
|
34
|
+
## In-Progress Work
|
|
35
|
+
{Any uncommitted changes or partial work}
|
|
36
|
+
- Files modified: {list}
|
|
37
|
+
- Tests status: {passing/failing/not run}
|
|
38
|
+
|
|
39
|
+
## Blockers
|
|
40
|
+
{What was preventing progress, if anything}
|
|
41
|
+
|
|
42
|
+
## Context Dump
|
|
43
|
+
{Critical context that would be lost}:
|
|
44
|
+
|
|
45
|
+
### Decisions Made
|
|
46
|
+
- {Decision 1}: {rationale}
|
|
47
|
+
- {Decision 2}: {rationale}
|
|
48
|
+
|
|
49
|
+
### Approaches Tried
|
|
50
|
+
- {Approach 1}: {outcome}
|
|
51
|
+
- {Approach 2}: {outcome}
|
|
52
|
+
|
|
53
|
+
### Current Hypothesis
|
|
54
|
+
{Best guess at solution/issue}
|
|
55
|
+
|
|
56
|
+
### Files of Interest
|
|
57
|
+
- `{file1}`: {what's relevant}
|
|
58
|
+
- `{file2}`: {what's relevant}
|
|
59
|
+
|
|
60
|
+
## Next Steps
|
|
61
|
+
1. {Specific first action for next session}
|
|
62
|
+
2. {Second priority}
|
|
63
|
+
3. {Third priority}
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## 2. Add Journal Entry
|
|
69
|
+
|
|
70
|
+
Create entry in `.gsd/JOURNAL.md`:
|
|
71
|
+
|
|
72
|
+
```markdown
|
|
73
|
+
## Session: {YYYY-MM-DD HH:MM}
|
|
74
|
+
|
|
75
|
+
### Objective
|
|
76
|
+
{What this session was trying to accomplish}
|
|
77
|
+
|
|
78
|
+
### Accomplished
|
|
79
|
+
- {Item 1}
|
|
80
|
+
- {Item 2}
|
|
81
|
+
|
|
82
|
+
### Verification
|
|
83
|
+
- [x] {What was verified}
|
|
84
|
+
- [ ] {What still needs verification}
|
|
85
|
+
|
|
86
|
+
### Paused Because
|
|
87
|
+
{Reason for pausing}
|
|
88
|
+
|
|
89
|
+
### Handoff Notes
|
|
90
|
+
{Critical info for resuming}
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
## 3. Commit State
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
git add .gsd/STATE.md .gsd/JOURNAL.md
|
|
99
|
+
git commit -m "docs: pause session - {brief reason}"
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## 4. Display Handoff
|
|
105
|
+
|
|
106
|
+
```
|
|
107
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
108
|
+
GSD ► SESSION PAUSED ⏸
|
|
109
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
110
|
+
|
|
111
|
+
State saved to:
|
|
112
|
+
• .gsd/STATE.md
|
|
113
|
+
• .gsd/JOURNAL.md
|
|
114
|
+
|
|
115
|
+
───────────────────────────────────────────────────────
|
|
116
|
+
|
|
117
|
+
To resume later:
|
|
118
|
+
|
|
119
|
+
/resume
|
|
120
|
+
|
|
121
|
+
───────────────────────────────────────────────────────
|
|
122
|
+
|
|
123
|
+
💡 Fresh context = fresh perspective
|
|
124
|
+
The struggles end here. Next session starts clean.
|
|
125
|
+
|
|
126
|
+
───────────────────────────────────────────────────────
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
</process>
|
|
130
|
+
|
|
131
|
+
<context_hygiene>
|
|
132
|
+
If pausing due to debugging failures:
|
|
133
|
+
|
|
134
|
+
1. Be explicit about what failed
|
|
135
|
+
2. Document exact error messages
|
|
136
|
+
3. List files that were touched
|
|
137
|
+
4. State your hypothesis clearly
|
|
138
|
+
5. Suggest what to try next (different approach)
|
|
139
|
+
|
|
140
|
+
A fresh context often immediately sees solutions that a polluted context missed.
|
|
141
|
+
</context_hygiene>
|
|
142
|
+
|
|
143
|
+
<proactive_state_save>
|
|
144
|
+
## Proactive Auto-Save (Session Limit Protection)
|
|
145
|
+
|
|
146
|
+
**Problem:** If a session hard-terminates (usage/context limit), `/pause` becomes unreachable.
|
|
147
|
+
|
|
148
|
+
**Solution:** The agent should auto-save state BEFORE limits are hit.
|
|
149
|
+
|
|
150
|
+
### When to Auto-Save
|
|
151
|
+
|
|
152
|
+
| Trigger | Action |
|
|
153
|
+
|---------|--------|
|
|
154
|
+
| Context usage reaches ~50-70% | Write lightweight state snapshot to `.gsd/STATE.md` |
|
|
155
|
+
| 3-strike debugging rule fires | Save state dump BEFORE recommending `/pause` |
|
|
156
|
+
| Extended session detected | Periodic state checkpoints to `.gsd/STATE.md` |
|
|
157
|
+
|
|
158
|
+
### Auto-Save Protocol
|
|
159
|
+
|
|
160
|
+
1. **Detect** context health warning signals (see context-health-monitor skill)
|
|
161
|
+
2. **Write** current state to `.gsd/STATE.md` immediately
|
|
162
|
+
3. **Then** inform the user and recommend `/pause`
|
|
163
|
+
4. If session terminates unexpectedly, state is already saved
|
|
164
|
+
|
|
165
|
+
### Minimum Auto-Save Content
|
|
166
|
+
|
|
167
|
+
```markdown
|
|
168
|
+
## Auto-Save: {timestamp}
|
|
169
|
+
- **Phase**: {current phase}
|
|
170
|
+
- **Task**: {current task or "between tasks"}
|
|
171
|
+
- **Last Action**: {what was just completed}
|
|
172
|
+
- **Next Step**: {what should happen next}
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
**Key principle:** Save first, recommend second. Never rely on the user being able to issue `/pause`.
|
|
176
|
+
</proactive_state_save>
|