maxsimcli 5.0.5 → 5.0.7
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 +314 -288
- package/dist/assets/CHANGELOG.md +14 -0
- package/dist/assets/templates/skills/github-tools-guide/SKILL.md +5 -5
- package/dist/assets/templates/workflows/discuss-phase.md +3 -3
- package/dist/assets/templates/workflows/execute-plan.md +4 -4
- package/dist/assets/templates/workflows/execute.md +9 -9
- package/dist/assets/templates/workflows/go.md +1 -1
- package/dist/assets/templates/workflows/init-existing.md +5 -5
- package/dist/assets/templates/workflows/init.md +2 -2
- package/dist/assets/templates/workflows/new-project.md +5 -4
- package/dist/assets/templates/workflows/plan-create.md +4 -4
- package/dist/assets/templates/workflows/plan-discuss.md +2 -2
- package/dist/assets/templates/workflows/plan-research.md +2 -2
- package/dist/assets/templates/workflows/plan.md +6 -6
- package/dist/assets/templates/workflows/progress.md +1 -1
- package/dist/assets/templates/workflows/sdd.md +3 -3
- package/dist/assets/templates/workflows/verify-phase.md +1 -1
- package/dist/cli.cjs +2 -0
- package/dist/cli.cjs.map +1 -1
- package/package.json +1 -1
package/dist/assets/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
## [5.0.6](https://github.com/maystudios/maxsimcli/compare/v5.0.5...v5.0.6) (2026-03-12)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* correct all critical template-CLI discrepancies (K1-K5) ([f298990](https://github.com/maystudios/maxsimcli/commit/f2989908b03ac2772c6b2d3091b2169f0871c1ec))
|
|
7
|
+
|
|
8
|
+
## [5.0.5](https://github.com/maystudios/maxsimcli/compare/v5.0.4...v5.0.5) (2026-03-12)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* correct template-CLI argument discrepancies (D1, D2, D3) ([a2936fb](https://github.com/maystudios/maxsimcli/commit/a2936fbf729effc8229f3af8752f67f253773f0a))
|
|
14
|
+
|
|
1
15
|
## [5.0.4](https://github.com/maystudios/maxsimcli/compare/v5.0.3...v5.0.4) (2026-03-12)
|
|
2
16
|
|
|
3
17
|
|
|
@@ -25,7 +25,7 @@ Add `--raw` to get machine-readable JSON output (no formatting).
|
|
|
25
25
|
|---------|-------------|
|
|
26
26
|
| `github create-phase --phase-number "01" --phase-name "Name" --goal "Goal" [--requirements "R1,R2"] [--success-criteria "SC1,SC2"]` | Create phase issue + add to board + set "To Do" |
|
|
27
27
|
| `github create-task --phase-number "01" --task-id "T1" --title "Title" --body "Body" --parent-issue-number N` | Create task sub-issue |
|
|
28
|
-
| `github batch-create-tasks --phase-number "01" --parent-issue-number N --tasks
|
|
28
|
+
| `github batch-create-tasks --phase-number "01" --parent-issue-number N --tasks '[{"task_id":"1.1","title":"Title","body":"Body"}, ...]'` | Batch create tasks with rollback |
|
|
29
29
|
| `github post-plan-comment --phase-issue-number N --plan-number "01" --plan-content "..." [--plan-content-file F]` | Post plan comment on phase issue |
|
|
30
30
|
|
|
31
31
|
### Comments
|
|
@@ -37,10 +37,10 @@ Add `--raw` to get machine-readable JSON output (no formatting).
|
|
|
37
37
|
### Issue Operations
|
|
38
38
|
| Command | Description |
|
|
39
39
|
|---------|-------------|
|
|
40
|
-
| `github get-issue N [--include-comments]` | Get issue details (with optional comments) |
|
|
41
|
-
| `github list-sub-issues N` | List sub-issues of a phase issue |
|
|
42
|
-
| `github close-issue N [--reason "..."] [--state-reason completed\|not_planned]` | Close issue |
|
|
43
|
-
| `github reopen-issue N` | Reopen closed issue |
|
|
40
|
+
| `github get-issue --issue-number N [--include-comments]` | Get issue details (with optional comments) |
|
|
41
|
+
| `github list-sub-issues --phase-issue-number N` | List sub-issues of a phase issue |
|
|
42
|
+
| `github close-issue --issue-number N [--reason "..."] [--state-reason completed\|not_planned]` | Close issue |
|
|
43
|
+
| `github reopen-issue --issue-number N` | Reopen closed issue |
|
|
44
44
|
| `github bounce-issue --issue-number N --reason "feedback"` | Bounce to In Progress with feedback |
|
|
45
45
|
| `github move-issue --issue-number N --status "STATUS"` | Move to board column (To Do, In Progress, In Review, Done) |
|
|
46
46
|
| `github detect-external-edits --phase-number "01"` | Check body hash mismatch |
|
|
@@ -427,7 +427,7 @@ After writing CONTEXT.md, append phase-specific entries to the project-level art
|
|
|
427
427
|
**Append to DECISIONS.md:**
|
|
428
428
|
|
|
429
429
|
```bash
|
|
430
|
-
node ~/.claude/maxsim/bin/maxsim-tools.cjs artefakte-append
|
|
430
|
+
node ~/.claude/maxsim/bin/maxsim-tools.cjs artefakte-append decisions --entry "..."
|
|
431
431
|
```
|
|
432
432
|
|
|
433
433
|
Append content:
|
|
@@ -444,7 +444,7 @@ Append content:
|
|
|
444
444
|
**Append to ACCEPTANCE-CRITERIA.md:**
|
|
445
445
|
|
|
446
446
|
```bash
|
|
447
|
-
node ~/.claude/maxsim/bin/maxsim-tools.cjs artefakte-append
|
|
447
|
+
node ~/.claude/maxsim/bin/maxsim-tools.cjs artefakte-append acceptance-criteria --entry "..."
|
|
448
448
|
```
|
|
449
449
|
|
|
450
450
|
Append content under "Phase-Level Criteria":
|
|
@@ -463,7 +463,7 @@ Append content under "Phase-Level Criteria":
|
|
|
463
463
|
If any "don't do this" or "avoid this approach" decisions were made during discussion:
|
|
464
464
|
|
|
465
465
|
```bash
|
|
466
|
-
node ~/.claude/maxsim/bin/maxsim-tools.cjs artefakte-append
|
|
466
|
+
node ~/.claude/maxsim/bin/maxsim-tools.cjs artefakte-append no-gos --entry "..."
|
|
467
467
|
```
|
|
468
468
|
|
|
469
469
|
Append content:
|
|
@@ -194,7 +194,7 @@ Deviations are normal — handle via rules below.
|
|
|
194
194
|
```
|
|
195
195
|
- Close the task sub-issue and move to "Done":
|
|
196
196
|
```bash
|
|
197
|
-
node ~/.claude/maxsim/bin/maxsim-tools.cjs github close-issue $TASK_SUB_ISSUE_NUMBER
|
|
197
|
+
node ~/.claude/maxsim/bin/maxsim-tools.cjs github close-issue --issue-number $TASK_SUB_ISSUE_NUMBER
|
|
198
198
|
node ~/.claude/maxsim/bin/maxsim-tools.cjs github move-issue --issue-number $TASK_SUB_ISSUE_NUMBER --status "Done"
|
|
199
199
|
```
|
|
200
200
|
|
|
@@ -351,7 +351,7 @@ If verification fails: STOP. Present: "Verification failed for Task [X]: [name].
|
|
|
351
351
|
|
|
352
352
|
**On review failure (WIRE-07):** If the task sub-issue was already moved to "Done", reopen and move back:
|
|
353
353
|
```bash
|
|
354
|
-
node ~/.claude/maxsim/bin/maxsim-tools.cjs github reopen-issue $TASK_SUB_ISSUE_NUMBER
|
|
354
|
+
node ~/.claude/maxsim/bin/maxsim-tools.cjs github reopen-issue --issue-number $TASK_SUB_ISSUE_NUMBER
|
|
355
355
|
node ~/.claude/maxsim/bin/maxsim-tools.cjs github move-issue --issue-number $TASK_SUB_ISSUE_NUMBER --status "In Progress"
|
|
356
356
|
TMPFILE=$(mktemp)
|
|
357
357
|
cat > "$TMPFILE" << 'BODY_EOF'
|
|
@@ -596,7 +596,7 @@ Wait for user response:
|
|
|
596
596
|
|
|
597
597
|
If the code review identifies failures tied to specific tasks, and those task sub-issues were already closed:
|
|
598
598
|
```bash
|
|
599
|
-
node ~/.claude/maxsim/bin/maxsim-tools.cjs github reopen-issue $TASK_SUB_ISSUE_NUMBER
|
|
599
|
+
node ~/.claude/maxsim/bin/maxsim-tools.cjs github reopen-issue --issue-number $TASK_SUB_ISSUE_NUMBER
|
|
600
600
|
node ~/.claude/maxsim/bin/maxsim-tools.cjs github move-issue --issue-number $TASK_SUB_ISSUE_NUMBER --status "In Progress"
|
|
601
601
|
TMPFILE=$(mktemp)
|
|
602
602
|
cat > "$TMPFILE" << 'BODY_EOF'
|
|
@@ -1058,7 +1058,7 @@ If `USER_SETUP_CREATED=true`: display `⚠️ USER SETUP REQUIRED` with path + e
|
|
|
1058
1058
|
|
|
1059
1059
|
Check completion by querying the phase issue's task sub-issues:
|
|
1060
1060
|
```bash
|
|
1061
|
-
node ~/.claude/maxsim/bin/maxsim-tools.cjs github list-sub-issues $PHASE_ISSUE_NUMBER
|
|
1061
|
+
node ~/.claude/maxsim/bin/maxsim-tools.cjs github list-sub-issues --phase-issue-number $PHASE_ISSUE_NUMBER
|
|
1062
1062
|
```
|
|
1063
1063
|
|
|
1064
1064
|
Count open vs closed sub-issues. Map closed count to plans complete.
|
|
@@ -20,7 +20,7 @@ Verification is handled inline (spawning verifier agent) since it is a stage of
|
|
|
20
20
|
Load phase state in one call:
|
|
21
21
|
|
|
22
22
|
```bash
|
|
23
|
-
INIT=$(node
|
|
23
|
+
INIT=$(node ~/.claude/maxsim/bin/maxsim-tools.cjs init execute-phase "$PHASE")
|
|
24
24
|
```
|
|
25
25
|
|
|
26
26
|
Parse `$ARGUMENTS` for: phase number (required), `--worktrees` (force worktree mode), `--no-worktrees` (force standard mode), `--auto` (auto-advance), `--gaps-only` (gap plans only).
|
|
@@ -42,7 +42,7 @@ Exit workflow.
|
|
|
42
42
|
When GitHub integration is active (phase_issue_number is set), check for plan comments on the phase issue before reporting no plans:
|
|
43
43
|
|
|
44
44
|
```bash
|
|
45
|
-
node ~/.claude/maxsim/bin/maxsim-tools.cjs github get-issue $PHASE_ISSUE_NUMBER --include-comments
|
|
45
|
+
node ~/.claude/maxsim/bin/maxsim-tools.cjs github get-issue --issue-number $PHASE_ISSUE_NUMBER --include-comments
|
|
46
46
|
```
|
|
47
47
|
|
|
48
48
|
Parse the response to find comments with `<!-- maxsim:type=plan -->` markers or `## Plan NN` headings. If no plan comments are found:
|
|
@@ -62,7 +62,7 @@ When GitHub integration is active (`phase_issue_number` is set):
|
|
|
62
62
|
|
|
63
63
|
1. Fetch the phase issue and its comments:
|
|
64
64
|
```bash
|
|
65
|
-
node ~/.claude/maxsim/bin/maxsim-tools.cjs github get-issue $PHASE_ISSUE_NUMBER --include-comments
|
|
65
|
+
node ~/.claude/maxsim/bin/maxsim-tools.cjs github get-issue --issue-number $PHASE_ISSUE_NUMBER --include-comments
|
|
66
66
|
```
|
|
67
67
|
|
|
68
68
|
2. Parse issue comments to identify plan comments. A plan comment is one that contains either:
|
|
@@ -76,7 +76,7 @@ When GitHub integration is active (`phase_issue_number` is set):
|
|
|
76
76
|
|
|
77
77
|
4. Check completion status for each plan by calling:
|
|
78
78
|
```bash
|
|
79
|
-
node ~/.claude/maxsim/bin/maxsim-tools.cjs github list-sub-issues $PHASE_ISSUE_NUMBER
|
|
79
|
+
node ~/.claude/maxsim/bin/maxsim-tools.cjs github list-sub-issues --phase-issue-number $PHASE_ISSUE_NUMBER
|
|
80
80
|
```
|
|
81
81
|
A plan is considered complete when ALL of its task sub-issues are closed (state: closed).
|
|
82
82
|
Additionally, check for `<!-- maxsim:type=summary -->` comments on the phase issue as a secondary completion signal.
|
|
@@ -306,7 +306,7 @@ Verify that the phase achieved its GOAL, not just that tasks completed.
|
|
|
306
306
|
Resolve verifier model and spawn the verifier agent:
|
|
307
307
|
|
|
308
308
|
```bash
|
|
309
|
-
VERIFIER_MODEL=$(node
|
|
309
|
+
VERIFIER_MODEL=$(node ~/.claude/maxsim/bin/maxsim-tools.cjs resolve-model verifier --raw)
|
|
310
310
|
```
|
|
311
311
|
|
|
312
312
|
```
|
|
@@ -330,7 +330,7 @@ Also write VERIFICATION.md to the phase directory for local reference.",
|
|
|
330
330
|
Read verification status from the verification comment on the phase issue:
|
|
331
331
|
|
|
332
332
|
```bash
|
|
333
|
-
node ~/.claude/maxsim/bin/maxsim-tools.cjs github get-issue $PHASE_ISSUE_NUMBER --include-comments
|
|
333
|
+
node ~/.claude/maxsim/bin/maxsim-tools.cjs github get-issue --issue-number $PHASE_ISSUE_NUMBER --include-comments
|
|
334
334
|
```
|
|
335
335
|
|
|
336
336
|
Look for the `<!-- maxsim:type=verification -->` comment and parse the `status:` field from its body.
|
|
@@ -368,12 +368,12 @@ node ~/.claude/maxsim/bin/maxsim-tools.cjs github post-comment --issue-number $P
|
|
|
368
368
|
|
|
369
369
|
Mark phase complete:
|
|
370
370
|
```bash
|
|
371
|
-
COMPLETION=$(node
|
|
371
|
+
COMPLETION=$(node ~/.claude/maxsim/bin/maxsim-tools.cjs phase complete "${PHASE_NUMBER}")
|
|
372
372
|
```
|
|
373
373
|
|
|
374
374
|
Update tracking files:
|
|
375
375
|
```bash
|
|
376
|
-
node
|
|
376
|
+
node ~/.claude/maxsim/bin/maxsim-tools.cjs commit "docs(phase-{X}): complete phase execution" --files .planning/ROADMAP.md .planning/STATE.md .planning/REQUIREMENTS.md {phase_dir}/*-VERIFICATION.md
|
|
377
377
|
```
|
|
378
378
|
|
|
379
379
|
**If `gaps_found`:** Post a gaps comment on the phase issue, then proceed to Retry Loop (step 6).
|
|
@@ -493,7 +493,7 @@ The state detection in step 2 handles resume automatically -- completed plans ha
|
|
|
493
493
|
After verification passes, update STATE.md:
|
|
494
494
|
|
|
495
495
|
```bash
|
|
496
|
-
node
|
|
496
|
+
node ~/.claude/maxsim/bin/maxsim-tools.cjs state record-session \
|
|
497
497
|
--stopped-at "Phase ${PHASE} executed and verified" \
|
|
498
498
|
--resume-file "${phase_dir}"
|
|
499
499
|
```
|
|
@@ -112,7 +112,7 @@ Block until user responds.
|
|
|
112
112
|
Check if any phase issue has a verification comment with FAIL status (from live GitHub data via `github all-progress` — look for phases stuck in "In Review" with a known failure, or check recent comments via `github get-issue` for the current phase issue):
|
|
113
113
|
|
|
114
114
|
```bash
|
|
115
|
-
node ~/.claude/maxsim/bin/maxsim-tools.cjs github get-issue N --include-comments
|
|
115
|
+
node ~/.claude/maxsim/bin/maxsim-tools.cjs github get-issue --issue-number N --include-comments
|
|
116
116
|
```
|
|
117
117
|
```
|
|
118
118
|
## Problem Detected
|
|
@@ -662,9 +662,9 @@ If "No, change it": capture the preferred convention via freeform.
|
|
|
662
662
|
- Set `{{source}}` to "init-existing scan + user confirmation"
|
|
663
663
|
- Set `{{generated_or_confirmed}}` to "confirmed"
|
|
664
664
|
|
|
665
|
-
Write `.planning/CONVENTIONS.md
|
|
665
|
+
Write `.planning/CONVENTIONS.md` directly using the Write tool (CONVENTIONS.md is not a valid artefakt type):
|
|
666
666
|
```bash
|
|
667
|
-
|
|
667
|
+
# Use the Write tool to create .planning/CONVENTIONS.md with the content above
|
|
668
668
|
```
|
|
669
669
|
|
|
670
670
|
## Step 6d: No-Gos from Scan
|
|
@@ -1222,7 +1222,7 @@ Generate structured artefakte documents from gathered context.
|
|
|
1222
1222
|
**DECISIONS.md:**
|
|
1223
1223
|
|
|
1224
1224
|
```bash
|
|
1225
|
-
node ~/.claude/maxsim/bin/maxsim-tools.cjs artefakte-write
|
|
1225
|
+
node ~/.claude/maxsim/bin/maxsim-tools.cjs artefakte-write decisions
|
|
1226
1226
|
```
|
|
1227
1227
|
|
|
1228
1228
|
Write content:
|
|
@@ -1246,7 +1246,7 @@ Write content:
|
|
|
1246
1246
|
**ACCEPTANCE-CRITERIA.md:**
|
|
1247
1247
|
|
|
1248
1248
|
```bash
|
|
1249
|
-
node ~/.claude/maxsim/bin/maxsim-tools.cjs artefakte-write
|
|
1249
|
+
node ~/.claude/maxsim/bin/maxsim-tools.cjs artefakte-write acceptance-criteria
|
|
1250
1250
|
```
|
|
1251
1251
|
|
|
1252
1252
|
Write content:
|
|
@@ -1274,7 +1274,7 @@ Populated per-phase during /maxsim:plan (discussion stage).
|
|
|
1274
1274
|
**NO-GOS.md:**
|
|
1275
1275
|
|
|
1276
1276
|
```bash
|
|
1277
|
-
node ~/.claude/maxsim/bin/maxsim-tools.cjs artefakte-write
|
|
1277
|
+
node ~/.claude/maxsim/bin/maxsim-tools.cjs artefakte-write no-gos
|
|
1278
1278
|
```
|
|
1279
1279
|
|
|
1280
1280
|
Write content:
|
|
@@ -52,7 +52,7 @@ Use the results to route:
|
|
|
52
52
|
For Scenario C vs D, check phase progress:
|
|
53
53
|
|
|
54
54
|
```bash
|
|
55
|
-
node
|
|
55
|
+
node ~/.claude/maxsim/bin/maxsim-tools.cjs roadmap analyze 2>/dev/null || echo "NO_ANALYSIS"
|
|
56
56
|
```
|
|
57
57
|
|
|
58
58
|
If all phases show status "complete" -> Scenario D (Milestone Complete).
|
|
@@ -140,7 +140,7 @@ Display:
|
|
|
140
140
|
Load current state:
|
|
141
141
|
|
|
142
142
|
```bash
|
|
143
|
-
node
|
|
143
|
+
node ~/.claude/maxsim/bin/maxsim-tools.cjs state load 2>/dev/null
|
|
144
144
|
```
|
|
145
145
|
|
|
146
146
|
Read `.planning/ROADMAP.md` and `.planning/STATE.md` to display:
|
|
@@ -469,7 +469,7 @@ After PROJECT.md is committed, generate artefakte documents that capture structu
|
|
|
469
469
|
**DECISIONS.md** — Key decisions made during questioning with rationale:
|
|
470
470
|
|
|
471
471
|
```bash
|
|
472
|
-
node ~/.claude/maxsim/bin/maxsim-tools.cjs artefakte-write
|
|
472
|
+
node ~/.claude/maxsim/bin/maxsim-tools.cjs artefakte-write decisions
|
|
473
473
|
```
|
|
474
474
|
|
|
475
475
|
Write content:
|
|
@@ -492,7 +492,7 @@ Write content:
|
|
|
492
492
|
**ACCEPTANCE-CRITERIA.md** — Measurable success criteria derived from user's vision:
|
|
493
493
|
|
|
494
494
|
```bash
|
|
495
|
-
node ~/.claude/maxsim/bin/maxsim-tools.cjs artefakte-write
|
|
495
|
+
node ~/.claude/maxsim/bin/maxsim-tools.cjs artefakte-write acceptance-criteria
|
|
496
496
|
```
|
|
497
497
|
|
|
498
498
|
Write content:
|
|
@@ -522,7 +522,7 @@ Populated per-phase during /maxsim:plan.
|
|
|
522
522
|
**NO-GOS.md** — Explicit exclusions and anti-patterns:
|
|
523
523
|
|
|
524
524
|
```bash
|
|
525
|
-
node ~/.claude/maxsim/bin/maxsim-tools.cjs artefakte-write
|
|
525
|
+
node ~/.claude/maxsim/bin/maxsim-tools.cjs artefakte-write no-gos
|
|
526
526
|
```
|
|
527
527
|
|
|
528
528
|
Write content:
|
|
@@ -573,8 +573,9 @@ Populate from questioning context + reasonable defaults:
|
|
|
573
573
|
|
|
574
574
|
Write content using the 4 must-have sections (Tech Stack, File Layout, Error Handling, Testing). Remove HTML comment examples and replace with actual project-specific conventions.
|
|
575
575
|
|
|
576
|
+
Write `.planning/CONVENTIONS.md` directly using the Write tool (CONVENTIONS.md is not a valid artefakt type):
|
|
576
577
|
```bash
|
|
577
|
-
|
|
578
|
+
# Use the Write tool to create .planning/CONVENTIONS.md with the content above
|
|
578
579
|
```
|
|
579
580
|
|
|
580
581
|
**Commit artefakte:**
|
|
@@ -21,15 +21,15 @@ The orchestrator provides phase context. Verify we have what we need:
|
|
|
21
21
|
## Step 2: Resolve Models
|
|
22
22
|
|
|
23
23
|
```bash
|
|
24
|
-
PLANNER_MODEL=$(node
|
|
25
|
-
CHECKER_MODEL=$(node
|
|
24
|
+
PLANNER_MODEL=$(node ~/.claude/maxsim/bin/maxsim-tools.cjs resolve-model planner --raw)
|
|
25
|
+
CHECKER_MODEL=$(node ~/.claude/maxsim/bin/maxsim-tools.cjs resolve-model planner --raw)
|
|
26
26
|
```
|
|
27
27
|
|
|
28
28
|
## Step 3: Check Existing Plans
|
|
29
29
|
|
|
30
30
|
Query the phase GitHub Issue for existing plan comments:
|
|
31
31
|
```bash
|
|
32
|
-
node ~/.claude/maxsim/bin/maxsim-tools.cjs github get-issue $PHASE_ISSUE_NUMBER --include-comments
|
|
32
|
+
node ~/.claude/maxsim/bin/maxsim-tools.cjs github get-issue --issue-number $PHASE_ISSUE_NUMBER --include-comments
|
|
33
33
|
```
|
|
34
34
|
|
|
35
35
|
Look for comments that contain `<!-- maxsim:type=plan -->`.
|
|
@@ -324,7 +324,7 @@ Parse tasks from the posted plans. For each `<task>` element in the plan XML, ex
|
|
|
324
324
|
Run `github batch-create-tasks` with the full tasks array and the phase issue number:
|
|
325
325
|
|
|
326
326
|
```bash
|
|
327
|
-
node ~/.claude/maxsim/bin/maxsim-tools.cjs github batch-create-tasks --phase-number "$PHASE_NUMBER" --parent-issue-number $PHASE_ISSUE_NUMBER --tasks
|
|
327
|
+
node ~/.claude/maxsim/bin/maxsim-tools.cjs github batch-create-tasks --phase-number "$PHASE_NUMBER" --parent-issue-number $PHASE_ISSUE_NUMBER --tasks '[{"task_id":"1.1","title":"Task title","body":"Task body"}, ...]'
|
|
328
328
|
```
|
|
329
329
|
|
|
330
330
|
Each task becomes a GitHub sub-issue linked to the phase issue.
|
|
@@ -128,7 +128,7 @@ Phase: "API documentation"
|
|
|
128
128
|
Phase number, name, directory, and GitHub issue number come from the orchestrator context.
|
|
129
129
|
|
|
130
130
|
```bash
|
|
131
|
-
INIT=$(node
|
|
131
|
+
INIT=$(node ~/.claude/maxsim/bin/maxsim-tools.cjs init phase-op "${PHASE}")
|
|
132
132
|
```
|
|
133
133
|
|
|
134
134
|
Parse JSON for: `commit_docs`, `phase_found`, `phase_dir`, `phase_number`, `phase_name`, `phase_slug`, `padded_phase`, `has_research`, `has_context`, `has_plans`, `plan_count`, `roadmap_exists`, `planning_exists`.
|
|
@@ -141,7 +141,7 @@ Also extract `phase_issue_number` passed from the orchestrator.
|
|
|
141
141
|
|
|
142
142
|
Check if a context comment already exists on the phase GitHub Issue by calling:
|
|
143
143
|
```bash
|
|
144
|
-
node ~/.claude/maxsim/bin/maxsim-tools.cjs github get-issue $PHASE_ISSUE_NUMBER --include-comments
|
|
144
|
+
node ~/.claude/maxsim/bin/maxsim-tools.cjs github get-issue --issue-number $PHASE_ISSUE_NUMBER --include-comments
|
|
145
145
|
```
|
|
146
146
|
|
|
147
147
|
Look for a comment that contains `<!-- maxsim:type=context -->`.
|
|
@@ -21,7 +21,7 @@ The orchestrator provides phase context. Verify we have what we need:
|
|
|
21
21
|
## Step 2: Resolve Researcher Model
|
|
22
22
|
|
|
23
23
|
```bash
|
|
24
|
-
RESEARCHER_MODEL=$(node
|
|
24
|
+
RESEARCHER_MODEL=$(node ~/.claude/maxsim/bin/maxsim-tools.cjs resolve-model researcher --raw)
|
|
25
25
|
```
|
|
26
26
|
|
|
27
27
|
## Step 3: Check Existing Research
|
|
@@ -58,7 +58,7 @@ Return control to orchestrator.
|
|
|
58
58
|
## Step 4: Gather Phase Context
|
|
59
59
|
|
|
60
60
|
```bash
|
|
61
|
-
PHASE_DESC=$(node
|
|
61
|
+
PHASE_DESC=$(node ~/.claude/maxsim/bin/maxsim-tools.cjs roadmap get-phase "${PHASE}" 2>/dev/null)
|
|
62
62
|
```
|
|
63
63
|
|
|
64
64
|
Extract the phase section/description from the JSON output for the researcher prompt.
|
|
@@ -20,7 +20,7 @@ This file is the ORCHESTRATOR ONLY. Stage-specific logic lives in:
|
|
|
20
20
|
Load phase state in one call:
|
|
21
21
|
|
|
22
22
|
```bash
|
|
23
|
-
INIT=$(node
|
|
23
|
+
INIT=$(node ~/.claude/maxsim/bin/maxsim-tools.cjs init plan-phase "$PHASE")
|
|
24
24
|
```
|
|
25
25
|
|
|
26
26
|
Parse JSON for: `phase_found`, `phase_dir`, `phase_number`, `phase_name`, `phase_slug`, `padded_phase`, `has_context`, `has_research`, `has_plans`, `plan_count`, `plans`, `commit_docs`, `researcher_model`, `planner_model`, `checker_model`, `research_enabled`, `plan_checker_enabled`, `state_path`, `roadmap_path`, `requirements_path`, `context_path`, `research_path`, `phase_req_ids`, `phase_issue_number`.
|
|
@@ -47,7 +47,7 @@ Detect planning stage by querying the phase GitHub Issue:
|
|
|
47
47
|
2. **If no `phase_issue_number` exists:** The phase has not been set up on GitHub yet.
|
|
48
48
|
- Run `node ~/.claude/maxsim/bin/maxsim-tools.cjs github create-phase --phase-number "$PHASE_NUMBER" --phase-name "$PHASE_NAME" --goal "$GOAL" --requirements "$REQUIREMENTS" --success-criteria "$SUCCESS_CRITERIA"` to create the issue (uses roadmap data).
|
|
49
49
|
- Store the returned issue number as `phase_issue_number`.
|
|
50
|
-
3. Run `node ~/.claude/maxsim/bin/maxsim-tools.cjs github get-issue $PHASE_ISSUE_NUMBER --include-comments` to read the phase issue body and comments.
|
|
50
|
+
3. Run `node ~/.claude/maxsim/bin/maxsim-tools.cjs github get-issue --issue-number $PHASE_ISSUE_NUMBER --include-comments` to read the phase issue body and comments.
|
|
51
51
|
4. Check issue comments for existing artifacts using HTML marker comments:
|
|
52
52
|
- Has a comment containing `<!-- maxsim:type=context -->`? → Discussion stage complete
|
|
53
53
|
- Has a comment containing `<!-- maxsim:type=research -->`? → Research stage complete
|
|
@@ -105,7 +105,7 @@ Pass context: `phase_number`, `phase_name`, `phase_dir`, `padded_phase`, `phase_
|
|
|
105
105
|
|
|
106
106
|
Re-query the phase issue to verify the `type=context` comment now exists:
|
|
107
107
|
```bash
|
|
108
|
-
node ~/.claude/maxsim/bin/maxsim-tools.cjs github get-issue $PHASE_ISSUE_NUMBER --include-comments
|
|
108
|
+
node ~/.claude/maxsim/bin/maxsim-tools.cjs github get-issue --issue-number $PHASE_ISSUE_NUMBER --include-comments
|
|
109
109
|
```
|
|
110
110
|
|
|
111
111
|
Show gate:
|
|
@@ -140,7 +140,7 @@ Pass context: `phase_number`, `phase_name`, `phase_dir`, `padded_phase`, `phase_
|
|
|
140
140
|
|
|
141
141
|
Re-query the phase issue to verify the `type=research` comment now exists:
|
|
142
142
|
```bash
|
|
143
|
-
node ~/.claude/maxsim/bin/maxsim-tools.cjs github get-issue $PHASE_ISSUE_NUMBER --include-comments
|
|
143
|
+
node ~/.claude/maxsim/bin/maxsim-tools.cjs github get-issue --issue-number $PHASE_ISSUE_NUMBER --include-comments
|
|
144
144
|
```
|
|
145
145
|
|
|
146
146
|
Show gate:
|
|
@@ -172,7 +172,7 @@ Pass context: `phase_number`, `phase_name`, `phase_dir`, `padded_phase`, `phase_
|
|
|
172
172
|
|
|
173
173
|
Re-query the phase issue to verify `type=plan` comments exist:
|
|
174
174
|
```bash
|
|
175
|
-
node ~/.claude/maxsim/bin/maxsim-tools.cjs github get-issue $PHASE_ISSUE_NUMBER --include-comments
|
|
175
|
+
node ~/.claude/maxsim/bin/maxsim-tools.cjs github get-issue --issue-number $PHASE_ISSUE_NUMBER --include-comments
|
|
176
176
|
```
|
|
177
177
|
|
|
178
178
|
Show final gate:
|
|
@@ -229,7 +229,7 @@ The stage detection in step 3 handles resume automatically -- completed stages p
|
|
|
229
229
|
After all stages complete, update STATE.md:
|
|
230
230
|
|
|
231
231
|
```bash
|
|
232
|
-
node
|
|
232
|
+
node ~/.claude/maxsim/bin/maxsim-tools.cjs state record-session \
|
|
233
233
|
--stopped-at "Phase ${PHASE} planned" \
|
|
234
234
|
--resume-file "GitHub Issue #${phase_issue_number}"
|
|
235
235
|
```
|
|
@@ -107,7 +107,7 @@ For the current active phase (or any phase requested by user):
|
|
|
107
107
|
|
|
108
108
|
```bash
|
|
109
109
|
node ~/.claude/maxsim/bin/maxsim-tools.cjs github phase-progress --phase-issue-number N
|
|
110
|
-
node ~/.claude/maxsim/bin/maxsim-tools.cjs github list-sub-issues N
|
|
110
|
+
node ~/.claude/maxsim/bin/maxsim-tools.cjs github list-sub-issues --phase-issue-number N
|
|
111
111
|
```
|
|
112
112
|
|
|
113
113
|
**Detect external edits:**
|
|
@@ -35,8 +35,8 @@ Parse JSON for: `executor_model`, `verifier_model`, `commit_docs`, `phase_found`
|
|
|
35
35
|
Find incomplete plans by querying GitHub Issues (the source of truth for plans and completion status):
|
|
36
36
|
|
|
37
37
|
```bash
|
|
38
|
-
node ~/.claude/maxsim/bin/maxsim-tools.cjs github get-issue ${phase_issue_number} --include-comments
|
|
39
|
-
node ~/.claude/maxsim/bin/maxsim-tools.cjs github list-sub-issues ${phase_issue_number}
|
|
38
|
+
node ~/.claude/maxsim/bin/maxsim-tools.cjs github get-issue --issue-number ${phase_issue_number} --include-comments
|
|
39
|
+
node ~/.claude/maxsim/bin/maxsim-tools.cjs github list-sub-issues --phase-issue-number ${phase_issue_number}
|
|
40
40
|
```
|
|
41
41
|
|
|
42
42
|
Parse plan comments (`<!-- maxsim:type=plan -->`) from the phase issue. A plan is complete when all its task sub-issues are closed.
|
|
@@ -406,7 +406,7 @@ After all plans in the phase are processed:
|
|
|
406
406
|
|
|
407
407
|
Check completion by querying the phase issue's task sub-issues:
|
|
408
408
|
```bash
|
|
409
|
-
node ~/.claude/maxsim/bin/maxsim-tools.cjs github list-sub-issues ${phase_issue_number}
|
|
409
|
+
node ~/.claude/maxsim/bin/maxsim-tools.cjs github list-sub-issues --phase-issue-number ${phase_issue_number}
|
|
410
410
|
```
|
|
411
411
|
|
|
412
412
|
Count open vs closed sub-issues to determine completion.
|
|
@@ -305,7 +305,7 @@ Do NOT write a UAT.md file to `.planning/phases/`.
|
|
|
305
305
|
|
|
306
306
|
```bash
|
|
307
307
|
node ~/.claude/maxsim/bin/maxsim-tools.cjs github move-issue --issue-number N --status "Done"
|
|
308
|
-
node ~/.claude/maxsim/bin/maxsim-tools.cjs github close-issue N
|
|
308
|
+
node ~/.claude/maxsim/bin/maxsim-tools.cjs github close-issue --issue-number N
|
|
309
309
|
```
|
|
310
310
|
|
|
311
311
|
**If verification passes but PR not yet merged:**
|
package/dist/cli.cjs
CHANGED
|
@@ -22111,8 +22111,10 @@ async function cmdInitExecutePhase(cwd, phase) {
|
|
|
22111
22111
|
state_exists: await pathExistsInternal(planningPath(cwd, "STATE.md")),
|
|
22112
22112
|
roadmap_exists: await pathExistsInternal(planningPath(cwd, "ROADMAP.md")),
|
|
22113
22113
|
config_exists: await pathExistsInternal(planningPath(cwd, "config.json")),
|
|
22114
|
+
has_verification: phaseInfo?.has_verification ?? false,
|
|
22114
22115
|
state_path: ".planning/STATE.md",
|
|
22115
22116
|
roadmap_path: ".planning/ROADMAP.md",
|
|
22117
|
+
requirements_path: ".planning/REQUIREMENTS.md",
|
|
22116
22118
|
config_path: ".planning/config.json",
|
|
22117
22119
|
worktree_mode: config.worktree_mode ?? "auto",
|
|
22118
22120
|
max_parallel_agents: config.max_parallel_agents ?? 10,
|