mindforge-cc 2.0.0 → 2.1.1

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 (323) hide show
  1. package/.agent/bin/lib/commands.cjs +959 -0
  2. package/.agent/bin/lib/config.cjs +421 -0
  3. package/.agent/bin/lib/core.cjs +1166 -0
  4. package/.agent/bin/lib/frontmatter.cjs +307 -0
  5. package/.agent/bin/lib/init.cjs +1336 -0
  6. package/.agent/bin/lib/milestone.cjs +252 -0
  7. package/.agent/bin/lib/model-profiles.cjs +68 -0
  8. package/.agent/bin/lib/phase.cjs +888 -0
  9. package/.agent/bin/lib/profile-output.cjs +952 -0
  10. package/.agent/bin/lib/profile-pipeline.cjs +539 -0
  11. package/.agent/bin/lib/roadmap.cjs +329 -0
  12. package/.agent/bin/lib/security.cjs +356 -0
  13. package/.agent/bin/lib/state.cjs +969 -0
  14. package/.agent/bin/lib/template.cjs +222 -0
  15. package/.agent/bin/lib/uat.cjs +189 -0
  16. package/.agent/bin/lib/verify.cjs +851 -0
  17. package/.agent/bin/lib/workstream.cjs +491 -0
  18. package/.agent/bin/mindforge-tools.cjs +897 -0
  19. package/.agent/file-manifest.json +219 -0
  20. package/.agent/hooks/mindforge-check-update.js +114 -0
  21. package/.agent/hooks/mindforge-context-monitor.js +156 -0
  22. package/.agent/hooks/mindforge-prompt-guard.js +96 -0
  23. package/.agent/hooks/mindforge-statusline.js +119 -0
  24. package/.agent/hooks/mindforge-workflow-guard.js +94 -0
  25. package/.agent/mindforge/add-backlog.md +32 -0
  26. package/.agent/mindforge/agent.md +31 -0
  27. package/.agent/mindforge/discuss-phase.md +1 -1
  28. package/.agent/mindforge/do.md +31 -0
  29. package/.agent/mindforge/help.md +1 -1
  30. package/.agent/mindforge/learn.md +3 -2
  31. package/.agent/mindforge/note.md +35 -0
  32. package/.agent/mindforge/plant-seed.md +31 -0
  33. package/.agent/mindforge/research.md +3 -2
  34. package/.agent/mindforge/review-backlog.md +34 -0
  35. package/.agent/mindforge/session-report.md +39 -0
  36. package/.agent/mindforge/steer.md +1 -1
  37. package/.agent/mindforge/ui-phase.md +34 -0
  38. package/.agent/mindforge/ui-review.md +36 -0
  39. package/.agent/mindforge/validate-phase.md +31 -0
  40. package/.agent/mindforge/workstreams.md +35 -0
  41. package/.agent/settings.json +38 -0
  42. package/.agent/skills/mindforge-add-backlog/SKILL.md +72 -0
  43. package/.agent/skills/mindforge-add-phase/SKILL.md +39 -0
  44. package/.agent/skills/mindforge-add-tests/SKILL.md +28 -0
  45. package/.agent/skills/mindforge-add-todo/SKILL.md +42 -0
  46. package/.agent/skills/mindforge-audit-milestone/SKILL.md +29 -0
  47. package/.agent/skills/mindforge-audit-uat/SKILL.md +20 -0
  48. package/.agent/skills/mindforge-autonomous/SKILL.md +33 -0
  49. package/.agent/skills/mindforge-check-todos/SKILL.md +40 -0
  50. package/.agent/skills/mindforge-cleanup/SKILL.md +19 -0
  51. package/.agent/skills/mindforge-complete-milestone/SKILL.md +131 -0
  52. package/.agent/skills/mindforge-debug/SKILL.md +163 -0
  53. package/.agent/skills/mindforge-discuss-phase/SKILL.md +54 -0
  54. package/.agent/skills/mindforge-do/SKILL.md +26 -0
  55. package/.agent/skills/mindforge-execute-phase/SKILL.md +49 -0
  56. package/.agent/skills/mindforge-fast/SKILL.md +23 -0
  57. package/.agent/skills/mindforge-forensics/SKILL.md +49 -0
  58. package/.agent/skills/mindforge-health/SKILL.md +17 -0
  59. package/.agent/skills/mindforge-help/SKILL.md +23 -0
  60. package/.agent/skills/mindforge-insert-phase/SKILL.md +28 -0
  61. package/.agent/skills/mindforge-join-discord/SKILL.md +19 -0
  62. package/.agent/skills/mindforge-list-phase-assumptions/SKILL.md +41 -0
  63. package/.agent/skills/mindforge-list-workspaces/SKILL.md +17 -0
  64. package/.agent/skills/mindforge-manager/SKILL.md +32 -0
  65. package/.agent/skills/mindforge-map-codebase/SKILL.md +64 -0
  66. package/.agent/skills/mindforge-milestone-summary/SKILL.md +44 -0
  67. package/.agent/skills/mindforge-new-milestone/SKILL.md +38 -0
  68. package/.agent/skills/mindforge-new-project/SKILL.md +36 -0
  69. package/.agent/skills/mindforge-new-workspace/SKILL.md +39 -0
  70. package/.agent/skills/mindforge-next/SKILL.md +19 -0
  71. package/.agent/skills/mindforge-note/SKILL.md +29 -0
  72. package/.agent/skills/mindforge-pause-work/SKILL.md +35 -0
  73. package/.agent/skills/mindforge-plan-milestone-gaps/SKILL.md +28 -0
  74. package/.agent/skills/mindforge-plan-phase/SKILL.md +37 -0
  75. package/.agent/skills/mindforge-plant-seed/SKILL.md +22 -0
  76. package/.agent/skills/mindforge-pr-branch/SKILL.md +21 -0
  77. package/.agent/skills/mindforge-profile-user/SKILL.md +38 -0
  78. package/.agent/skills/mindforge-progress/SKILL.md +19 -0
  79. package/.agent/skills/mindforge-quick/SKILL.md +38 -0
  80. package/.agent/skills/mindforge-reapply-patches/SKILL.md +124 -0
  81. package/.agent/skills/mindforge-remove-phase/SKILL.md +26 -0
  82. package/.agent/skills/mindforge-remove-workspace/SKILL.md +22 -0
  83. package/.agent/skills/mindforge-research-phase/SKILL.md +186 -0
  84. package/.agent/skills/mindforge-resume-work/SKILL.md +35 -0
  85. package/.agent/skills/mindforge-review/SKILL.md +31 -0
  86. package/.agent/skills/mindforge-review-backlog/SKILL.md +58 -0
  87. package/.agent/skills/mindforge-session-report/SKILL.md +16 -0
  88. package/.agent/skills/mindforge-set-profile/SKILL.md +9 -0
  89. package/.agent/skills/mindforge-settings/SKILL.md +32 -0
  90. package/.agent/skills/mindforge-ship/SKILL.md +16 -0
  91. package/.agent/skills/mindforge-stats/SKILL.md +16 -0
  92. package/.agent/skills/mindforge-thread/SKILL.md +123 -0
  93. package/.agent/skills/mindforge-ui-phase/SKILL.md +24 -0
  94. package/.agent/skills/mindforge-ui-review/SKILL.md +24 -0
  95. package/.agent/skills/mindforge-update/SKILL.md +35 -0
  96. package/.agent/skills/mindforge-validate-phase/SKILL.md +26 -0
  97. package/.agent/skills/mindforge-verify-work/SKILL.md +30 -0
  98. package/.agent/skills/mindforge-workstreams/SKILL.md +65 -0
  99. package/.agent/workflows/mindforge-add-phase.md +112 -0
  100. package/.agent/workflows/mindforge-add-tests.md +351 -0
  101. package/.agent/workflows/mindforge-add-todo.md +158 -0
  102. package/.agent/workflows/mindforge-audit-milestone.md +332 -0
  103. package/.agent/workflows/mindforge-audit-uat.md +109 -0
  104. package/.agent/workflows/mindforge-autonomous.md +815 -0
  105. package/.agent/workflows/mindforge-check-todos.md +177 -0
  106. package/.agent/workflows/mindforge-cleanup.md +152 -0
  107. package/.agent/workflows/mindforge-complete-milestone.md +766 -0
  108. package/.agent/workflows/mindforge-diagnose-issues.md +220 -0
  109. package/.agent/workflows/mindforge-discovery-phase.md +289 -0
  110. package/.agent/workflows/mindforge-discuss-phase-assumptions.md +645 -0
  111. package/.agent/workflows/mindforge-discuss-phase.md +1047 -0
  112. package/.agent/workflows/mindforge-do.md +104 -0
  113. package/.agent/workflows/mindforge-execute-phase.md +838 -0
  114. package/.agent/workflows/mindforge-execute-plan.md +509 -0
  115. package/.agent/workflows/mindforge-fast.md +105 -0
  116. package/.agent/workflows/mindforge-forensics.md +265 -0
  117. package/.agent/workflows/mindforge-health.md +181 -0
  118. package/.agent/workflows/mindforge-help.md +606 -0
  119. package/.agent/workflows/mindforge-insert-phase.md +130 -0
  120. package/.agent/workflows/mindforge-list-phase-assumptions.md +178 -0
  121. package/.agent/workflows/mindforge-list-workspaces.md +56 -0
  122. package/.agent/workflows/mindforge-manager.md +360 -0
  123. package/.agent/workflows/mindforge-map-codebase.md +370 -0
  124. package/.agent/workflows/mindforge-milestone-summary.md +223 -0
  125. package/.agent/workflows/mindforge-new-milestone.md +469 -0
  126. package/.agent/workflows/mindforge-new-project.md +1226 -0
  127. package/.agent/workflows/mindforge-new-workspace.md +237 -0
  128. package/.agent/workflows/mindforge-next.md +97 -0
  129. package/.agent/workflows/mindforge-node-repair.md +92 -0
  130. package/.agent/workflows/mindforge-note.md +156 -0
  131. package/.agent/workflows/mindforge-pause-work.md +176 -0
  132. package/.agent/workflows/mindforge-plan-milestone-gaps.md +273 -0
  133. package/.agent/workflows/mindforge-plan-phase.md +848 -0
  134. package/.agent/workflows/mindforge-plant-seed.md +169 -0
  135. package/.agent/workflows/mindforge-pr-branch.md +129 -0
  136. package/.agent/workflows/mindforge-profile-user.md +450 -0
  137. package/.agent/workflows/mindforge-progress.md +507 -0
  138. package/.agent/workflows/mindforge-quick.md +732 -0
  139. package/.agent/workflows/mindforge-remove-phase.md +155 -0
  140. package/.agent/workflows/mindforge-remove-workspace.md +90 -0
  141. package/.agent/workflows/mindforge-research-phase.md +74 -0
  142. package/.agent/workflows/mindforge-resume-project.md +325 -0
  143. package/.agent/workflows/mindforge-review.md +228 -0
  144. package/.agent/workflows/mindforge-session-report.md +146 -0
  145. package/.agent/workflows/mindforge-settings.md +283 -0
  146. package/.agent/workflows/mindforge-ship.md +228 -0
  147. package/.agent/workflows/mindforge-stats.md +60 -0
  148. package/.agent/workflows/mindforge-transition.md +671 -0
  149. package/.agent/workflows/mindforge-ui-phase.md +290 -0
  150. package/.agent/workflows/mindforge-ui-review.md +157 -0
  151. package/.agent/workflows/mindforge-update.md +323 -0
  152. package/.agent/workflows/mindforge-validate-phase.md +167 -0
  153. package/.agent/workflows/mindforge-verify-phase.md +254 -0
  154. package/.agent/workflows/mindforge-verify-work.md +623 -0
  155. package/.claude/commands/mindforge/add-backlog.md +32 -0
  156. package/.claude/commands/mindforge/agent.md +31 -0
  157. package/.claude/commands/mindforge/approve.md +27 -15
  158. package/.claude/commands/mindforge/audit.md +30 -26
  159. package/.claude/commands/mindforge/auto.md +29 -18
  160. package/.claude/commands/mindforge/benchmark.md +26 -29
  161. package/.claude/commands/mindforge/browse.md +24 -22
  162. package/.claude/commands/mindforge/complete-milestone.md +28 -14
  163. package/.claude/commands/mindforge/costs.md +26 -9
  164. package/.claude/commands/mindforge/cross-review.md +27 -13
  165. package/.claude/commands/mindforge/dashboard.md +35 -98
  166. package/.claude/commands/mindforge/debug.md +34 -126
  167. package/.claude/commands/mindforge/discuss-phase.md +36 -138
  168. package/.claude/commands/mindforge/do.md +31 -0
  169. package/.claude/commands/mindforge/execute-phase.md +37 -190
  170. package/.claude/commands/mindforge/health.md +27 -17
  171. package/.claude/commands/mindforge/help.md +25 -19
  172. package/.claude/commands/mindforge/init-org.md +37 -131
  173. package/.claude/commands/mindforge/init-project.md +40 -155
  174. package/.claude/commands/mindforge/install-skill.md +32 -15
  175. package/.claude/commands/mindforge/learn.md +36 -142
  176. package/.claude/commands/mindforge/map-codebase.md +36 -298
  177. package/.claude/commands/mindforge/marketplace.md +33 -120
  178. package/.claude/commands/mindforge/metrics.md +29 -18
  179. package/.claude/commands/mindforge/migrate.md +33 -40
  180. package/.claude/commands/mindforge/milestone.md +35 -12
  181. package/.claude/commands/mindforge/new-runtime.md +25 -15
  182. package/.claude/commands/mindforge/next.md +34 -105
  183. package/.claude/commands/mindforge/note.md +35 -0
  184. package/.claude/commands/mindforge/plan-phase.md +34 -125
  185. package/.claude/commands/mindforge/plant-seed.md +31 -0
  186. package/.claude/commands/mindforge/plugins.md +30 -36
  187. package/.claude/commands/mindforge/pr-review.md +32 -41
  188. package/.claude/commands/mindforge/profile-team.md +26 -19
  189. package/.claude/commands/mindforge/publish-skill.md +28 -17
  190. package/.claude/commands/mindforge/qa.md +27 -12
  191. package/.claude/commands/mindforge/quick.md +35 -135
  192. package/.claude/commands/mindforge/release.md +27 -8
  193. package/.claude/commands/mindforge/remember.md +25 -10
  194. package/.claude/commands/mindforge/research.md +27 -9
  195. package/.claude/commands/mindforge/retrospective.md +28 -22
  196. package/.claude/commands/mindforge/review-backlog.md +34 -0
  197. package/.claude/commands/mindforge/review.md +37 -157
  198. package/.claude/commands/mindforge/security-scan.md +34 -233
  199. package/.claude/commands/mindforge/session-report.md +39 -0
  200. package/.claude/commands/mindforge/ship.md +34 -100
  201. package/.claude/commands/mindforge/skills.md +36 -141
  202. package/.claude/commands/mindforge/status.md +30 -104
  203. package/.claude/commands/mindforge/steer.md +25 -10
  204. package/.claude/commands/mindforge/sync-confluence.md +28 -9
  205. package/.claude/commands/mindforge/sync-jira.md +32 -12
  206. package/.claude/commands/mindforge/tokens.md +25 -6
  207. package/.claude/commands/mindforge/ui-phase.md +34 -0
  208. package/.claude/commands/mindforge/ui-review.md +36 -0
  209. package/.claude/commands/mindforge/update.md +33 -42
  210. package/.claude/commands/mindforge/validate-phase.md +31 -0
  211. package/.claude/commands/mindforge/verify-phase.md +30 -62
  212. package/.claude/commands/mindforge/workspace.md +28 -25
  213. package/.claude/commands/mindforge/workstreams.md +35 -0
  214. package/.mindforge/memory/decision-library.jsonl +0 -0
  215. package/.mindforge/memory/knowledge-base.jsonl +7 -0
  216. package/.mindforge/memory/pattern-library.jsonl +1 -0
  217. package/.mindforge/memory/team-preferences.jsonl +4 -0
  218. package/.mindforge/personas/advisor-researcher.md +89 -0
  219. package/.mindforge/personas/analyst.md +112 -52
  220. package/.mindforge/personas/architect.md +100 -67
  221. package/.mindforge/personas/assumptions-analyzer-extend.md +87 -0
  222. package/.mindforge/personas/assumptions-analyzer.md +109 -0
  223. package/.mindforge/personas/codebase-mapper-extend.md +93 -0
  224. package/.mindforge/personas/codebase-mapper.md +770 -0
  225. package/.mindforge/personas/coverage-specialist.md +104 -0
  226. package/.mindforge/personas/debug-specialist.md +118 -52
  227. package/.mindforge/personas/debugger.md +97 -0
  228. package/.mindforge/personas/decision-architect.md +102 -0
  229. package/.mindforge/personas/developer.md +97 -85
  230. package/.mindforge/personas/executor.md +88 -0
  231. package/.mindforge/personas/integration-checker.md +92 -0
  232. package/.mindforge/personas/nyquist-auditor.md +84 -0
  233. package/.mindforge/personas/phase-researcher.md +107 -0
  234. package/.mindforge/personas/plan-checker.md +92 -0
  235. package/.mindforge/personas/planner.md +105 -0
  236. package/.mindforge/personas/project-researcher.md +99 -0
  237. package/.mindforge/personas/qa-engineer.md +113 -61
  238. package/.mindforge/personas/release-manager.md +102 -64
  239. package/.mindforge/personas/research-agent.md +109 -24
  240. package/.mindforge/personas/research-synthesizer.md +101 -0
  241. package/.mindforge/personas/roadmapper-extend.md +100 -0
  242. package/.mindforge/personas/roadmapper.md +103 -0
  243. package/.mindforge/personas/security-reviewer.md +114 -91
  244. package/.mindforge/personas/tech-writer.md +118 -51
  245. package/.mindforge/personas/ui-auditor.md +94 -0
  246. package/.mindforge/personas/ui-checker.md +89 -0
  247. package/.mindforge/personas/ui-researcher.md +99 -0
  248. package/.mindforge/personas/user-profiler.md +93 -0
  249. package/.mindforge/personas/verifier.md +101 -0
  250. package/.planning/ROADMAP.md +10 -0
  251. package/.planning/browser-daemon.log +32 -0
  252. package/.planning/phases/01-migrate-gsd-to-mindforge/.gitkeep +0 -0
  253. package/CHANGELOG.md +41 -0
  254. package/MINDFORGE.md +2 -0
  255. package/README.md +40 -3
  256. package/bin/installer-core.js +3 -4
  257. package/docs/PERSONAS.md +611 -0
  258. package/docs/commands-reference.md +1 -0
  259. package/docs/{Context → context}/Master-Context.md +6 -13
  260. package/docs/references/checkpoints.md +778 -0
  261. package/docs/{reference → references}/commands.md +53 -43
  262. package/docs/references/continuation-format.md +249 -0
  263. package/docs/references/decimal-phase-calculation.md +64 -0
  264. package/docs/references/git-integration.md +295 -0
  265. package/docs/references/git-planning-commit.md +38 -0
  266. package/docs/references/model-profile-resolution.md +36 -0
  267. package/docs/references/model-profiles.md +139 -0
  268. package/docs/references/phase-argument-parsing.md +61 -0
  269. package/docs/references/planning-config.md +202 -0
  270. package/docs/references/questioning.md +162 -0
  271. package/docs/references/tdd.md +263 -0
  272. package/docs/references/ui-brand.md +160 -0
  273. package/docs/references/user-profiling.md +681 -0
  274. package/docs/references/verification-patterns.md +612 -0
  275. package/docs/references/workstream-flag.md +58 -0
  276. package/docs/skills-authoring-guide.md +1 -1
  277. package/docs/templates/Agents/CLAUDE-MD.md +122 -0
  278. package/docs/templates/Agents/COPILOT-INSTRUCTIONS.md +7 -0
  279. package/docs/templates/Agents/DEBUGGER-PROMPT.md +91 -0
  280. package/docs/templates/Agents/PLANNER-PROMPT.md +117 -0
  281. package/docs/templates/Execution/CONTINUE-HERE.md +78 -0
  282. package/docs/templates/Execution/DISCUSSION-LOG.md +63 -0
  283. package/docs/templates/Execution/PHASE-PROMPT.md +610 -0
  284. package/docs/templates/Execution/STATE.md +176 -0
  285. package/docs/templates/Execution/SUMMARY-COMPLEX.md +59 -0
  286. package/docs/templates/Execution/SUMMARY-MINIMAL.md +41 -0
  287. package/docs/templates/Execution/SUMMARY-STANDARD.md +48 -0
  288. package/docs/templates/Execution/SUMMARY.md +248 -0
  289. package/docs/templates/Profile/DEV-PREFERENCES.md +21 -0
  290. package/docs/templates/Profile/USER-PROFILE.md +146 -0
  291. package/docs/templates/Profile/USER-SETUP.md +311 -0
  292. package/docs/templates/Project/DISCOVERY.md +146 -0
  293. package/docs/templates/Project/MILESTONE-ARCHIVE.md +123 -0
  294. package/docs/templates/Project/MILESTONE.md +115 -0
  295. package/docs/templates/Project/PROJECT.md +206 -0
  296. package/docs/templates/Project/REQUIREMENTS.md +231 -0
  297. package/docs/templates/Project/RETROSPECTIVE.md +54 -0
  298. package/docs/templates/Project/ROADMAP.md +202 -0
  299. package/docs/templates/Quality/DEBUG.md +164 -0
  300. package/docs/templates/Quality/UAT.md +280 -0
  301. package/docs/templates/Quality/UI-SPEC.md +100 -0
  302. package/docs/templates/Quality/VALIDATION.md +76 -0
  303. package/docs/templates/Quality/VERIFICATION-REPORT.md +322 -0
  304. package/docs/templates/System/CONFIG.json +43 -0
  305. package/docs/templates/System/CONTEXT.md +352 -0
  306. package/docs/templates/codebase/architecture.md +255 -0
  307. package/docs/templates/codebase/concerns.md +310 -0
  308. package/docs/templates/codebase/conventions.md +307 -0
  309. package/docs/templates/codebase/integrations.md +280 -0
  310. package/docs/templates/codebase/stack.md +186 -0
  311. package/docs/templates/codebase/structure.md +285 -0
  312. package/docs/templates/codebase/testing.md +480 -0
  313. package/docs/templates/research/ARCHITECTURE.md +204 -0
  314. package/docs/templates/research/FEATURES.md +147 -0
  315. package/docs/templates/research/PITFALLS.md +200 -0
  316. package/docs/templates/research/STACK.md +120 -0
  317. package/docs/templates/research/SUMMARY.md +170 -0
  318. package/docs/user-guide.md +1 -1
  319. package/package.json +7 -2
  320. /package/docs/{reference → references}/audit-events.md +0 -0
  321. /package/docs/{reference → references}/config-reference.md +0 -0
  322. /package/docs/{reference → references}/sdk-api.md +0 -0
  323. /package/docs/{reference → references}/skills-api.md +0 -0
