mindforge-cc 2.2.0 → 2.3.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 (226) hide show
  1. package/.agent/CLAUDE.md +14 -0
  2. package/.agent/forge/help.md +4 -0
  3. package/.agent/forge/init-project.md +4 -0
  4. package/.agent/forge/plan-phase.md +4 -0
  5. package/.agent/mindforge/approve.md +4 -0
  6. package/.agent/mindforge/audit.md +4 -0
  7. package/.agent/mindforge/auto.md +4 -0
  8. package/.agent/mindforge/benchmark.md +4 -0
  9. package/.agent/mindforge/browse.md +4 -0
  10. package/.agent/mindforge/complete-milestone.md +4 -0
  11. package/.agent/mindforge/costs.md +4 -0
  12. package/.agent/mindforge/cross-review.md +4 -0
  13. package/.agent/mindforge/dashboard.md +4 -0
  14. package/.agent/mindforge/debug.md +4 -0
  15. package/.agent/mindforge/discuss-phase.md +4 -0
  16. package/.agent/mindforge/execute-phase.md +4 -0
  17. package/.agent/mindforge/health.md +4 -0
  18. package/.agent/mindforge/help.md +4 -0
  19. package/.agent/mindforge/init-org.md +4 -0
  20. package/.agent/mindforge/init-project.md +4 -0
  21. package/.agent/mindforge/install-skill.md +4 -0
  22. package/.agent/mindforge/learn.md +4 -0
  23. package/.agent/mindforge/map-codebase.md +4 -0
  24. package/.agent/mindforge/marketplace.md +4 -0
  25. package/.agent/mindforge/metrics.md +4 -0
  26. package/.agent/mindforge/migrate.md +4 -0
  27. package/.agent/mindforge/milestone.md +4 -0
  28. package/.agent/mindforge/new-runtime.md +4 -0
  29. package/.agent/mindforge/next.md +4 -0
  30. package/.agent/mindforge/plan-phase.md +4 -0
  31. package/.agent/mindforge/plugins.md +4 -0
  32. package/.agent/mindforge/pr-review.md +4 -0
  33. package/.agent/mindforge/profile-team.md +4 -0
  34. package/.agent/mindforge/publish-skill.md +4 -0
  35. package/.agent/mindforge/qa.md +4 -0
  36. package/.agent/mindforge/quick.md +4 -0
  37. package/.agent/mindforge/release.md +4 -0
  38. package/.agent/mindforge/remember.md +4 -0
  39. package/.agent/mindforge/research.md +4 -0
  40. package/.agent/mindforge/retrospective.md +4 -0
  41. package/.agent/mindforge/review.md +4 -0
  42. package/.agent/mindforge/security-scan.md +4 -0
  43. package/.agent/mindforge/ship.md +4 -0
  44. package/.agent/mindforge/skills.md +4 -0
  45. package/.agent/mindforge/status.md +4 -0
  46. package/.agent/mindforge/steer.md +4 -0
  47. package/.agent/mindforge/sync-confluence.md +4 -0
  48. package/.agent/mindforge/sync-jira.md +4 -0
  49. package/.agent/mindforge/tokens.md +4 -0
  50. package/.agent/mindforge/update.md +4 -0
  51. package/.agent/mindforge/verify-phase.md +4 -0
  52. package/.agent/mindforge/workspace.md +4 -0
  53. package/.agent/workflows/forge:help.md +10 -0
  54. package/.agent/workflows/forge:init-project.md +35 -0
  55. package/.agent/workflows/forge:plan-phase.md +33 -0
  56. package/.agent/workflows/mindforge:add-backlog.md +24 -0
  57. package/.agent/workflows/mindforge:agent.md +25 -0
  58. package/.agent/workflows/mindforge:approve.md +21 -0
  59. package/.agent/workflows/mindforge:audit.md +33 -0
  60. package/.agent/workflows/mindforge:auto.md +25 -0
  61. package/.agent/workflows/mindforge:benchmark.md +36 -0
  62. package/.agent/workflows/mindforge:browse.md +29 -0
  63. package/.agent/workflows/mindforge:complete-milestone.md +21 -0
  64. package/.agent/workflows/mindforge:costs.md +14 -0
  65. package/.agent/workflows/mindforge:cross-review.md +20 -0
  66. package/.agent/workflows/mindforge:dashboard.md +101 -0
  67. package/.agent/workflows/mindforge:debug.md +129 -0
  68. package/.agent/workflows/mindforge:discuss-phase.md +141 -0
  69. package/.agent/workflows/mindforge:do.md +25 -0
  70. package/.agent/workflows/mindforge:execute-phase.md +193 -0
  71. package/.agent/workflows/mindforge:health.md +24 -0
  72. package/.agent/workflows/mindforge:help.md +26 -0
  73. package/.agent/workflows/mindforge:init-org.md +134 -0
  74. package/.agent/workflows/mindforge:init-project.md +169 -0
  75. package/.agent/workflows/mindforge:install-skill.md +27 -0
  76. package/.agent/workflows/mindforge:learn.md +146 -0
  77. package/.agent/workflows/mindforge:map-codebase.md +301 -0
  78. package/.agent/workflows/mindforge:marketplace.md +123 -0
  79. package/.agent/workflows/mindforge:metrics.md +25 -0
  80. package/.agent/workflows/mindforge:migrate.md +43 -0
  81. package/.agent/workflows/mindforge:milestone.md +15 -0
  82. package/.agent/workflows/mindforge:new-runtime.md +22 -0
  83. package/.agent/workflows/mindforge:next.md +108 -0
  84. package/.agent/workflows/mindforge:note.md +27 -0
  85. package/.agent/workflows/mindforge:plan-phase.md +128 -0
  86. package/.agent/workflows/mindforge:plant-seed.md +24 -0
  87. package/.agent/workflows/mindforge:plugins.md +43 -0
  88. package/.agent/workflows/mindforge:pr-review.md +44 -0
  89. package/.agent/workflows/mindforge:profile-team.md +26 -0
  90. package/.agent/workflows/mindforge:publish-skill.md +22 -0
  91. package/.agent/workflows/mindforge:qa.md +19 -0
  92. package/.agent/workflows/mindforge:quick.md +138 -0
  93. package/.agent/workflows/mindforge:release.md +13 -0
  94. package/.agent/workflows/mindforge:remember.md +29 -0
  95. package/.agent/workflows/mindforge:research.md +15 -0
  96. package/.agent/workflows/mindforge:retrospective.md +29 -0
  97. package/.agent/workflows/mindforge:review-backlog.md +26 -0
  98. package/.agent/workflows/mindforge:review.md +160 -0
  99. package/.agent/workflows/mindforge:security-scan.md +236 -0
  100. package/.agent/workflows/mindforge:session-report.md +31 -0
  101. package/.agent/workflows/mindforge:ship.md +103 -0
  102. package/.agent/workflows/mindforge:skills.md +144 -0
  103. package/.agent/workflows/mindforge:status.md +107 -0
  104. package/.agent/workflows/mindforge:steer.md +16 -0
  105. package/.agent/workflows/mindforge:sync-confluence.md +14 -0
  106. package/.agent/workflows/mindforge:sync-jira.md +15 -0
  107. package/.agent/workflows/mindforge:tokens.md +11 -0
  108. package/.agent/workflows/mindforge:ui-phase.md +27 -0
  109. package/.agent/workflows/mindforge:ui-review.md +28 -0
  110. package/.agent/workflows/mindforge:update.md +45 -0
  111. package/.agent/workflows/mindforge:validate-phase.md +25 -0
  112. package/.agent/workflows/mindforge:verify-phase.md +65 -0
  113. package/.agent/workflows/mindforge:workspace.md +32 -0
  114. package/.agent/workflows/mindforge:workstreams.md +27 -0
  115. package/.claude/CLAUDE.md +14 -0
  116. package/.mindforge/memory/knowledge-base.jsonl +11 -0
  117. package/.mindforge/memory/pattern-library.jsonl +2 -0
  118. package/.mindforge/memory/team-preferences.jsonl +5 -0
  119. package/.planning/AUDIT.jsonl +1 -1
  120. package/.planning/HANDOFF.json +6 -26
  121. package/.planning/ROADMAP.md +3 -1
  122. package/.planning/jira-sync.json +3 -7
  123. package/.planning/phases/.gitkeep +0 -0
  124. package/.planning/research/.gitkeep +0 -0
  125. package/.planning/screenshots/.gitkeep +0 -0
  126. package/.planning/slack-threads.json +1 -4
  127. package/CHANGELOG.md +69 -9
  128. package/README.md +1 -1
  129. package/RELEASENOTES.md +1 -1
  130. package/bin/installer-core.js +204 -63
  131. package/bin/wizard/theme.js +4 -2
  132. package/package.json +1 -1
  133. package/.planning/approvals/v2-architecture-approval.json +0 -15
  134. package/.planning/decisions/ADR-001-handoff-tracking.md +0 -41
  135. package/.planning/decisions/ADR-002-markdown-commands.md +0 -46
  136. package/.planning/decisions/ADR-003-skills-trigger-model.md +0 -37
  137. package/.planning/decisions/ADR-004-wave-parallelism-model.md +0 -45
  138. package/.planning/decisions/ADR-005-append-only-audit-log.md +0 -51
  139. package/.planning/decisions/ADR-006-tiered-skills-system.md +0 -22
  140. package/.planning/decisions/ADR-007-trigger-keyword-model.md +0 -22
  141. package/.planning/decisions/ADR-008-just-in-time-skill-loading.md +0 -29
  142. package/.planning/decisions/ADR-009-enterprise-integration-retry-policy.md +0 -8
  143. package/.planning/decisions/ADR-010-governance-tier-escalation.md +0 -8
  144. package/.planning/decisions/ADR-011-multi-developer-handoff-contract.md +0 -8
  145. package/.planning/decisions/ADR-012-intelligence-feedback-loops.md +0 -19
  146. package/.planning/decisions/ADR-013-mindforge-md-constitution.md +0 -16
  147. package/.planning/decisions/ADR-014-metrics-as-signals-not-evaluation.md +0 -15
  148. package/.planning/decisions/ADR-015-npm-based-skill-registry.md +0 -26
  149. package/.planning/decisions/ADR-016-ci-exit-code-0-on-timeout.md +0 -27
  150. package/.planning/decisions/ADR-017-sdk-localhost-only.md +0 -28
  151. package/.planning/decisions/ADR-018-installer-self-install-detection.md +0 -15
  152. package/.planning/decisions/ADR-019-self-update-scope-preservation.md +0 -14
  153. package/.planning/decisions/ADR-020-v1.0.0-stable-interface-contract.md +0 -23
  154. package/.planning/decisions/ADR-021-autonomy-boundary.md +0 -17
  155. package/.planning/decisions/ADR-022-node-repair-hierarchy.md +0 -19
  156. package/.planning/decisions/ADR-023-gate-3-timing.md +0 -15
  157. package/.planning/decisions/ADR-036-learn-command-docs-as-skill-source.md +0 -26
  158. package/.planning/decisions/ADR-037-auto-capture-frequency-threshold.md +0 -26
  159. package/.planning/decisions/ADR-038-skill-quality-minimum-60.md +0 -27
  160. package/.planning/phases/day1/REVIEW-DAY1.md +0 -50
  161. package/.planning/phases/day1/SECURITY-REVIEW-DAY1.md +0 -15
  162. package/.planning/phases/day2/REVIEW-DAY2.md +0 -521
  163. package/.planning/phases/day3/REVIEW-DAY3.md +0 -234
  164. /package/{.planning/phases/01-migrate-gsd-to-mindforge/.gitkeep → .mindforge/memory/decision-library.jsonl} +0 -0
  165. /package/docs/{Context → context}/Master-Context.md +0 -0
  166. /package/docs/{References → references}/audit-events.md +0 -0
  167. /package/docs/{References → references}/checkpoints.md +0 -0
  168. /package/docs/{References → references}/commands.md +0 -0
  169. /package/docs/{References → references}/config-reference.md +0 -0
  170. /package/docs/{References → references}/continuation-format.md +0 -0
  171. /package/docs/{References → references}/decimal-phase-calculation.md +0 -0
  172. /package/docs/{References → references}/git-integration.md +0 -0
  173. /package/docs/{References → references}/git-planning-commit.md +0 -0
  174. /package/docs/{References → references}/model-profile-resolution.md +0 -0
  175. /package/docs/{References → references}/model-profiles.md +0 -0
  176. /package/docs/{References → references}/phase-argument-parsing.md +0 -0
  177. /package/docs/{References → references}/planning-config.md +0 -0
  178. /package/docs/{References → references}/questioning.md +0 -0
  179. /package/docs/{References → references}/sdk-api.md +0 -0
  180. /package/docs/{References → references}/skills-api.md +0 -0
  181. /package/docs/{References → references}/tdd.md +0 -0
  182. /package/docs/{References → references}/ui-brand.md +0 -0
  183. /package/docs/{References → references}/user-profiling.md +0 -0
  184. /package/docs/{References → references}/verification-patterns.md +0 -0
  185. /package/docs/{References → references}/workstream-flag.md +0 -0
  186. /package/docs/{Templates → templates}/Agents/CLAUDE-MD.md +0 -0
  187. /package/docs/{Templates → templates}/Agents/COPILOT-INSTRUCTIONS.md +0 -0
  188. /package/docs/{Templates → templates}/Agents/DEBUGGER-PROMPT.md +0 -0
  189. /package/docs/{Templates → templates}/Agents/PLANNER-PROMPT.md +0 -0
  190. /package/docs/{Templates → templates}/Execution/CONTINUE-HERE.md +0 -0
  191. /package/docs/{Templates → templates}/Execution/DISCUSSION-LOG.md +0 -0
  192. /package/docs/{Templates → templates}/Execution/PHASE-PROMPT.md +0 -0
  193. /package/docs/{Templates → templates}/Execution/STATE.md +0 -0
  194. /package/docs/{Templates → templates}/Execution/SUMMARY-COMPLEX.md +0 -0
  195. /package/docs/{Templates → templates}/Execution/SUMMARY-MINIMAL.md +0 -0
  196. /package/docs/{Templates → templates}/Execution/SUMMARY-STANDARD.md +0 -0
  197. /package/docs/{Templates → templates}/Execution/SUMMARY.md +0 -0
  198. /package/docs/{Templates → templates}/Profile/DEV-PREFERENCES.md +0 -0
  199. /package/docs/{Templates → templates}/Profile/USER-PROFILE.md +0 -0
  200. /package/docs/{Templates → templates}/Profile/USER-SETUP.md +0 -0
  201. /package/docs/{Templates → templates}/Project/DISCOVERY.md +0 -0
  202. /package/docs/{Templates → templates}/Project/MILESTONE-ARCHIVE.md +0 -0
  203. /package/docs/{Templates → templates}/Project/MILESTONE.md +0 -0
  204. /package/docs/{Templates → templates}/Project/PROJECT.md +0 -0
  205. /package/docs/{Templates → templates}/Project/REQUIREMENTS.md +0 -0
  206. /package/docs/{Templates → templates}/Project/RETROSPECTIVE.md +0 -0
  207. /package/docs/{Templates → templates}/Project/ROADMAP.md +0 -0
  208. /package/docs/{Templates → templates}/Quality/DEBUG.md +0 -0
  209. /package/docs/{Templates → templates}/Quality/UAT.md +0 -0
  210. /package/docs/{Templates → templates}/Quality/UI-SPEC.md +0 -0
  211. /package/docs/{Templates → templates}/Quality/VALIDATION.md +0 -0
  212. /package/docs/{Templates → templates}/Quality/VERIFICATION-REPORT.md +0 -0
  213. /package/docs/{Templates → templates}/System/CONFIG.json +0 -0
  214. /package/docs/{Templates → templates}/System/CONTEXT.md +0 -0
  215. /package/docs/{Templates/Codebase → templates/codebase}/architecture.md +0 -0
  216. /package/docs/{Templates/Codebase → templates/codebase}/concerns.md +0 -0
  217. /package/docs/{Templates/Codebase → templates/codebase}/conventions.md +0 -0
  218. /package/docs/{Templates/Codebase → templates/codebase}/integrations.md +0 -0
  219. /package/docs/{Templates/Codebase → templates/codebase}/stack.md +0 -0
  220. /package/docs/{Templates/Codebase → templates/codebase}/structure.md +0 -0
  221. /package/docs/{Templates/Codebase → templates/codebase}/testing.md +0 -0
  222. /package/docs/{Templates/Research → templates/research}/ARCHITECTURE.md +0 -0
  223. /package/docs/{Templates/Research → templates/research}/FEATURES.md +0 -0
  224. /package/docs/{Templates/Research → templates/research}/PITFALLS.md +0 -0
  225. /package/docs/{Templates/Research → templates/research}/STACK.md +0 -0
  226. /package/docs/{Templates/Research → templates/research}/SUMMARY.md +0 -0
