maxsimcli 3.12.0 → 4.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/dist/.tsbuildinfo +1 -1
- package/dist/adapters/index.d.ts +0 -11
- package/dist/adapters/index.d.ts.map +1 -1
- package/dist/adapters/index.js +4 -40
- package/dist/adapters/index.js.map +1 -1
- package/dist/assets/CHANGELOG.md +17 -0
- package/dist/assets/dashboard/client/assets/{index-wtQDvXzr.js → index-C_eAetZJ.js} +60 -60
- package/dist/assets/dashboard/client/assets/index-CmiJKqOU.css +32 -0
- package/dist/assets/dashboard/client/index.html +2 -2
- package/dist/assets/dashboard/server.js +467 -271
- package/dist/assets/templates/agents/AGENTS.md +13 -1
- package/dist/assets/templates/agents/maxsim-debugger.md +2 -2
- package/dist/assets/templates/agents/maxsim-executor.md +5 -5
- package/dist/assets/templates/agents/maxsim-phase-researcher.md +2 -2
- package/dist/assets/templates/agents/maxsim-plan-checker.md +2 -2
- package/dist/assets/templates/agents/maxsim-planner.md +3 -3
- package/dist/assets/templates/commands/maxsim/add-todo.md +15 -5
- package/dist/assets/templates/commands/maxsim/discuss-phase.md +1 -0
- package/dist/assets/templates/commands/maxsim/init-existing.md +4 -0
- package/dist/assets/templates/commands/maxsim/new-project.md +4 -0
- package/dist/assets/templates/references/thinking-partner.md +41 -0
- package/dist/assets/templates/skills/batch-worktree/SKILL.md +137 -0
- package/dist/assets/templates/skills/brainstorming/SKILL.md +159 -0
- package/dist/assets/templates/skills/roadmap-writing/SKILL.md +198 -0
- package/dist/assets/templates/skills/sdd/SKILL.md +175 -0
- package/dist/assets/templates/skills/simplify/SKILL.md +48 -0
- package/dist/assets/templates/skills/using-maxsim/SKILL.md +6 -1
- package/dist/assets/templates/templates/acceptance-criteria.md +10 -0
- package/dist/assets/templates/templates/decisions.md +10 -0
- package/dist/assets/templates/templates/no-gos.md +9 -0
- package/dist/assets/templates/workflows/add-todo.md +89 -0
- package/dist/assets/templates/workflows/discuss-phase.md +85 -1
- package/dist/assets/templates/workflows/execute-phase.md +22 -2
- package/dist/assets/templates/workflows/execute-plan.md +166 -0
- package/dist/assets/templates/workflows/init-existing.md +116 -0
- package/dist/assets/templates/workflows/new-project.md +105 -1
- package/dist/assets/templates/workflows/plan-phase.md +3 -3
- package/dist/assets/templates/workflows/quick.md +2 -2
- package/dist/cli.cjs +1264 -882
- package/dist/cli.cjs.map +1 -1
- package/dist/cli.js +97 -74
- package/dist/cli.js.map +1 -1
- package/dist/core/artefakte.d.ts +12 -0
- package/dist/core/artefakte.d.ts.map +1 -0
- package/dist/core/artefakte.js +136 -0
- package/dist/core/artefakte.js.map +1 -0
- package/dist/core/commands.d.ts +13 -13
- package/dist/core/commands.d.ts.map +1 -1
- package/dist/core/commands.js +44 -57
- package/dist/core/commands.js.map +1 -1
- package/dist/core/config.d.ts +4 -3
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +14 -18
- package/dist/core/config.js.map +1 -1
- package/dist/core/context-loader.d.ts +20 -0
- package/dist/core/context-loader.d.ts.map +1 -0
- package/dist/core/context-loader.js +154 -0
- package/dist/core/context-loader.js.map +1 -0
- package/dist/core/core.d.ts +8 -2
- package/dist/core/core.d.ts.map +1 -1
- package/dist/core/core.js +47 -11
- package/dist/core/core.js.map +1 -1
- package/dist/core/dashboard-launcher.d.ts +1 -1
- package/dist/core/dashboard-launcher.d.ts.map +1 -1
- package/dist/core/dashboard-launcher.js +18 -15
- package/dist/core/dashboard-launcher.js.map +1 -1
- package/dist/core/frontmatter.d.ts +5 -5
- package/dist/core/frontmatter.d.ts.map +1 -1
- package/dist/core/frontmatter.js +21 -26
- package/dist/core/frontmatter.js.map +1 -1
- package/dist/core/index.d.ts +8 -3
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +23 -3
- package/dist/core/index.js.map +1 -1
- package/dist/core/init.d.ts +14 -14
- package/dist/core/init.d.ts.map +1 -1
- package/dist/core/init.js +93 -154
- package/dist/core/init.js.map +1 -1
- package/dist/core/milestone.d.ts +3 -3
- package/dist/core/milestone.d.ts.map +1 -1
- package/dist/core/milestone.js +9 -9
- package/dist/core/milestone.js.map +1 -1
- package/dist/core/phase.d.ts +9 -9
- package/dist/core/phase.d.ts.map +1 -1
- package/dist/core/phase.js +64 -68
- package/dist/core/phase.js.map +1 -1
- package/dist/core/roadmap.d.ts +4 -3
- package/dist/core/roadmap.d.ts.map +1 -1
- package/dist/core/roadmap.js +46 -109
- package/dist/core/roadmap.js.map +1 -1
- package/dist/core/skills.d.ts +19 -0
- package/dist/core/skills.d.ts.map +1 -0
- package/dist/core/skills.js +145 -0
- package/dist/core/skills.js.map +1 -0
- package/dist/core/start.d.ts +15 -0
- package/dist/core/start.d.ts.map +1 -0
- package/dist/core/start.js +80 -0
- package/dist/core/start.js.map +1 -0
- package/dist/core/state.d.ts +13 -13
- package/dist/core/state.d.ts.map +1 -1
- package/dist/core/state.js +119 -126
- package/dist/core/state.js.map +1 -1
- package/dist/core/template.d.ts +3 -3
- package/dist/core/template.d.ts.map +1 -1
- package/dist/core/template.js +12 -14
- package/dist/core/template.js.map +1 -1
- package/dist/core/types.d.ts +14 -2
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +8 -0
- package/dist/core/types.js.map +1 -1
- package/dist/core/verify.d.ts +10 -9
- package/dist/core/verify.d.ts.map +1 -1
- package/dist/core/verify.js +38 -48
- package/dist/core/verify.js.map +1 -1
- package/dist/core-TFSlUjV1.cjs +4312 -0
- package/dist/core-TFSlUjV1.cjs.map +1 -0
- package/dist/install/adapters.d.ts +2 -11
- package/dist/install/adapters.d.ts.map +1 -1
- package/dist/install/adapters.js +16 -154
- package/dist/install/adapters.js.map +1 -1
- package/dist/install/copy.d.ts +1 -10
- package/dist/install/copy.d.ts.map +1 -1
- package/dist/install/copy.js +5 -125
- package/dist/install/copy.js.map +1 -1
- package/dist/install/hooks.d.ts +4 -5
- package/dist/install/hooks.d.ts.map +1 -1
- package/dist/install/hooks.js +46 -71
- package/dist/install/hooks.js.map +1 -1
- package/dist/install/index.js +163 -226
- package/dist/install/index.js.map +1 -1
- package/dist/install/manifest.d.ts +5 -2
- package/dist/install/manifest.d.ts.map +1 -1
- package/dist/install/manifest.js +20 -26
- package/dist/install/manifest.js.map +1 -1
- package/dist/install/patches.d.ts +1 -2
- package/dist/install/patches.d.ts.map +1 -1
- package/dist/install/patches.js +4 -16
- package/dist/install/patches.js.map +1 -1
- package/dist/install/shared.d.ts +24 -18
- package/dist/install/shared.d.ts.map +1 -1
- package/dist/install/shared.js +65 -35
- package/dist/install/shared.js.map +1 -1
- package/dist/install/uninstall.d.ts +2 -3
- package/dist/install/uninstall.d.ts.map +1 -1
- package/dist/install/uninstall.js +24 -82
- package/dist/install/uninstall.js.map +1 -1
- package/dist/install.cjs +321 -1230
- package/dist/install.cjs.map +1 -1
- package/dist/mcp-server.cjs +38 -14
- package/dist/mcp-server.cjs.map +1 -1
- package/dist/skills-BOSxYUzf.cjs +6812 -0
- package/dist/skills-BOSxYUzf.cjs.map +1 -0
- package/package.json +1 -1
- package/dist/adapters/codex.d.ts +0 -19
- package/dist/adapters/codex.d.ts.map +0 -1
- package/dist/adapters/codex.js +0 -94
- package/dist/adapters/codex.js.map +0 -1
- package/dist/adapters/gemini.d.ts +0 -19
- package/dist/adapters/gemini.d.ts.map +0 -1
- package/dist/adapters/gemini.js +0 -96
- package/dist/adapters/gemini.js.map +0 -1
- package/dist/adapters/opencode.d.ts +0 -17
- package/dist/adapters/opencode.d.ts.map +0 -1
- package/dist/adapters/opencode.js +0 -111
- package/dist/adapters/opencode.js.map +0 -1
- package/dist/adapters/transforms/content.d.ts +0 -39
- package/dist/adapters/transforms/content.d.ts.map +0 -1
- package/dist/adapters/transforms/content.js +0 -125
- package/dist/adapters/transforms/content.js.map +0 -1
- package/dist/adapters/transforms/frontmatter.d.ts +0 -42
- package/dist/adapters/transforms/frontmatter.d.ts.map +0 -1
- package/dist/adapters/transforms/frontmatter.js +0 -204
- package/dist/adapters/transforms/frontmatter.js.map +0 -1
- package/dist/adapters/transforms/tool-maps.d.ts +0 -20
- package/dist/adapters/transforms/tool-maps.d.ts.map +0 -1
- package/dist/adapters/transforms/tool-maps.js +0 -64
- package/dist/adapters/transforms/tool-maps.js.map +0 -1
- package/dist/assets/dashboard/client/assets/index-CxFKStBk.css +0 -32
|
@@ -12,6 +12,7 @@ You are a thinking partner, not an interviewer. The user is the visionary — yo
|
|
|
12
12
|
|
|
13
13
|
<required_reading>
|
|
14
14
|
@./references/dashboard-bridge.md
|
|
15
|
+
@./references/thinking-partner.md
|
|
15
16
|
</required_reading>
|
|
16
17
|
|
|
17
18
|
<tool_mandate>
|
|
@@ -52,7 +53,7 @@ Every question directed at the user MUST use a structured tool. NEVER write a qu
|
|
|
52
53
|
</downstream_awareness>
|
|
53
54
|
|
|
54
55
|
<philosophy>
|
|
55
|
-
**User = founder/visionary. Claude = builder.**
|
|
56
|
+
**User = founder/visionary. Claude = thinking partner and builder.**
|
|
56
57
|
|
|
57
58
|
The user knows:
|
|
58
59
|
- How they imagine it working
|
|
@@ -67,6 +68,16 @@ The user doesn't know (and shouldn't be asked):
|
|
|
67
68
|
- Success metrics (inferred from the work)
|
|
68
69
|
|
|
69
70
|
Ask about vision and implementation choices. Capture decisions for downstream agents.
|
|
71
|
+
|
|
72
|
+
**Thinking-partner behaviors (from thinking-partner.md):**
|
|
73
|
+
- **Challenge vague answers** — "Cards" could mean many things. Push for specifics.
|
|
74
|
+
- **Surface unstated assumptions** — "You're assuming mobile-first — is that intentional?"
|
|
75
|
+
- **Propose alternatives with trade-offs** — Don't just accept first choice. Offer 2-3 options.
|
|
76
|
+
- **Make consequences visible** — "Infinite scroll means no shareable page positions."
|
|
77
|
+
- **Disagree constructively** — If an approach has risks, name them.
|
|
78
|
+
- **Follow the thread** — Build on what they just said. Don't jump topics.
|
|
79
|
+
|
|
80
|
+
Apply these behaviors within each discussion area. The user should feel like they're thinking through decisions with a collaborator, not answering a survey.
|
|
70
81
|
</philosophy>
|
|
71
82
|
|
|
72
83
|
<scope_guardrail>
|
|
@@ -314,6 +325,15 @@ Ask 4 questions per area before offering to continue or move on. Each answer oft
|
|
|
314
325
|
- Loop: discuss new areas, then prompt again
|
|
315
326
|
- If "I'm ready for context": Proceed to write_context
|
|
316
327
|
|
|
328
|
+
**Adaptive probing (thinking-partner mode):**
|
|
329
|
+
|
|
330
|
+
Within each area, adapt your questioning based on the user's certainty level:
|
|
331
|
+
- **User is confident** (picks options quickly) — probe deeper: "You chose X — have you considered how that interacts with Y?"
|
|
332
|
+
- **User is uncertain** (picks "Other", hedges) — propose alternatives: "Here are 3 approaches with trade-offs..."
|
|
333
|
+
- **User defers** (picks "You decide") — accept but name consequences: "I'll go with X because [reason]. That means Y."
|
|
334
|
+
|
|
335
|
+
Challenge decisions that may have hidden costs. If the user picks something that conflicts with an earlier decision, surface it: "Earlier you said A, but this implies B. Which takes priority?"
|
|
336
|
+
|
|
317
337
|
**Question design:**
|
|
318
338
|
- Options should be concrete, not abstract ("Cards" not "Option A")
|
|
319
339
|
- Each answer should inform the next question
|
|
@@ -400,6 +420,70 @@ mkdir -p ".planning/phases/${padded_phase}-${phase_slug}"
|
|
|
400
420
|
```
|
|
401
421
|
|
|
402
422
|
Write file.
|
|
423
|
+
|
|
424
|
+
**Generate phase-specific artefakte:**
|
|
425
|
+
|
|
426
|
+
After writing CONTEXT.md, append phase-specific entries to the project-level artefakte files.
|
|
427
|
+
|
|
428
|
+
**Append to DECISIONS.md:**
|
|
429
|
+
|
|
430
|
+
```bash
|
|
431
|
+
node ~/.claude/maxsim/bin/maxsim-tools.cjs artefakte-append .planning/DECISIONS.md
|
|
432
|
+
```
|
|
433
|
+
|
|
434
|
+
Append content:
|
|
435
|
+
|
|
436
|
+
```markdown
|
|
437
|
+
|
|
438
|
+
## Phase [X]: [Name]
|
|
439
|
+
|
|
440
|
+
| # | Decision | Rationale | Alternatives Considered | Status |
|
|
441
|
+
|---|----------|-----------|------------------------|--------|
|
|
442
|
+
| [next #] | [Decision from discussion] | [Why chosen] | [What else was offered] | Locked |
|
|
443
|
+
```
|
|
444
|
+
|
|
445
|
+
**Append to ACCEPTANCE-CRITERIA.md:**
|
|
446
|
+
|
|
447
|
+
```bash
|
|
448
|
+
node ~/.claude/maxsim/bin/maxsim-tools.cjs artefakte-append .planning/ACCEPTANCE-CRITERIA.md
|
|
449
|
+
```
|
|
450
|
+
|
|
451
|
+
Append content under "Phase-Level Criteria":
|
|
452
|
+
|
|
453
|
+
```markdown
|
|
454
|
+
|
|
455
|
+
### Phase [X]: [Name]
|
|
456
|
+
|
|
457
|
+
- [ ] [Observable outcome from decisions — e.g., "User sees card-based layout on feed page"]
|
|
458
|
+
- [ ] [Observable outcome from decisions — e.g., "Infinite scroll loads next batch on scroll"]
|
|
459
|
+
- [ ] [Observable outcome from decisions — e.g., "Empty state shows onboarding prompt"]
|
|
460
|
+
```
|
|
461
|
+
|
|
462
|
+
**Append to NO-GOS.md (if applicable):**
|
|
463
|
+
|
|
464
|
+
If any "don't do this" or "avoid this approach" decisions were made during discussion:
|
|
465
|
+
|
|
466
|
+
```bash
|
|
467
|
+
node ~/.claude/maxsim/bin/maxsim-tools.cjs artefakte-append .planning/NO-GOS.md
|
|
468
|
+
```
|
|
469
|
+
|
|
470
|
+
Append content:
|
|
471
|
+
|
|
472
|
+
```markdown
|
|
473
|
+
|
|
474
|
+
## Phase [X]: [Name]
|
|
475
|
+
|
|
476
|
+
- [Approach to avoid] -- [why, from discussion]
|
|
477
|
+
```
|
|
478
|
+
|
|
479
|
+
If no no-gos emerged from discussion, skip this append.
|
|
480
|
+
|
|
481
|
+
**Commit artefakte updates:**
|
|
482
|
+
|
|
483
|
+
```bash
|
|
484
|
+
node ~/.claude/maxsim/bin/maxsim-tools.cjs commit "docs(${padded_phase}): update artefakte from phase discussion" --files .planning/DECISIONS.md .planning/ACCEPTANCE-CRITERIA.md .planning/NO-GOS.md
|
|
485
|
+
```
|
|
486
|
+
|
|
403
487
|
</step>
|
|
404
488
|
|
|
405
489
|
<step name="confirm_creation">
|
|
@@ -152,7 +152,7 @@ Execute each wave in sequence. Within a wave: parallel if `PARALLELIZATION=true`
|
|
|
152
152
|
- .planning/STATE.md (State)
|
|
153
153
|
- .planning/config.json (Config, if exists)
|
|
154
154
|
- ./CLAUDE.md (Project instructions, if exists — follow project-specific guidelines and coding conventions)
|
|
155
|
-
- .
|
|
155
|
+
- .skills/ (Project skills, if exists — list skills, read SKILL.md for each, follow relevant rules during implementation)
|
|
156
156
|
</files_to_read>
|
|
157
157
|
|
|
158
158
|
<success_criteria>
|
|
@@ -168,15 +168,18 @@ Execute each wave in sequence. Within a wave: parallel if `PARALLELIZATION=true`
|
|
|
168
168
|
|
|
169
169
|
3. **Wait for all agents in wave to complete.**
|
|
170
170
|
|
|
171
|
-
4. **Report completion — spot-check claims
|
|
171
|
+
4. **Report completion — spot-check claims and review cycle:**
|
|
172
172
|
|
|
173
173
|
For each SUMMARY.md:
|
|
174
174
|
- Verify first 2 files from `key-files.created` exist on disk
|
|
175
175
|
- Check `git log --oneline --all --grep="{phase}-{plan}"` returns ≥1 commit
|
|
176
176
|
- Check for `## Self-Check: FAILED` marker
|
|
177
|
+
- **Check for `## Review Cycle` section** — verify all review stages show PASS/APPROVED/CLEAN/FIXED (not BLOCKED or FAIL)
|
|
177
178
|
|
|
178
179
|
If ANY spot-check fails: report which plan failed, route to failure handler — ask "Retry plan?" or "Continue with remaining waves?"
|
|
179
180
|
|
|
181
|
+
If review cycle is missing or has unresolved issues: flag the plan as **review-incomplete** — ask "Run review cycle for this plan?" or "Continue (review will block phase completion)?"
|
|
182
|
+
|
|
180
183
|
If pass — **emit plan-complete lifecycle event** (if `DASHBOARD_ACTIVE`):
|
|
181
184
|
```
|
|
182
185
|
mcp__maxsim-dashboard__submit_lifecycle_event(
|
|
@@ -275,9 +278,26 @@ After all waves:
|
|
|
275
278
|
1. **03-01**: [one-liner from SUMMARY.md]
|
|
276
279
|
2. **03-02**: [one-liner from SUMMARY.md]
|
|
277
280
|
|
|
281
|
+
### Review Cycle Summary
|
|
282
|
+
| Plan | Spec Review | Code Review | Simplify | Final Review |
|
|
283
|
+
|------|-------------|-------------|----------|--------------|
|
|
284
|
+
| 03-01 | PASS | APPROVED | CLEAN | — |
|
|
285
|
+
| 03-02 | PASS | APPROVED | FIXED | APPROVED |
|
|
286
|
+
|
|
287
|
+
[Aggregate review findings from each plan's SUMMARY.md `## Review Cycle` section.
|
|
288
|
+
If any plan has no Review Cycle section: mark as "NOT RUN" and flag for attention.
|
|
289
|
+
If any plan has unresolved BLOCKED/FAIL status: list the blocking issues below.]
|
|
290
|
+
|
|
291
|
+
### Unresolved Review Issues
|
|
292
|
+
[List any plans with BLOCKED or FAIL review stages. These MUST be resolved before phase completion.]
|
|
293
|
+
|
|
278
294
|
### Issues Encountered
|
|
279
295
|
[Aggregate from SUMMARYs, or "None"]
|
|
280
296
|
```
|
|
297
|
+
|
|
298
|
+
**Phase completion gate:** If any plan has unresolved review issues (BLOCKED or FAIL in any review stage), the phase CANNOT proceed to `verify_phase_goal`. Present unresolved issues and offer:
|
|
299
|
+
- "Fix review issues now" — re-run the review cycle for affected plans
|
|
300
|
+
- "Override and continue" — mark as acknowledged, proceed (adds warning to VERIFICATION.md)
|
|
281
301
|
</step>
|
|
282
302
|
|
|
283
303
|
<step name="close_parent_artifacts">
|
|
@@ -343,6 +343,172 @@ Include: duration, start/end times, task count, file count.
|
|
|
343
343
|
Next: more plans → "Ready for {next-plan}" | last → "Phase complete, ready for transition".
|
|
344
344
|
</step>
|
|
345
345
|
|
|
346
|
+
<step name="review_cycle">
|
|
347
|
+
## Execute-Review-Simplify-Review Cycle
|
|
348
|
+
|
|
349
|
+
After implementation is complete and SUMMARY.md is created, run the full review cycle before proceeding. All four stages must pass before the plan is considered done.
|
|
350
|
+
|
|
351
|
+
**Stage 1: Spec Review** — Verify implementation matches plan spec.
|
|
352
|
+
|
|
353
|
+
```
|
|
354
|
+
Task(
|
|
355
|
+
subagent_type="maxsim-spec-reviewer",
|
|
356
|
+
prompt="
|
|
357
|
+
<objective>
|
|
358
|
+
Review plan {phase}-{plan} for spec compliance.
|
|
359
|
+
</objective>
|
|
360
|
+
|
|
361
|
+
<plan_spec>
|
|
362
|
+
Plan file: {phase_dir}/{phase}-{plan}-PLAN.md
|
|
363
|
+
Summary file: {phase_dir}/{phase}-{plan}-SUMMARY.md
|
|
364
|
+
</plan_spec>
|
|
365
|
+
|
|
366
|
+
<task_specs>
|
|
367
|
+
{For each task in the plan: task number, name, done criteria, files modified}
|
|
368
|
+
</task_specs>
|
|
369
|
+
|
|
370
|
+
<files_modified>
|
|
371
|
+
{List all files created/modified during execution from SUMMARY.md key-files}
|
|
372
|
+
</files_modified>
|
|
373
|
+
|
|
374
|
+
<instructions>
|
|
375
|
+
1. Read the plan file and extract every task requirement
|
|
376
|
+
2. For each requirement, verify the implementation exists and matches the spec
|
|
377
|
+
3. Check that nothing was added beyond scope
|
|
378
|
+
4. Report: PASS (all requirements met) or FAIL (list unmet requirements)
|
|
379
|
+
</instructions>
|
|
380
|
+
"
|
|
381
|
+
)
|
|
382
|
+
```
|
|
383
|
+
|
|
384
|
+
**If spec review FAILS:** Fix unmet requirements, re-run verification, update SUMMARY.md, then re-run spec review. Do not proceed until PASS.
|
|
385
|
+
|
|
386
|
+
**Stage 2: Code Review** — Check code quality, security, error handling.
|
|
387
|
+
|
|
388
|
+
```
|
|
389
|
+
Task(
|
|
390
|
+
subagent_type="maxsim-code-reviewer",
|
|
391
|
+
prompt="
|
|
392
|
+
<objective>
|
|
393
|
+
Review plan {phase}-{plan} code quality. Spec compliance already verified.
|
|
394
|
+
</objective>
|
|
395
|
+
|
|
396
|
+
<files_modified>
|
|
397
|
+
{List all files created/modified during execution from SUMMARY.md key-files}
|
|
398
|
+
</files_modified>
|
|
399
|
+
|
|
400
|
+
<instructions>
|
|
401
|
+
1. Read CLAUDE.md for project conventions
|
|
402
|
+
2. Review every modified file for: correctness, conventions, error handling, security, maintainability
|
|
403
|
+
3. Categorize findings: BLOCKER (must fix), HIGH (should fix), MEDIUM (file for follow-up)
|
|
404
|
+
4. Report: APPROVED (no blockers/high) or BLOCKED (list blocking issues)
|
|
405
|
+
</instructions>
|
|
406
|
+
"
|
|
407
|
+
)
|
|
408
|
+
```
|
|
409
|
+
|
|
410
|
+
**If code review is BLOCKED:** Fix all blocker and high-severity issues. Re-run code review. Do not proceed until APPROVED.
|
|
411
|
+
|
|
412
|
+
**Stage 3: Simplify** — Spawn 3 parallel reviewers to catch reuse opportunities, quality issues, and inefficiencies.
|
|
413
|
+
|
|
414
|
+
```
|
|
415
|
+
Task(
|
|
416
|
+
subagent_type="maxsim-executor",
|
|
417
|
+
prompt="
|
|
418
|
+
<objective>
|
|
419
|
+
Run simplification review on plan {phase}-{plan} with 3 parallel reviewers.
|
|
420
|
+
</objective>
|
|
421
|
+
|
|
422
|
+
<instructions>
|
|
423
|
+
Spawn 3 parallel review agents for the files modified in this plan:
|
|
424
|
+
|
|
425
|
+
Agent 1 — Code Reuse:
|
|
426
|
+
- Find duplicated logic across the codebase
|
|
427
|
+
- Identify copy-paste from other files that should be extracted
|
|
428
|
+
- Suggest shared helpers for patterns appearing 3+ times
|
|
429
|
+
- Check if existing utilities could replace new code
|
|
430
|
+
|
|
431
|
+
Agent 2 — Code Quality:
|
|
432
|
+
- Check naming consistency with codebase conventions
|
|
433
|
+
- Verify error handling covers all external calls
|
|
434
|
+
- Look for dead code: unused imports, unreachable branches, commented-out code
|
|
435
|
+
- Check for unnecessary abstractions or premature generalizations
|
|
436
|
+
|
|
437
|
+
Agent 3 — Efficiency:
|
|
438
|
+
- Find O(n^2) operations where O(n) is straightforward
|
|
439
|
+
- Identify repeated computations that could be cached or hoisted
|
|
440
|
+
- Check for unnecessary allocations in hot paths
|
|
441
|
+
- Look for redundant data transformations
|
|
442
|
+
|
|
443
|
+
After all 3 agents report:
|
|
444
|
+
1. Consolidate findings into a single list
|
|
445
|
+
2. Apply fixes for all actionable items (skip speculative optimizations)
|
|
446
|
+
3. Run tests to confirm fixes do not break anything
|
|
447
|
+
4. Report: CLEAN (no issues found), FIXED (issues found and resolved), or BLOCKED (issues found but cannot fix without architectural change)
|
|
448
|
+
</instructions>
|
|
449
|
+
|
|
450
|
+
<files_to_review>
|
|
451
|
+
{List all files created/modified during execution from SUMMARY.md key-files}
|
|
452
|
+
</files_to_review>
|
|
453
|
+
"
|
|
454
|
+
)
|
|
455
|
+
```
|
|
456
|
+
|
|
457
|
+
**If simplify is BLOCKED:** Present architectural issues to user via checkpoint protocol. Do not proceed until resolved.
|
|
458
|
+
|
|
459
|
+
**Stage 4: Final Review** — If simplify made changes, one more code review pass.
|
|
460
|
+
|
|
461
|
+
Run this stage ONLY if Stage 3 reported FIXED (i.e., simplify found and applied fixes).
|
|
462
|
+
|
|
463
|
+
```
|
|
464
|
+
Task(
|
|
465
|
+
subagent_type="maxsim-code-reviewer",
|
|
466
|
+
prompt="
|
|
467
|
+
<objective>
|
|
468
|
+
Final review pass after simplification changes on plan {phase}-{plan}.
|
|
469
|
+
Verify simplification fixes did not introduce regressions.
|
|
470
|
+
</objective>
|
|
471
|
+
|
|
472
|
+
<context>
|
|
473
|
+
Previous code review: APPROVED
|
|
474
|
+
Simplification: FIXED — changes were applied
|
|
475
|
+
This is a focused re-review of simplification changes only.
|
|
476
|
+
</context>
|
|
477
|
+
|
|
478
|
+
<files_modified>
|
|
479
|
+
{List files changed by simplification stage}
|
|
480
|
+
</files_modified>
|
|
481
|
+
|
|
482
|
+
<instructions>
|
|
483
|
+
1. Review only the changes made during simplification
|
|
484
|
+
2. Verify no regressions were introduced
|
|
485
|
+
3. Check that simplification changes follow project conventions
|
|
486
|
+
4. Report: APPROVED or BLOCKED (list issues)
|
|
487
|
+
</instructions>
|
|
488
|
+
"
|
|
489
|
+
)
|
|
490
|
+
```
|
|
491
|
+
|
|
492
|
+
**If final review is BLOCKED:** Fix issues, re-run final review. Do not proceed until APPROVED.
|
|
493
|
+
|
|
494
|
+
**Review cycle tracking:** Record review results in SUMMARY.md under a `## Review Cycle` section:
|
|
495
|
+
```markdown
|
|
496
|
+
## Review Cycle
|
|
497
|
+
|
|
498
|
+
| Stage | Result | Findings |
|
|
499
|
+
|-------|--------|----------|
|
|
500
|
+
| Spec Review | PASS | All requirements met |
|
|
501
|
+
| Code Review | APPROVED | No blocking issues |
|
|
502
|
+
| Simplify | FIXED | Extracted shared helper for X, removed unused import Y |
|
|
503
|
+
| Final Review | APPROVED | Simplification changes verified |
|
|
504
|
+
```
|
|
505
|
+
|
|
506
|
+
Update the SUMMARY.md commit after the review cycle completes:
|
|
507
|
+
```bash
|
|
508
|
+
node ~/.claude/maxsim/bin/maxsim-tools.cjs commit "docs({phase}-{plan}): add review cycle results" --files {phase_dir}/{phase}-{plan}-SUMMARY.md
|
|
509
|
+
```
|
|
510
|
+
</step>
|
|
511
|
+
|
|
346
512
|
<step name="update_current_position">
|
|
347
513
|
Update STATE.md using maxsim-tools:
|
|
348
514
|
|
|
@@ -7,6 +7,7 @@ Output: `.planning/` directory with config.json, PROJECT.md, REQUIREMENTS.md, RO
|
|
|
7
7
|
<required_reading>
|
|
8
8
|
Read all files referenced by the invoking prompt's execution_context before starting.
|
|
9
9
|
@./references/dashboard-bridge.md
|
|
10
|
+
@./references/thinking-partner.md
|
|
10
11
|
</required_reading>
|
|
11
12
|
|
|
12
13
|
<tool_mandate>
|
|
@@ -529,6 +530,11 @@ Ask user to confirm or correct via AskUserQuestion:
|
|
|
529
530
|
|
|
530
531
|
If "Some corrections": ask "What needs correcting?" (freeform), capture corrections, apply to working context.
|
|
531
532
|
|
|
533
|
+
Apply thinking-partner behaviors when presenting findings:
|
|
534
|
+
- **Surface unstated assumptions** — "The scan assumes X is your primary framework — is that accurate?"
|
|
535
|
+
- **Make consequences visible** — "Your architecture pattern means Y for future phases."
|
|
536
|
+
- **Propose alternatives** — If concerns were found, suggest approaches: "The scan found tech debt in Z. We could address it early or defer — here are the trade-offs."
|
|
537
|
+
|
|
532
538
|
## Step 7: Future Direction Questions
|
|
533
539
|
|
|
534
540
|
**If auto mode:** Skip. Generate generic "continue development" goals. Proceed to Step 9.
|
|
@@ -628,6 +634,15 @@ Ask inline (freeform, NOT AskUserQuestion):
|
|
|
628
634
|
|
|
629
635
|
Wait for response.
|
|
630
636
|
|
|
637
|
+
**Thinking-partner follow-up on vision:**
|
|
638
|
+
|
|
639
|
+
After the user shares their vision, apply thinking-partner behaviors:
|
|
640
|
+
- Challenge vague statements: "You said 'improve performance' — improve which operations, for which users?"
|
|
641
|
+
- Surface assumptions: "That assumes users will migrate from X — is that the plan?"
|
|
642
|
+
- Propose alternatives if the vision seems narrow: "Have you considered approaching it from Y angle instead?"
|
|
643
|
+
|
|
644
|
+
Use 1-2 follow-up AskUserQuestion prompts to sharpen the vision if needed. Don't over-question — 1-2 rounds max.
|
|
645
|
+
|
|
631
646
|
## Step 8: Milestone Suggestion
|
|
632
647
|
|
|
633
648
|
**If auto mode:** Generate a milestone name from the inferred project purpose. Proceed to Step 9.
|
|
@@ -991,6 +1006,104 @@ Pre-populate:
|
|
|
991
1006
|
|
|
992
1007
|
Already written in Step 5. If merge mode and config.json existed, it was preserved (unless user chose overwrite).
|
|
993
1008
|
|
|
1009
|
+
### 9f: Artefakte Generation
|
|
1010
|
+
|
|
1011
|
+
Generate structured artefakte documents from gathered context.
|
|
1012
|
+
|
|
1013
|
+
**DECISIONS.md:**
|
|
1014
|
+
|
|
1015
|
+
```bash
|
|
1016
|
+
node ~/.claude/maxsim/bin/maxsim-tools.cjs artefakte-write .planning/DECISIONS.md
|
|
1017
|
+
```
|
|
1018
|
+
|
|
1019
|
+
Write content:
|
|
1020
|
+
|
|
1021
|
+
```markdown
|
|
1022
|
+
# Key Decisions
|
|
1023
|
+
|
|
1024
|
+
**Generated:** [date]
|
|
1025
|
+
**Source:** Init-existing initialization
|
|
1026
|
+
|
|
1027
|
+
| # | Decision | Rationale | Alternatives Considered | Status |
|
|
1028
|
+
|---|----------|-----------|------------------------|--------|
|
|
1029
|
+
| 1 | [Config choice: mode] | [Why] | [Other options] | Locked |
|
|
1030
|
+
| 2 | [Stage assessment] | [Evidence from scan] | [Other stages considered] | Locked |
|
|
1031
|
+
| 3 | [Any constraint decisions from Step 7] | [Why] | [Alternatives] | Locked |
|
|
1032
|
+
|
|
1033
|
+
---
|
|
1034
|
+
*Decisions captured during /maxsim:init-existing initialization*
|
|
1035
|
+
```
|
|
1036
|
+
|
|
1037
|
+
**ACCEPTANCE-CRITERIA.md:**
|
|
1038
|
+
|
|
1039
|
+
```bash
|
|
1040
|
+
node ~/.claude/maxsim/bin/maxsim-tools.cjs artefakte-write .planning/ACCEPTANCE-CRITERIA.md
|
|
1041
|
+
```
|
|
1042
|
+
|
|
1043
|
+
Write content:
|
|
1044
|
+
|
|
1045
|
+
```markdown
|
|
1046
|
+
# Acceptance Criteria
|
|
1047
|
+
|
|
1048
|
+
**Generated:** [date]
|
|
1049
|
+
**Source:** Init-existing initialization
|
|
1050
|
+
|
|
1051
|
+
## Project-Level Criteria
|
|
1052
|
+
|
|
1053
|
+
- [ ] [Observable outcome from user's vision]
|
|
1054
|
+
- [ ] [Observable outcome from user's vision]
|
|
1055
|
+
- [ ] [Stability guard from production constraints, if applicable]
|
|
1056
|
+
|
|
1057
|
+
## Phase-Level Criteria
|
|
1058
|
+
|
|
1059
|
+
Populated per-phase during /maxsim:discuss-phase.
|
|
1060
|
+
|
|
1061
|
+
---
|
|
1062
|
+
*Criteria derived from init-existing initialization*
|
|
1063
|
+
```
|
|
1064
|
+
|
|
1065
|
+
**NO-GOS.md:**
|
|
1066
|
+
|
|
1067
|
+
```bash
|
|
1068
|
+
node ~/.claude/maxsim/bin/maxsim-tools.cjs artefakte-write .planning/NO-GOS.md
|
|
1069
|
+
```
|
|
1070
|
+
|
|
1071
|
+
Write content:
|
|
1072
|
+
|
|
1073
|
+
```markdown
|
|
1074
|
+
# No-Gos
|
|
1075
|
+
|
|
1076
|
+
**Generated:** [date]
|
|
1077
|
+
**Source:** Init-existing initialization
|
|
1078
|
+
|
|
1079
|
+
## Must Not Break
|
|
1080
|
+
|
|
1081
|
+
[From production constraints / GUARD requirements in REQUIREMENTS.md]
|
|
1082
|
+
|
|
1083
|
+
- [Critical thing that cannot break] -- [why]
|
|
1084
|
+
|
|
1085
|
+
## Anti-Patterns
|
|
1086
|
+
|
|
1087
|
+
[From CONCERNS.md and user input]
|
|
1088
|
+
|
|
1089
|
+
- [Approach to avoid] -- [why]
|
|
1090
|
+
|
|
1091
|
+
## Scope Boundaries
|
|
1092
|
+
|
|
1093
|
+
- [What this milestone is NOT trying to achieve]
|
|
1094
|
+
|
|
1095
|
+
---
|
|
1096
|
+
*No-gos captured during /maxsim:init-existing initialization*
|
|
1097
|
+
```
|
|
1098
|
+
|
|
1099
|
+
**If auto mode:** Generate artefakte from scan findings with reasonable inferences. Mark uncertain entries with `(inferred)`.
|
|
1100
|
+
|
|
1101
|
+
**Commit artefakte:**
|
|
1102
|
+
|
|
1103
|
+
```bash
|
|
1104
|
+
node ~/.claude/maxsim/bin/maxsim-tools.cjs commit "docs: generate initialization artefakte" --files .planning/DECISIONS.md .planning/ACCEPTANCE-CRITERIA.md .planning/NO-GOS.md
|
|
1105
|
+
```
|
|
1106
|
+
|
|
994
1107
|
## Step 10: Git Stage and Summary
|
|
995
1108
|
|
|
996
1109
|
Stage all changed files:
|
|
@@ -1057,6 +1170,9 @@ Print next steps:
|
|
|
1057
1170
|
- `.planning/REQUIREMENTS.md`
|
|
1058
1171
|
- `.planning/ROADMAP.md`
|
|
1059
1172
|
- `.planning/STATE.md`
|
|
1173
|
+
- `.planning/DECISIONS.md`
|
|
1174
|
+
- `.planning/ACCEPTANCE-CRITERIA.md`
|
|
1175
|
+
- `.planning/NO-GOS.md`
|
|
1060
1176
|
- `.planning/codebase/STACK.md`
|
|
1061
1177
|
- `.planning/codebase/ARCHITECTURE.md`
|
|
1062
1178
|
- `.planning/codebase/CONVENTIONS.md`
|
|
@@ -5,6 +5,7 @@ Initialize a new project through unified flow: questioning, research (optional),
|
|
|
5
5
|
<required_reading>
|
|
6
6
|
Read all files referenced by the invoking prompt's execution_context before starting.
|
|
7
7
|
@./references/dashboard-bridge.md
|
|
8
|
+
@./references/thinking-partner.md
|
|
8
9
|
</required_reading>
|
|
9
10
|
|
|
10
11
|
<tool_mandate>
|
|
@@ -224,10 +225,18 @@ Ask inline (freeform, NOT AskUserQuestion):
|
|
|
224
225
|
|
|
225
226
|
Wait for their response. This gives you the context needed to ask intelligent follow-up questions.
|
|
226
227
|
|
|
227
|
-
**Follow the thread:**
|
|
228
|
+
**Follow the thread (thinking-partner mode):**
|
|
228
229
|
|
|
229
230
|
Based on what they said, ask follow-up questions that dig into their response. Use AskUserQuestion with options that probe what they mentioned — interpretations, clarifications, concrete examples.
|
|
230
231
|
|
|
232
|
+
Apply thinking-partner behaviors from `thinking-partner.md`:
|
|
233
|
+
- **Challenge vague answers** — "Good UX" means what? Push for specifics.
|
|
234
|
+
- **Surface unstated assumptions** — Name assumptions the user didn't realize they were making.
|
|
235
|
+
- **Propose alternatives with trade-offs** — Don't just accept the first approach. Offer 2-3 paths.
|
|
236
|
+
- **Suggest directions** — "Have you considered...?" Frame as possibilities, not mandates.
|
|
237
|
+
- **Make consequences visible** — "If we go with X, that means Y will need to change."
|
|
238
|
+
- **Disagree constructively** — If you see a risk, say so.
|
|
239
|
+
|
|
231
240
|
Keep following threads. Each answer opens new threads to explore. Ask about:
|
|
232
241
|
- What excited them
|
|
233
242
|
- What problem sparked this
|
|
@@ -346,6 +355,101 @@ mkdir -p .planning
|
|
|
346
355
|
node ~/.claude/maxsim/bin/maxsim-tools.cjs commit "docs: initialize project" --files .planning/PROJECT.md
|
|
347
356
|
```
|
|
348
357
|
|
|
358
|
+
## 4b. Generate Artefakte
|
|
359
|
+
|
|
360
|
+
After PROJECT.md is committed, generate artefakte documents that capture structured insights from questioning.
|
|
361
|
+
|
|
362
|
+
**DECISIONS.md** — Key decisions made during questioning with rationale:
|
|
363
|
+
|
|
364
|
+
```bash
|
|
365
|
+
node ~/.claude/maxsim/bin/maxsim-tools.cjs artefakte-write .planning/DECISIONS.md
|
|
366
|
+
```
|
|
367
|
+
|
|
368
|
+
Write content:
|
|
369
|
+
|
|
370
|
+
```markdown
|
|
371
|
+
# Key Decisions
|
|
372
|
+
|
|
373
|
+
**Generated:** [date]
|
|
374
|
+
**Source:** Project initialization questioning
|
|
375
|
+
|
|
376
|
+
| # | Decision | Rationale | Alternatives Considered | Status |
|
|
377
|
+
|---|----------|-----------|------------------------|--------|
|
|
378
|
+
| 1 | [Choice from questioning] | [Why this was chosen] | [What else was discussed] | Locked |
|
|
379
|
+
| 2 | [Choice from questioning] | [Why this was chosen] | [What else was discussed] | Locked |
|
|
380
|
+
|
|
381
|
+
---
|
|
382
|
+
*Decisions captured during /maxsim:new-project initialization*
|
|
383
|
+
```
|
|
384
|
+
|
|
385
|
+
**ACCEPTANCE-CRITERIA.md** — Measurable success criteria derived from user's vision:
|
|
386
|
+
|
|
387
|
+
```bash
|
|
388
|
+
node ~/.claude/maxsim/bin/maxsim-tools.cjs artefakte-write .planning/ACCEPTANCE-CRITERIA.md
|
|
389
|
+
```
|
|
390
|
+
|
|
391
|
+
Write content:
|
|
392
|
+
|
|
393
|
+
```markdown
|
|
394
|
+
# Acceptance Criteria
|
|
395
|
+
|
|
396
|
+
**Generated:** [date]
|
|
397
|
+
**Source:** Project initialization
|
|
398
|
+
|
|
399
|
+
## Project-Level Criteria
|
|
400
|
+
|
|
401
|
+
These define what "done" looks like for the entire project:
|
|
402
|
+
|
|
403
|
+
- [ ] [Observable outcome from user's vision]
|
|
404
|
+
- [ ] [Observable outcome from user's vision]
|
|
405
|
+
- [ ] [Observable outcome from user's vision]
|
|
406
|
+
|
|
407
|
+
## Phase-Level Criteria
|
|
408
|
+
|
|
409
|
+
Populated per-phase during /maxsim:discuss-phase.
|
|
410
|
+
|
|
411
|
+
---
|
|
412
|
+
*Criteria derived from project initialization*
|
|
413
|
+
```
|
|
414
|
+
|
|
415
|
+
**NO-GOS.md** — Explicit exclusions and anti-patterns:
|
|
416
|
+
|
|
417
|
+
```bash
|
|
418
|
+
node ~/.claude/maxsim/bin/maxsim-tools.cjs artefakte-write .planning/NO-GOS.md
|
|
419
|
+
```
|
|
420
|
+
|
|
421
|
+
Write content:
|
|
422
|
+
|
|
423
|
+
```markdown
|
|
424
|
+
# No-Gos
|
|
425
|
+
|
|
426
|
+
**Generated:** [date]
|
|
427
|
+
**Source:** Project initialization
|
|
428
|
+
|
|
429
|
+
## Excluded Features
|
|
430
|
+
|
|
431
|
+
- [Feature explicitly excluded] — [why]
|
|
432
|
+
|
|
433
|
+
## Anti-Patterns
|
|
434
|
+
|
|
435
|
+
- [Approach to avoid] — [why]
|
|
436
|
+
|
|
437
|
+
## Scope Boundaries
|
|
438
|
+
|
|
439
|
+
- [What this project is NOT]
|
|
440
|
+
|
|
441
|
+
---
|
|
442
|
+
*No-gos captured during /maxsim:new-project initialization*
|
|
443
|
+
```
|
|
444
|
+
|
|
445
|
+
**Commit artefakte:**
|
|
446
|
+
|
|
447
|
+
```bash
|
|
448
|
+
node ~/.claude/maxsim/bin/maxsim-tools.cjs commit "docs: generate initialization artefakte" --files .planning/DECISIONS.md .planning/ACCEPTANCE-CRITERIA.md .planning/NO-GOS.md
|
|
449
|
+
```
|
|
450
|
+
|
|
451
|
+
**If auto mode:** Generate artefakte from the provided document with reasonable inferences. Mark uncertain entries with `(inferred)`.
|
|
452
|
+
|
|
349
453
|
## 5. Workflow Preferences
|
|
350
454
|
|
|
351
455
|
**If auto mode:** Skip — config was collected in Step 2a. Proceed to Step 5.5.
|
|
@@ -112,7 +112,7 @@ Answer: "What do I need to know to PLAN this phase well?"
|
|
|
112
112
|
**Phase requirement IDs (MUST address):** {phase_req_ids}
|
|
113
113
|
|
|
114
114
|
**Project instructions:** Read ./CLAUDE.md if exists — follow project-specific guidelines
|
|
115
|
-
**Project skills:** Check .
|
|
115
|
+
**Project skills:** Check .skills/ directory (if exists) — read SKILL.md files, research should account for project skill patterns
|
|
116
116
|
</additional_context>
|
|
117
117
|
|
|
118
118
|
<output>
|
|
@@ -212,7 +212,7 @@ Planner prompt:
|
|
|
212
212
|
**Phase requirement IDs (every ID MUST appear in a plan's `requirements` field):** {phase_req_ids}
|
|
213
213
|
|
|
214
214
|
**Project instructions:** Read ./CLAUDE.md if exists — follow project-specific guidelines
|
|
215
|
-
**Project skills:** Check .
|
|
215
|
+
**Project skills:** Check .skills/ directory (if exists) — read SKILL.md files, plans should account for project skill rules
|
|
216
216
|
</planning_context>
|
|
217
217
|
|
|
218
218
|
<downstream_consumer>
|
|
@@ -277,7 +277,7 @@ Checker prompt:
|
|
|
277
277
|
**Phase requirement IDs (MUST ALL be covered):** {phase_req_ids}
|
|
278
278
|
|
|
279
279
|
**Project instructions:** Read ./CLAUDE.md if exists — verify plans honor project guidelines
|
|
280
|
-
**Project skills:** Check .
|
|
280
|
+
**Project skills:** Check .skills/ directory (if exists) — verify plans account for project skill rules
|
|
281
281
|
</verification_context>
|
|
282
282
|
|
|
283
283
|
<expected_output>
|
|
@@ -108,7 +108,7 @@ Task(
|
|
|
108
108
|
- ./CLAUDE.md (if exists — follow project-specific guidelines)
|
|
109
109
|
</files_to_read>
|
|
110
110
|
|
|
111
|
-
**Project skills:** Check .
|
|
111
|
+
**Project skills:** Check .skills/ directory (if exists) — read SKILL.md files, plans should account for project skill rules
|
|
112
112
|
|
|
113
113
|
</planning_context>
|
|
114
114
|
|
|
@@ -259,7 +259,7 @@ Execute quick task ${next_num}.
|
|
|
259
259
|
- ${QUICK_DIR}/${next_num}-PLAN.md (Plan)
|
|
260
260
|
- .planning/STATE.md (Project state)
|
|
261
261
|
- ./CLAUDE.md (Project instructions, if exists)
|
|
262
|
-
- .
|
|
262
|
+
- .skills/ (Project skills, if exists — list skills, read SKILL.md for each, follow relevant rules during implementation)
|
|
263
263
|
</files_to_read>
|
|
264
264
|
|
|
265
265
|
<constraints>
|