declare-cc 0.1.0 → 0.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/README.md +126 -27
- package/agents/declare-codebase-mapper.md +761 -0
- package/agents/declare-debugger.md +1198 -0
- package/agents/declare-plan-checker.md +608 -0
- package/agents/declare-planner.md +1015 -0
- package/agents/declare-research-synthesizer.md +309 -0
- package/agents/declare-researcher.md +484 -0
- package/commands/declare/actions.md +41 -20
- package/commands/declare/add-todo.md +41 -0
- package/commands/declare/audit.md +76 -0
- package/commands/declare/check-todos.md +125 -0
- package/commands/declare/complete-milestone.md +215 -0
- package/commands/declare/dashboard.md +76 -0
- package/commands/{gsd → declare}/debug.md +11 -11
- package/commands/declare/discuss.md +65 -0
- package/commands/declare/execute.md +518 -0
- package/commands/declare/health.md +92 -0
- package/commands/declare/help.md +31 -0
- package/commands/declare/init.md +36 -0
- package/commands/declare/map-codebase.md +149 -0
- package/commands/declare/milestones.md +7 -7
- package/commands/declare/new-milestone.md +172 -0
- package/commands/declare/new-project.md +565 -0
- package/commands/declare/pause.md +138 -0
- package/commands/declare/plan.md +236 -0
- package/commands/declare/prioritize.md +65 -0
- package/commands/declare/progress.md +116 -0
- package/commands/declare/quick.md +119 -0
- package/commands/declare/reapply-patches.md +178 -0
- package/commands/declare/research.md +267 -0
- package/commands/declare/resume.md +146 -0
- package/commands/declare/set-profile.md +66 -0
- package/commands/declare/settings.md +119 -0
- package/commands/declare/status.md +14 -11
- package/commands/declare/trace.md +81 -0
- package/commands/declare/update.md +251 -0
- package/commands/declare/verify.md +64 -0
- package/commands/declare/visualize.md +74 -0
- package/dist/declare-tools.cjs +1234 -3
- package/package.json +4 -2
- package/templates/future.md +4 -0
- package/templates/milestones.md +11 -0
- package/workflows/actions.md +89 -0
- package/workflows/discuss.md +476 -0
- package/workflows/future.md +185 -0
- package/workflows/milestones.md +87 -0
- package/workflows/verify.md +504 -0
- package/commands/gsd/add-phase.md +0 -39
- package/commands/gsd/add-todo.md +0 -42
- package/commands/gsd/audit-milestone.md +0 -42
- package/commands/gsd/check-todos.md +0 -41
- package/commands/gsd/cleanup.md +0 -18
- package/commands/gsd/complete-milestone.md +0 -136
- package/commands/gsd/discuss-phase.md +0 -87
- package/commands/gsd/execute-phase.md +0 -42
- package/commands/gsd/health.md +0 -22
- package/commands/gsd/help.md +0 -22
- package/commands/gsd/insert-phase.md +0 -33
- package/commands/gsd/join-discord.md +0 -18
- package/commands/gsd/list-phase-assumptions.md +0 -50
- package/commands/gsd/map-codebase.md +0 -71
- package/commands/gsd/new-milestone.md +0 -51
- package/commands/gsd/new-project.md +0 -42
- package/commands/gsd/new-project.md.bak +0 -1041
- package/commands/gsd/pause-work.md +0 -35
- package/commands/gsd/plan-milestone-gaps.md +0 -40
- package/commands/gsd/plan-phase.md +0 -44
- package/commands/gsd/progress.md +0 -24
- package/commands/gsd/quick.md +0 -40
- package/commands/gsd/reapply-patches.md +0 -110
- package/commands/gsd/remove-phase.md +0 -32
- package/commands/gsd/research-phase.md +0 -187
- package/commands/gsd/resume-work.md +0 -40
- package/commands/gsd/set-profile.md +0 -34
- package/commands/gsd/settings.md +0 -36
- package/commands/gsd/update.md +0 -37
- package/commands/gsd/verify-work.md +0 -39
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Research how to implement a milestone (spawns 4 parallel researchers, then synthesizes)
|
|
3
|
+
allowed-tools:
|
|
4
|
+
- Read
|
|
5
|
+
- Write
|
|
6
|
+
- Bash
|
|
7
|
+
- Glob
|
|
8
|
+
- Grep
|
|
9
|
+
- Task
|
|
10
|
+
argument-hint: "[M-XX]"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
Research how to implement a milestone by spawning 4 parallel researcher agents (stack, features, architecture, pitfalls) then synthesizing their findings into a unified RESEARCH.md.
|
|
14
|
+
|
|
15
|
+
**Step 1: Load graph and validate milestone.**
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
node dist/declare-tools.cjs load-graph
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Parse the JSON output. If it contains an `error` field, tell the user to run `/declare:init` first and stop.
|
|
22
|
+
|
|
23
|
+
If `$ARGUMENTS` contains a milestone ID (e.g., `M-02`), use it directly. Otherwise, list all pending milestones and ask the user to specify one.
|
|
24
|
+
|
|
25
|
+
Extract from the graph the milestone's `title`, `goal`, and which declaration IDs it `realizes` (e.g., `D-01`). If the milestone is not found, tell the user and stop.
|
|
26
|
+
|
|
27
|
+
Note the milestone slug by converting the milestone title to lowercase with hyphens (e.g., "Milestone research pipeline" → "milestone-research-pipeline"). The milestone folder path is `.planning/milestones/M-XX-slug/`.
|
|
28
|
+
|
|
29
|
+
**Step 2: Check for existing research.**
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
ls .planning/milestones/M-XX-slug/RESEARCH.md 2>/dev/null
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
If RESEARCH.md already exists:
|
|
36
|
+
- Display: "RESEARCH.md already exists for M-XX. Options: 1) Re-research (overwrite), 2) View existing, 3) Cancel"
|
|
37
|
+
- Wait for user choice before continuing.
|
|
38
|
+
|
|
39
|
+
If it does not exist, continue.
|
|
40
|
+
|
|
41
|
+
**Step 3: Check for existing CONTEXT.md.**
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
ls .planning/milestones/M-XX-slug/CONTEXT.md 2>/dev/null
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
If CONTEXT.md exists, it contains user decisions that constrain research. Load it and pass it to all researcher agents.
|
|
48
|
+
|
|
49
|
+
**Step 4: Display research banner.**
|
|
50
|
+
|
|
51
|
+
```
|
|
52
|
+
## Researching: M-XX — [milestoneTitle]
|
|
53
|
+
|
|
54
|
+
**Declares:** [declaration IDs and statements]
|
|
55
|
+
**Goal:** [milestone goal or title]
|
|
56
|
+
**Mode:** Parallel research (4 agents → synthesizer)
|
|
57
|
+
|
|
58
|
+
Spawning 4 researchers: STACK, FEATURES, ARCHITECTURE, PITFALLS...
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
**Step 5: Spawn 4 parallel declare-researcher agents.**
|
|
62
|
+
|
|
63
|
+
Spawn all 4 Task agents in the same response so they run in parallel. Each agent researches a specific domain.
|
|
64
|
+
|
|
65
|
+
For each researcher, the prompt follows this pattern (fill in milestone-specific context):
|
|
66
|
+
|
|
67
|
+
**STACK researcher:**
|
|
68
|
+
|
|
69
|
+
```
|
|
70
|
+
First, read agents/declare-researcher.md for your role and instructions.
|
|
71
|
+
|
|
72
|
+
<research_domain>STACK</research_domain>
|
|
73
|
+
|
|
74
|
+
<objective>
|
|
75
|
+
Research the standard technology stack for implementing milestone M-XX: [milestoneTitle]
|
|
76
|
+
|
|
77
|
+
Investigate: What libraries, frameworks, and tools form the standard stack for this domain? What versions are current? What are the "blessed" combinations experts use?
|
|
78
|
+
</objective>
|
|
79
|
+
|
|
80
|
+
<milestone_context>
|
|
81
|
+
Milestone: M-XX — [milestoneTitle]
|
|
82
|
+
Goal: [milestoneGoal]
|
|
83
|
+
Realizes: [declarationIds and statements]
|
|
84
|
+
[contextMdContent if exists]
|
|
85
|
+
</milestone_context>
|
|
86
|
+
|
|
87
|
+
<output>
|
|
88
|
+
Write your findings to: .planning/milestones/M-XX-slug/STACK.md
|
|
89
|
+
Use the RESEARCH.md structure from your instructions but title it "STACK Research".
|
|
90
|
+
Do NOT commit — the synthesizer will commit everything together.
|
|
91
|
+
</output>
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
**FEATURES researcher:**
|
|
95
|
+
|
|
96
|
+
```
|
|
97
|
+
First, read agents/declare-researcher.md for your role and instructions.
|
|
98
|
+
|
|
99
|
+
<research_domain>FEATURES</research_domain>
|
|
100
|
+
|
|
101
|
+
<objective>
|
|
102
|
+
Research the features and capabilities required to implement milestone M-XX: [milestoneTitle]
|
|
103
|
+
|
|
104
|
+
Investigate: What capabilities are table stakes (must-have)? What are differentiators? What should be deferred to later milestones? What do users/implementers actually need?
|
|
105
|
+
</objective>
|
|
106
|
+
|
|
107
|
+
<milestone_context>
|
|
108
|
+
Milestone: M-XX — [milestoneTitle]
|
|
109
|
+
Goal: [milestoneGoal]
|
|
110
|
+
Realizes: [declarationIds and statements]
|
|
111
|
+
[contextMdContent if exists]
|
|
112
|
+
</milestone_context>
|
|
113
|
+
|
|
114
|
+
<output>
|
|
115
|
+
Write your findings to: .planning/milestones/M-XX-slug/FEATURES.md
|
|
116
|
+
Use the RESEARCH.md structure from your instructions but title it "FEATURES Research".
|
|
117
|
+
Do NOT commit — the synthesizer will commit everything together.
|
|
118
|
+
</output>
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
**ARCHITECTURE researcher:**
|
|
122
|
+
|
|
123
|
+
```
|
|
124
|
+
First, read agents/declare-researcher.md for your role and instructions.
|
|
125
|
+
|
|
126
|
+
<research_domain>ARCHITECTURE</research_domain>
|
|
127
|
+
|
|
128
|
+
<objective>
|
|
129
|
+
Research the architecture patterns for implementing milestone M-XX: [milestoneTitle]
|
|
130
|
+
|
|
131
|
+
Investigate: What are the standard component structures? What data flows are typical? What design patterns do experts use? What project organization works best?
|
|
132
|
+
</objective>
|
|
133
|
+
|
|
134
|
+
<milestone_context>
|
|
135
|
+
Milestone: M-XX — [milestoneTitle]
|
|
136
|
+
Goal: [milestoneGoal]
|
|
137
|
+
Realizes: [declarationIds and statements]
|
|
138
|
+
[contextMdContent if exists]
|
|
139
|
+
</milestone_context>
|
|
140
|
+
|
|
141
|
+
<output>
|
|
142
|
+
Write your findings to: .planning/milestones/M-XX-slug/ARCHITECTURE.md
|
|
143
|
+
Use the RESEARCH.md structure from your instructions but title it "ARCHITECTURE Research".
|
|
144
|
+
Do NOT commit — the synthesizer will commit everything together.
|
|
145
|
+
</output>
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
**PITFALLS researcher:**
|
|
149
|
+
|
|
150
|
+
```
|
|
151
|
+
First, read agents/declare-researcher.md for your role and instructions.
|
|
152
|
+
|
|
153
|
+
<research_domain>PITFALLS</research_domain>
|
|
154
|
+
|
|
155
|
+
<objective>
|
|
156
|
+
Research common pitfalls and failure modes when implementing milestone M-XX: [milestoneTitle]
|
|
157
|
+
|
|
158
|
+
Investigate: What do beginners get wrong? What causes rewrites? What performance, security, or correctness traps exist? What should never be hand-rolled?
|
|
159
|
+
</objective>
|
|
160
|
+
|
|
161
|
+
<milestone_context>
|
|
162
|
+
Milestone: M-XX — [milestoneTitle]
|
|
163
|
+
Goal: [milestoneGoal]
|
|
164
|
+
Realizes: [declarationIds and statements]
|
|
165
|
+
[contextMdContent if exists]
|
|
166
|
+
</milestone_context>
|
|
167
|
+
|
|
168
|
+
<output>
|
|
169
|
+
Write your findings to: .planning/milestones/M-XX-slug/PITFALLS.md
|
|
170
|
+
Use the RESEARCH.md structure from your instructions but title it "PITFALLS Research".
|
|
171
|
+
Do NOT commit — the synthesizer will commit everything together.
|
|
172
|
+
</output>
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
Use one Task tool call per researcher. Spawn all 4 in the same response.
|
|
176
|
+
|
|
177
|
+
**Step 6: After all 4 researchers complete, display interim summary.**
|
|
178
|
+
|
|
179
|
+
```
|
|
180
|
+
### Research Phase Complete
|
|
181
|
+
|
|
182
|
+
| Domain | Status | Key Finding |
|
|
183
|
+
|--------|--------|-------------|
|
|
184
|
+
| STACK | Done | [brief summary from agent return] |
|
|
185
|
+
| FEATURES | Done | [brief summary from agent return] |
|
|
186
|
+
| ARCHITECTURE | Done | [brief summary from agent return] |
|
|
187
|
+
| PITFALLS | Done | [brief summary from agent return] |
|
|
188
|
+
|
|
189
|
+
Spawning synthesizer...
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
If any researcher returned `## RESEARCH BLOCKED`, surface the blocker to the user before spawning the synthesizer. Ask whether to continue with partial research or abort.
|
|
193
|
+
|
|
194
|
+
**Step 7: Spawn declare-research-synthesizer.**
|
|
195
|
+
|
|
196
|
+
```
|
|
197
|
+
First, read agents/declare-research-synthesizer.md for your role and instructions.
|
|
198
|
+
|
|
199
|
+
<objective>
|
|
200
|
+
Synthesize the 4 research files for milestone M-XX: [milestoneTitle] into a unified RESEARCH.md.
|
|
201
|
+
</objective>
|
|
202
|
+
|
|
203
|
+
<milestone_context>
|
|
204
|
+
Milestone: M-XX — [milestoneTitle]
|
|
205
|
+
Goal: [milestoneGoal]
|
|
206
|
+
Realizes: [declarationIds and statements]
|
|
207
|
+
Milestone folder: .planning/milestones/M-XX-slug/
|
|
208
|
+
</milestone_context>
|
|
209
|
+
|
|
210
|
+
<research_files>
|
|
211
|
+
- .planning/milestones/M-XX-slug/STACK.md
|
|
212
|
+
- .planning/milestones/M-XX-slug/FEATURES.md
|
|
213
|
+
- .planning/milestones/M-XX-slug/ARCHITECTURE.md
|
|
214
|
+
- .planning/milestones/M-XX-slug/PITFALLS.md
|
|
215
|
+
</research_files>
|
|
216
|
+
|
|
217
|
+
<output>
|
|
218
|
+
Write synthesized output to: .planning/milestones/M-XX-slug/RESEARCH.md
|
|
219
|
+
Commit all research files (the 4 domain files + RESEARCH.md) together:
|
|
220
|
+
node dist/declare-tools.cjs commit "docs(M-XX): complete milestone research" --files .planning/milestones/M-XX-slug/
|
|
221
|
+
</output>
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
Use one Task tool call for the synthesizer.
|
|
225
|
+
|
|
226
|
+
**Step 8: Present results.**
|
|
227
|
+
|
|
228
|
+
After the synthesizer returns `## SYNTHESIS COMPLETE`:
|
|
229
|
+
|
|
230
|
+
```
|
|
231
|
+
## Research Complete: M-XX — [milestoneTitle]
|
|
232
|
+
|
|
233
|
+
**Files created:**
|
|
234
|
+
- .planning/milestones/M-XX-slug/STACK.md
|
|
235
|
+
- .planning/milestones/M-XX-slug/FEATURES.md
|
|
236
|
+
- .planning/milestones/M-XX-slug/ARCHITECTURE.md
|
|
237
|
+
- .planning/milestones/M-XX-slug/PITFALLS.md
|
|
238
|
+
- .planning/milestones/M-XX-slug/RESEARCH.md
|
|
239
|
+
|
|
240
|
+
**Overall confidence:** [from synthesizer]
|
|
241
|
+
|
|
242
|
+
### Key Findings
|
|
243
|
+
[3-5 bullets from synthesizer executive summary]
|
|
244
|
+
|
|
245
|
+
### Planning Implications
|
|
246
|
+
[Suggested action groups from synthesizer]
|
|
247
|
+
|
|
248
|
+
**Next step:** Run `/declare:actions M-XX` to derive action plans informed by this research.
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
**Error handling:**
|
|
252
|
+
|
|
253
|
+
- If `load-graph` returns an error: stop and ask user to run `/declare:init`.
|
|
254
|
+
- If the milestone folder does not exist: run `mkdir -p .planning/milestones/M-XX-slug/` before spawning researchers.
|
|
255
|
+
- If a researcher agent fails: log the failure, continue with the other 3 researchers, then inform the synthesizer about the missing file.
|
|
256
|
+
- If synthesis is blocked: display the synthesizer's `## SYNTHESIS BLOCKED` message and ask the user how to proceed.
|
|
257
|
+
- If RESEARCH.md already exists and user chose to re-research: the synthesizer will overwrite it.
|
|
258
|
+
|
|
259
|
+
**Key patterns:**
|
|
260
|
+
|
|
261
|
+
- 4 parallel researchers run concurrently for speed (stack, features, architecture, pitfalls).
|
|
262
|
+
- Researchers write domain files but do NOT commit.
|
|
263
|
+
- Synthesizer reads all 4 files, writes RESEARCH.md, and commits everything in one shot.
|
|
264
|
+
- Research informs `/declare:actions` planning — always suggest it as next step.
|
|
265
|
+
- CONTEXT.md (from `/declare:discuss`) constrains research when present.
|
|
266
|
+
- Milestone folder path follows `.planning/milestones/M-XX-slug/` convention.
|
|
267
|
+
- Use repo-relative paths in all file references and agent prompts.
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: declare:resume
|
|
3
|
+
description: Restore full project context from a previous session and route to the next action
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Read
|
|
6
|
+
- Bash
|
|
7
|
+
- Glob
|
|
8
|
+
- Grep
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
Restore project context from a previous session and route to the appropriate next action.
|
|
12
|
+
|
|
13
|
+
**Step 1: Check for handoff file.**
|
|
14
|
+
|
|
15
|
+
Check whether `.continue-here.md` exists at the project root:
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
ls .continue-here.md 2>/dev/null && echo "found" || echo "not found"
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
**Step 2a: If `.continue-here.md` exists — restore from handoff.**
|
|
22
|
+
|
|
23
|
+
Read `.continue-here.md`.
|
|
24
|
+
|
|
25
|
+
Display its contents in a clean, structured format:
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
## Resuming from Saved Context
|
|
29
|
+
|
|
30
|
+
**Paused at:** [Paused timestamp from file]
|
|
31
|
+
**Position:** [Position from file]
|
|
32
|
+
|
|
33
|
+
### Active Milestone
|
|
34
|
+
|
|
35
|
+
[Active milestone details from file]
|
|
36
|
+
|
|
37
|
+
### Remaining Actions
|
|
38
|
+
|
|
39
|
+
[Remaining actions list from file]
|
|
40
|
+
|
|
41
|
+
### Decisions Made Last Session
|
|
42
|
+
|
|
43
|
+
[Decisions from file]
|
|
44
|
+
|
|
45
|
+
### Blockers
|
|
46
|
+
|
|
47
|
+
[Blockers from file]
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Then run `load-graph` to get fresh action statuses (actions may have changed since the pause):
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
node dist/declare-tools.cjs load-graph
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
If graph loads successfully, cross-reference: if any actions listed as PENDING in `.continue-here.md` are now DONE in the graph, note that:
|
|
57
|
+
|
|
58
|
+
```
|
|
59
|
+
Note: Since pausing, [A-XX] has been completed.
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Proceed to Step 3 (routing).
|
|
63
|
+
|
|
64
|
+
**Step 2b: If `.continue-here.md` does not exist — load from STATE.md.**
|
|
65
|
+
|
|
66
|
+
Run:
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
node dist/declare-tools.cjs get-state
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
node dist/declare-tools.cjs load-graph
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
If `get-state` returns an error (STATE.md not found):
|
|
77
|
+
|
|
78
|
+
```
|
|
79
|
+
No project state found. Run /declare:new-project to initialize.
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
Then stop.
|
|
83
|
+
|
|
84
|
+
Display the state context:
|
|
85
|
+
|
|
86
|
+
```
|
|
87
|
+
## Resuming from STATE.md
|
|
88
|
+
|
|
89
|
+
**Current Position:** [currentPosition]
|
|
90
|
+
**Last Activity:** [most recent session history entry, if any]
|
|
91
|
+
|
|
92
|
+
### Recent Work
|
|
93
|
+
|
|
94
|
+
[recentWork from STATE.md]
|
|
95
|
+
|
|
96
|
+
### Decisions
|
|
97
|
+
|
|
98
|
+
[decisions from STATE.md, or "(none recorded)"]
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
Proceed to Step 3 (routing).
|
|
102
|
+
|
|
103
|
+
**Step 3: Route to next action.**
|
|
104
|
+
|
|
105
|
+
Evaluate the current project state and present the most relevant next step:
|
|
106
|
+
|
|
107
|
+
**Route A — Pending actions on active milestone:**
|
|
108
|
+
- "Ready to continue [M-XX] — [N] actions remaining."
|
|
109
|
+
- Offer: "`/declare:execute [M-XX]` to continue"
|
|
110
|
+
|
|
111
|
+
**Route B — Active milestone fully complete, not yet verified:**
|
|
112
|
+
- "[M-XX] has all actions done but is not yet verified."
|
|
113
|
+
- Offer: "`/declare:verify [M-XX]` to verify milestone truth"
|
|
114
|
+
|
|
115
|
+
**Route C — Blocker recorded:**
|
|
116
|
+
- "A blocker was recorded: [blocker text]"
|
|
117
|
+
- Offer options: "Resolve it manually, then run `/declare:execute [M-XX]`" or "`/declare:status` to review the graph"
|
|
118
|
+
|
|
119
|
+
**Route D — No active milestone:**
|
|
120
|
+
- "No active milestone found."
|
|
121
|
+
- Offer: "`/declare:new-milestone` to plan next milestone" or "`/declare:status` to review graph"
|
|
122
|
+
|
|
123
|
+
**Route E — No project initialized:**
|
|
124
|
+
- "Project not initialized."
|
|
125
|
+
- Offer: "`/declare:new-project` to initialize"
|
|
126
|
+
|
|
127
|
+
Present the route as a clear, single recommendation with an alternative if applicable.
|
|
128
|
+
|
|
129
|
+
**Step 4: Record session resumption.**
|
|
130
|
+
|
|
131
|
+
```bash
|
|
132
|
+
node dist/declare-tools.cjs record-session --stopped-at "Resumed — [currentPosition]"
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
Do not display the output of this command.
|
|
136
|
+
|
|
137
|
+
**Step 5: Clean up handoff file (if used).**
|
|
138
|
+
|
|
139
|
+
If `.continue-here.md` was used in Step 2a and routing shows work is continuing normally, offer:
|
|
140
|
+
|
|
141
|
+
```
|
|
142
|
+
The .continue-here.md handoff file can be removed once you are fully resumed.
|
|
143
|
+
Run: git rm .continue-here.md && git commit -m "chore: resume work — remove handoff file"
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
Do not remove it automatically — leave that to the user.
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Switch model profile for Declare agents (quality/balanced/budget)
|
|
3
|
+
argument-hint: <profile>
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Read
|
|
6
|
+
- Bash
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
Switch the model profile used by Declare agents. Controls which Claude model each agent uses, balancing output quality vs token spend.
|
|
10
|
+
|
|
11
|
+
**Step 1: Validate the profile argument.**
|
|
12
|
+
|
|
13
|
+
Parse `$ARGUMENTS` to extract the profile name. It must be one of: `quality`, `balanced`, `budget`.
|
|
14
|
+
|
|
15
|
+
If the argument is missing or invalid, display the usage error and the profile table below, then stop.
|
|
16
|
+
|
|
17
|
+
```
|
|
18
|
+
Usage: /declare:set-profile <profile>
|
|
19
|
+
|
|
20
|
+
Profiles:
|
|
21
|
+
quality — claude-opus-4-5 for all agents
|
|
22
|
+
balanced — claude-sonnet-4-5 for execution, claude-opus-4-5 for planning
|
|
23
|
+
budget — claude-haiku-3-5 for execution, claude-sonnet-4-5 for planning
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
**Step 2: Read current profile.**
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
node dist/declare-tools.cjs config-get model_profile
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Extract the current value (default "quality" if key not found).
|
|
33
|
+
|
|
34
|
+
**Step 3: Apply the new profile.**
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
node dist/declare-tools.cjs config-set --key model_profile --value <profile>
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
If the command fails, display the error and stop.
|
|
41
|
+
|
|
42
|
+
**Step 4: Display confirmation.**
|
|
43
|
+
|
|
44
|
+
Show a confirmation with the model table:
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
Profile switched: [old] → [new]
|
|
48
|
+
|
|
49
|
+
Model assignments for "[new]" profile:
|
|
50
|
+
|
|
51
|
+
Agent Model
|
|
52
|
+
───────────────────────────────────────────────
|
|
53
|
+
Planner [planner model]
|
|
54
|
+
Plan-checker [plan-checker model]
|
|
55
|
+
Executor [executor model]
|
|
56
|
+
Verifier [verifier model]
|
|
57
|
+
Researcher [researcher model]
|
|
58
|
+
|
|
59
|
+
Use /declare:settings to configure additional workflow options.
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Model assignments by profile:
|
|
63
|
+
|
|
64
|
+
- **quality**: all agents use `claude-opus-4-5`
|
|
65
|
+
- **balanced**: planner=`claude-opus-4-5`, plan-checker=`claude-opus-4-5`, executor=`claude-sonnet-4-5`, verifier=`claude-sonnet-4-5`, researcher=`claude-opus-4-5`
|
|
66
|
+
- **budget**: planner=`claude-sonnet-4-5`, plan-checker=`claude-sonnet-4-5`, executor=`claude-haiku-3-5`, verifier=`claude-haiku-3-5`, researcher=`claude-sonnet-4-5`
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Configure Declare workflow settings interactively
|
|
3
|
+
allowed-tools:
|
|
4
|
+
- Read
|
|
5
|
+
- Bash
|
|
6
|
+
- AskUserQuestion
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
Interactive configuration of Declare workflow settings and model profile.
|
|
10
|
+
|
|
11
|
+
**Step 1: Read current config.**
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
node dist/declare-tools.cjs config-get model_profile
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
node dist/declare-tools.cjs config-get workflow.research
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
node dist/declare-tools.cjs config-get workflow.plan_check
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
node dist/declare-tools.cjs config-get workflow.auto_advance
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Extract current values (use defaults if key not found: model_profile="quality", research=true, plan_check=true, auto_advance=false).
|
|
30
|
+
|
|
31
|
+
**Step 2: Ask the 5 configuration questions in sequence using AskUserQuestion.**
|
|
32
|
+
|
|
33
|
+
For each question, show the current value so the user knows what's selected now. Accept Enter to keep the current value.
|
|
34
|
+
|
|
35
|
+
**Question 1: Model profile**
|
|
36
|
+
|
|
37
|
+
```
|
|
38
|
+
Which model profile should Declare agents use?
|
|
39
|
+
|
|
40
|
+
1. quality — claude-opus-4-5 for all agents (highest quality, most spend)
|
|
41
|
+
2. balanced — claude-sonnet-4-5 for execution, opus-4-5 for planning (recommended)
|
|
42
|
+
3. budget — claude-haiku-3-5 for execution, sonnet-4-5 for planning (low spend)
|
|
43
|
+
|
|
44
|
+
Current: [current value]
|
|
45
|
+
Enter 1, 2, or 3 (or press Enter to keep current):
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
**Question 2: Research phase**
|
|
49
|
+
|
|
50
|
+
```
|
|
51
|
+
Enable research phase before milestone planning?
|
|
52
|
+
Research gives agents web context but takes extra time.
|
|
53
|
+
|
|
54
|
+
Current: [true/false]
|
|
55
|
+
Enter yes/no (or press Enter to keep current):
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
**Question 3: Plan check**
|
|
59
|
+
|
|
60
|
+
```
|
|
61
|
+
Enable plan-checker review loop after planning?
|
|
62
|
+
Plan-checker validates plans before execution starts.
|
|
63
|
+
|
|
64
|
+
Current: [true/false]
|
|
65
|
+
Enter yes/no (or press Enter to keep current):
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
**Question 4: Auto-advance**
|
|
69
|
+
|
|
70
|
+
```
|
|
71
|
+
Enable auto-advance mode?
|
|
72
|
+
In auto mode, checkpoints are skipped and agents continue without pausing for human verification.
|
|
73
|
+
Only enable if you trust the agents to proceed without review.
|
|
74
|
+
|
|
75
|
+
Current: [true/false]
|
|
76
|
+
Enter yes/no (or press Enter to keep current):
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
**Step 3: Parse answers and persist each changed setting.**
|
|
80
|
+
|
|
81
|
+
Map answers to values:
|
|
82
|
+
- Profile "1" → "quality", "2" → "balanced", "3" → "budget". Empty input → keep current.
|
|
83
|
+
- "yes"/"y" → true, "no"/"n" → false. Empty input → keep current.
|
|
84
|
+
|
|
85
|
+
For each setting that changed, run config-set:
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
node dist/declare-tools.cjs config-set --key model_profile --value <profile>
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
node dist/declare-tools.cjs config-set --key workflow.research --value <true|false>
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
node dist/declare-tools.cjs config-set --key workflow.plan_check --value <true|false>
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
node dist/declare-tools.cjs config-set --key workflow.auto_advance --value <true|false>
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
**Step 4: Display confirmation.**
|
|
104
|
+
|
|
105
|
+
Show a summary table of the final configuration:
|
|
106
|
+
|
|
107
|
+
```
|
|
108
|
+
Declare settings saved.
|
|
109
|
+
|
|
110
|
+
Model profile : [profile]
|
|
111
|
+
Research : [enabled/disabled]
|
|
112
|
+
Plan check : [enabled/disabled]
|
|
113
|
+
Auto-advance : [enabled/disabled]
|
|
114
|
+
|
|
115
|
+
Quick commands:
|
|
116
|
+
/declare:set-profile quality|balanced|budget — switch profile
|
|
117
|
+
/declare:health — check project health
|
|
118
|
+
/declare:settings — open this menu
|
|
119
|
+
```
|
|
@@ -12,7 +12,7 @@ Show the current state of the Declare project graph.
|
|
|
12
12
|
**Step 1: Run the status tool.**
|
|
13
13
|
|
|
14
14
|
```bash
|
|
15
|
-
node
|
|
15
|
+
node dist/declare-tools.cjs status
|
|
16
16
|
```
|
|
17
17
|
|
|
18
18
|
Parse the JSON output.
|
|
@@ -45,18 +45,21 @@ For each validation error, provide a brief suggestion:
|
|
|
45
45
|
- `cycle`: "Check for circular dependencies in your graph"
|
|
46
46
|
- `broken_edge`: "The target node may have been removed -- update or remove the edge"
|
|
47
47
|
|
|
48
|
-
**
|
|
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."
|
|
48
|
+
**Last Activity:** Show the timestamp and commit message from the last git activity.
|
|
51
49
|
|
|
52
|
-
**
|
|
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"
|
|
50
|
+
**Performance:** If the status output contains a `performance` field (non-null):
|
|
57
51
|
|
|
58
|
-
|
|
52
|
+
Show the project rollup first:
|
|
53
|
+
"Performance: [rollup.performance] (alignment: [rollup.alignment] x integrity: [rollup.integrity])"
|
|
59
54
|
|
|
60
|
-
|
|
55
|
+
Then show per-declaration breakdown:
|
|
56
|
+
|
|
57
|
+
| Declaration | Alignment | Integrity | Performance |
|
|
58
|
+
|-------------|-----------|-----------|-------------|
|
|
59
|
+
| D-XX: [title] | HIGH | MEDIUM | MEDIUM |
|
|
60
|
+
|
|
61
|
+
If `performance` is null, skip this section entirely (graceful degradation for projects with no declarations).
|
|
62
|
+
|
|
63
|
+
Keep the "Performance: HIGH (alignment: HIGH x integrity: HIGH)" plain text label format -- qualitative labels only, never numeric scores.
|
|
61
64
|
|
|
62
65
|
The overall feel should be like a dashboard -- compact, scannable, with clear health indicators.
|