@@ -0,0 +1,119 @@
1
+ #!/usr/bin/env node
2
+ // mindforge-hook-version: 1.28.0
3
+ // Claude Code Statusline - MindForge Edition
4
+ // Shows: model | current task | directory | context usage
5
+
6
+ const fs = require('fs');
7
+ const path = require('path');
8
+ const os = require('os');
9
+
10
+ // Read JSON from stdin
11
+ let input = '';
12
+ // Timeout guard: if stdin doesn't close within 3s (e.g. pipe issues on
13
+ // Windows/Git Bash), exit silently instead of hanging. See #775.
14
+ const stdinTimeout = setTimeout(() => process.exit(0), 3000);
15
+ process.stdin.setEncoding('utf8');
16
+ process.stdin.on('data', chunk => input += chunk);
17
+ process.stdin.on('end', () => {
18
+ clearTimeout(stdinTimeout);
19
+ try {
20
+ const data = JSON.parse(input);
21
+ const model = data.model?.display_name || 'Claude';
22
+ const dir = data.workspace?.current_dir || process.cwd();
23
+ const session = data.session_id || '';
24
+ const remaining = data.context_window?.remaining_percentage;
25
+
26
+ // Context window display (shows USED percentage scaled to usable context)
27
+ // Claude Code reserves ~16.5% for autocompact buffer, so usable context
28
+ // is 83.5% of the total window. We normalize to show 100% at that point.
29
+ const AUTO_COMPACT_BUFFER_PCT = 16.5;
30
+ let ctx = '';
31
+ if (remaining != null) {
32
+ // Normalize: subtract buffer from remaining, scale to usable range
33
+ const usableRemaining = Math.max(0, ((remaining - AUTO_COMPACT_BUFFER_PCT) / (100 - AUTO_COMPACT_BUFFER_PCT)) * 100);
34
+ const used = Math.max(0, Math.min(100, Math.round(100 - usableRemaining)));
35
+
36
+ // Write context metrics to bridge file for the context-monitor PostToolUse hook.
37
+ // The monitor reads this file to inject agent-facing warnings when context is low.
38
+ if (session) {
39
+ try {
40
+ const bridgePath = path.join(os.tmpdir(), `claude-ctx-${session}.json`);
41
+ const bridgeData = JSON.stringify({
42
+ session_id: session,
43
+ remaining_percentage: remaining,
44
+ used_pct: used,
45
+ timestamp: Math.floor(Date.now() / 1000)
46
+ });
47
+ fs.writeFileSync(bridgePath, bridgeData);
48
+ } catch (e) {
49
+ // Silent fail -- bridge is best-effort, don't break statusline
50
+ }
51
+ }
52
+
53
+ // Build progress bar (10 segments)
54
+ const filled = Math.floor(used / 10);
55
+ const bar = '█'.repeat(filled) + '░'.repeat(10 - filled);
56
+
57
+ // Color based on usable context thresholds
58
+ if (used < 50) {
59
+ ctx = ` \x1b[32m${bar} ${used}%\x1b[0m`;
60
+ } else if (used < 65) {
61
+ ctx = ` \x1b[33m${bar} ${used}%\x1b[0m`;
62
+ } else if (used < 80) {
63
+ ctx = ` \x1b[38;5;208m${bar} ${used}%\x1b[0m`;
64
+ } else {
65
+ ctx = ` \x1b[5;31m💀 ${bar} ${used}%\x1b[0m`;
66
+ }
67
+ }
68
+
69
+ // Current task from todos
70
+ let task = '';
71
+ const homeDir = os.homedir();
72
+ // Respect CLAUDE_CONFIG_DIR for custom config directory setups (#870)
73
+ const claudeDir = process.env.CLAUDE_CONFIG_DIR || path.join(homeDir, '.agent');
74
+ const todosDir = path.join(claudeDir, 'todos');
75
+ if (session && fs.existsSync(todosDir)) {
76
+ try {
77
+ const files = fs.readdirSync(todosDir)
78
+ .filter(f => f.startsWith(session) && f.includes('-agent-') && f.endsWith('.json'))
79
+ .map(f => ({ name: f, mtime: fs.statSync(path.join(todosDir, f)).mtime }))
80
+ .sort((a, b) => b.mtime - a.mtime);
81
+
82
+ if (files.length > 0) {
83
+ try {
84
+ const todos = JSON.parse(fs.readFileSync(path.join(todosDir, files[0].name), 'utf8'));
85
+ const inProgress = todos.find(t => t.status === 'in_progress');
86
+ if (inProgress) task = inProgress.activeForm || '';
87
+ } catch (e) {}
88
+ }
89
+ } catch (e) {
90
+ // Silently fail on file system errors - don't break statusline
91
+ }
92
+ }
93
+
94
+ // MindForge update available?
95
+ let mindforgeUpdate = '';
96
+ const cacheFile = path.join(claudeDir, 'cache', 'mindforge-update-check.json');
97
+ if (fs.existsSync(cacheFile)) {
98
+ try {
99
+ const cache = JSON.parse(fs.readFileSync(cacheFile, 'utf8'));
100
+ if (cache.update_available) {
101
+ mindforgeUpdate = '\x1b[33m⬆ /mindforge:update\x1b[0m │ ';
102
+ }
103
+ if (cache.stale_hooks && cache.stale_hooks.length > 0) {
104
+ mindforgeUpdate += '\x1b[31m⚠ stale hooks — run /mindforge:update\x1b[0m │ ';
105
+ }
106
+ } catch (e) {}
107
+ }
108
+
109
+ // Output
110
+ const dirname = path.basename(dir);
111
+ if (task) {
112
+ process.stdout.write(`${mindforgeUpdate}\x1b[2m${model}\x1b[0m │ \x1b[1m${task}\x1b[0m │ \x1b[2m${dirname}\x1b[0m${ctx}`);
113
+ } else {
114
+ process.stdout.write(`${mindforgeUpdate}\x1b[2m${model}\x1b[0m │ \x1b[2m${dirname}\x1b[0m${ctx}`);
115
+ }
116
+ } catch (e) {
117
+ // Silent fail - don't break statusline on parse errors
118
+ }
119
+ });
@@ -0,0 +1,94 @@
1
+ #!/usr/bin/env node
2
+ // mindforge-hook-version: 1.28.0
3
+ // MindForge Workflow Guard — PreToolUse hook
4
+ // Detects when Claude attempts file edits outside a MindForge workflow context
5
+ // (no active /mindforge: command or Task subagent) and injects an advisory warning.
6
+ //
7
+ // This is a SOFT guard — it advises, not blocks. The edit still proceeds.
8
+ // The warning nudges Claude to use /mindforge:quick or /mindforge:fast instead of
9
+ // making direct edits that bypass state tracking.
10
+ //
11
+ // Enable via config: hooks.workflow_guard: true (default: false)
12
+ // Only triggers on Write/Edit tool calls to non-.planning/ files.
13
+
14
+ const fs = require('fs');
15
+ const path = require('path');
16
+
17
+ let input = '';
18
+ const stdinTimeout = setTimeout(() => process.exit(0), 3000);
19
+ process.stdin.setEncoding('utf8');
20
+ process.stdin.on('data', chunk => input += chunk);
21
+ process.stdin.on('end', () => {
22
+ clearTimeout(stdinTimeout);
23
+ try {
24
+ const data = JSON.parse(input);
25
+ const toolName = data.tool_name;
26
+
27
+ // Only guard Write and Edit tool calls
28
+ if (toolName !== 'Write' && toolName !== 'Edit') {
29
+ process.exit(0);
30
+ }
31
+
32
+ // Check if we're inside a MindForge workflow (Task subagent or /mindforge: command)
33
+ // Subagents have a session_id that differs from the parent
34
+ // and typically have a description field set by the orchestrator
35
+ if (data.tool_input?.is_subagent || data.session_type === 'task') {
36
+ process.exit(0);
37
+ }
38
+
39
+ // Check the file being edited
40
+ const filePath = data.tool_input?.file_path || data.tool_input?.path || '';
41
+
42
+ // Allow edits to .planning/ files (MindForge state management)
43
+ if (filePath.includes('.planning/') || filePath.includes('.planning\\')) {
44
+ process.exit(0);
45
+ }
46
+
47
+ // Allow edits to common config/docs files that don't need MindForge tracking
48
+ const allowedPatterns = [
49
+ /\.gitignore$/,
50
+ /\.env/,
51
+ /CLAUDE\.md$/,
52
+ /AGENTS\.md$/,
53
+ /GEMINI\.md$/,
54
+ /settings\.json$/,
55
+ ];
56
+ if (allowedPatterns.some(p => p.test(filePath))) {
57
+ process.exit(0);
58
+ }
59
+
60
+ // Check if workflow guard is enabled
61
+ const cwd = data.cwd || process.cwd();
62
+ const configPath = path.join(cwd, '.planning', 'config.json');
63
+ if (fs.existsSync(configPath)) {
64
+ try {
65
+ const config = JSON.parse(fs.readFileSync(configPath, 'utf8'));
66
+ if (!config.hooks?.workflow_guard) {
67
+ process.exit(0); // Guard disabled (default)
68
+ }
69
+ } catch (e) {
70
+ process.exit(0);
71
+ }
72
+ } else {
73
+ process.exit(0); // No MindForge project — don't guard
74
+ }
75
+
76
+ // If we get here: MindForge project, guard enabled, file edit outside .planning/,
77
+ // not in a subagent context. Inject advisory warning.
78
+ const output = {
79
+ hookSpecificOutput: {
80
+ hookEventName: "PreToolUse",
81
+ additionalContext: `⚠️ WORKFLOW ADVISORY: You're editing ${path.basename(filePath)} directly without a MindForge command. ` +
82
+ 'This edit will not be tracked in STATE.md or produce a SUMMARY.md. ' +
83
+ 'Consider using /mindforge:fast for trivial fixes or /mindforge:quick for larger changes ' +
84
+ 'to maintain project state tracking. ' +
85
+ 'If this is intentional (e.g., user explicitly asked for a direct edit), proceed normally.'
86
+ }
87
+ };
88
+
89
+ process.stdout.write(JSON.stringify(output));
90
+ } catch (e) {
91
+ // Silent fail — never block tool execution
92
+ process.exit(0);
93
+ }
94
+ });
@@ -0,0 +1,32 @@
1
+ ---
2
+ name: mindforge:add-backlog
3
+ description: Capture ideas in a "parking lot" to keep them out of the active phase sequence
4
+ argument-hint: <description>
5
+ allowed-tools:
6
+ - view_file
7
+ - write_to_file
8
+ - replace_file_content
9
+ - multi_replace_file_content
10
+ ---
11
+
12
+ <objective>
13
+ Capture an idea, task, or feature request in a "parking lot" section of the ROADMAP.md to prevent it from cluttering the active development phases.
14
+ </objective>
15
+
16
+ <execution_context>
17
+ .claude/commands/mindforge/add-backlog.md
18
+ </execution_context>
19
+
20
+ <context>
21
+ Arguments: $ARGUMENTS (The description of the backlog item)
22
+ Target File: ROADMAP.md
23
+ State: Uses 999.x numbering scheme for backlog items.
24
+ </context>
25
+
26
+ <process>
27
+ 1. **Read ROADMAP.md**: Locate the `## Backlog` or `## Future Milestones` section.
28
+ 2. **Initialize if missing**: If no backlog section exists, create `## Backlog` at the end of the file.
29
+ 3. **Determine numbering**: Find the last `999.x` item. If none, start with `999.1`.
30
+ 4. **Append item**: Add the new backlog item with the determined number and the provided description.
31
+ 5. **Confirm**: Notify the user that the item has been parked in the backlog.
32
+ </process>
@@ -0,0 +1,31 @@
1
+ ---
2
+ name: mindforge:agent
3
+ description: Spawn or invoke a specialized enterprise persona from the MindForge library
4
+ argument-hint: "[persona-name] [prompt]"
5
+ allowed-tools:
6
+ - list_dir
7
+ - view_file
8
+ ---
9
+
10
+ <objective>
11
+ Provide an on-demand mechanism to "spawn" any of the 13+ standardized MindForge personas. This allows the user to switch the AI assistant's context, role, and process to a specific specialized mode (e.g., Roadmapper, Security Reviewer, Analyst).
12
+ </objective>
13
+
14
+ <execution_context>
15
+ .claude/commands/mindforge/agent.md
16
+ </execution_context>
17
+
18
+ <context>
19
+ Personas Directory: `.mindforge/personas/`
20
+ State: Loads the persona's XML-tagged structure into the active system context.
21
+ </context>
22
+
23
+ <process>
24
+ 1. **List Personas**: If no arguments are provided, list all available `.md` files in `.mindforge/personas/` with their name and description (parsed from YAML).
25
+ 2. **Load Persona**: If a name is provided:
26
+ - Locate `.mindforge/personas/[name].md`.
27
+ - Read the file content.
28
+ - Present the persona's role and success criteria to the user.
29
+ 3. **Switch Mode**: Instruct the AI (through the current session context) to adopt the role, philosophy, and process defined in the loaded file.
30
+ 4. **Initial Task**: If a prompt is provided as the second argument, immediately execute that prompt using the newly adopted persona.
31
+ </process>
@@ -58,7 +58,7 @@ Do not batch questions (unless `--batch` flag is provided).
58
58
  5. "Data retention requirements? When can records be deleted?"