package/CHANGELOG.md CHANGED
@@ -1,27 +1,86 @@
1
1
  # Changelog
2
2
 
3
+ ## [2.3.5] — Intelligent Asset Sync & Merge — 2026-03-26
4
+
5
+ 🚀 **MindForge v2.3.5 — Intelligent Asset Sync & Merge**
6
+
7
+ This release transforms the installation engine from a static "skip if exists" model to an intelligent "Merge & Sync" system, ensuring all framework assets, documentation, and advanced modules are correctly deployed even into existing project environments.
8
+
9
+ ### Added (v2.3.5)
10
+
11
+ - **Intelligent Merging**: Refactored `copyDir` to support `noOverwrite` mode, allowing the installer to add missing subfolders and templates without disrupting user-customized files.
12
+ - **Advanced Module Sync**: Added explicit path mapping for `memory`, `plugins`, `intelligence`, and `dashboard` modules into the standard installation payload.
13
+ - **Expanded Asset Types**: Upgraded runtime definitions to include `memorySubdir` and `pluginsSubdir` for all supported IDE environments.
14
+
15
+ ### Fixed (v2.3.5)
16
+
17
+ - **Sync Gating**: Removed restrictive directory existence checks that caused the installer to skip entire asset categories if the parent folder already existed.
18
+ - **Documentation Parity**: Hardened the documentation sync logic to ensure `references/` and `templates/` always reach the `.agents/docs/` target.
19
+
20
+ ## [2.3.4] — Architectural Sync & Zero-GSD Purge — 2026-03-25
21
+
22
+ ### Added (v2.3.4)
23
+
24
+ - **Comprehensive Planning Sync**: Expanded `.planning` deployment to include `ROADMAP.md`, `ARCHITECTURE.md`, `REQUIREMENTS.md`, and `RELEASE-CHECKLIST.md` by default.
25
+ - **Zero-GSD Standard**: Completed the removal of all "GSD" instances from the installer logic and internal system identifiers.
26
+
27
+ ### Fixed (v2.3.4)
28
+
29
+ - **Documentation Payload**: Fixed a discrepancy in the path-mapping for documentation subdirectories (`references/`, `templates/`) ensuring they correctly sync into `.agents/docs/`.
30
+ - **Directory Persistence**: Ensured that empty planning subdirectories correctly persist with `.gitkeep` during fresh installations.
31
+
32
+ ## [2.3.3] — Payload Cleanup & Enterprise Pruning — 2026-03-25
33
+
34
+ 🚀 **MindForge v2.3.3 — Payload Cleanup & Enterprise Pruning**
35
+
36
+ This release strictly prunes the installation payload to remove legacy GSD artifacts, project-specific state, and development-only folders, ensuring a clean "out-of-the-box" enterprise experience.
37
+
38
+ ### Fixed (v2.3.3)
39
+
40
+ - **Installation Payload**: Removed legacy migration folders (`01-migrate-legacy-to-mindforge`, `day1`, `day2`, `day3`).
41
+ - **State Leakage**: Excluded project-specific state files (`AUDIT.jsonl`, `HANDOFF.json`, `jira-sync.json`, `slack-threads.json`) from distribution.
42
+ - **Enterprise Pruning**: Updated `installer-core.js` to automatically filter out development-only framework folders (e.g., `distribution`, `monorepo`, `production`).
43
+
44
+ ## [2.3.2] — Asset Sync Repair — 2026-03-25
45
+
46
+ 🚀 **MindForge v2.3.2 — Asset Sync Repair**
47
+
48
+ This release fixes documentation asset synchronization and repairs logic corruption in the installer core.
49
+
50
+ ### Added (v2.3.2)
51
+
52
+ - **Docs & Templates Sync**: Integrated `docs/references` and `docs/templates` into the standard installation payload.
53
+ - **Recursive Counting**: Implemented deep directory file counting for accurate manifest reporting.
54
+
55
+ ### Fixed (v2.3.2)
56
+
57
+ - **Installer Logic**: Repaired syntax corruption and removed duplicated code blocks in `installer-core.js`.
58
+
3
59
  ## [2.1.2] — Beast Mode Branding & CI Fix — 2026-03-25
