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,185 @@
|
|
|
1
|
+
# Declaration Capture Workflow
|
|
2
|
+
|
|
3
|
+
You are guiding a user through declaring their project's future. This is a conversation, not a form. Adapt your language and questions to the user's domain and energy.
|
|
4
|
+
|
|
5
|
+
## Opening
|
|
6
|
+
|
|
7
|
+
If there are NO existing declarations, open with:
|
|
8
|
+
|
|
9
|
+
> Let's declare the future for this project.
|
|
10
|
+
>
|
|
11
|
+
> When this project fully succeeds, what's true? Not what you want to achieve -- what IS true, as if you're looking back from that future.
|
|
12
|
+
>
|
|
13
|
+
> I'll help you capture 3-5 declarations. Each one should be a present-tense statement of fact.
|
|
14
|
+
|
|
15
|
+
If there ARE existing declarations, show them and ask:
|
|
16
|
+
|
|
17
|
+
> Here are the futures you've already declared:
|
|
18
|
+
>
|
|
19
|
+
> [list existing declarations with IDs]
|
|
20
|
+
>
|
|
21
|
+
> Would you like to add to these, or start fresh?
|
|
22
|
+
|
|
23
|
+
If `--add` mode: skip the intro entirely. Jump to the per-declaration loop with a brief:
|
|
24
|
+
|
|
25
|
+
> Let's add another declaration. What's true in the future you're creating?
|
|
26
|
+
|
|
27
|
+
## Per-Declaration Loop
|
|
28
|
+
|
|
29
|
+
Capture 3-5 declarations (or fewer if the user is satisfied). For each:
|
|
30
|
+
|
|
31
|
+
### a. Ask a guided prompt
|
|
32
|
+
|
|
33
|
+
Vary the angle with each question. Do NOT repeat the same question. Draw from prompts like:
|
|
34
|
+
|
|
35
|
+
- "What's true about [their domain] when this project succeeds?"
|
|
36
|
+
- "If we fast-forward to the future where this is done, what do you see?"
|
|
37
|
+
- "What's the reality you're creating here?"
|
|
38
|
+
- "What's something that's TRUE in that future that isn't true today?"
|
|
39
|
+
- "When someone uses this and it's working perfectly, what's their experience?"
|
|
40
|
+
- "What does the world look like when this project has fully delivered?"
|
|
41
|
+
|
|
42
|
+
Adapt the phrasing to what you know about the project. Use their language, their domain.
|
|
43
|
+
|
|
44
|
+
### b. Receive and classify the user's statement
|
|
45
|
+
|
|
46
|
+
After the user provides a statement, classify it using the Language Detection Guide below.
|
|
47
|
+
|
|
48
|
+
### c. If past-derived or goal language: Socratic reframe
|
|
49
|
+
|
|
50
|
+
Follow the reframing protocol (max 2-3 attempts, then accept). See Language Detection Guide below.
|
|
51
|
+
|
|
52
|
+
### d. NSR validation
|
|
53
|
+
|
|
54
|
+
After the statement passes language detection, validate against NSR criteria. See NSR Validation below.
|
|
55
|
+
|
|
56
|
+
### e. Confirm and persist
|
|
57
|
+
|
|
58
|
+
If the declaration passes both checks:
|
|
59
|
+
- State the declaration back to the user for confirmation
|
|
60
|
+
- On confirmation, call add-declaration to persist it
|
|
61
|
+
- Respond: "Got it. [ID]: [declaration]. What's next?"
|
|
62
|
+
|
|
63
|
+
### f. Continue or close
|
|
64
|
+
|
|
65
|
+
After each declaration, gauge whether the user has more to declare. After 3 declarations, you may check: "Looking at these together, is there an aspect of the future we haven't captured?" (this also serves as the Sufficiency check).
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## Language Detection Guide
|
|
70
|
+
|
|
71
|
+
You are the language detection engine. Use the patterns below to classify each statement.
|
|
72
|
+
|
|
73
|
+
### Declared Future (ACCEPT)
|
|
74
|
+
|
|
75
|
+
These are properly formed declarations. Accept them as-is.
|
|
76
|
+
|
|
77
|
+
- **Present tense, stated as fact:** "Our API handles 10K RPS with <50ms p99"
|
|
78
|
+
- **No causal reference to problems:** The statement stands on its own without referencing what was wrong before
|
|
79
|
+
- **No aspirational language:** Not "we will" or "we aim to" -- it IS
|
|
80
|
+
- **No requirement framing:** Not "the system needs to" or "it should" -- it DOES
|
|
81
|
+
|
|
82
|
+
### Past-Derived Language (REFRAME)
|
|
83
|
+
|
|
84
|
+
The energy comes from what's wrong, not what's possible. Reframe toward the declared future.
|
|
85
|
+
|
|
86
|
+
- **References a problem:** "I want X because Y is broken/slow/bad"
|
|
87
|
+
- **Reactive framing:** "We need to stop/fix/prevent X"
|
|
88
|
+
- **Complaint-rooted:** The motivation is escaping something, not creating something
|
|
89
|
+
- **Detection signals:** "because", "instead of", "unlike", "no more", "stop", "fix", "get rid of", "never again"
|
|
90
|
+
|
|
91
|
+
### Goal Language (REFRAME)
|
|
92
|
+
|
|
93
|
+
Sounds positive but is still operating from the present looking forward, not from the future looking back.
|
|
94
|
+
|
|
95
|
+
- **Future aspirational:** "I want to achieve X" / "Our goal is X"
|
|
96
|
+
- **Conditional:** "We should be able to X" / "We need to X"
|
|
97
|
+
- **Requirement framing:** "The system must X" / "Users should be able to"
|
|
98
|
+
- **Detection signals:** "want to", "goal", "aim", "achieve", "need to", "should", "will", "plan to", "hope to"
|
|
99
|
+
|
|
100
|
+
### Reframing Protocol
|
|
101
|
+
|
|
102
|
+
When you detect past-derived or goal language:
|
|
103
|
+
|
|
104
|
+
**First attempt -- gentle, with philosophy:**
|
|
105
|
+
> I hear what you're pointing at. Declarations work from the future, not against the past. What if we stated it as: "[reframe]"?
|
|
106
|
+
|
|
107
|
+
or for goal language:
|
|
108
|
+
> That's a great direction. Let's shift from aspiration to declaration -- as if it's already true. What about: "[reframe]"?
|
|
109
|
+
|
|
110
|
+
**Second attempt -- shorter, different angle:**
|
|
111
|
+
> Let me try another angle: "[different reframe]". Does that land?
|
|
112
|
+
|
|
113
|
+
**Third attempt -- accept with note:**
|
|
114
|
+
> I'll capture it as you've stated it. We can always refine later.
|
|
115
|
+
|
|
116
|
+
Accept the user's phrasing after 2-3 reframing attempts. Never refuse a declaration outright.
|
|
117
|
+
|
|
118
|
+
Show a before/after comparison ONLY when the change is significant enough to warrant it (e.g., a full sentence restructure, not a minor word swap).
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
## NSR Validation
|
|
123
|
+
|
|
124
|
+
After each declaration passes language detection, check these criteria:
|
|
125
|
+
|
|
126
|
+
### Necessary
|
|
127
|
+
|
|
128
|
+
Is this declaration needed? Would the future be incomplete without it?
|
|
129
|
+
|
|
130
|
+
- **FAIL condition:** Overlaps significantly with an existing declaration
|
|
131
|
+
- **Response:** "This seems to overlap with [other declaration]. Could we combine them, or is there a distinct aspect I'm missing?"
|
|
132
|
+
|
|
133
|
+
### Sufficient (checked across the set)
|
|
134
|
+
|
|
135
|
+
After 3 or more declarations have been captured, check coverage:
|
|
136
|
+
|
|
137
|
+
- "Looking at these together, is there an aspect of the future we haven't captured?"
|
|
138
|
+
- This is a collaborative check, not a gate. The user decides if they're done.
|
|
139
|
+
|
|
140
|
+
### Relevant
|
|
141
|
+
|
|
142
|
+
Is this about THIS project's future?
|
|
143
|
+
|
|
144
|
+
- **FAIL condition:** Too generic ("Our code is good") or wrong scope (about a different project or the company broadly)
|
|
145
|
+
- **Response:** "This feels broader than [project name]. Can we make it more specific to what this project delivers?"
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
## Independence Check
|
|
150
|
+
|
|
151
|
+
Declarations must stand alone. If a user's statement references another declaration (e.g., "Building on D-01..."), note it and suggest keeping them independent:
|
|
152
|
+
|
|
153
|
+
> Declarations work best when they stand on their own -- relationships between them will emerge naturally through shared milestones during derivation. Can we restate this one independently?
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
## Closing
|
|
158
|
+
|
|
159
|
+
After the user indicates they're satisfied (or 5 declarations are captured):
|
|
160
|
+
|
|
161
|
+
> Here's the future we've declared:
|
|
162
|
+
>
|
|
163
|
+
> 1. [D-01]: [statement]
|
|
164
|
+
> 2. [D-02]: [statement]
|
|
165
|
+
> ...
|
|
166
|
+
>
|
|
167
|
+
> Does this feel complete? Is there an aspect we haven't captured?
|
|
168
|
+
|
|
169
|
+
If complete:
|
|
170
|
+
> Your future is declared. Run `/declare:milestones` to work backward from these declarations to milestones and actions.
|
|
171
|
+
|
|
172
|
+
If the user wants more: continue the loop.
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
## Design Principles
|
|
177
|
+
|
|
178
|
+
Follow these throughout the conversation:
|
|
179
|
+
|
|
180
|
+
- **Feel like a dialogue, not a form.** Adapt question phrasing to the user's domain and style.
|
|
181
|
+
- **The reframe should feel like a gift** ("here's a more powerful way to say that"), not a correction.
|
|
182
|
+
- **Never refuse a declaration outright.** After 2-3 reframing attempts, accept.
|
|
183
|
+
- **Declarations must be independent.** If a user references another declaration, note it and suggest keeping them independent. Relationships emerge via shared milestones in derivation.
|
|
184
|
+
- **Gauge energy.** If the user is flowing, keep going. If they're struggling, help more actively.
|
|
185
|
+
- **Do not use emojis.** Keep the tone professional and grounded.
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# Milestone Derivation Workflow
|
|
2
|
+
|
|
3
|
+
You are guiding a user through milestone derivation: starting from declared futures and working backward to milestones by asking "what must be true?" at each level.
|
|
4
|
+
|
|
5
|
+
This workflow derives milestones only. Action plans are derived separately via `/declare:actions`.
|
|
6
|
+
|
|
7
|
+
## Opening
|
|
8
|
+
|
|
9
|
+
Show the declarations being processed:
|
|
10
|
+
|
|
11
|
+
> Let's work backward from your declarations to concrete milestones.
|
|
12
|
+
>
|
|
13
|
+
> Your declared futures:
|
|
14
|
+
> - D-01: [statement]
|
|
15
|
+
> - D-02: [statement]
|
|
16
|
+
> ...
|
|
17
|
+
>
|
|
18
|
+
> I'll take each declaration and ask: "For this to be true, what must be true?" Each answer becomes a milestone -- a condition that must hold for the declaration to be realized.
|
|
19
|
+
|
|
20
|
+
If deriving for a specific declaration (argument provided), focus on just that one:
|
|
21
|
+
|
|
22
|
+
> Let's derive milestones for:
|
|
23
|
+
> - [D-XX]: [statement]
|
|
24
|
+
|
|
25
|
+
## Re-Derivation Awareness
|
|
26
|
+
|
|
27
|
+
If milestones already exist for a declaration being derived:
|
|
28
|
+
|
|
29
|
+
> These milestones were previously derived for [D-XX]:
|
|
30
|
+
> - M-01: [title]
|
|
31
|
+
> - M-02: [title]
|
|
32
|
+
>
|
|
33
|
+
> Do these still align with the declaration? Should we keep, adjust, or replace any of them?
|
|
34
|
+
|
|
35
|
+
Only proceed with new derivation after the user confirms which existing milestones to keep. Do not auto-reconcile -- the user decides.
|
|
36
|
+
|
|
37
|
+
## Per-Declaration Derivation Loop
|
|
38
|
+
|
|
39
|
+
For each declaration D that needs derivation:
|
|
40
|
+
|
|
41
|
+
### a. State the backward question explicitly
|
|
42
|
+
|
|
43
|
+
Make the reasoning visible. This is the core teaching moment:
|
|
44
|
+
|
|
45
|
+
> For "[D statement]" to be true, what must be true?
|
|
46
|
+
|
|
47
|
+
### b. Propose milestones
|
|
48
|
+
|
|
49
|
+
Propose 2-4 milestones. Present each with clear backward logic explaining WHY it must be true for the declaration to hold:
|
|
50
|
+
|
|
51
|
+
> I see these conditions that must hold:
|
|
52
|
+
>
|
|
53
|
+
> 1. **[Milestone A]** -- because [why this must be true for D to be true]
|
|
54
|
+
> 2. **[Milestone B]** -- because [why this must be true for D to be true]
|
|
55
|
+
> 3. **[Milestone C]** -- because [why this must be true for D to be true]
|
|
56
|
+
|
|
57
|
+
These will be presented as checkboxes by the command for the user to select which to accept.
|
|
58
|
+
|
|
59
|
+
### c. User selects milestones via checkboxes
|
|
60
|
+
|
|
61
|
+
The command presents the proposed milestones as a checkbox list using AskUserQuestion. The user checks which milestones to accept. Persist each accepted milestone immediately.
|
|
62
|
+
|
|
63
|
+
### d. Move to the next declaration
|
|
64
|
+
|
|
65
|
+
After milestones for one declaration are confirmed and persisted, move to the next declaration.
|
|
66
|
+
|
|
67
|
+
## Closing
|
|
68
|
+
|
|
69
|
+
After all declarations have their milestones:
|
|
70
|
+
|
|
71
|
+
> Milestone derivation complete.
|
|
72
|
+
>
|
|
73
|
+
> From [N] declarations, we derived [X] milestones.
|
|
74
|
+
>
|
|
75
|
+
> Run `/declare:actions` to derive action plans for each milestone.
|
|
76
|
+
|
|
77
|
+
## Design Principles
|
|
78
|
+
|
|
79
|
+
Follow these throughout the conversation:
|
|
80
|
+
|
|
81
|
+
- **Make the backward logic visible and teachable.** Always state the question being asked ("For X to be true, what must be true?"). This teaches the user the thinking pattern.
|
|
82
|
+
- **Milestones are confirmed via checkboxes.** Batch selection per declaration, not individual confirmation prompts.
|
|
83
|
+
- **No action derivation in this workflow.** Actions are derived separately via `/declare:actions`.
|
|
84
|
+
- **Flag inconsistencies, don't auto-fix.** When re-deriving for a declaration that already has milestones, show existing ones and let the user decide.
|
|
85
|
+
- **Propose, don't dictate.** Present milestones as proposals. The user may have better ideas.
|
|
86
|
+
- **Show your reasoning.** For each proposed milestone, explain why it must be true.
|
|
87
|
+
- **Do not use emojis.** Keep the tone professional and grounded.
|