@hanzlaa/rcode 3.4.4 → 3.4.5

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.
Files changed (213) hide show
  1. package/AGENTS.md +1 -1
  2. package/CONTRIBUTING.md +63 -1
  3. package/README.md +9 -4
  4. package/cli/generate-command-skills.cjs +5 -5
  5. package/cli/index.js +0 -0
  6. package/cli/install.js +112 -3
  7. package/cli/lib/manifest.cjs +1 -1
  8. package/cli/uninstall.js +8 -0
  9. package/dist/rcode.js +19 -1
  10. package/package.json +16 -17
  11. package/rihal/agents/rihal-ahmed.md +2 -1
  12. package/rihal/agents/rihal-code-fixer.md +46 -0
  13. package/rihal/agents/rihal-code-reviewer.md +46 -1
  14. package/rihal/agents/rihal-deviation-analyzer.md +1 -0
  15. package/rihal/agents/rihal-docs-auditor.md +106 -1
  16. package/rihal/agents/rihal-edge-case-hunter.md +47 -1
  17. package/rihal/agents/rihal-executor.md +1 -1
  18. package/rihal/agents/rihal-khalid.md +40 -1
  19. package/rihal/agents/rihal-layla.md +2 -1
  20. package/rihal/agents/rihal-nasser.md +2 -1
  21. package/rihal/agents/rihal-noor.md +3 -2
  22. package/rihal/agents/rihal-nyquist-auditor.md +1 -1
  23. package/rihal/agents/rihal-phase-researcher.md +46 -1
  24. package/rihal/agents/rihal-planner.md +1 -1
  25. package/rihal/agents/rihal-profiler.md +45 -2
  26. package/rihal/agents/rihal-project-researcher.md +47 -0
  27. package/rihal/agents/rihal-remediation-planner.md +45 -0
  28. package/rihal/agents/rihal-roadmapper.md +46 -0
  29. package/rihal/agents/rihal-security-adversary.md +46 -1
  30. package/rihal/agents/rihal-security-auditor.md +45 -1
  31. package/rihal/agents/rihal-ui-auditor.md +44 -1
  32. package/rihal/agents/rihal-ux-designer.md +41 -1
  33. package/rihal/agents/rihal-zahra.md +2 -1
  34. package/rihal/agents/rihal-zayd.md +2 -1
  35. package/rihal/bin/lib/config.cjs +13 -1
  36. package/rihal/bin/lib/council-panel.cjs +185 -23
  37. package/rihal/bin/lib/roadmap.cjs +27 -2
  38. package/rihal/bin/rihal-tools.cjs +1837 -99
  39. package/rihal/commands/audit.md +2 -2
  40. package/rihal/commands/capture.md +12 -0
  41. package/rihal/commands/diagnose-issues.md +18 -0
  42. package/rihal/commands/discuss-phase-power.md +18 -0
  43. package/rihal/commands/feature-drift.md +18 -0
  44. package/rihal/commands/karpathy-audit.md +18 -0
  45. package/rihal/commands/lens-audit.md +70 -0
  46. package/rihal/commands/new-project-research.md +18 -0
  47. package/rihal/commands/new-project-roadmap.md +18 -0
  48. package/rihal/commands/phase.md +11 -0
  49. package/rihal/references/continuation-format.md +3 -3
  50. package/rihal/references/output-format.md +79 -0
  51. package/rihal/references/revision-loop.md +1 -1
  52. package/rihal/references/verb-dictionary.md +85 -28
  53. package/rihal/skills/actions/1-analysis/rihal-prfaq/SKILL.md +1 -1
  54. package/rihal/skills/actions/2-plan/rihal-create-epics-and-stories/SKILL.md +12 -2
  55. package/rihal/skills/actions/2-plan/rihal-create-epics-and-stories/steps/step-04-final-validation.md +12 -0
  56. package/rihal/skills/actions/2-plan/rihal-create-prd/SKILL.md +12 -2
  57. package/rihal/skills/actions/2-plan/rihal-create-story/SKILL.md +12 -2
  58. package/rihal/skills/actions/4-implementation/rihal-browser-verify/SKILL.md +1 -1
  59. package/rihal/skills/actions/4-implementation/rihal-checkpoint-preview/SKILL.md +1 -1
  60. package/rihal/skills/actions/4-implementation/rihal-ci/SKILL.md +1 -1
  61. package/rihal/skills/actions/4-implementation/rihal-code-review/SKILL.md +16 -4
  62. package/rihal/skills/actions/4-implementation/rihal-debug/SKILL.md +14 -1
  63. package/rihal/skills/actions/4-implementation/rihal-git-flow/SKILL.md +1 -1
  64. package/rihal/skills/actions/4-implementation/rihal-harden/SKILL.md +1 -1
  65. package/rihal/skills/actions/4-implementation/rihal-incremental/SKILL.md +1 -1
  66. package/rihal/skills/actions/4-implementation/rihal-migrate/SKILL.md +1 -1
  67. package/rihal/skills/actions/4-implementation/rihal-perf/SKILL.md +1 -1
  68. package/rihal/skills/actions/4-implementation/rihal-prove-it/SKILL.md +1 -1
  69. package/rihal/skills/actions/4-implementation/rihal-scaffold-project/steps/step-01-target.md +6 -0
  70. package/rihal/skills/actions/4-implementation/rihal-source-truth/SKILL.md +1 -1
  71. package/rihal/skills/actions/4-implementation/rihal-sprint-planning/SKILL.md +14 -3
  72. package/rihal/skills/actions/4-implementation/rihal-trim/SKILL.md +1 -1
  73. package/rihal/skills/agents/ahmed-hassani-director/SKILL.md +15 -1
  74. package/rihal/skills/agents/dalil-scout/SKILL.md +14 -2
  75. package/rihal/skills/agents/fatima-qa/SKILL.md +16 -1
  76. package/rihal/skills/agents/haitham-frontend/SKILL.md +13 -1
  77. package/rihal/skills/agents/hanzla-engineer/SKILL.md +13 -1
  78. package/rihal/skills/agents/hussain-pm/SKILL.md +16 -1
  79. package/rihal/skills/agents/hussain-sm/SKILL.md +14 -1
  80. package/rihal/skills/agents/layla-designer/SKILL.md +13 -1
  81. package/rihal/skills/agents/majlis-council/SKILL.md +16 -1
  82. package/rihal/skills/agents/mariam-marketing/SKILL.md +14 -1
  83. package/rihal/skills/agents/nasser-eng-manager/SKILL.md +16 -1
  84. package/rihal/skills/agents/noor-writer/SKILL.md +15 -1
  85. package/rihal/skills/agents/raees-orchestrator/SKILL.md +15 -1
  86. package/rihal/skills/agents/rihal-cross-platform-auditor/SKILL.md +162 -0
  87. package/rihal/skills/agents/rihal-dep-auditor/SKILL.md +151 -0
  88. package/rihal/skills/agents/rihal-deviation-analyzer/SKILL.md +78 -0
  89. package/rihal/skills/agents/rihal-i18n-auditor/SKILL.md +152 -0
  90. package/rihal/skills/agents/rihal-observability-auditor/SKILL.md +156 -0
  91. package/rihal/skills/agents/sadiq-analyst/SKILL.md +12 -2
  92. package/rihal/skills/agents/waleed-architect/SKILL.md +12 -2
  93. package/rihal/skills/agents/yousef-backend/SKILL.md +12 -2
  94. package/rihal/skills/agents/zahra-branding/SKILL.md +15 -1
  95. package/rihal/skills/agents/zayd-ml/SKILL.md +13 -1
  96. package/rihal/skills/core/rihal-advanced-elicitation/SKILL.md +2 -2
  97. package/rihal/skills/core/rihal-auth-audit/SKILL.md +1 -1
  98. package/rihal/skills/core/rihal-brainstorming/SKILL.md +13 -2
  99. package/rihal/skills/core/rihal-client-gate/SKILL.md +1 -1
  100. package/rihal/skills/core/rihal-clone-website/SKILL.md +11 -1
  101. package/rihal/skills/core/rihal-deploy-unify/SKILL.md +1 -1
  102. package/rihal/skills/core/rihal-distillator/SKILL.md +2 -2
  103. package/rihal/skills/core/rihal-editorial-review-prose/SKILL.md +1 -1
  104. package/rihal/skills/core/rihal-editorial-review-structure/SKILL.md +2 -2
  105. package/rihal/skills/core/rihal-help/SKILL.md +18 -1
  106. package/rihal/skills/core/rihal-incident-record/SKILL.md +1 -1
  107. package/rihal/skills/core/rihal-index-docs/SKILL.md +1 -1
  108. package/rihal/skills/core/rihal-memory-audit/SKILL.md +18 -1
  109. package/rihal/skills/core/rihal-memory-init/SKILL.md +13 -1
  110. package/rihal/skills/core/rihal-memory-update/SKILL.md +13 -1
  111. package/rihal/skills/core/rihal-mvp-graduate/SKILL.md +1 -1
  112. package/rihal/skills/core/rihal-ocr-consistency/SKILL.md +1 -1
  113. package/rihal/skills/core/rihal-rebrand/SKILL.md +1 -1
  114. package/rihal/skills/core/rihal-review-adversarial-general/SKILL.md +1 -1
  115. package/rihal/skills/core/rihal-review-edge-case-hunter/SKILL.md +17 -1
  116. package/rihal/skills/core/rihal-shard-doc/SKILL.md +1 -1
  117. package/rihal/skills/core/rihal-theme-system/SKILL.md +1 -1
  118. package/rihal/team.yaml +0 -7
  119. package/rihal/templates/RESEARCH.md +84 -0
  120. package/rihal/templates/VALIDATION.md +45 -0
  121. package/rihal/templates/memory/INDEX.md +1 -0
  122. package/rihal/templates/memory/project/design-system.md +128 -0
  123. package/rihal/templates/summary.md +33 -3
  124. package/rihal/workflows/add-tests.md +1 -1
  125. package/rihal/workflows/add-todo.md +6 -0
  126. package/rihal/workflows/analyze-dependencies.md +6 -0
  127. package/rihal/workflows/audit-fix.md +12 -0
  128. package/rihal/workflows/audit-milestone.md +2 -2
  129. package/rihal/workflows/audit.md +23 -14
  130. package/rihal/workflows/autonomous-smart-discuss.md +247 -0
  131. package/rihal/workflows/autonomous.md +54 -267
  132. package/rihal/workflows/capture.md +60 -0
  133. package/rihal/workflows/chain.md +1 -1
  134. package/rihal/workflows/code-review-fix.md +6 -3
  135. package/rihal/workflows/code-review.md +34 -10
  136. package/rihal/workflows/complete-milestone.md +17 -8
  137. package/rihal/workflows/correct-course.md +6 -0
  138. package/rihal/workflows/council.md +37 -23
  139. package/rihal/workflows/create-architecture.md +31 -0
  140. package/rihal/workflows/create-epics-and-stories.md +7 -1
  141. package/rihal/workflows/create-prd.md +25 -0
  142. package/rihal/workflows/dashboard.md +1 -1
  143. package/rihal/workflows/debug.md +8 -0
  144. package/rihal/workflows/decisions.md +1 -1
  145. package/rihal/workflows/diff.md +6 -0
  146. package/rihal/workflows/discuss-phase-discuss-areas.md +271 -0
  147. package/rihal/workflows/discuss-phase.md +27 -266
  148. package/rihal/workflows/do.md +51 -12
  149. package/rihal/workflows/docs-update.md +3 -0
  150. package/rihal/workflows/document-project.md +7 -1
  151. package/rihal/workflows/edit-prd.md +31 -0
  152. package/rihal/workflows/enable-hooks.md +1 -1
  153. package/rihal/workflows/execute-regression-gates.md +131 -0
  154. package/rihal/workflows/execute-sprint.md +31 -2
  155. package/rihal/workflows/execute-verify-phase-goal.md +136 -0
  156. package/rihal/workflows/execute-waves.md +404 -0
  157. package/rihal/workflows/execute.md +101 -642
  158. package/rihal/workflows/feature-drift.md +243 -0
  159. package/rihal/workflows/forensics.md +10 -2
  160. package/rihal/workflows/health.md +65 -16
  161. package/rihal/workflows/help.md +36 -9
  162. package/rihal/workflows/import.md +17 -3
  163. package/rihal/workflows/init.md +20 -10
  164. package/rihal/workflows/install.md +2 -10
  165. package/rihal/workflows/lens-audit.md +689 -0
  166. package/rihal/workflows/map-codebase.md +7 -1
  167. package/rihal/workflows/memory-audit.md +67 -5
  168. package/rihal/workflows/memory-distill.md +10 -0
  169. package/rihal/workflows/memory-init.md +4 -0
  170. package/rihal/workflows/memory-update.md +4 -0
  171. package/rihal/workflows/new-milestone.md +7 -1
  172. package/rihal/workflows/new-project-create-roadmap.md +176 -0
  173. package/rihal/workflows/new-project-define-requirements.md +160 -0
  174. package/rihal/workflows/new-project-research-decision.md +247 -0
  175. package/rihal/workflows/new-project.md +3 -557
  176. package/rihal/workflows/note.md +1 -1
  177. package/rihal/workflows/phase.md +54 -0
  178. package/rihal/workflows/plan-milestone-gaps.md +1 -1
  179. package/rihal/workflows/plan-prd-express.md +108 -0
  180. package/rihal/workflows/plan-research-validation.md +313 -0
  181. package/rihal/workflows/plan-spawn-planner.md +204 -0
  182. package/rihal/workflows/plan.md +91 -532
  183. package/rihal/workflows/plant-seed.md +1 -1
  184. package/rihal/workflows/pr-branch.md +1 -1
  185. package/rihal/workflows/profile-user.md +1 -1
  186. package/rihal/workflows/quick.md +3 -3
  187. package/rihal/workflows/remove-phase.md +6 -1
  188. package/rihal/workflows/remove-workspace.md +6 -0
  189. package/rihal/workflows/rerun.md +1 -1
  190. package/rihal/workflows/research-phase.md +4 -2
  191. package/rihal/workflows/resume-work.md +8 -3
  192. package/rihal/workflows/retrospective.md +31 -0
  193. package/rihal/workflows/review-adversarial.md +12 -0
  194. package/rihal/workflows/review.md +6 -0
  195. package/rihal/workflows/scaffold-project.md +31 -0
  196. package/rihal/workflows/scan.md +10 -0
  197. package/rihal/workflows/secure-phase.md +15 -2
  198. package/rihal/workflows/session-report.md +32 -7
  199. package/rihal/workflows/ship.md +7 -2
  200. package/rihal/workflows/show.md +6 -0
  201. package/rihal/workflows/sprint-status.md +4 -4
  202. package/rihal/workflows/status.md +2 -2
  203. package/rihal/workflows/ui-phase.md +1 -1
  204. package/rihal/workflows/undo.md +2 -3
  205. package/rihal/workflows/update.md +2 -2
  206. package/rihal/workflows/validate-phase.md +1 -1
  207. package/rihal/workflows/validate-prd.md +31 -0
  208. package/rihal/workflows/verify-phase.md +38 -5
  209. package/rihal/workflows/verify-work.md +25 -11
  210. package/rihal/workflows/workstream.md +20 -8
  211. package/server/lib/html/client.js +13 -63
  212. package/server/lib/html/shell.js +0 -1
  213. package/server/lib/scanner.js +33 -2
