maxsimcli 4.8.0 → 4.10.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 +180 -202
- package/dist/assets/CHANGELOG.md +61 -0
- package/dist/assets/hooks/maxsim-check-update.cjs +38 -0
- package/dist/assets/hooks/maxsim-check-update.cjs.map +1 -1
- package/dist/assets/hooks/maxsim-statusline.cjs +116 -48
- package/dist/assets/hooks/maxsim-statusline.cjs.map +1 -1
- package/dist/assets/hooks/maxsim-sync-reminder.cjs +117 -0
- package/dist/assets/hooks/maxsim-sync-reminder.cjs.map +1 -0
- package/dist/assets/templates/agents/AGENTS.md +78 -106
- package/dist/assets/templates/agents/executor.md +101 -0
- package/dist/assets/templates/agents/planner.md +86 -0
- package/dist/assets/templates/agents/researcher.md +71 -0
- package/dist/assets/templates/agents/verifier.md +88 -0
- package/dist/assets/templates/commands/maxsim/debug.md +7 -7
- package/dist/assets/templates/commands/maxsim/execute.md +45 -0
- package/dist/assets/templates/commands/maxsim/go.md +29 -0
- package/dist/assets/templates/commands/maxsim/help.md +2 -2
- package/dist/assets/templates/commands/maxsim/init.md +52 -0
- package/dist/assets/templates/commands/maxsim/plan.md +50 -0
- package/dist/assets/templates/commands/maxsim/progress.md +4 -3
- package/dist/assets/templates/commands/maxsim/quick.md +6 -4
- package/dist/assets/templates/commands/maxsim/settings.md +4 -3
- package/dist/assets/templates/references/continuation-format.md +16 -16
- package/dist/assets/templates/references/model-profile-resolution.md +1 -1
- package/dist/assets/templates/references/model-profiles.md +12 -19
- package/dist/assets/templates/rules/conventions.md +51 -0
- package/dist/assets/templates/rules/verification-protocol.md +57 -0
- package/dist/assets/templates/skills/agent-system-map/SKILL.md +92 -0
- package/dist/assets/templates/skills/brainstorming/SKILL.md +48 -36
- package/dist/assets/templates/skills/code-review/SKILL.md +40 -61
- package/dist/assets/templates/skills/commit-conventions/SKILL.md +75 -0
- package/dist/assets/templates/skills/evidence-collection/SKILL.md +87 -0
- package/dist/assets/templates/skills/handoff-contract/SKILL.md +70 -0
- package/dist/assets/templates/skills/input-validation/SKILL.md +51 -0
- package/dist/assets/templates/skills/maxsim-batch/SKILL.md +41 -45
- package/dist/assets/templates/skills/maxsim-simplify/SKILL.md +37 -90
- package/dist/assets/templates/skills/memory-management/SKILL.md +32 -67
- package/dist/assets/templates/skills/research-methodology/SKILL.md +137 -0
- package/dist/assets/templates/skills/roadmap-writing/SKILL.md +40 -58
- package/dist/assets/templates/skills/sdd/SKILL.md +34 -69
- package/dist/assets/templates/skills/systematic-debugging/SKILL.md +20 -26
- package/dist/assets/templates/skills/tdd/SKILL.md +25 -33
- package/dist/assets/templates/skills/tool-priority-guide/SKILL.md +80 -0
- package/dist/assets/templates/skills/using-maxsim/SKILL.md +42 -73
- package/dist/assets/templates/skills/verification-before-completion/SKILL.md +12 -24
- package/dist/assets/templates/skills/verification-gates/SKILL.md +169 -0
- package/dist/assets/templates/templates/UAT.md +3 -3
- package/dist/assets/templates/templates/VALIDATION.md +1 -1
- package/dist/assets/templates/templates/context.md +4 -4
- package/dist/assets/templates/templates/debug-subagent-prompt.md +3 -3
- package/dist/assets/templates/templates/discovery.md +2 -2
- package/dist/assets/templates/templates/phase-prompt.md +2 -2
- package/dist/assets/templates/templates/planner-subagent-prompt.md +7 -7
- package/dist/assets/templates/templates/project.md +1 -1
- package/dist/assets/templates/templates/research.md +1 -1
- package/dist/assets/templates/templates/state.md +2 -2
- package/dist/assets/templates/templates/summary.md +41 -0
- package/dist/assets/templates/workflows/batch.md +5 -5
- package/dist/assets/templates/workflows/diagnose-issues.md +2 -2
- package/dist/assets/templates/workflows/discovery-phase.md +3 -3
- package/dist/assets/templates/workflows/discuss-phase.md +11 -11
- package/dist/assets/templates/workflows/execute-phase.md +205 -11
- package/dist/assets/templates/workflows/execute-plan.md +299 -34
- package/dist/assets/templates/workflows/execute.md +421 -0
- package/dist/assets/templates/workflows/go.md +250 -0
- package/dist/assets/templates/workflows/health.md +5 -5
- package/dist/assets/templates/workflows/help.md +165 -435
- package/dist/assets/templates/workflows/init-existing.md +23 -23
- package/dist/assets/templates/workflows/init.md +205 -0
- package/dist/assets/templates/workflows/new-milestone.md +9 -9
- package/dist/assets/templates/workflows/new-project.md +26 -26
- package/dist/assets/templates/workflows/plan-create.md +298 -0
- package/dist/assets/templates/workflows/plan-discuss.md +347 -0
- package/dist/assets/templates/workflows/plan-phase.md +29 -29
- package/dist/assets/templates/workflows/plan-research.md +177 -0
- package/dist/assets/templates/workflows/plan.md +231 -0
- package/dist/assets/templates/workflows/progress.md +46 -42
- package/dist/assets/templates/workflows/quick.md +195 -14
- package/dist/assets/templates/workflows/research-phase.md +5 -5
- package/dist/assets/templates/workflows/sdd.md +20 -12
- package/dist/assets/templates/workflows/settings.md +18 -14
- package/dist/assets/templates/workflows/verify-phase.md +1 -1
- package/dist/assets/templates/workflows/verify-work.md +16 -16
- package/dist/cli.cjs +4589 -229
- package/dist/cli.cjs.map +1 -1
- package/dist/core-D5zUr9cb.cjs.map +1 -1
- package/dist/install.cjs +234 -17
- package/dist/install.cjs.map +1 -1
- package/dist/mcp-server.cjs +298 -20
- package/dist/mcp-server.cjs.map +1 -1
- package/dist/skills-CjFWZIGM.cjs.map +1 -1
- package/package.json +1 -1
- package/dist/assets/hooks/maxsim-context-monitor.cjs +0 -121
- package/dist/assets/hooks/maxsim-context-monitor.cjs.map +0 -1
- package/dist/assets/templates/agents/maxsim-code-reviewer.md +0 -239
- package/dist/assets/templates/agents/maxsim-codebase-mapper.md +0 -214
- package/dist/assets/templates/agents/maxsim-debugger.md +0 -572
- package/dist/assets/templates/agents/maxsim-drift-checker.md +0 -522
- package/dist/assets/templates/agents/maxsim-executor.md +0 -504
- package/dist/assets/templates/agents/maxsim-integration-checker.md +0 -273
- package/dist/assets/templates/agents/maxsim-phase-researcher.md +0 -305
- package/dist/assets/templates/agents/maxsim-plan-checker.md +0 -343
- package/dist/assets/templates/agents/maxsim-planner.md +0 -610
- package/dist/assets/templates/agents/maxsim-project-researcher.md +0 -359
- package/dist/assets/templates/agents/maxsim-research-synthesizer.md +0 -263
- package/dist/assets/templates/agents/maxsim-roadmapper.md +0 -324
- package/dist/assets/templates/agents/maxsim-spec-reviewer.md +0 -245
- package/dist/assets/templates/agents/maxsim-verifier.md +0 -393
- package/dist/assets/templates/commands/maxsim/add-phase.md +0 -43
- package/dist/assets/templates/commands/maxsim/add-tests.md +0 -41
- package/dist/assets/templates/commands/maxsim/add-todo.md +0 -57
- package/dist/assets/templates/commands/maxsim/artefakte.md +0 -122
- package/dist/assets/templates/commands/maxsim/audit-milestone.md +0 -36
- package/dist/assets/templates/commands/maxsim/batch.md +0 -42
- package/dist/assets/templates/commands/maxsim/check-drift.md +0 -56
- package/dist/assets/templates/commands/maxsim/check-todos.md +0 -46
- package/dist/assets/templates/commands/maxsim/cleanup.md +0 -18
- package/dist/assets/templates/commands/maxsim/complete-milestone.md +0 -136
- package/dist/assets/templates/commands/maxsim/discuss-phase.md +0 -87
- package/dist/assets/templates/commands/maxsim/discuss.md +0 -70
- package/dist/assets/templates/commands/maxsim/execute-phase.md +0 -41
- package/dist/assets/templates/commands/maxsim/health.md +0 -22
- package/dist/assets/templates/commands/maxsim/init-existing.md +0 -46
- package/dist/assets/templates/commands/maxsim/insert-phase.md +0 -32
- package/dist/assets/templates/commands/maxsim/list-phase-assumptions.md +0 -46
- package/dist/assets/templates/commands/maxsim/map-codebase.md +0 -71
- package/dist/assets/templates/commands/maxsim/new-milestone.md +0 -44
- package/dist/assets/templates/commands/maxsim/new-project.md +0 -46
- package/dist/assets/templates/commands/maxsim/pause-work.md +0 -38
- package/dist/assets/templates/commands/maxsim/plan-milestone-gaps.md +0 -34
- package/dist/assets/templates/commands/maxsim/plan-phase.md +0 -44
- package/dist/assets/templates/commands/maxsim/realign.md +0 -39
- package/dist/assets/templates/commands/maxsim/reapply-patches.md +0 -110
- package/dist/assets/templates/commands/maxsim/remove-phase.md +0 -31
- package/dist/assets/templates/commands/maxsim/research-phase.md +0 -189
- package/dist/assets/templates/commands/maxsim/resume-work.md +0 -40
- package/dist/assets/templates/commands/maxsim/roadmap.md +0 -19
- package/dist/assets/templates/commands/maxsim/sdd.md +0 -39
- package/dist/assets/templates/commands/maxsim/set-profile.md +0 -34
- package/dist/assets/templates/commands/maxsim/update.md +0 -37
- package/dist/assets/templates/commands/maxsim/verify-work.md +0 -38
- package/dist/assets/templates/workflows/add-phase.md +0 -111
- package/dist/assets/templates/workflows/add-tests.md +0 -351
- package/dist/assets/templates/workflows/add-todo.md +0 -247
- package/dist/assets/templates/workflows/audit-milestone.md +0 -297
- package/dist/assets/templates/workflows/check-drift.md +0 -248
- package/dist/assets/templates/workflows/check-todos.md +0 -261
- package/dist/assets/templates/workflows/cleanup.md +0 -153
- package/dist/assets/templates/workflows/complete-milestone.md +0 -701
- package/dist/assets/templates/workflows/discuss.md +0 -343
- package/dist/assets/templates/workflows/insert-phase.md +0 -129
- package/dist/assets/templates/workflows/list-phase-assumptions.md +0 -178
- package/dist/assets/templates/workflows/map-codebase.md +0 -315
- package/dist/assets/templates/workflows/pause-work.md +0 -122
- package/dist/assets/templates/workflows/plan-milestone-gaps.md +0 -274
- package/dist/assets/templates/workflows/realign.md +0 -288
- package/dist/assets/templates/workflows/remove-phase.md +0 -154
- package/dist/assets/templates/workflows/resume-project.md +0 -306
- package/dist/assets/templates/workflows/roadmap.md +0 -130
- package/dist/assets/templates/workflows/set-profile.md +0 -81
- package/dist/assets/templates/workflows/transition.md +0 -544
- package/dist/assets/templates/workflows/update.md +0 -220
|
@@ -1,248 +0,0 @@
|
|
|
1
|
-
<purpose>
|
|
2
|
-
Orchestrate a drift-checker agent to compare .planning/ spec against the codebase and produce DRIFT-REPORT.md.
|
|
3
|
-
|
|
4
|
-
The drift-checker agent writes the report directly. The orchestrator only receives a summary (status + counts) to prevent context bloat. After the report is generated, the orchestrator reads only the YAML frontmatter for key metrics and presents results to the user.
|
|
5
|
-
|
|
6
|
-
Output: .planning/DRIFT-REPORT.md with severity-tiered findings and YAML frontmatter.
|
|
7
|
-
</purpose>
|
|
8
|
-
|
|
9
|
-
<philosophy>
|
|
10
|
-
**Agent writes output directly:**
|
|
11
|
-
The drift-checker agent writes DRIFT-REPORT.md directly to `.planning/`. The orchestrator does NOT receive the full report content -- it only gets confirmation and counts. This follows the same pattern as maxsim-codebase-mapper (which writes documents directly to `.planning/codebase/`).
|
|
12
|
-
|
|
13
|
-
**Why:** The drift report can be large (50+ items with evidence). Passing the full report back to the orchestrator would waste context. Only metadata flows back.
|
|
14
|
-
|
|
15
|
-
**Fresh scan every run:**
|
|
16
|
-
Every drift check performs a fresh codebase analysis. Previous reports are only used for diff tracking (NEW/RESOLVED/UNCHANGED labels), never as a substitute for current analysis.
|
|
17
|
-
</philosophy>
|
|
18
|
-
|
|
19
|
-
<process>
|
|
20
|
-
|
|
21
|
-
<step name="init_context" priority="first">
|
|
22
|
-
Load drift check context:
|
|
23
|
-
|
|
24
|
-
```bash
|
|
25
|
-
INIT=$(node ~/.claude/maxsim/bin/maxsim-tools.cjs init check-drift)
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
Extract from init JSON:
|
|
29
|
-
- `drift_model` -- model resolution for the drift-checker agent
|
|
30
|
-
- `commit_docs` -- whether to commit the report
|
|
31
|
-
- `has_planning` -- whether .planning/ exists
|
|
32
|
-
- `has_requirements` -- whether REQUIREMENTS.md exists
|
|
33
|
-
- `has_roadmap` -- whether ROADMAP.md exists
|
|
34
|
-
- `has_nogos` -- whether NO-GOS.md exists
|
|
35
|
-
- `has_conventions` -- whether CONVENTIONS.md exists
|
|
36
|
-
- `has_previous_report` -- whether a previous DRIFT-REPORT.md exists
|
|
37
|
-
- `spec_files` -- list of all spec file paths found
|
|
38
|
-
- `phase_dirs` -- list of active phase directories
|
|
39
|
-
- `archived_milestone_dirs` -- list of archived milestone directories
|
|
40
|
-
- Paths: `requirements_path`, `roadmap_path`, `nogos_path`, `conventions_path`, `state_path`
|
|
41
|
-
</step>
|
|
42
|
-
|
|
43
|
-
<step name="validate">
|
|
44
|
-
**Gate: Verify project is initialized.**
|
|
45
|
-
|
|
46
|
-
If `has_planning` is false:
|
|
47
|
-
|
|
48
|
-
```
|
|
49
|
-
No .planning/ directory found.
|
|
50
|
-
|
|
51
|
-
Run `/maxsim:new-project` to initialize your project first.
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
Stop workflow.
|
|
55
|
-
|
|
56
|
-
If `has_requirements` is false AND `has_roadmap` is false:
|
|
57
|
-
|
|
58
|
-
```
|
|
59
|
-
No REQUIREMENTS.md or ROADMAP.md found in .planning/.
|
|
60
|
-
|
|
61
|
-
At least one spec file is needed for drift detection.
|
|
62
|
-
Run `/maxsim:new-project` to create project specification.
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
Stop workflow.
|
|
66
|
-
|
|
67
|
-
If `has_planning` is true and at least one spec file exists, continue.
|
|
68
|
-
|
|
69
|
-
If some spec files are missing (e.g., no NO-GOS.md or CONVENTIONS.md), note this for the agent -- it will include a warning in the report header.
|
|
70
|
-
</step>
|
|
71
|
-
|
|
72
|
-
<step name="announce">
|
|
73
|
-
Display progress to user:
|
|
74
|
-
|
|
75
|
-
```
|
|
76
|
-
Scanning codebase for spec drift...
|
|
77
|
-
|
|
78
|
-
Spec files: {list of found spec files}
|
|
79
|
-
Phase directories: {count} active{, {count} archived if any}
|
|
80
|
-
{If previous report exists: "Previous report found -- will track NEW/RESOLVED/UNCHANGED"}
|
|
81
|
-
{If no previous report: "First drift check -- all findings will be marked NEW"}
|
|
82
|
-
|
|
83
|
-
Spawning drift-checker agent...
|
|
84
|
-
```
|
|
85
|
-
</step>
|
|
86
|
-
|
|
87
|
-
<step name="spawn_drift_checker">
|
|
88
|
-
Spawn the maxsim-drift-checker agent using the Task tool.
|
|
89
|
-
|
|
90
|
-
```
|
|
91
|
-
Task(
|
|
92
|
-
subagent_type="maxsim-drift-checker",
|
|
93
|
-
model="{drift_model}",
|
|
94
|
-
description="Check spec-vs-code drift",
|
|
95
|
-
prompt="Perform a complete drift analysis of this project.
|
|
96
|
-
|
|
97
|
-
<check_drift_context>
|
|
98
|
-
{Full CheckDriftContext JSON from init step}
|
|
99
|
-
</check_drift_context>
|
|
100
|
-
|
|
101
|
-
{If $ARGUMENTS contains a phase number:}
|
|
102
|
-
<phase_filter>
|
|
103
|
-
Focus analysis on phase {phase_number}. Still check no-gos and conventions globally.
|
|
104
|
-
</phase_filter>
|
|
105
|
-
|
|
106
|
-
Analyze all spec files against the codebase. Write DRIFT-REPORT.md to .planning/.
|
|
107
|
-
Return only your summary (status and counts) -- do NOT return the full report content."
|
|
108
|
-
)
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
Wait for agent to complete.
|
|
112
|
-
</step>
|
|
113
|
-
|
|
114
|
-
<step name="read_results">
|
|
115
|
-
After the agent returns, read ONLY the frontmatter of the drift report (not the full content):
|
|
116
|
-
|
|
117
|
-
```bash
|
|
118
|
-
head -20 .planning/DRIFT-REPORT.md
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
Parse the YAML frontmatter for:
|
|
122
|
-
- `status` (aligned | drift)
|
|
123
|
-
- `critical_count`
|
|
124
|
-
- `warning_count`
|
|
125
|
-
- `info_count`
|
|
126
|
-
- `undocumented_count`
|
|
127
|
-
- `total_items`
|
|
128
|
-
- `aligned_count`
|
|
129
|
-
|
|
130
|
-
If the file was not created, report agent failure and suggest re-running.
|
|
131
|
-
</step>
|
|
132
|
-
|
|
133
|
-
<step name="commit_report">
|
|
134
|
-
If `commit_docs` is true, commit the drift report:
|
|
135
|
-
|
|
136
|
-
```bash
|
|
137
|
-
node ~/.claude/maxsim/bin/maxsim-tools.cjs commit "docs: drift report - {status}" --files .planning/DRIFT-REPORT.md
|
|
138
|
-
```
|
|
139
|
-
</step>
|
|
140
|
-
|
|
141
|
-
<step name="present_results">
|
|
142
|
-
Present the drift check results to the user.
|
|
143
|
-
|
|
144
|
-
**If status is "aligned":**
|
|
145
|
-
|
|
146
|
-
```
|
|
147
|
-
## Drift Check Complete
|
|
148
|
-
|
|
149
|
-
**Status:** ALIGNED
|
|
150
|
-
**Total items checked:** {total_items}
|
|
151
|
-
**All {aligned_count} items aligned** -- spec and code are in sync.
|
|
152
|
-
|
|
153
|
-
Report: .planning/DRIFT-REPORT.md
|
|
154
|
-
|
|
155
|
-
---
|
|
156
|
-
|
|
157
|
-
No realignment needed. Ready to continue development.
|
|
158
|
-
|
|
159
|
-
- `/maxsim:execute-phase` -- Continue executing current phase
|
|
160
|
-
- `/maxsim:plan-phase` -- Plan next phase
|
|
161
|
-
```
|
|
162
|
-
|
|
163
|
-
**If status is "drift":**
|
|
164
|
-
|
|
165
|
-
```
|
|
166
|
-
## Drift Check Complete
|
|
167
|
-
|
|
168
|
-
**Status:** DRIFT DETECTED
|
|
169
|
-
|
|
170
|
-
| Category | Count |
|
|
171
|
-
|----------|-------|
|
|
172
|
-
| Aligned | {aligned_count} |
|
|
173
|
-
| Critical | {critical_count} |
|
|
174
|
-
| Warning | {warning_count} |
|
|
175
|
-
| Info | {info_count} |
|
|
176
|
-
| Undocumented | {undocumented_count} |
|
|
177
|
-
|
|
178
|
-
{If critical_count > 0:}
|
|
179
|
-
**Critical findings require attention** -- requirements marked complete but implementation is missing.
|
|
180
|
-
|
|
181
|
-
Report: .planning/DRIFT-REPORT.md
|
|
182
|
-
|
|
183
|
-
Review the full report, then choose:
|
|
184
|
-
```
|
|
185
|
-
|
|
186
|
-
Continue to offer_realignment.
|
|
187
|
-
</step>
|
|
188
|
-
|
|
189
|
-
<step name="offer_realignment">
|
|
190
|
-
Present realignment options:
|
|
191
|
-
|
|
192
|
-
```
|
|
193
|
-
---
|
|
194
|
-
|
|
195
|
-
## Realignment Options
|
|
196
|
-
|
|
197
|
-
1. **Realign to code** -- Update `.planning/` to match what's actually built
|
|
198
|
-
Accepts current implementation as source of truth. Updates requirements and roadmap.
|
|
199
|
-
`/maxsim:realign to-code`
|
|
200
|
-
|
|
201
|
-
2. **Realign to spec** -- Create new phases to close implementation gaps
|
|
202
|
-
Keeps spec as source of truth. Generates fix phases for missing implementations.
|
|
203
|
-
`/maxsim:realign to-spec`
|
|
204
|
-
|
|
205
|
-
3. **Done** -- Acknowledge drift, no action needed now
|
|
206
|
-
The DRIFT-REPORT.md is saved for future reference.
|
|
207
|
-
|
|
208
|
-
---
|
|
209
|
-
```
|
|
210
|
-
|
|
211
|
-
Wait for user response.
|
|
212
|
-
|
|
213
|
-
- If user chooses option 1: Direct them to run `/maxsim:realign to-code`
|
|
214
|
-
- If user chooses option 2: Direct them to run `/maxsim:realign to-spec`
|
|
215
|
-
- If user chooses option 3 or "done": End workflow
|
|
216
|
-
</step>
|
|
217
|
-
|
|
218
|
-
</process>
|
|
219
|
-
|
|
220
|
-
<error_handling>
|
|
221
|
-
|
|
222
|
-
**Agent failure:** If the drift-checker agent fails or returns without creating DRIFT-REPORT.md:
|
|
223
|
-
```
|
|
224
|
-
Drift check failed. The drift-checker agent did not produce a report.
|
|
225
|
-
|
|
226
|
-
Possible causes:
|
|
227
|
-
- Insufficient spec files for analysis
|
|
228
|
-
- Agent context overload (too many requirements)
|
|
229
|
-
|
|
230
|
-
Try: `/maxsim:check-drift {specific_phase}` to narrow the scope.
|
|
231
|
-
```
|
|
232
|
-
|
|
233
|
-
**Partial spec:** The agent handles partial specs internally (runs analysis on what exists, warns about missing files). The workflow does not need to handle this specially.
|
|
234
|
-
|
|
235
|
-
**Previous report comparison failure:** If `drift previous-hash` fails, the agent runs without diff tracking. All items will be marked `[NEW]`.
|
|
236
|
-
|
|
237
|
-
</error_handling>
|
|
238
|
-
|
|
239
|
-
<success_criteria>
|
|
240
|
-
- [ ] Init context loaded with all spec file existence flags
|
|
241
|
-
- [ ] Validation gate prevents running on un-initialized projects
|
|
242
|
-
- [ ] Drift-checker agent spawned with full context
|
|
243
|
-
- [ ] Report frontmatter read (not full content) for result display
|
|
244
|
-
- [ ] Report committed if commit_docs is true
|
|
245
|
-
- [ ] Results presented with counts and status
|
|
246
|
-
- [ ] Realignment options offered when drift detected
|
|
247
|
-
- [ ] Only frontmatter read from report (no context bloat)
|
|
248
|
-
</success_criteria>
|
|
@@ -1,261 +0,0 @@
|
|
|
1
|
-
<purpose>
|
|
2
|
-
List all pending todos, allow selection, load full context for the selected todo, and route to appropriate action.
|
|
3
|
-
</purpose>
|
|
4
|
-
|
|
5
|
-
<required_reading>
|
|
6
|
-
Read all files referenced by the invoking prompt's execution_context before starting.
|
|
7
|
-
@./references/dashboard-bridge.md
|
|
8
|
-
</required_reading>
|
|
9
|
-
|
|
10
|
-
<process>
|
|
11
|
-
|
|
12
|
-
<step name="init_context">
|
|
13
|
-
Load todo context:
|
|
14
|
-
|
|
15
|
-
```bash
|
|
16
|
-
INIT=$(node ~/.claude/maxsim/bin/maxsim-tools.cjs init todos)
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
Extract from init JSON: `todo_count`, `todos`, `pending_dir`.
|
|
20
|
-
|
|
21
|
-
If `todo_count` is 0:
|
|
22
|
-
```
|
|
23
|
-
No pending todos.
|
|
24
|
-
|
|
25
|
-
Todos are captured during work sessions with /maxsim:add-todo.
|
|
26
|
-
|
|
27
|
-
---
|
|
28
|
-
|
|
29
|
-
Would you like to:
|
|
30
|
-
|
|
31
|
-
1. Continue with current phase (/maxsim:progress)
|
|
32
|
-
2. Add a todo now (/maxsim:add-todo)
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
Exit.
|
|
36
|
-
</step>
|
|
37
|
-
|
|
38
|
-
<step name="parse_filter">
|
|
39
|
-
Check for area filter in arguments:
|
|
40
|
-
- `/maxsim:check-todos` → show all
|
|
41
|
-
- `/maxsim:check-todos api` → filter to area:api only
|
|
42
|
-
</step>
|
|
43
|
-
|
|
44
|
-
<step name="list_todos">
|
|
45
|
-
Use the `todos` array from init context (already filtered by area if specified).
|
|
46
|
-
|
|
47
|
-
Parse and display as numbered list:
|
|
48
|
-
|
|
49
|
-
```
|
|
50
|
-
Pending Todos:
|
|
51
|
-
|
|
52
|
-
1. Add auth token refresh (api, 2d ago)
|
|
53
|
-
2. Fix modal z-index issue (ui, 1d ago)
|
|
54
|
-
3. Refactor database connection pool (database, 5h ago)
|
|
55
|
-
|
|
56
|
-
---
|
|
57
|
-
|
|
58
|
-
Reply with a number to view details, or:
|
|
59
|
-
- `/maxsim:check-todos [area]` to filter by area
|
|
60
|
-
- `q` to exit
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
Format age as relative time from created timestamp.
|
|
64
|
-
</step>
|
|
65
|
-
|
|
66
|
-
<step name="handle_selection">
|
|
67
|
-
Wait for user to reply with a number.
|
|
68
|
-
|
|
69
|
-
If valid: load selected todo, proceed.
|
|
70
|
-
If invalid: "Invalid selection. Reply with a number (1-[N]) or `q` to exit."
|
|
71
|
-
</step>
|
|
72
|
-
|
|
73
|
-
<step name="load_context">
|
|
74
|
-
Read the todo file completely. Display:
|
|
75
|
-
|
|
76
|
-
```
|
|
77
|
-
## [title]
|
|
78
|
-
|
|
79
|
-
**Area:** [area]
|
|
80
|
-
**Created:** [date] ([relative time] ago)
|
|
81
|
-
**Files:** [list or "None"]
|
|
82
|
-
|
|
83
|
-
### Problem
|
|
84
|
-
[problem section content]
|
|
85
|
-
|
|
86
|
-
### Solution
|
|
87
|
-
[solution section content]
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
If `files` field has entries, read and briefly summarize each.
|
|
91
|
-
</step>
|
|
92
|
-
|
|
93
|
-
<step name="check_roadmap">
|
|
94
|
-
Check for roadmap (can use init progress or directly check file existence):
|
|
95
|
-
|
|
96
|
-
If `.planning/ROADMAP.md` exists:
|
|
97
|
-
1. Check if todo's area matches an upcoming phase
|
|
98
|
-
2. Check if todo's files overlap with a phase's scope
|
|
99
|
-
3. Note any match for action options
|
|
100
|
-
</step>
|
|
101
|
-
|
|
102
|
-
<step name="offer_actions">
|
|
103
|
-
**If todo maps to a roadmap phase:**
|
|
104
|
-
|
|
105
|
-
Use AskUserQuestion:
|
|
106
|
-
- header: "Action"
|
|
107
|
-
- question: "This todo relates to Phase [N]: [name]. What would you like to do?"
|
|
108
|
-
- options:
|
|
109
|
-
- "Work on it now" — move to done, start working
|
|
110
|
-
- "Add to phase plan" — include when planning Phase [N]
|
|
111
|
-
- "Brainstorm approach" — think through before deciding
|
|
112
|
-
- "Put it back" — return to list
|
|
113
|
-
|
|
114
|
-
**If no roadmap match:**
|
|
115
|
-
|
|
116
|
-
Use AskUserQuestion:
|
|
117
|
-
- header: "Action"
|
|
118
|
-
- question: "What would you like to do with this todo?"
|
|
119
|
-
- options:
|
|
120
|
-
- "Work on it now" — move to done, start working
|
|
121
|
-
- "Create a phase" — /maxsim:add-phase with this scope
|
|
122
|
-
- "Brainstorm approach" — think through before deciding
|
|
123
|
-
- "Put it back" — return to list
|
|
124
|
-
</step>
|
|
125
|
-
|
|
126
|
-
<step name="execute_action">
|
|
127
|
-
**Work on it now:**
|
|
128
|
-
```bash
|
|
129
|
-
mv ".planning/todos/pending/[filename]" ".planning/todos/done/"
|
|
130
|
-
```
|
|
131
|
-
Update STATE.md todo count. Present problem/solution context. Begin work or ask how to proceed.
|
|
132
|
-
|
|
133
|
-
**Add to phase plan:**
|
|
134
|
-
Note todo reference in phase planning notes. Keep in pending. Return to list or exit.
|
|
135
|
-
|
|
136
|
-
**Create a phase:**
|
|
137
|
-
Display: `/maxsim:add-phase [description from todo]`
|
|
138
|
-
Keep in pending. User runs command in fresh context.
|
|
139
|
-
|
|
140
|
-
**Brainstorm approach:**
|
|
141
|
-
Keep in pending. Enter structured thinking-partner discussion to clarify and enrich the todo.
|
|
142
|
-
|
|
143
|
-
```
|
|
144
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
145
|
-
MAXSIM ► TODO BRAINSTORM
|
|
146
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
147
|
-
```
|
|
148
|
-
|
|
149
|
-
Apply thinking-partner behaviors from `@./references/thinking-partner.md` to explore the todo before deciding next steps.
|
|
150
|
-
|
|
151
|
-
**Round 1 — Problem clarity (2-3 questions):**
|
|
152
|
-
|
|
153
|
-
Use AskUserQuestion to probe:
|
|
154
|
-
- What exactly is the problem? (Challenge vagueness — if the todo description is abstract, push for specifics)
|
|
155
|
-
- What does "done" look like? (Make abstract concrete — what observable change marks completion?)
|
|
156
|
-
- Is this one thing or multiple? (Surface hidden scope — does this todo contain sub-tasks?)
|
|
157
|
-
|
|
158
|
-
Build on the todo's existing Problem and Solution sections. Quote specifics from the todo to ground the discussion.
|
|
159
|
-
|
|
160
|
-
**Round 2 — Approach exploration (2-3 questions):**
|
|
161
|
-
|
|
162
|
-
Use AskUserQuestion to explore:
|
|
163
|
-
- What approaches have you considered? (Propose 2-3 alternatives with trade-offs if the user has no strong opinion)
|
|
164
|
-
- What constraints exist? (Surface unstated assumptions — time, dependencies, tech debt, team knowledge)
|
|
165
|
-
- What could go wrong? (Make consequences visible — breaking changes, performance, migration risk)
|
|
166
|
-
|
|
167
|
-
Follow the thread from Round 1. React to the user's energy — if they are excited about an approach, dig into it. If uncertain, help narrow options.
|
|
168
|
-
|
|
169
|
-
**Round 3 — Readiness check:**
|
|
170
|
-
|
|
171
|
-
Use AskUserQuestion:
|
|
172
|
-
- header: "Todo"
|
|
173
|
-
- question: "Ready to refine this todo with what we discussed?"
|
|
174
|
-
- options:
|
|
175
|
-
- "Refine todo" — Update with discussion insights
|
|
176
|
-
- "Keep discussing" — Explore more
|
|
177
|
-
- "Split into multiple" — This is actually several todos
|
|
178
|
-
|
|
179
|
-
If "Keep discussing": ask 2-3 more probing questions focusing on the most important open question, then check readiness again.
|
|
180
|
-
If "Split into multiple": help the user define 2-3 separate todos. For each, create a new todo file in `.planning/todos/pending/` using the enriched format below. Commit all new files.
|
|
181
|
-
If "Refine todo": continue to enrichment below.
|
|
182
|
-
|
|
183
|
-
**After discussion — enrich the todo file:**
|
|
184
|
-
|
|
185
|
-
Rewrite the selected todo's markdown file with enriched content:
|
|
186
|
-
|
|
187
|
-
```markdown
|
|
188
|
-
---
|
|
189
|
-
created: [preserve original]
|
|
190
|
-
title: [preserve or refine from discussion]
|
|
191
|
-
area: [preserve or update]
|
|
192
|
-
mode: discussed
|
|
193
|
-
files:
|
|
194
|
-
- [preserve and add any new files surfaced]
|
|
195
|
-
---
|
|
196
|
-
|
|
197
|
-
## Problem
|
|
198
|
-
|
|
199
|
-
[Problem description enriched with discussion insights from Round 1]
|
|
200
|
-
|
|
201
|
-
## Scope
|
|
202
|
-
|
|
203
|
-
[What is in scope and out of scope — from Round 1 clarity questions]
|
|
204
|
-
|
|
205
|
-
## Approach
|
|
206
|
-
|
|
207
|
-
[Chosen approach with trade-offs explored — from Round 2]
|
|
208
|
-
[Include alternatives considered and why this approach was chosen]
|
|
209
|
-
|
|
210
|
-
## Risks
|
|
211
|
-
|
|
212
|
-
[What could go wrong — from Round 2 consequences discussion]
|
|
213
|
-
|
|
214
|
-
## Solution
|
|
215
|
-
|
|
216
|
-
[Concrete next steps or "TBD"]
|
|
217
|
-
```
|
|
218
|
-
|
|
219
|
-
Commit the updated todo:
|
|
220
|
-
|
|
221
|
-
```bash
|
|
222
|
-
node ~/.claude/maxsim/bin/maxsim-tools.cjs commit "docs: enrich todo after brainstorm - [title]" --files [todo-file-path] .planning/STATE.md
|
|
223
|
-
```
|
|
224
|
-
|
|
225
|
-
**Time budget:** 20-30 minutes max. After 6 rounds of questions, offer to file what you have.
|
|
226
|
-
|
|
227
|
-
**Put it back:**
|
|
228
|
-
Return to list_todos step.
|
|
229
|
-
</step>
|
|
230
|
-
|
|
231
|
-
<step name="update_state">
|
|
232
|
-
After any action that changes todo count:
|
|
233
|
-
|
|
234
|
-
Re-run `init todos` to get updated count, then update STATE.md "### Pending Todos" section if exists.
|
|
235
|
-
</step>
|
|
236
|
-
|
|
237
|
-
<step name="git_commit">
|
|
238
|
-
If todo was moved to done/, commit the change:
|
|
239
|
-
|
|
240
|
-
```bash
|
|
241
|
-
git rm --cached .planning/todos/pending/[filename] 2>/dev/null || true
|
|
242
|
-
node ~/.claude/maxsim/bin/maxsim-tools.cjs commit "docs: start work on todo - [title]" --files .planning/todos/done/[filename] .planning/STATE.md
|
|
243
|
-
```
|
|
244
|
-
|
|
245
|
-
Tool respects `commit_docs` config and gitignore automatically.
|
|
246
|
-
|
|
247
|
-
Confirm: "Committed: docs: start work on todo - [title]"
|
|
248
|
-
</step>
|
|
249
|
-
|
|
250
|
-
</process>
|
|
251
|
-
|
|
252
|
-
<success_criteria>
|
|
253
|
-
- [ ] All pending todos listed with title, area, age
|
|
254
|
-
- [ ] Area filter applied if specified
|
|
255
|
-
- [ ] Selected todo's full context loaded
|
|
256
|
-
- [ ] Roadmap context checked for phase match
|
|
257
|
-
- [ ] Appropriate actions offered
|
|
258
|
-
- [ ] Selected action executed
|
|
259
|
-
- [ ] STATE.md updated if todo count changed
|
|
260
|
-
- [ ] Changes committed to git (if todo moved to done/)
|
|
261
|
-
</success_criteria>
|
|
@@ -1,153 +0,0 @@
|
|
|
1
|
-
<purpose>
|
|
2
|
-
|
|
3
|
-
Archive accumulated phase directories from completed milestones into `.planning/milestones/v{X.Y}-phases/`. Identifies which phases belong to each completed milestone, shows a dry-run summary, and moves directories on confirmation.
|
|
4
|
-
|
|
5
|
-
</purpose>
|
|
6
|
-
|
|
7
|
-
<required_reading>
|
|
8
|
-
|
|
9
|
-
1. `.planning/MILESTONES.md`
|
|
10
|
-
2. `.planning/milestones/` directory listing
|
|
11
|
-
3. `.planning/phases/` directory listing
|
|
12
|
-
@./references/dashboard-bridge.md
|
|
13
|
-
|
|
14
|
-
</required_reading>
|
|
15
|
-
|
|
16
|
-
<process>
|
|
17
|
-
|
|
18
|
-
<step name="identify_completed_milestones">
|
|
19
|
-
|
|
20
|
-
Read `.planning/MILESTONES.md` to identify completed milestones and their versions.
|
|
21
|
-
|
|
22
|
-
```bash
|
|
23
|
-
cat .planning/MILESTONES.md
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
Extract each milestone version (e.g., v1.0, v1.1, v2.0).
|
|
27
|
-
|
|
28
|
-
Check which milestone archive dirs already exist:
|
|
29
|
-
|
|
30
|
-
```bash
|
|
31
|
-
ls -d .planning/milestones/v*-phases 2>/dev/null
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
Filter to milestones that do NOT already have a `-phases` archive directory.
|
|
35
|
-
|
|
36
|
-
If all milestones already have phase archives:
|
|
37
|
-
|
|
38
|
-
```
|
|
39
|
-
All completed milestones already have phase directories archived. Nothing to clean up.
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
Stop here.
|
|
43
|
-
|
|
44
|
-
</step>
|
|
45
|
-
|
|
46
|
-
<step name="determine_phase_membership">
|
|
47
|
-
|
|
48
|
-
For each completed milestone without a `-phases` archive, read the archived ROADMAP snapshot to determine which phases belong to it:
|
|
49
|
-
|
|
50
|
-
```bash
|
|
51
|
-
cat .planning/milestones/v{X.Y}-ROADMAP.md
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
Extract phase numbers and names from the archived roadmap (e.g., Phase 1: Foundation, Phase 2: Auth).
|
|
55
|
-
|
|
56
|
-
Check which of those phase directories still exist in `.planning/phases/`:
|
|
57
|
-
|
|
58
|
-
```bash
|
|
59
|
-
ls -d .planning/phases/*/ 2>/dev/null
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
Match phase directories to milestone membership. Only include directories that still exist in `.planning/phases/`.
|
|
63
|
-
|
|
64
|
-
</step>
|
|
65
|
-
|
|
66
|
-
<step name="show_dry_run">
|
|
67
|
-
|
|
68
|
-
Present a dry-run summary for each milestone:
|
|
69
|
-
|
|
70
|
-
```
|
|
71
|
-
## Cleanup Summary
|
|
72
|
-
|
|
73
|
-
### v{X.Y} — {Milestone Name}
|
|
74
|
-
These phase directories will be archived:
|
|
75
|
-
- 01-foundation/
|
|
76
|
-
- 02-auth/
|
|
77
|
-
- 03-core-features/
|
|
78
|
-
|
|
79
|
-
Destination: .planning/milestones/v{X.Y}-phases/
|
|
80
|
-
|
|
81
|
-
### v{X.Z} — {Milestone Name}
|
|
82
|
-
These phase directories will be archived:
|
|
83
|
-
- 04-security/
|
|
84
|
-
- 05-hardening/
|
|
85
|
-
|
|
86
|
-
Destination: .planning/milestones/v{X.Z}-phases/
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
If no phase directories remain to archive (all already moved or deleted):
|
|
90
|
-
|
|
91
|
-
```
|
|
92
|
-
No phase directories found to archive. Phases may have been removed or archived previously.
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
Stop here.
|
|
96
|
-
|
|
97
|
-
AskUserQuestion: "Proceed with archiving?" with options: "Yes — archive listed phases" | "Cancel"
|
|
98
|
-
|
|
99
|
-
If "Cancel": Stop.
|
|
100
|
-
|
|
101
|
-
</step>
|
|
102
|
-
|
|
103
|
-
<step name="archive_phases">
|
|
104
|
-
|
|
105
|
-
For each milestone, move phase directories:
|
|
106
|
-
|
|
107
|
-
```bash
|
|
108
|
-
mkdir -p .planning/milestones/v{X.Y}-phases
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
For each phase directory belonging to this milestone:
|
|
112
|
-
|
|
113
|
-
```bash
|
|
114
|
-
mv .planning/phases/{dir} .planning/milestones/v{X.Y}-phases/
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
Repeat for all milestones in the cleanup set.
|
|
118
|
-
|
|
119
|
-
</step>
|
|
120
|
-
|
|
121
|
-
<step name="commit">
|
|
122
|
-
|
|
123
|
-
Commit the changes:
|
|
124
|
-
|
|
125
|
-
```bash
|
|
126
|
-
node ~/.claude/maxsim/bin/maxsim-tools.cjs commit "chore: archive phase directories from completed milestones" --files .planning/milestones/ .planning/phases/
|
|
127
|
-
```
|
|
128
|
-
|
|
129
|
-
</step>
|
|
130
|
-
|
|
131
|
-
<step name="report">
|
|
132
|
-
|
|
133
|
-
```
|
|
134
|
-
Archived:
|
|
135
|
-
{For each milestone}
|
|
136
|
-
- v{X.Y}: {N} phase directories → .planning/milestones/v{X.Y}-phases/
|
|
137
|
-
|
|
138
|
-
.planning/phases/ cleaned up.
|
|
139
|
-
```
|
|
140
|
-
|
|
141
|
-
</step>
|
|
142
|
-
|
|
143
|
-
</process>
|
|
144
|
-
|
|
145
|
-
<success_criteria>
|
|
146
|
-
|
|
147
|
-
- [ ] All completed milestones without existing phase archives identified
|
|
148
|
-
- [ ] Phase membership determined from archived ROADMAP snapshots
|
|
149
|
-
- [ ] Dry-run summary shown and user confirmed
|
|
150
|
-
- [ ] Phase directories moved to `.planning/milestones/v{X.Y}-phases/`
|
|
151
|
-
- [ ] Changes committed
|
|
152
|
-
|
|
153
|
-
</success_criteria>
|