@hanzlaa/rcode 2.6.5 → 2.6.6
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/package.json +1 -1
- package/rihal/workflows/add-phase.md +35 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hanzlaa/rcode",
|
|
3
|
-
"version": "2.6.
|
|
3
|
+
"version": "2.6.6",
|
|
4
4
|
"description": "Rihal Code (rcode) — installable context-brain for Rihalians. 43 agents, 99 slash commands, 56 skills, pullable Rihal standards. Unified install for Claude Code, Cursor, and Gemini.",
|
|
5
5
|
"main": "cli/index.js",
|
|
6
6
|
"bin": {
|
|
@@ -41,11 +41,43 @@ Run /rihal:new-project to initialize.
|
|
|
41
41
|
Exit.
|
|
42
42
|
</step>
|
|
43
43
|
|
|
44
|
+
<step name="detect_task_list">
|
|
45
|
+
**Detect bulk-task input** — when /rihal:quick or /rihal:do auto-routes a multi-task input here, the entire bug list arrives as `${description}`. Don't put it all in the phase title; extract structure.
|
|
46
|
+
|
|
47
|
+
Match if `${description}` contains ANY of:
|
|
48
|
+
- 5+ numbered list items (`/^\s*\d+\.\s/m` ≥ 5)
|
|
49
|
+
- 5+ bullet items (`/^\s*[-*]\s/m` ≥ 5)
|
|
50
|
+
- 3+ "Bug Report:" / "Issue:" / "Severity:" headers
|
|
51
|
+
- Multiple newlines (> 5 lines total)
|
|
52
|
+
|
|
53
|
+
If matched:
|
|
54
|
+
|
|
55
|
+
1. **Phase name** = first line of `${description}` (or first 80 chars if no newline). If the first line is itself a heading like `# Phase 09 — UI Bug Cleanup`, strip the leading `#` characters.
|
|
56
|
+
2. **Phase body** = the rest of the input.
|
|
57
|
+
3. After the phase directory is created (next step), write the body to `.planning/phases/{NN}-{slug}/TASKS.md` with header:
|
|
58
|
+
|
|
59
|
+
```markdown
|
|
60
|
+
# Phase {N} — {phase name} — Tasks
|
|
61
|
+
|
|
62
|
+
*Auto-extracted from /rihal:quick or /rihal:do bulk auto-route on {ISO date}.*
|
|
63
|
+
|
|
64
|
+
{original body, preserved verbatim}
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
4. Note in the completion message: "TASKS.md written with N tasks". The downstream /rihal:plan workflow consumes TASKS.md as the input to SPRINT.md generation — no manual re-paste needed.
|
|
68
|
+
|
|
69
|
+
If NOT matched (single task), proceed normally — `${description}` is the phase name as-is.
|
|
70
|
+
|
|
71
|
+
Set `BULK_MODE=true|false` for the next step.
|
|
72
|
+
</step>
|
|
73
|
+
|
|
44
74
|
<step name="add_phase">
|
|
45
75
|
**Delegate the phase addition to rihal-tools:**
|
|
46
76
|
|
|
47
77
|
```bash
|
|
48
|
-
|
|
78
|
+
# In bulk mode, pass only the extracted phase name (not the entire body)
|
|
79
|
+
PHASE_NAME=$( [ "$BULK_MODE" = "true" ] && echo "$EXTRACTED_FIRST_LINE" || echo "$description" )
|
|
80
|
+
RESULT=$(node ".rihal/bin/rihal-tools.cjs" phase add "${PHASE_NAME}")
|
|
49
81
|
```
|
|
50
82
|
|
|
51
83
|
The CLI handles:
|
|
@@ -56,6 +88,8 @@ The CLI handles:
|
|
|
56
88
|
- Inserting the phase entry into ROADMAP.md with Goal, Depends on, and Plans sections
|
|
57
89
|
|
|
58
90
|
Extract from result: `phase_number`, `padded`, `name`, `slug`, `directory`.
|
|
91
|
+
|
|
92
|
+
**If `BULK_MODE=true`:** after the CLI returns, write the bulk body to `${directory}/TASKS.md` per the structure defined in `detect_task_list`. This step is non-destructive — it only ADDs a TASKS.md file inside the new phase directory.
|
|
59
93
|
</step>
|
|
60
94
|
|
|
61
95
|
<step name="update_project_state">
|