@@ -807,570 +807,16 @@ Use AskUserQuestion:
807
807
 
808
808
  Use models resolved in Step 1: `RESEARCHER_MODEL`, `SYNTHESIZER_MODEL`, `ROADMAPPER_MODEL`.
809
809
 
810
- ## 6. Research Decision
811
810
 
812
- **If auto mode:** Default to "Research first" without asking.
811
+ @rihal/workflows/new-project-research-decision.md
813
812
 
814
- Use AskUserQuestion:
815
-
816
- - header: "Research"
817
- - question: "Research the domain ecosystem before defining requirements?"
818
- - options:
819
- - "Research first (Recommended)" — Discover standard stacks, expected features, architecture patterns
820
- - "Skip research" — I know this domain well, go straight to requirements
821
-
822
- **If "Research first":**
823
-
824
- Display stage banner:
825
-
826
- ```
827
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
828
- RIHAL ► RESEARCHING
829
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
830
-
831
- Researching [domain] ecosystem...
832
- ```
833
-
834
- Create research directory:
835
-
836
- ```bash
837
- mkdir -p .planning/research
838
- ```
839
-
840
- **Determine milestone context:**
841
-
842
- - If no "Validated" requirements in PROJECT.md → Greenfield (building from scratch)
843
- - If "Validated" requirements exist → Subsequent milestone (adding to existing app)
844
-
845
- Display spawning indicator:
846
-
847
- ```
848
- ◆ Spawning 4 researchers in parallel...
849
- → Stack research
850
- → Features research
851
- → Architecture research
852
- → Pitfalls research
853
- ```
854
-
855
- Spawn 4 parallel rihal-project-researcher agents:
856
-
857
- ```
858
- Task(prompt="<research_type>
859
- Project Research — Stack dimension for [domain].
860
- </research_type>
861
-
862
- <milestone_context>
863
- [greenfield OR subsequent]
864
-
865
- Greenfield: Research the standard stack for building [domain] from scratch.
866
- Subsequent: Research what's needed to add [target features] to an existing [domain] app.
867
- </milestone_context>
868
-
869
- <question>
870
- What's the standard 2026 stack for [domain]?
871
- </question>
872
-
873
- <files_to_read>
874
- - .planning/PROJECT.md (Project context and goals)
875
- </files_to_read>
876
-
877
- ${AGENT_RESEARCHER}
878
-
879
- <downstream_consumer>
880
- Your STACK.md feeds into roadmap creation. Be prescriptive:
881
- - Specific libraries with versions
882
- - Clear rationale for each choice
883
- - What NOT to use and why
884
- </downstream_consumer>
885
-
886
- <quality_gate>
887
- - [ ] Versions are current (verify with Context7/official docs, not training data)
888
- - [ ] Rationale explains WHY, not just WHAT
889
- - [ ] Confidence levels assigned to each recommendation
890
- </quality_gate>
891
-
892
- <output>
893
- Write to: .planning/research/STACK.md
894
- </output>
895
- ", subagent_type="rihal-project-researcher", model="${RESEARCHER_MODEL}", description="Stack research")
896
-
897
- Task(prompt="<research_type>
898
- Project Research — Features dimension for [domain].
899
- </research_type>
900
-
901
- <milestone_context>
902
- [greenfield OR subsequent]
903
-
904
- Greenfield: What features do [domain] products have? What's table stakes vs differentiating?
905
- Subsequent: How do [target features] typically work? What's expected behavior?
906
- </milestone_context>
907
-
908
- <files_to_read>
909
- - .planning/PROJECT.md
910
- </files_to_read>
911
-
912
- ${AGENT_RESEARCHER}
913
-
914
- <downstream_consumer>
915
- Your FEATURES.md feeds into requirements definition. Categorize clearly:
916
- - Table stakes (must have or users leave)
917
- - Differentiators (competitive advantage)
918
- - Anti-features (things to deliberately NOT build)
919
- </downstream_consumer>
920
-
921
- <quality_gate>
922
- - [ ] Categories are clear (table stakes vs differentiators vs anti-features)
923
- - [ ] Complexity noted for each feature
924
- - [ ] Dependencies between features identified
925
- </quality_gate>
926
-
927
- <output>
928
- Write to: .planning/research/FEATURES.md
929
- </output>
930
- ", subagent_type="rihal-project-researcher", model="${RESEARCHER_MODEL}", description="Features research")
931
-
932
- Task(prompt="<research_type>
933
- Project Research — Architecture dimension for [domain].
934
- </research_type>
935
-
936
- <milestone_context>
937
- [greenfield OR subsequent]
938
-
939
- Greenfield: How are [domain] systems typically structured? What are major components?
940
- Subsequent: How do [target features] integrate with existing [domain] architecture?
941
- </milestone_context>
942
-
943
- <files_to_read>
944
- - .planning/PROJECT.md
945
- </files_to_read>
946
-
947
- ${AGENT_RESEARCHER}
948
-
949
- <downstream_consumer>
950
- Your ARCHITECTURE.md informs phase structure in roadmap. Include:
951
- - Component boundaries (what talks to what)
952
- - Data flow (how information moves)
953
- - Suggested build order (dependencies between components)
954
- </downstream_consumer>
955
-
956
- <quality_gate>
957
- - [ ] Components clearly defined with boundaries
958
- - [ ] Data flow direction explicit
959
- - [ ] Build order implications noted
960
- </quality_gate>
961
-
962
- <output>
963
- Write to: .planning/research/ARCHITECTURE.md
964
- </output>
965
- ", subagent_type="rihal-project-researcher", model="${RESEARCHER_MODEL}", description="Architecture research")
966
-
967
- Task(prompt="<research_type>
968
- Project Research — Pitfalls dimension for [domain].
969
- </research_type>
970
-
971
- <milestone_context>
972
- [greenfield OR subsequent]
973
-
974
- Greenfield: What do [domain] projects commonly get wrong? Critical mistakes?
975
- Subsequent: What are common mistakes when adding [target features] to [domain]?
976
- </milestone_context>
977
-
978
- <files_to_read>
979
- - .planning/PROJECT.md
980
- </files_to_read>
981
-
982
- ${AGENT_RESEARCHER}
983
-
984
- <downstream_consumer>
985
- Your PITFALLS.md prevents mistakes in roadmap/planning. For each pitfall:
986
- - Warning signs (how to detect early)
987
- - Prevention strategy (how to avoid)
988
- - Which phase should address it
989
- </downstream_consumer>
990
-
991
- <quality_gate>
992
- - [ ] Pitfalls are specific to this domain (not generic advice)
993
- - [ ] Prevention strategies are actionable
994
- - [ ] Phase mapping included where relevant
995
- </quality_gate>
996
-
997
- <output>
998
- Write to: .planning/research/PITFALLS.md
999
- </output>
1000
- ", subagent_type="rihal-project-researcher", model="${RESEARCHER_MODEL}", description="Pitfalls research")
1001
- ```
1002
-
1003
- After all 4 agents complete, spawn synthesizer to create SUMMARY.md:
1004
-
1005
- ```
1006
- Task(prompt="
1007
- <task>
1008
- Synthesize research outputs into SUMMARY.md.
1009
- </task>
1010
-
1011
- <files_to_read>
1012
- - .planning/research/STACK.md
1013
- - .planning/research/FEATURES.md
1014
- - .planning/research/ARCHITECTURE.md
1015
- - .planning/research/PITFALLS.md
1016
- </files_to_read>
1017
-
1018
- ${AGENT_SYNTHESIZER}
1019
-
1020
- <output>
1021
- Write to: .planning/research/SUMMARY.md
1022
- Synthesize into: recommended stack, table stakes vs differentiators, architecture outline, top pitfalls to avoid.
1023
- </output>
1024
- ", subagent_type="rihal-research-synthesizer", model="${SYNTHESIZER_MODEL}", description="Synthesize research")
1025
- ```
1026
-
1027
- **Commit research (guarded):**
1028
-
1029
- ```bash
1030
- git add .planning/research/ 2>/dev/null \
1031
- && git commit -m "docs: add project research" 2>/dev/null \
1032
- || echo "ℹ .planning/ gitignored — research written, not committed"
1033
- ```
1034
-
1035
- Display research complete banner and key findings:
1036
-
1037
- ```
1038
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1039
- RIHAL ► RESEARCH COMPLETE ✓
1040
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1041
-
1042
- ## Key Findings
1043
-
1044
- **Stack:** [from SUMMARY.md]
1045
- **Table Stakes:** [from SUMMARY.md]
1046
- **Watch Out For:** [from SUMMARY.md]
1047
-
1048
- Files: `.planning/research/`
1049
- ```
1050
-
1051
- **If "Skip research":** Continue to Step 7.
1052
-
1053
- ## 7. Define Requirements
1054
-
1055
- Display stage banner:
1056
-
1057
- ```
1058
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1059
- RIHAL ► DEFINING REQUIREMENTS
1060
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1061
- ```
1062
-
1063
- **Load context:**
1064
-
1065
- Read PROJECT.md and extract:
1066
-
1067
- - Core value (the ONE thing that must work)
1068
- - Stated constraints (budget, timeline, tech limitations)
1069
- - Any explicit scope boundaries
1070
-
1071
- **If research exists:** Read research/FEATURES.md and extract feature categories.
1072
-
1073
- **If auto mode:**
1074
-
1075
- - Auto-include all table stakes features
1076
- - Include features explicitly mentioned in provided document
1077
- - Auto-defer differentiators not mentioned in document
1078
- - Skip per-category AskUserQuestion loops
1079
- - Skip "Any additions?" question
1080
- - Skip requirements approval gate
1081
- - Generate REQUIREMENTS.md and commit directly
1082
813
 