4
60
 
5
61
  🚀 **MindForge v2.1.2 — Beast Mode Branding & CI Fix**
6
62
 
7
63
  This release transforms the MindForge installation experience with a high-impact "Beast Mode" CLI interface and resolves critical CI/CD integration issues.
8
64
 
9
- ### Added
65
+ ### Added (v2.1.2)
66
+
10
67
  - **Beast Mode CLI Branding**: New ultra-blocky ASCII "MINDFORGE" branding and high-contrast "Digital Architect" design system.
11
68
  - **Payload Manifest Summary**: Architectural summary screen displaying dynamic counts of deployed Personas, Skills, and Integrations.
12
69
  - **"TRY IT NOW" Utility**: Boxed terminal widget providing immediate post-install command guidance.
13
70
  - **Enhanced Status Reporting**: Unified architectural status grid for environment detection.
14
71
 
15
- ### Fixed
72
+ ### Fixed (v2.1.2)
73
+
16
74
  - **CI/CD Permissions**: Resolved `RequestError [HttpError]: GitHub Actions is not permitted to create or approve pull requests` by adding `contents: write` to `auto-pr.yml`.
17
75
 
18
76
  ## [2.1.1] — Core Migration Finalization — 2026-03-25
19
77
 
20
78
  🧩 **MindForge v2.1.1 — Core Migration Finalization**