59
59
 
60
60
  ### Integration phases — ask about:
61
- 1. "Have you already chosen the third-party service / API? If so, which?"
61
+ 1. "Have you already chosen the third-party service / API? If so, which? (I will query Context7 for current docs if available)"
62
62
  2. "What should happen if the third-party service is down? Queue / fail / fallback?"
63
63
  3. "Webhooks or polling for receiving updates?"
64
64
  4. "Any rate limits you know about on their end?"
@@ -0,0 +1,31 @@
1
+ ---
2
+ name: mindforge:do
3
+ description: Smart natural language dispatcher to route intent to the right MindForge command
4
+ argument-hint: <text>
5
+ allowed-tools:
6
+ - list_dir
7
+ - view_file
8
+ ---
9
+
10
+ <objective>
11
+ Provide a high-level, natural language interface for users to interact with MindForge without needing to remember specific command names. Routes user intent to the most appropriate internal command.
12
+ </objective>
13
+
14
+ <execution_context>
15
+ .claude/commands/mindforge/do.md
16
+ </execution_context>
17
+
18
+ <context>
19
+ Arguments: $ARGUMENTS (The user's intent in plain English)
20
+ Knowledge: Must be aware of all available `.claude/commands/mindforge/*.md` definitions.
21
+ </context>
22
+
23
+ <process>
24
+ 1. **Analyze input**: Parse the user's natural language request.
25
+ 2. **Match command**: Compare the intent against the descriptions and objectives of all known MindForge commands.
26
+ 3. **Execute match**:
27
+ - If a clear match is found, immediately pivot to that command's logic.
28
+ - If multiple matches are possible, ask the user for clarification.
29
+ - If no match is found, suggest the most relevant command or offer `/mindforge:help`.
30
+ 4. **Learn (Optional)**: If the user confirms a routing was correct, record the mapping for future intent resolution.
31
+ </process>
@@ -20,4 +20,4 @@ If `.planning/PROJECT.md` is missing, treat the project as "Not initialised".
20
20
  "Next step: [read STATE.md next action]"
21
21
 
22
22
  5. If CLAUDE.md has not been read this session, remind the user to ensure
23
- it is loaded as the agent's system context.
23
+ it is loaded as MindForge's system context.
@@ -37,10 +37,11 @@ load automatically whenever relevant work begins.
37
37
  ### Learn from npm package docs
38
38
  ```
39
39
  /mindforge:learn npm:zod
40
+ /mindforge:learn context7:zod
40
41
  /mindforge:learn npm:drizzle-orm
41
- /mindforge:learn npm:@tanstack/react-query
42
+ /mindforge:learn context7:drizzle-orm
42
43
  ```
43
- → Fetches README from npm registry
44
+ → Fetches README from npm registry or real-time docs from Context7
44
45
  → Extracts patterns from the package documentation
45
46
 
46
47
  ### Learn from current session
@@ -0,0 +1,35 @@
1
+ ---
2
+ name: mindforge:note
3
+ description: Capture an idea, task, or issue that surfaces during a session as a quick note for later
4
+ argument-hint: <text> [list|promote N]
5
+ allowed-tools:
6
+ - list_dir
7
+ - view_file
8
+ - write_to_file
9
+ - multi_replace_file_content
10
+ ---
11
+
12
+ <objective>
13
+ Provide a zero-friction way to capture ephemeral thoughts, bugs, or todos during an active session without interrupting the current flow, with the ability to later promote them to official tasks.
14
+ </objective>
15
+
16
+ <execution_context>
17
+ .claude/commands/mindforge/note.md
18
+ </execution_context>
19
+
20
+ <context>
21
+ Arguments: $ARGUMENTS (The note text or subcommand like `list` or `promote`)
22
+ Storage: .planning/notes/
23
+ Target for Promotion: ROADMAP.md or STATE.md
24
+ </context>
25
+
26
+ <process>
27
+ 1. **Route Subcommand**:
28
+ - If `list`: Read all files in `.planning/notes/` and present them.
29
+ - If `promote <N>`: Read note N, add it to current phase/milestone in STATE.md or ROADMAP.md, then move the note to `.planning/notes/archived/`.
30
+ - Else (default): Capture the text.
31
+ 2. **Capture Flow**:
32
+ - Ensure `.planning/notes/` directory.
33
+ - Create a file `note_[timestamp].md` with the content.
34
+ 3. **Confirm**: Quick confirmation of capture or promotion result.
35
+ </process>
@@ -0,0 +1,31 @@
1
+ ---
2
+ name: mindforge:plant-seed
3
+ description: Capture speculative ideas with triggers that surface automatically when relevant
4
+ argument-hint: <idea>
5
+ allowed-tools:
6
+ - list_dir
7
+ - write_to_file
8
+ - view_file
9
+ ---
10
+
11
+ <objective>
12
+ Capture speculative or long-term ideas (seeds) and store them in a way that they can be automatically resurfaced when a relevant future milestone or phase is started.
13
+ </objective>
14
+
15
+ <execution_context>
16
+ .claude/commands/mindforge/plant-seed.md
17
+ </execution_context>
18
+
19
+ <context>
20
+ Arguments: $ARGUMENTS (The speculative idea)
21
+ Storage: .planning/seeds/
22
+ Trigger mechanism: Files in this directory are checked during `init-project` or `milestone` creation.
23
+ </context>
24
+
25
+ <process>
26
+ 1. **Ensure storage**: Verify `.planning/seeds/` exists; create if not.
27
+ 2. **Generate filename**: Create a slugified filename based on the idea or a timestamp.
28
+ 3. **Write seed**: Create a markdown file with the idea, any inferred triggers (tags/keywords), and the current timestamp.
29
+ 4. **Link to system**: Add a note to the master seed index if one exists.
30
+ 5. **Confirm**: Let the user know the seed has been planted and what might trigger its resurrection.
31
+ </process>
@@ -3,9 +3,10 @@
3
3
 
4
4
  ## Purpose
5
5
  Deep research using Gemini 1.5 Pro's 1-million-token context window.
6
- Incorporate local code context and remote documentation simultaneously.
6
+ Uses **Context7 MCP** as the primary engine for real-time documentation and code example retrieval.
7
7
 
8
8
  ## Capabilities
9
- - Ingest full library documentation.
9
+ - Ingest full library documentation via Context7.
10
10
  - Codebase-wide architectural analysis.
11
11
  - Regulatory compliance audits.
12
+ - Real-time resolution of version-specific API contracts.
@@ -0,0 +1,34 @@
1
+ ---
2
+ name: mindforge:review-backlog
3
+ description: Review and promote backlog items to the active phase sequence
4
+ argument-hint: [optional filters]
5
+ allowed-tools:
6
+ - view_file
7
+ - write_to_file
8
+ - replace_file_content
9
+ - multi_replace_file_content
10
+ ---
11
+
12
+ <objective>
13
+ Review items currently parked in the ROADMAP.md backlog and facilitate their promotion to the active development plan.
14
+ </objective>
15
+
16
+ <execution_context>
17
+ .claude/commands/mindforge/review-backlog.md
18
+ </execution_context>
19
+
20
+ <context>
21
+ Target File: ROADMAP.md, STATE.md
22
+ State: Resolves the next available phase number from STATE.md for promotion.
23
+ </context>
24
+
25
+ <process>
26
+ 1. **Read ROADMAP.md**: Extract all items under the `## Backlog` section (999.x).
27
+ 2. **Present to User**: List the backlog items and ask which one(s) should be promoted.
28
+ 3. **Determine Promotion Slot**: Read STATE.md to find the next sequential phase number.
29
+ 4. **Promote Item**:
30
+ - Move the item from the backlog to the active milestone list.
31
+ - Renumber the item to the next available phase number.
32
+ 5. **Update STATE.md**: Add the new phase to STATE.md in `unplanned` or `planned` status as appropriate.
33
+ 6. **Confirm**: Summarize the promotion to the user.
34
+ </process>
@@ -0,0 +1,39 @@
1
+ ---
2
+ name: mindforge:session-report
3
+ description: Generate a post-session summary document capturing work performed and resource usage
4
+ argument-hint: none
5
+ allowed-tools:
6
+ - run_command
7
+ - view_file
8
+ - write_to_file
9
+ - list_dir
10
+ ---
11
+
12
+ <objective>
13
+ Generate a comprehensive summary of an active coding session, providing a clear trail of work for stakeholders and a diagnostic record of resource usage (tokens, time, etc.).
14
+ </objective>
15
+
16
+ <execution_context>
17
+ .claude/commands/mindforge/session-report.md
18
+ </execution_context>
19
+
20
+ <context>
21
+ Storage: .planning/reports/
22
+ Data sources: Git logs, terminal history, `STATE.md`, and session memory.
23
+ </context>
24
+
25
+ <process>
26
+ 1. **Gather Data**:
27
+ - Get recent git commits and diff summaries.
28
+ - Read the current `STATE.md` for phase/plan status updates.
29
+ - Extract key decisions or findings from the session.
30
+ 2. **Profile Resources**:
31
+ - Estimate token usage if possible.
32
+ - Calculate session duration.
33
+ 3. **Draft Report**: Create `SESSION_REPORT_[timestamp].md` containing:
34
+ - Summary of Work Performed
35
+ - Outcomes achieved (Plans "completed")
36
+ - Key Decisions
37
+ - Resource Usage Profile
38
+ 4. **Confirm**: Notify the user and provide a link to the report.
39
+ </process>
@@ -1,7 +1,7 @@
1
1
  # /mindforge:steer "[instruction]"
2
2
 
3
3
  **Purpose**: Injects mid-execution guidance into the running autonomous engine.
4
- Steering guidance is applied at the next task boundary to course-correct the agent.
4
+ Steering guidance is applied at the next task boundary to course-correct MindForge.
5
5
 
6
6
  ## Usage
7
7
  - `/mindforge:steer "Use the new logger in all created files"`
@@ -0,0 +1,34 @@
1
+ ---
2
+ name: mindforge:ui-phase
3
+ description: Generate a UI Design Contract (UI-SPEC.md) for the current phase
4
+ argument-hint: [N]
5
+ allowed-tools:
6
+ - view_file
7
+ - write_to_file
8
+ - list_dir
9
+ ---
10
+
11
+ <objective>
12
+ Generate a detailed UI design contract (UI-SPEC.md) for a frontend development phase to ensure consistent spacing, typography, color palettes, and accessibility standards before implementation.
13
+ </objective>
14
+
15
+ <execution_context>
16
+ .claude/commands/mindforge/ui-phase.md
17
+ </execution_context>
18
+
19
+ <context>
20
+ Arguments: $ARGUMENTS (The phase number [N], optional)
21
+ Configuration: MINDFORGE.md `UI_PHASE_ACCESSIBILITY_STANDARD`
22
+ State: Resolves the phase from STATE.md if N is not provided.
23
+ </context>
24
+
25
+ <process>
26
+ 1. **Identify Phase**: Get the current or targeted phase number.
27
+ 2. **Read Inputs**: Read `REQUIREMENTS.md` and `DESIGN_SYSTEM.md`.
28
+ 3. **Generate UI-SPEC.md**:
29
+ - Define component-level spacing and layout for the phase.
30
+ - Specify required colors and typography from the design system.
31
+ - List accessibility requirements (WCAG level).
32
+ 4. **Finalize**: Write `UI-SPEC.md` to the phase's planning directory or the root `.planning/`.
33
+ 5. **Confirm**: Provide a link to the user for review.
34
+ </process>
@@ -0,0 +1,36 @@
1
+ ---
2
+ name: mindforge:ui-review
3
+ description: Perform a retroactive visual audit of implemented UI against the DESIGN_SYSTEM.md and UI-SPEC.md
4
+ argument-hint: [N]
5
+ allowed-tools:
6
+ - view_file
7
+ - write_to_file
8
+ - read_browser_page
9
+ - open_browser_url
10
+ ---
11
+
12
+ <objective>
13
+ Perform a retroactive, multi-pillar visual audit of implemented UI features against the defined Design System and UI-SPEC.md to ensure pixel-perfect fidelity and accessibility compliance.
14
+ </objective>
15
+
16
+ <execution_context>
17
+ .claude/commands/mindforge/ui-review.md
18
+ </execution_context>
19
+
20
+ <context>
21
+ Arguments: $ARGUMENTS (The phase number [N], optional)
22
+ Sources: `DESIGN_SYSTEM.md`, `UI-SPEC.md`, and the live application UI.
23
+ </context>
24
+
25
+ <process>
26
+ 1. **Identify Target**: Determine the phase to review.
27
+ 2. **Audit Application**:
28
+ - Use the browser tool to inspect the implemented features.
29
+ - Compare against the `UI-SPEC.md` for spacing, colors, and layout.
30
+ - Audit for accessibility (ARIA labels, contrast, keyboard navigation).
31
+ 3. **Generate UI-REVIEW.md**:
32
+ - Grade each pillar (Layout, Color, Typography, etc.).
33
+ - List specific "Needs Work" items.
34
+ - Provide "Approved" status if all criteria are met.
35
+ 4. **Finalize**: Notify the user of the audit results.
36
+ </process>
@@ -0,0 +1,31 @@
1
+ ---
2
+ name: mindforge:validate-phase
3
+ description: Audit the current phase for requirement coverage and test gaps
4
+ argument-hint: [N]
5
+ allowed-tools:
6
+ - view_file
7
+ - list_dir
8
+ ---
9
+
10
+ <objective>
11
+ Audit a completed project phase to ensure every requirement has been addressed and that corresponding automated tests have been implemented and are passing.
12
+ </objective>
13
+
14
+ <execution_context>
15
+ .claude/commands/mindforge/validate-phase.md
16
+ </execution_context>
17
+
18
+ <context>
19
+ Arguments: $ARGUMENTS (The phase number [N], optional)
20
+ Knowledge: `STATE.md`, `REQUIREMENTS.md`, and the codebase test suite.
21
+ </context>
22
+
23
+ <process>
24
+ 1. **Identify Phase**: Resolve the targeted phase.
25
+ 2. **Cross-reference**:
26
+ - List all requirements in `REQUIREMENTS.md` marked for this phase.
27
+ - Verify implementation of each requirement in the code.
28
+ - Check for the existence of passing tests for each requirement.
29
+ 3. **Analyze Gaps**: Identify any "orphaned" requirements or features missing tests.
30
+ 4. **Report Findings**: Summarize coverage and call out specific gaps to the user.
31
+ </process>
@@ -0,0 +1,35 @@
1
+ ---
2
+ name: mindforge:workstreams
3
+ description: Manage parallel feature tracks with isolated state
4
+ argument-hint: [list|create|switch|status|complete]
5
+ allowed-tools:
6
+ - list_dir
7
+ - view_file
8
+ - write_to_file
9
+ - run_command
10
+ ---
11
+
12
+ <objective>
13
+ Enable developers to work on multiple features or bugs concurrently within the same codebase without state collision. Provides isolated tracking for each "workstream".
14
+ </objective>
15
+
16
+ <execution_context>
17
+ .claude/commands/mindforge/workstreams.md
18
+ </execution_context>
19
+
20
+ <context>
21
+ Arguments: $ARGUMENTS (Switch subcommand)
22
+ Storage: .planning/workstreams/
23
+ State: Each workstream maintains its own subset of `STATE.md` or a local context file.
24
+ </context>
25
+
26
+ <process>
27
+ 1. **Route Subcommand**:
28
+ - `list`: Show all active and archived workstreams in `.planning/workstreams/`.
29
+ - `create <name>`: Initialize a new workstream directory and baseline state.
30
+ - `switch <name>`: Update the global pointer in `STATE.md` to the targeted workstream.
31
+ - `status`: Show the current active workstream and its progress.
32
+ 2. **Manage Isolation**:
33
+ - When switching, ensure current work is saved or stashed if necessary.
34
+ 3. **Confirm**: Success/Failure status message to user.
35
+ </process>