1083
- **Present features by category (interactive mode only):**
1084
814
 
1085
- ```
1086
- Here are the features for [domain]:
1087
-
1088
- ## Authentication
1089
- **Table stakes:**
1090
- - Sign up with email/password
1091
- - Email verification
1092
- - Password reset
1093
- - Session management
1094
-
1095
- **Differentiators:**
1096
- - Magic link login
1097
- - OAuth (Google, GitHub)
1098
- - 2FA
1099
-
1100
- **Research notes:** [any relevant notes]
1101
-
1102
- ---
1103
-
1104
- ## [Next Category]
1105
- ...
1106
- ```
1107
-
1108
- **If no research:** Gather requirements through conversation.
1109
-
1110
- Ask: "What are the main things users need to be able to do?"
1111
-
1112
- For each capability mentioned:
1113
-
1114
- - Ask clarifying questions to make it specific
1115
- - Probe for related capabilities
1116
- - Group into categories
1117
-
1118
- **Scope each category:**
1119
-
1120
- For each category, use AskUserQuestion:
1121
-
1122
- - header: "[Category]" (max 12 chars)
1123
- - question: "Which [category] features are in v1?"
1124
- - multiSelect: true
1125
- - options:
1126
- - "[Feature 1]" — [brief description]
1127
- - "[Feature 2]" — [brief description]
1128
- - "[Feature 3]" — [brief description]
1129
- - "None for v1" — Defer entire category
1130
-
1131
- Track responses:
1132
-
1133
- - Selected features → v1 requirements
1134
- - Unselected table stakes → v2
1135
- - Unselected differentiators → out of scope
1136
-
1137
- **Identify gaps:**
1138
-
1139
- Use AskUserQuestion:
1140
-
1141
- - header: "Additions"
1142
- - question: "Any requirements research missed?"
1143
- - options:
1144
- - "No, research covered it" — Proceed
1145
- - "Yes, let me add some" — Capture additions
1146
-
1147
- **Validate core value:**
1148
-
1149
- Cross-check requirements against Core Value from PROJECT.md. If gaps detected, surface them.
1150
-
1151
- **Generate REQUIREMENTS.md:**
1152
-
1153
- Create `.planning/REQUIREMENTS.md` with:
1154
-
1155
- - v1 Requirements grouped by category (checkboxes, REQ-IDs)
1156
- - v2 Requirements (deferred)
1157
- - Out of Scope (explicit exclusions with reasoning)
1158
- - Traceability section (empty, filled by roadmap)
1159
-
1160
- **REQ-ID format:** `[CATEGORY]-[NUMBER]` (AUTH-01, CONTENT-02)
1161
-
1162
- **Requirement quality criteria:**
1163
-
1164
- Good requirements are:
1165
-
1166
- - **Specific and testable:** "User can reset password via email link"
1167
- - **User-centric:** "User can X"
1168
- - **Atomic:** One capability per requirement
1169
- - **Independent:** Minimal dependencies on other requirements
1170
-
1171
- Reject vague requirements. Push for specificity:
1172
-
1173
- - "Handle authentication" → "User can log in with email/password and stay logged in across sessions"
1174
- - "Support sharing" → "User can share post via link that opens in recipient's browser"
1175
-
1176
- **Present full requirements list (interactive mode only):**
1177
-
1178
- Show every requirement for user confirmation:
1179
-
1180
- ```
1181
- ## v1 Requirements
1182
-
1183
- ### Authentication
1184
- - [ ] **AUTH-01**: User can create account with email/password
1185
- - [ ] **AUTH-02**: User can log in and stay logged in across sessions
1186
- - [ ] **AUTH-03**: User can log out from any page
1187
-
1188
- ### Content
1189
- - [ ] **CONT-01**: User can create posts with text
1190
- - [ ] **CONT-02**: User can edit their own posts
1191
-
1192
- [... full list ...]
1193
-
1194
- ---
1195
-
1196
- Does this capture what you're building? (yes / adjust)
1197
- ```
1198
-
1199
- If "adjust": Return to scoping.
1200
-
1201
- **Commit requirements (guarded):**
1202
-
1203
- ```bash
1204
- git add .planning/REQUIREMENTS.md 2>/dev/null \
1205
- && git commit -m "docs: define v1 requirements" 2>/dev/null \
1206
- || echo "ℹ .planning/ gitignored — requirements written, not committed"
1207
- ```
815
+ @rihal/workflows/new-project-define-requirements.md
1208
816
 