21
79
 
22
- This release completes the structural rebranding and migration of the GSD framework into MindForge. It finalizes the path alignment for all 120+ assets, hardens the core configuration management, and fully integrates the expanded persona ecosystem.
80
+ This release completes the structural rebranding and migration of the MindForge framework into MindForge. It finalizes the path alignment for all 120+ assets, hardens the core configuration management, and fully integrates the expanded persona ecosystem.
81
+
82
+ ### Added (v2.1.1)
23
83
 
24
- ### Added
25
84
  - **Finalized Path Mapping**: All framework assets (skills, workflows, bin) now reside in a unified, flat `.agent/` structure for cross-IDE compatibility.
26
85
  - **32-Persona Ecosystem**: Full integration of 32 specialized engineering personas with defined tool permissions and capability matrices.
27
86
  - **Unified 4-Pillar Workflow**: Hardened `plan`, `execute`, `verify`, and `ship` logic with project-level `.agent/` integrity.
@@ -29,8 +88,9 @@ This release completes the structural rebranding and migration of the GSD framew
29
88
  - **Consolidated Configuration**: Unified framework settings and project-level governance in `.mindforge/` and `.agent/`.
30
89
  - **Rebranded Lifecycle Hooks**: 5 new high-performance hooks for context monitoring, prompt guarding, and real-time status updates.
31
90
 
32
- ### Changed
33
- - **Zero-Watermark Integrity**: 100% elimination of residual "GSD" and "get-shit-done" identifiers from codebase, documentation, and metadata.
91
+ ### Changed (v2.1.1)
92
+
93
+ - **Zero-Watermark Integrity**: 100% elimination of residual "MindForge" and "get-shit-done" identifiers from codebase, documentation, and metadata.
34
94
  - **Documentation Overhaul**: Modernized the entire documentation suite, including Architecture, Personas, Skills Authoring, and Command References.
35
95
  - **Hardened Settings**: `settings.json` now features dynamic hook pathing for increased portability across system environments.
36
96
 
@@ -38,7 +98,7 @@ This release completes the structural rebranding and migration of the GSD framew
38
98
 
39
99
  🧩 **MindForge v2.1.0 — The Specialized Expansion**
40
100
 
41
- This release significantly expands the MindForge persona ecosystem, integrating 18+ high-performance specialized agents from the GSD framework. This expansion doubles the framework's baseline capabilities in research, architecture, execution, and quality assurance.
101
+ This release significantly expands the MindForge persona ecosystem, integrating 18+ high-performance specialized agents from the MindForge framework. This expansion doubles the framework's baseline capabilities in research, architecture, execution, and quality assurance.
42
102
 
43
103
  ### Added
44
104
  - **18+ New Specialized Personas**: Integration of advanced agents including `nyquist-auditor`, `user-profiler`, `advisor-researcher`, `ui-auditor`, and more.
@@ -48,7 +108,7 @@ This release significantly expands the MindForge persona ecosystem, integrating
48
108
 
49
109
  ### Changed
50
110
  - **Documentation Overhaul**: Complete update of `PERSONAS.md` and `Master-Context.md` to reflect the expanded ecosystem.
51
- - **Branding Alignment**: All integrated GSD personas rebranded and fully sanitized for MindForge native use.
111
+ - **Branding Alignment**: All integrated MindForge personas rebranded and fully sanitized for MindForge native use.
52
112
 
53
113
  ---
54
114
 
@@ -65,7 +125,7 @@ This major release transforms MindForge from a Claude-centric framework into a u
65
125
  - **Unified Migration Engine (v2.0.0)**: Additive schema upgrades for `AUDIT.jsonl` (runtime/agent_id) and `token-usage.jsonl` (model_group).
66
126
  - **Hardened Self-Building Skills**: Automated skill capture from documentation and phase outputs.
67
127
  - **7-Dimension Quality Scorer**: Enhanced static analysis for skill authoring.
68
- - **GSD Integration**: 10 new advanced commands for design-first planning, zero-friction capture, and smart routing.
128
+ - **MindForge Integration**: 10 new advanced commands for design-first planning, zero-friction capture, and smart routing.
69
129
  - **`/mindforge:do`**: Smart natural language dispatcher that routes intent to the correct command.
70
130
  - **`/mindforge:ui-phase` & `/mindforge:ui-review`**: Tier-1 visual design contract and visual audit engine.
71
131
  - **`/mindforge:note`**: Instant idea capture with todo promotion.
package/README.md CHANGED
@@ -319,7 +319,7 @@ See `.mindforge/production/token-optimiser.md`.
319
319
 
320
320
  ## What's new in v2.1.1
321
321
  - **Unified 4-Pillar Workflow**: `plan`, `execute`, `verify`, `ship` now hardened with `.agent/` structural integrity.