1209
- ## 8. Create Roadmap
1210
817
 
1211
- Display stage banner:
1212
818
 
1213
- ```
1214
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1215
- RIHAL ► CREATING ROADMAP
1216
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1217
-
1218
- ◆ Spawning roadmapper...
1219
- ```
1220
-
1221
- Spawn rihal-roadmapper agent:
1222
-
1223
- ```
1224
- Task(prompt="
1225
- <planning_context>
1226
-
1227
- <files_to_read>
1228
- - .planning/PROJECT.md (Project context)
1229
- - .planning/REQUIREMENTS.md (v1 Requirements)
1230
- - .planning/research/SUMMARY.md (Research findings - if exists)
1231
- - .planning/config.json (Granularity and mode settings)
1232
- </files_to_read>
1233
-
1234
- ${AGENT_ROADMAPPER}
1235
-
1236
- </planning_context>
1237
-
1238
- <instructions>
1239
- Create roadmap:
1240
- 1. Derive phases from requirements (don't impose structure)
1241
- 2. Map every v1 requirement to exactly one phase
1242
- 3. Derive 2-5 success criteria per phase (observable user behaviors)
1243
- 4. Validate 100% coverage
1244
- 5. Write files immediately (ROADMAP.md, STATE.md, update REQUIREMENTS.md traceability)
1245
- 6. Return ROADMAP CREATED with summary
1246
-
1247
- Write files first, then return. This ensures artifacts persist even if context is lost.
1248
- </instructions>
1249
- ", subagent_type="rihal-roadmapper", model="${ROADMAPPER_MODEL}", description="Create roadmap")
1250
- ```
1251
-
1252
- **Handle roadmapper return:**
1253
-
1254
- **If `## ROADMAP BLOCKED`:**
1255
-
1256
- - Present blocker information
1257
- - Work with user to resolve
1258
- - Re-spawn when resolved
1259
-
1260
- **If `## ROADMAP CREATED`:**
1261
-
1262
- Read the created ROADMAP.md and present it nicely inline:
1263
-
1264
- ```
1265
- ---
1266
-
1267
- ## Proposed Roadmap
1268
-
1269
- **[N] phases** | **[X] requirements mapped** | All v1 requirements covered ✓
1270
-
1271
- | # | Phase | Goal | Requirements | Success Criteria |
1272
- |---|-------|------|--------------|------------------|
1273
- | 1 | [Name] | [Goal] | [REQ-IDs] | [count] |
1274
- | 2 | [Name] | [Goal] | [REQ-IDs] | [count] |
1275
- | 3 | [Name] | [Goal] | [REQ-IDs] | [count] |
1276
-
1277
- ### Phase Details
1278
-
1279
- **Phase 1: [Name]**
1280
- Goal: [goal]
1281
- Requirements: [REQ-IDs]
1282
- Success criteria:
1283
- 1. [criterion]
1284
- 2. [criterion]
1285
- 3. [criterion]
1286
-
1287
- [... continue for all phases ...]
1288
-
1289
- ---
1290
- ```
1291
-
1292
- **If auto mode:** Skip approval gate — auto-approve and commit directly.
1293
-
1294
- **CRITICAL: Ask for approval before committing (interactive mode only):**
1295
-
1296
- Use AskUserQuestion:
1297
-
1298
- - header: "Roadmap"
1299
- - question: "Does this roadmap structure work for you?"
1300
- - options:
1301
- - "Approve" — Commit and continue
1302
- - "Adjust phases" — Tell me what to change
1303
- - "Review full file" — Show raw ROADMAP.md
1304
-
1305
- **If "Approve":** Continue to commit.
1306
-
1307
- **If "Adjust phases":**
1308
-
1309
- - Get user's adjustment notes
1310
- - Re-spawn roadmapper with revision context:
1311
-
1312
- ```
1313
- Task(prompt="
1314
- <revision>
1315
- User feedback on roadmap:
1316
- [user's notes]
1317
-
1318
- <files_to_read>
1319
- - .planning/ROADMAP.md (Current roadmap to revise)
1320
- </files_to_read>
1321
-
1322
- ${AGENT_ROADMAPPER}
1323
-
1324
- Update the roadmap based on feedback. Edit files in place.
1325
- Return ROADMAP REVISED with changes made.
1326
- </revision>
1327
- ", subagent_type="rihal-roadmapper", model="${ROADMAPPER_MODEL}", description="Revise roadmap")
1328
- ```
1329
-
1330
- - Present revised roadmap
1331
- - Loop until user approves
1332
-
1333
- **If "Review full file":** Display raw `cat .planning/ROADMAP.md`, then re-ask.
1334
-
1335
- **Generate or refresh project instruction file before final commit:**
1336
-
1337
- The rihal-tools CLI does not expose a `generate-claude-md` subcommand. Instead, if `$INSTRUCTION_FILE` does not already exist, write a minimal instruction file pointing at the rihal workflow docs:
1338
-
1339
- ```markdown
1340
- # {INSTRUCTION_FILE} — project instructions
1341
-
1342
- This project uses Rihal for planning and execution. See `.planning/PROJECT.md` for context and `.planning/ROADMAP.md` for phases.
1343
-
1344
- Common commands:
1345
- - /rihal-progress — check status and next action
1346
- - /rihal-discuss-phase N — gather context before planning phase N
1347
- - /rihal-plan N — create a SPRINT.md for phase N
1348
- - /rihal-execute N — execute a SPRINT.md
1349
- - /rihal-verify-work — conversational UAT
1350
- - /rihal-complete-milestone — archive milestone and reset
1351
-
1352
- Rules:
1353
- - Never run `git push` without explicit user authorization.
1354
- - No Claude/AI attribution in commits.
1355
- - Prefer editing existing files over creating new ones.
1356
- ```
1357
-
1358
- If it already exists, leave it alone (respect user-customized content).
1359
-
1360
- **Commit roadmap (guarded):**
1361
-
1362
- ```bash
1363
- git add \
1364
- .planning/ROADMAP.md \
1365
- .planning/STATE.md \
1366
- .planning/REQUIREMENTS.md \
1367
- "$INSTRUCTION_FILE" 2>/dev/null \
1368
- && git commit -m "docs: create roadmap ([N] phases)" 2>/dev/null \
1369
- || echo "ℹ .planning/ gitignored — roadmap written, not committed (instruction file committed separately)"
1370
-
1371
- # Fallback: also try committing just the instruction file if .planning was ignored
1372
- git add "$INSTRUCTION_FILE" 2>/dev/null && git commit -m "docs: add project instruction file" 2>/dev/null || true
1373
- ```
819
+ @rihal/workflows/new-project-create-roadmap.md
1374
820
 