322
- - **Expanded Persona Ecosystem**: 32+ specialized engineering personas integrated from the GSD core.
322
+ - **Expanded Persona Ecosystem**: 32+ specialized engineering personas integrated from the MindForge core.
323
323
  - **Real-time Dashboard**: `/mindforge:dashboard` and high-performance web-based observability.
324
324
  - **Persistent Knowledge Graph**: `/mindforge:remember` and long-term project memory.
325
325
  - **Multi-Model Intelligence Layer**: `/mindforge:cross-review`, `/mindforge:research`, and `/mindforge:costs`.
package/RELEASENOTES.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  ## Top Summary
4
4
 
5
- MindForge v2.1.1 is a major structural update that finalizes the migration of the GSD framework into the MindForge ecosystem. This release establishes a unified `.agent/` asset structure, expands the persona count from 8 to 32+, and hardens the 4-pillar workflow (`plan`, `execute`, `verify`, `ship`) for enterprise-scale AI orchestration.
5
+ MindForge v2.1.1 is a major structural update that finalizes the migration of the MindForge framework into the MindForge ecosystem. This release establishes a unified `.agent/` asset structure, expands the persona count from 8 to 32+, and hardens the 4-pillar workflow (`plan`, `execute`, `verify`, `ship`) for enterprise-scale AI orchestration.
6
6
 
7
7
  ## Highlights
8
8
 
@@ -25,6 +25,9 @@ const RUNTIMES = {
25
25
  skillsSubdir: 'skills',
26
26
  hooksSubdir: 'hooks',
27
27
  personasSubdir: 'personas',
28
+ docsSubdir: 'docs',
29
+ memorySubdir: 'memory',
30
+ pluginsSubdir: 'plugins',
28
31
  },
29
32
  antigravity: {
30
33
  displayName: 'Antigravity',
@@ -36,6 +39,9 @@ const RUNTIMES = {
36
39
  skillsSubdir: 'skills',
37
40
  hooksSubdir: 'hooks',
38
41
  personasSubdir: 'personas',
42
+ docsSubdir: 'docs',
43
+ memorySubdir: 'memory',
44
+ pluginsSubdir: 'plugins',
39
45
  },
40
46
  cursor: {
41
47
  displayName: 'Cursor',
@@ -47,6 +53,9 @@ const RUNTIMES = {
47
53
  skillsSubdir: 'skills',
48
54
  hooksSubdir: 'hooks',
49
55
  personasSubdir: 'personas',
56
+ docsSubdir: 'docs',
57
+ memorySubdir: 'memory',
58
+ pluginsSubdir: 'plugins',
50
59
  },
51
60
  opencode: {
52
61
  displayName: 'OpenCode',
@@ -58,6 +67,9 @@ const RUNTIMES = {
58
67
  skillsSubdir: 'skills',
59
68
  hooksSubdir: 'hooks',
60
69
  personasSubdir: 'personas',
70
+ docsSubdir: 'docs',
71
+ memorySubdir: 'memory',
72
+ pluginsSubdir: 'plugins',
61
73
  },
62
74
  gemini: {
63
75
  displayName: 'Gemini CLI',
@@ -69,6 +81,9 @@ const RUNTIMES = {
69
81
  skillsSubdir: 'skills',
70
82
  hooksSubdir: 'hooks',
71
83
  personasSubdir: 'personas',
84
+ docsSubdir: 'docs',
85
+ memorySubdir: 'memory',
86
+ pluginsSubdir: 'plugins',
72
87
  },
73
88
  copilot: {
74
89
  displayName: 'GitHub Copilot',
@@ -104,6 +119,31 @@ function generateEntryContent(runtime, sourceContent) {
104
119
  return sourceContent;
105
120
  }
106
121
 
122
+ /**
123
+ * Extract an enterprise-grade description from command markdown.
124
+ * Prioritizes YAML frontmatter 'description' field, then falls back to first non-empty text.
125
+ */
126
+ function getCommandDescription(content) {
127
+ // Check for YAML frontmatter
128
+ const frontmatterMatch = content.match(/^---\s*\n([\s\S]*?)\n---\s*\n/);
129
+ if (frontmatterMatch) {
130
+ const frontmatter = frontmatterMatch[1];
131
+ const descMatch = frontmatter.match(/^description:\s*(.*)$/m);
132
+ if (descMatch) return descMatch[1].trim();
133
+ }
134
+
135
+ // Fallback to first non-empty, non-header line
136
+ const lines = content.split('\n');
137
+ for (let line of lines) {
138
+ line = line.trim();
139
+ if (line && !line.startsWith('#') && !line.startsWith('---')) {
140
+ return line.length > 100 ? line.substring(0, 97) + '...' : line;
141
+ }
142
+ }
143
+
144
+ return 'No description available';
145
+ }
146
+
107
147
  // ── File system utilities ─────────────────────────────────────────────────────
108
148
  const fsu = {
109
149
  exists: p => fs.existsSync(p),
@@ -112,9 +152,19 @@ const fsu = {
112
152
  ensureDir: p => { if (!fs.existsSync(p)) fs.mkdirSync(p, { recursive: true }); },
113
153
  copy: (src, dst) => { fsu.ensureDir(path.dirname(dst)); fs.copyFileSync(src, dst); },
114
154
  listFiles: p => fs.existsSync(p) ? fs.readdirSync(p) : [],
155
+ listFilesRecursive: (p, ext = '.md') => {
156
+ if (!fs.existsSync(p)) return [];
157
+ let results = [];
158
+ for (const entry of fs.readdirSync(p, { withFileTypes: true })) {
159
+ const full = path.join(p, entry.name);
160
+ if (entry.isDirectory()) results = results.concat(fsu.listFilesRecursive(full, ext));
161
+ else if (entry.name.endsWith(ext)) results.push(full);
162
+ }
163
+ return results;
164
+ },
115
165
 
116
166
  copyDir(src, dst, options = {}) {
117
- const { excludePatterns = [] } = options;
167
+ const { excludePatterns = [], noOverwrite = false } = options;
118
168
  fsu.ensureDir(dst);
119
169
  for (const entry of fs.readdirSync(src, { withFileTypes: true })) {
120
170
  const skip = excludePatterns.some(pat =>
@@ -124,7 +174,12 @@ const fsu = {
124
174
 
125
175
  const s = path.join(src, entry.name);
126
176
  const d = path.join(dst, entry.name);
127
- entry.isDirectory() ? fsu.copyDir(s, d, options) : fsu.copy(s, d);
177
+ if (entry.isDirectory()) {
178
+ fsu.copyDir(s, d, options);
179
+ } else {
180
+ if (noOverwrite && fsu.exists(d)) continue;
181
+ fsu.copy(s, d);
182
+ }
128
183
  }
129
184
  },
130
185
  };
@@ -173,11 +228,38 @@ const src = (...parts) => path.join(SOURCE_ROOT, ...parts);
173
228
  const SENSITIVE_EXCLUDE = [
174
229
  '.env', // exact filename match
175
230
  /^\.env\..*/, // .env.local, .env.production, etc.
176
- /\.key$/, // anything ending in .key (previous glob was incorrect)
177
- /\.pem$/, // anything ending in .pem (previous glob was incorrect)
231
+ /\.key$/i, // anything ending in .key
232
+ /\.pem$/i, // anything ending in .pem
178
233
  'secrets', // exact directory name
179
234
  '.secrets', // exact directory name
180
- /^secrets$/, // exact match at directory level
235
+ /^secrets$/i, // exact match at directory level
236
+ 'node_modules',
237
+ '.git',
238
+ '.DS_Store',
239
+ 'browser-daemon.log',
240
+ /audit\.jsonl/i,
241
+ /handoff\.json/i,
242
+ /jira-sync\.json/i,
243
+ /slack-threads\.json/i,
244
+ // Specific legacy or project-private folders
245
+ '01-migrate-legacy-to-mindforge',
246
+ 'day1',
247
+ 'day2',
248
+ 'day3',
249
+ 'research',
250
+ 'screenshots',
251
+ ];
252
+
253
+ // Special-case folders in .mindforge that are development-only
254
+ const MINDFORGE_DEV_EXCLUDE = [
255
+ 'distribution',
256
+ 'monorepo',
257
+ 'production',
258
+ 'pr-review',
259
+ 'skills-builder',
260
+ 'ci',
261
+ 'browser',
262
+ 'audit'
181
263
  ];
182
264
 
183
265
  const norm = p => path.normalize(p);
@@ -271,7 +353,7 @@ async function install(runtime, scope, options = {}) {
271
353
  const baseDir = resolveBaseDir(runtime, scope);
272
354
  const cmdsDir = norm(path.join(baseDir, cfg.commandsSubdir));
273
355
  const selfInstall = isSelfInstall();
274
- const targetDir = baseDir; // Define targetDir for the new printStatus line
356
+ const targetDir = baseDir;
275
357
 
276
358
  Theme.printPrompt(`Runtime : ${c.cyan(runtime)}`);
277
359
  Theme.printPrompt(`Scope : ${c.dim(scope)} → ${c.bold(targetDir)}`);
@@ -288,15 +370,21 @@ async function install(runtime, scope, options = {}) {
288
370
  const assetMappings = [
289
371
  { key: 'skillsSubdir', src: src('.agent', 'skills'), label: 'skills' },
290
372
  { key: 'hooksSubdir', src: src('.agent', 'hooks'), label: 'hooks' },
291
- { key: 'personasSubdir', src: src('.mindforge', 'personas'), label: 'personas' }
373
+ { key: 'personasSubdir', src: src('.mindforge', 'personas'), label: 'personas' },
374
+ { key: 'docsSubdir', src: src('docs', 'references'), label: 'references' },
375
+ { key: 'docsSubdir', src: src('docs', 'templates'), label: 'templates' }
292
376
  ];
293
377
 
294
378
  assetMappings.forEach(asset => {
295
379
  const subDir = cfg[asset.key];
296
380
  if (subDir && fsu.exists(asset.src)) {
297
- const count = fsu.listFiles(asset.src).length;
298
- const countStr = `${count} ${asset.label}`.padEnd(12);
299
- console.log(` ${countStr} ${path.join(baseDir, subDir)}`);
381
+ if (asset.label === 'references' || asset.label === 'templates') {
382
+ console.log(` ${asset.label.padEnd(12)} ${path.join(baseDir, subDir, asset.label)}`);
383
+ } else {
384
+ const count = fsu.listFiles(asset.src).length;
385
+ const countStr = `${count} ${asset.label}`.padEnd(12);
386
+ console.log(` ${countStr} → ${path.join(baseDir, subDir)}`);
387
+ }
300
388
  }
301
389
  });
302
390
  return;
@@ -350,40 +438,59 @@ async function install(runtime, scope, options = {}) {
350
438
  }
351
439
 
352
440
  // ── 2. Install commands ─────────────────────────────────────────────────────
353
- const cmdSrc = runtime === 'claude'
354
- ? src('.claude', 'commands', 'mindforge')
355
- : src('.agent', 'mindforge');
441
+ const cmdSources = [
442
+ { src: src('.agent', 'mindforge'), namespace: 'mindforge' },
443
+ { src: src('.agent', 'forge'), namespace: 'forge' }
444
+ ];
356
445
 
357
- if (fsu.exists(cmdSrc)) {
446
+ if (runtime === 'claude') {
447
+ // Claude Code specifically looks in .claude/commands/mindforge
448
+ cmdSources.length = 0;
449
+ cmdSources.push({ src: src('.claude', 'commands', 'mindforge'), namespace: 'mindforge' });
450
+ }
451
+
452
+ let totalCount = 0;
453
+ cmdSources.forEach(source => {
454
+ if (!fsu.exists(source.src)) return;
455
+
456
+ const files = fsu.listFiles(source.src).filter(f => f.endsWith('.md'));
457
+ totalCount += files.length;
358
458
  fsu.ensureDir(cmdsDir);
359
- const files = fsu.listFiles(cmdSrc).filter(f => f.endsWith('.md'));
360
- // Install for specific runtime
459
+
361
460
  files.forEach(f => {
362
- const targetName = runtime === 'antigravity' ? `mindforge:${f}` : f;
363
- const srcPath = path.join(cmdSrc, f);
461
+ // Logic for naming: antigravity uses namespace:prefix, others use just the file name
462
+ const targetName = runtime === 'antigravity' ? `${source.namespace}:${f}` : f;
463
+ const srcPath = path.join(source.src, f);
364
464
  const dstPath = path.join(cmdsDir, targetName);
365
465
 
366
466
  if (runtime === 'antigravity') {
367
467
  const content = fsu.read(srcPath);
368
- const firstLine = content.split('\n')[0].trim();
369
- // Mandatory Antigravity frontmatter metadata
370
- const metadata = `---\ndescription: ${firstLine}\n---\n`;
371
- fsu.write(dstPath, metadata + content);
468
+ const description = getCommandDescription(content);
469
+ const metadata = `---\ndescription: ${description}\n---\n`;
470
+
471
+ // Strip existing frontmatter from source when injecting into Antigravity
472
+ const cleanContent = content.replace(/^---\s*\n[\s\S]*?\n---\s*\n/, '');
473
+ fsu.write(dstPath, metadata + cleanContent);
372
474
  } else {
373
475
  fsu.copy(srcPath, dstPath);
374
476
  }
375
477
  });
376
478
 
377
- // ✨ STANDARD: Mirror to .claude/commands for cross-IDE compatibility (Cursor/Windsurf/Claude Code)
479
+ // Mirror to .claude/commands for cross-IDE compatibility (Cursor/Windsurf/Claude Code)
378
480
  if (scope === 'local' && runtime !== 'claude' && !selfInstall) {
379
- const standardCmdDir = path.join(process.cwd(), '.claude', 'commands', 'mindforge');
481
+ const standardCmdDir = path.join(process.cwd(), '.claude', 'commands', source.namespace);
380
482
  fsu.ensureDir(standardCmdDir);
381
483
  files.forEach(f => {
382
- fsu.copy(path.join(cmdSrc, f), path.join(standardCmdDir, f));
484
+ fsu.copy(path.join(source.src, f), path.join(standardCmdDir, f));
383
485
  });
384
- Theme.printResolved(`${c.bold(files.length)} commands (Mirrored to .claude/commands/mindforge/)`);
486
+ }
487
+ });
488
+
489
+ if (totalCount > 0) {
490
+ if (scope === 'local' && runtime !== 'claude' && !selfInstall) {
491
+ Theme.printResolved(`${c.bold(totalCount)} commands (Mirrored to .claude/commands/)`);
385
492
  } else {
386
- Theme.printResolved(`${c.bold(files.length)} commands`);
493
+ Theme.printResolved(`${c.bold(totalCount)} commands`);
387
494
  }
388
495
  }
389
496
 
@@ -392,17 +499,25 @@ async function install(runtime, scope, options = {}) {
392
499
  const assetTypes = [
393
500
  { key: 'skillsSubdir', src: src('.agent', 'skills'), label: 'skills' },
394
501
  { key: 'hooksSubdir', src: src('.agent', 'hooks'), label: 'hooks' },
395
- { key: 'personasSubdir', src: src('.mindforge', 'personas'), label: 'personas' }
502
+ { key: 'personasSubdir', src: src('.mindforge', 'personas'), label: 'personas' },
503
+ { key: 'docsSubdir', src: src('docs', 'references'), label: 'references' },
504
+ { key: 'docsSubdir', src: src('docs', 'templates'), label: 'templates' },
505
+ { key: 'memorySubdir', src: src('.mindforge', 'memory'), label: 'memory' },
506
+ { key: 'pluginsSubdir', src: src('.mindforge', 'plugins'), label: 'plugins' }
396
507
  ];
397
508
 
398
509
  assetTypes.forEach(asset => {
399
510
  const subDir = cfg[asset.key];
400
511
  if (subDir && fsu.exists(asset.src)) {
401
- const dstDir = path.join(baseDir, subDir);
512
+ let dstDir = path.join(baseDir, subDir);
513
+ // Documentation and templates go into subdirectories of their own
514
+ if (asset.label === 'references' || asset.label === 'templates') {
515
+ dstDir = path.join(dstDir, asset.label);
516
+ }
402
517
  fsu.ensureDir(dstDir);
403
518
  // Use copyDir for the whole directory
404
- fsu.copyDir(asset.src, dstDir, { excludePatterns: SENSITIVE_EXCLUDE });
405
- Theme.printResolved(`${c.bold(asset.label.padEnd(10))} (Enterprise sync)`);
519
+ fsu.copyDir(asset.src, dstDir, { excludePatterns: SENSITIVE_EXCLUDE, noOverwrite: !force });
520
+ Theme.printResolved(`${c.bold(asset.label.padEnd(12))} (Enterprise sync)`);
406
521
  }
407
522
  });
408
523
  }
@@ -413,51 +528,69 @@ async function install(runtime, scope, options = {}) {
413
528
  const forgeSrc = src('.mindforge');
414
529
  const forgeDst = path.join(process.cwd(), '.mindforge');
415
530
  if (fsu.exists(forgeSrc)) {
531
+ // Define all required enterprise framework folders
532
+ const standardFrameworkFolders = [
533
+ 'engine', 'org', 'governance', 'integrations', 'personas', 'skills',
534
+ 'team', 'intelligence', 'memory', 'metrics', 'models', 'plugins', 'dashboard'
535
+ ];
536
+
416
537
  if (minimal) {
417
538
  const minimalEntries = new Set([
418
539
  'MINDFORGE-SCHEMA.json',
419
- 'engine',
420
- 'org',
421
- 'governance',
422
- 'integrations',
423
- 'personas',
424
- 'skills',
425
- 'team',
540
+ 'engine', 'org', 'governance', 'integrations', 'personas', 'skills', 'team'
426
541
  ]);
427
542
  fsu.ensureDir(forgeDst);
428
543
  for (const entry of fs.readdirSync(forgeSrc, { withFileTypes: true })) {
429
544
  if (!minimalEntries.has(entry.name)) continue;
430
545
  const s = path.join(forgeSrc, entry.name);
431
546
  const d = path.join(forgeDst, entry.name);
432
- entry.isDirectory() ? fsu.copyDir(s, d, { excludePatterns: SENSITIVE_EXCLUDE }) : fsu.copy(s, d);
547
+ if (entry.isDirectory()) {
548
+ fsu.copyDir(s, d, { excludePatterns: SENSITIVE_EXCLUDE, noOverwrite: true });
549
+ } else {
550
+ if (!fsu.exists(d) || force) fsu.copy(s, d);
551
+ }
433
552
  }
434
- Theme.printResolved(`${c.bold('.mindforge/')} (minimal core)`);
553
+ Theme.printResolved(`${c.bold('.mindforge/')} (minimal sync)`);
435
554
  } else {
436
- fsu.copyDir(forgeSrc, forgeDst, { excludePatterns: SENSITIVE_EXCLUDE });
437
- Theme.printResolved(`${c.bold('.mindforge/')} (framework engine)`);
555
+ // Standard merge: Ensure missing folders are added, but don't overwrite existing user configs
556
+ fsu.copyDir(forgeSrc, forgeDst, {
557
+ excludePatterns: [...SENSITIVE_EXCLUDE, ...MINDFORGE_DEV_EXCLUDE],
558
+ noOverwrite: !force
559
+ });
560
+ Theme.printResolved(`${c.bold('.mindforge/')} (synchronized framework)`);
438
561
  }
439
562
  }
440
563
 
441
- // .planning/ — create only if it doesn't already exist (preserve project state)
564
+ // .planning/ — merge templates but preserve existing state
442
565
  const planningDst = path.join(process.cwd(), '.planning');
443
- if (!fsu.exists(planningDst)) {
444
- const planningSrc = src('.planning');
445
- if (fsu.exists(planningSrc)) {
446
- if (minimal) {
447
- fsu.ensureDir(planningDst);
448
- ['STATE.md', 'HANDOFF.json', 'PROJECT.md'].forEach((name) => {
449
- const s = path.join(planningSrc, name);
450
- const d = path.join(planningDst, name);
451
- if (fsu.exists(s)) fsu.copy(s, d);
452
- });
453
- console.log(' ✅ .planning/ (minimal state)');
454
- } else {
455
- fsu.copyDir(planningSrc, planningDst, { excludePatterns: SENSITIVE_EXCLUDE });
456
- Theme.printResolved(`${c.bold('.planning/')} (state templates)`);
457
- }
566
+ const planningSrc = src('.planning');
567
+ if (fsu.exists(planningSrc)) {
568
+ fsu.ensureDir(planningDst);
569
+
570
+ // Define standard planning templates that must exist
571
+ const standardPlanningFiles = [
572
+ 'STATE.md', 'HANDOFF.json', 'PROJECT.md',
573
+ 'ROADMAP.md', 'ARCHITECTURE.md', 'REQUIREMENTS.md',
574
+ 'RELEASE-CHECKLIST.md'
575
+ ];
576
+
577
+ // Always ensure top-level standard templates are copied if missing
578
+ standardPlanningFiles.forEach((name) => {
579
+ const s = path.join(planningSrc, name);
580
+ const d = path.join(planningDst, name);
581
+ if (fsu.exists(s) && (!fsu.exists(d) || force)) fsu.copy(s, d);
582
+ });
583
+
584
+ if (!minimal) {
585
+ // Merge subdirectories (empty ones persist via .gitkeep)
586
+ fsu.copyDir(planningSrc, planningDst, {
587
+ excludePatterns: SENSITIVE_EXCLUDE,
588
+ noOverwrite: true
589
+ });
590
+ Theme.printResolved(`${c.bold('.planning/')} (merged templates)`);
591
+ } else {
592
+ Theme.printResolved(`${c.bold('.planning/')} (minimal sync)`);
458
593
  }
459
- } else {
460
- Theme.printPrompt(c.dim('.planning/ already exists — preserved (run /mindforge:health to verify)'));
461
594
  }
462
595
 
463
596
  // MINDFORGE.md — create only if it doesn't already exist
@@ -529,17 +662,25 @@ function collectManifestStats() {
529
662
  skills: 0,
530
663
  governance: 0,
531
664
  integrations: 0,
532
- actions: 0
665
+ actions: 0,
666
+ docs: 0,
667
+ templates: 0
533
668
  };
534
669
 
535
670
  try {
536
671
  const forgeSrc = src('.mindforge');
537
672
  if (fsu.exists(forgeSrc)) {
538
673
  stats.personas = fsu.listFiles(path.join(forgeSrc, 'personas')).filter(f => f.endsWith('.md')).length;
539
- stats.skills = fsu.listFiles(path.join(forgeSrc, 'skills')).length;
674
+ stats.skills = fsu.listFiles(path.join(SOURCE_ROOT, '.agent', 'skills')).length;
540
675
  stats.governance = fsu.listFiles(path.join(forgeSrc, 'governance')).filter(f => f.endsWith('.md')).length;
541
676
  stats.integrations = fsu.listFiles(path.join(forgeSrc, 'integrations')).filter(f => f.endsWith('.md')).length;
542
677
  }
678
+
679
+ // Docs & Templates count
680
+ const refSrc = src('docs', 'references');
681
+ const tmpSrc = src('docs', 'templates');
682
+ if (fsu.exists(refSrc)) stats.docs = fsu.listFiles(refSrc).filter(f => f.endsWith('.md')).length;
683
+ if (fsu.exists(tmpSrc)) stats.templates = fsu.listFilesRecursive(tmpSrc).length;
543
684
 
544
685
  // Commands count
545
686
  const claudeCmdSrc = src('.claude', 'commands', 'mindforge');
@@ -552,7 +693,7 @@ function collectManifestStats() {
552
693
  }
553
694
  } catch (e) {
554
695
  // Fallback to default values if counting fails
555
- return { personas: 32, skills: 10, governance: 4, integrations: 6, actions: 60 };
696
+ return { personas: 32, skills: 10, governance: 4, integrations: 6, actions: 60, docs: 12, templates: 5 };
556
697
  }
557
698
 
558
699
  return stats;
@@ -59,7 +59,7 @@ const Theme = {
59
59
  */
60
60
  printBrandManifest() {
61
61
  console.log(` ${this.colors.dim('│')}`);
62
- console.log(` ${this.colors.dim('│')} ${this.colors.green('🎉 V2.2.0 IS HERE!')} Welcome to MindForge V2!`);
62
+ console.log(` ${this.colors.dim('│')} ${this.colors.green('🎉 V2.3.0 IS HERE!')} Welcome to MindForge V2!`);
63
63
  console.log(` ${this.colors.dim('│')}`);
64
64
  console.log(` ${this.colors.dim('│')} ${this.colors.bold('THE PLATFORM VISION:')}`);
65
65
  console.log(` ${this.colors.dim('│')} - Unified Enterprise Agentic Ecosystem`);
@@ -121,7 +121,7 @@ const Theme = {
121
121
  * Print Manifest (Hardened for V2)
122
122
  */
123
123
  printManifest(stats = {}) {
124
- const { personas = 32, skills = 12, governance = 4, integrations = 7, actions = 60 } = stats;
124
+ const { personas = 32, skills = 12, governance = 4, integrations = 7, actions = 60, docs = 12, templates = 8 } = stats;
125
125
 
126
126
  console.log(` ${this.colors.bold('PAYLOAD MANIFEST')}`);
127
127
  console.log(` ${this.colors.dim('┌' + '─'.repeat(74) + '┐')}`);
@@ -131,6 +131,8 @@ const Theme = {
131
131
  ['SKILLS', skills, 'Enterprise-grade skill packs'],
132
132
  ['GOVERNANCE', governance, 'Compliance and safety modules'],
133
133
  ['INTEGRATIONS', integrations, 'Multi-platform connector suite'],
134
+ ['REFERENCES', docs, 'Standardized architecture references'],
135
+ ['TEMPLATES', templates, 'Engineering and planning templates'],
134
136
  ['ACTIONS', actions, 'Total autonomous commands deployed'],
135
137
  ];
136
138
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mindforge-cc",
3
- "version": "2.2.0",
3
+ "version": "2.3.5",
4
4
  "description": "MindForge - Enterprise Agentic Framework for Claude Code and Antigravity",
5
5
  "bin": {
6
6
  "mindforge-cc": "bin/install.js"
@@ -1,15 +0,0 @@
1
- {
2
- "id": "MF-AUTH-V2-001",
3
- "project": "MindForge",
4
- "version": "2.0.0-alpha.2",
5
- "tier": 3,
6
- "approved_by": "Antigravity (Agentic AI)",
7
- "timestamp": "2026-03-22T20:28:00Z",
8
- "scope": [
9
- ".github/workflows/*",
10
- "bin/mindforge-cli.js",
11
- "bin/change-classifier.js"
12
- ],
13
- "reason": "Implementation of 5-Layer Plane Architecture and standardized CLI routing.",
14
- "signature": "sha256:d8e8fca2dc0f896fd7cb4cb0031ba249"
15
- }