1375
821
  ## 9. Done
1376
822
 
@@ -100,7 +100,7 @@ EOF
100
100
 
101
101
  Print:
102
102
  ```
103
- Note saved: {target_dir}/{filename}
103
+ Note saved: {target_dir}/{filename}
104
104
 
105
105
  ---
106
106
  date: 2026-04-12
@@ -0,0 +1,54 @@
1
+ <purpose>
2
+ Unified phase CRUD command. Routes to add (default — append integer phase to current milestone), insert (decimal phase under a parent — useful for urgent work mid-flight), or remove (delete an unstarted future phase + renumber). Replaces the muscle-memory pattern of remembering which of /rihal-add-phase, /rihal-insert-phase, /rihal-remove-phase to invoke.
3
+ </purpose>
4
+
5
+ ## Step 0 — Usage check
6
+
7
+ If `$ARGUMENTS` is empty AND no flag is set:
8
+
9
+ ```
10
+ /rihal-phase <name> # append next integer phase (default)
11
+ /rihal-phase --insert <parent> <name> # insert decimal under <parent> (e.g. 14.1)
12
+ /rihal-phase --remove <id> # remove unstarted future phase + renumber
13
+ ```
14
+
15
+ STOP — do not proceed.
16
+
17
+ ## Step 1 — Parse mode flags
18
+
19
+ Inspect `$ARGUMENTS`:
20
+
21
+ - `--insert <parent>` → insert mode (delegates to insert-phase workflow with the parent + name)
22
+ - `--remove <id>` → remove mode (delegates to remove-phase workflow)
23
+ - (none) → add mode (default, delegates to add-phase workflow)
24
+
25
+ Strip the mode flag and pass remaining args to the underlying workflow.
26
+
27
+ ## Step 2 — Dispatch to underlying workflow
28
+
29
+ Each mode is implemented by an existing workflow:
30
+
31
+ - **add (default):** read and execute `@.rihal/workflows/add-phase.md`. Output identical to `/rihal-add-phase`.
32
+ - **insert (`--insert <parent>`):** read and execute `@.rihal/workflows/insert-phase.md`. Output identical to `/rihal-insert-phase`.
33
+ - **remove (`--remove <id>`):** read and execute `@.rihal/workflows/remove-phase.md`. Output identical to `/rihal-remove-phase`.
34
+
35
+ The underlying workflows are unchanged — `/rihal-phase` is a thin router. Behaviour, output format, and disk side-effects are byte-identical to invoking the underlying command directly.
36
+
37
+ ## Step 3 — Footer
38
+
39
+ After the underlying workflow's output, append:
40
+
41
+ ```
42
+ (rihal-phase: routed to {add|insert|remove} mode)
43
+ ```
44
+
45
+ ## Migration note
46
+
47
+ The three absorbed commands continue to work as first-class aliases. `/rihal-phase` exists as the unified entry. Future minor versions may consolidate further; until then, both invocation paths are supported.
48
+
49
+ ## Acceptance
50
+
51
+ - [ ] `/rihal-phase "fix authentication"` produces the same artefacts as `/rihal-add-phase "fix authentication"`
52
+ - [ ] `/rihal-phase --insert 14 "hotfix wave"` produces the same artefacts as `/rihal-insert-phase 14 "hotfix wave"`
53
+ - [ ] `/rihal-phase --remove 99` produces the same artefacts as `/rihal-remove-phase 99`
54
+ - [ ] Unknown flag combinations produce a clear error
@@ -170,7 +170,7 @@ node ".rihal/bin/rihal-tools.cjs" commit "docs(roadmap): add gap closure phases
170
170
  ---
171
171
 
172
172
  **Also available:**
173
- - `/rihal-execute-phase {N}` — if plans already exist
173
+ - `/rihal-execute {N}` — if plans already exist
174
174
  - `cat .planning/ROADMAP.md` — see updated roadmap
175
175
 
176
176
  ---