mindforge-cc 1.0.0

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 (324) hide show
  1. package/.agent/CLAUDE.md +462 -0
  2. package/.agent/forge/help.md +7 -0
  3. package/.agent/forge/init-project.md +32 -0
  4. package/.agent/forge/plan-phase.md +30 -0
  5. package/.agent/mindforge/approve.md +18 -0
  6. package/.agent/mindforge/audit.md +30 -0
  7. package/.agent/mindforge/benchmark.md +33 -0
  8. package/.agent/mindforge/complete-milestone.md +18 -0
  9. package/.agent/mindforge/debug.md +126 -0
  10. package/.agent/mindforge/discuss-phase.md +138 -0
  11. package/.agent/mindforge/execute-phase.md +165 -0
  12. package/.agent/mindforge/health.md +21 -0
  13. package/.agent/mindforge/help.md +23 -0
  14. package/.agent/mindforge/init-org.md +131 -0
  15. package/.agent/mindforge/init-project.md +155 -0
  16. package/.agent/mindforge/install-skill.md +15 -0
  17. package/.agent/mindforge/map-codebase.md +298 -0
  18. package/.agent/mindforge/metrics.md +22 -0
  19. package/.agent/mindforge/migrate.md +40 -0
  20. package/.agent/mindforge/milestone.md +12 -0
  21. package/.agent/mindforge/next.md +105 -0
  22. package/.agent/mindforge/plan-phase.md +125 -0
  23. package/.agent/mindforge/plugins.md +40 -0
  24. package/.agent/mindforge/pr-review.md +41 -0
  25. package/.agent/mindforge/profile-team.md +23 -0
  26. package/.agent/mindforge/publish-skill.md +19 -0
  27. package/.agent/mindforge/quick.md +135 -0
  28. package/.agent/mindforge/release.md +10 -0
  29. package/.agent/mindforge/retrospective.md +26 -0
  30. package/.agent/mindforge/review.md +157 -0
  31. package/.agent/mindforge/security-scan.md +233 -0
  32. package/.agent/mindforge/ship.md +100 -0
  33. package/.agent/mindforge/skills.md +141 -0
  34. package/.agent/mindforge/status.md +104 -0
  35. package/.agent/mindforge/sync-confluence.md +11 -0
  36. package/.agent/mindforge/sync-jira.md +12 -0
  37. package/.agent/mindforge/tokens.md +8 -0
  38. package/.agent/mindforge/update.md +42 -0
  39. package/.agent/mindforge/verify-phase.md +62 -0
  40. package/.agent/mindforge/workspace.md +29 -0
  41. package/.claude/CLAUDE.md +462 -0
  42. package/.claude/commands/forge/help.md +7 -0
  43. package/.claude/commands/forge/init-project.md +32 -0
  44. package/.claude/commands/forge/plan-phase.md +30 -0
  45. package/.claude/commands/mindforge/approve.md +18 -0
  46. package/.claude/commands/mindforge/audit.md +30 -0
  47. package/.claude/commands/mindforge/benchmark.md +33 -0
  48. package/.claude/commands/mindforge/complete-milestone.md +18 -0
  49. package/.claude/commands/mindforge/debug.md +126 -0
  50. package/.claude/commands/mindforge/discuss-phase.md +138 -0
  51. package/.claude/commands/mindforge/execute-phase.md +165 -0
  52. package/.claude/commands/mindforge/health.md +21 -0
  53. package/.claude/commands/mindforge/help.md +23 -0
  54. package/.claude/commands/mindforge/init-org.md +131 -0
  55. package/.claude/commands/mindforge/init-project.md +155 -0
  56. package/.claude/commands/mindforge/install-skill.md +15 -0
  57. package/.claude/commands/mindforge/map-codebase.md +298 -0
  58. package/.claude/commands/mindforge/metrics.md +22 -0
  59. package/.claude/commands/mindforge/migrate.md +40 -0
  60. package/.claude/commands/mindforge/milestone.md +12 -0
  61. package/.claude/commands/mindforge/next.md +105 -0
  62. package/.claude/commands/mindforge/plan-phase.md +125 -0
  63. package/.claude/commands/mindforge/plugins.md +40 -0
  64. package/.claude/commands/mindforge/pr-review.md +41 -0
  65. package/.claude/commands/mindforge/profile-team.md +23 -0
  66. package/.claude/commands/mindforge/publish-skill.md +19 -0
  67. package/.claude/commands/mindforge/quick.md +135 -0
  68. package/.claude/commands/mindforge/release.md +10 -0
  69. package/.claude/commands/mindforge/retrospective.md +26 -0
  70. package/.claude/commands/mindforge/review.md +157 -0
  71. package/.claude/commands/mindforge/security-scan.md +233 -0
  72. package/.claude/commands/mindforge/ship.md +100 -0
  73. package/.claude/commands/mindforge/skills.md +141 -0
  74. package/.claude/commands/mindforge/status.md +104 -0
  75. package/.claude/commands/mindforge/sync-confluence.md +11 -0
  76. package/.claude/commands/mindforge/sync-jira.md +12 -0
  77. package/.claude/commands/mindforge/tokens.md +8 -0
  78. package/.claude/commands/mindforge/update.md +42 -0
  79. package/.claude/commands/mindforge/verify-phase.md +62 -0
  80. package/.claude/commands/mindforge/workspace.md +29 -0
  81. package/.forge/org/CONVENTIONS.md +0 -0
  82. package/.forge/org/ORG.md +0 -0
  83. package/.forge/org/SECURITY.md +0 -0
  84. package/.forge/org/TOOLS.md +0 -0
  85. package/.forge/personas/analyst.md +0 -0
  86. package/.forge/personas/architect.md +0 -0
  87. package/.forge/personas/debug-specialist.md +0 -0
  88. package/.forge/personas/developer.md +26 -0
  89. package/.forge/personas/qa-engineer.md +0 -0
  90. package/.forge/personas/release-manager.md +0 -0
  91. package/.forge/personas/security-reviewer.md +33 -0
  92. package/.forge/personas/tech-writer.md +0 -0
  93. package/.forge/skills/api-design/SKILL.md +0 -0
  94. package/.forge/skills/code-quality/SKILL.md +0 -0
  95. package/.forge/skills/documentation/SKILL.md +0 -0
  96. package/.forge/skills/security-review/SKILL.md +23 -0
  97. package/.forge/skills/testing-standards/SKILL.md +27 -0
  98. package/.github/workflows/mindforge-ci.yml +224 -0
  99. package/.gitlab-ci-mindforge.yml +18 -0
  100. package/.mindforge/MINDFORGE-SCHEMA.json +165 -0
  101. package/.mindforge/audit/AUDIT-SCHEMA.md +451 -0
  102. package/.mindforge/ci/ci-config-schema.md +21 -0
  103. package/.mindforge/ci/ci-mode.md +179 -0
  104. package/.mindforge/ci/github-actions-adapter.md +224 -0
  105. package/.mindforge/ci/gitlab-ci-adapter.md +31 -0
  106. package/.mindforge/ci/jenkins-adapter.md +44 -0
  107. package/.mindforge/distribution/registry-client.md +166 -0
  108. package/.mindforge/distribution/registry-schema.md +96 -0
  109. package/.mindforge/distribution/skill-publisher.md +44 -0
  110. package/.mindforge/distribution/skill-validator.md +74 -0
  111. package/.mindforge/engine/compaction-protocol.md +182 -0
  112. package/.mindforge/engine/context-injector.md +128 -0
  113. package/.mindforge/engine/dependency-parser.md +113 -0
  114. package/.mindforge/engine/skills/conflict-resolver.md +69 -0
  115. package/.mindforge/engine/skills/loader.md +184 -0
  116. package/.mindforge/engine/skills/registry.md +98 -0
  117. package/.mindforge/engine/skills/versioning.md +75 -0
  118. package/.mindforge/engine/verification-pipeline.md +111 -0
  119. package/.mindforge/engine/wave-executor.md +235 -0
  120. package/.mindforge/governance/GOVERNANCE-CONFIG.md +17 -0
  121. package/.mindforge/governance/approval-workflow.md +37 -0
  122. package/.mindforge/governance/change-classifier.md +63 -0
  123. package/.mindforge/governance/compliance-gates.md +31 -0
  124. package/.mindforge/integrations/confluence.md +27 -0
  125. package/.mindforge/integrations/connection-manager.md +163 -0
  126. package/.mindforge/integrations/github.md +25 -0
  127. package/.mindforge/integrations/gitlab.md +13 -0
  128. package/.mindforge/integrations/jira.md +102 -0
  129. package/.mindforge/integrations/slack.md +41 -0
  130. package/.mindforge/intelligence/antipattern-detector.md +75 -0
  131. package/.mindforge/intelligence/difficulty-scorer.md +55 -0
  132. package/.mindforge/intelligence/health-engine.md +208 -0
  133. package/.mindforge/intelligence/skill-gap-analyser.md +40 -0
  134. package/.mindforge/intelligence/smart-compaction.md +71 -0
  135. package/.mindforge/metrics/METRICS-SCHEMA.md +42 -0
  136. package/.mindforge/metrics/quality-tracker.md +32 -0
  137. package/.mindforge/monorepo/cross-package-planner.md +114 -0
  138. package/.mindforge/monorepo/dependency-graph-builder.md +32 -0
  139. package/.mindforge/monorepo/workspace-detector.md +129 -0
  140. package/.mindforge/org/CONVENTIONS.md +62 -0
  141. package/.mindforge/org/ORG.md +51 -0
  142. package/.mindforge/org/SECURITY.md +50 -0
  143. package/.mindforge/org/TOOLS.md +53 -0
  144. package/.mindforge/org/integrations/INTEGRATIONS-CONFIG.md +58 -0
  145. package/.mindforge/org/skills/MANIFEST.md +38 -0
  146. package/.mindforge/personas/analyst.md +52 -0
  147. package/.mindforge/personas/architect.md +75 -0
  148. package/.mindforge/personas/debug-specialist.md +52 -0
  149. package/.mindforge/personas/developer.md +85 -0
  150. package/.mindforge/personas/overrides/README.md +85 -0
  151. package/.mindforge/personas/qa-engineer.md +61 -0
  152. package/.mindforge/personas/release-manager.md +76 -0
  153. package/.mindforge/personas/security-reviewer.md +91 -0
  154. package/.mindforge/personas/tech-writer.md +51 -0
  155. package/.mindforge/plugins/PLUGINS-MANIFEST.md +23 -0
  156. package/.mindforge/plugins/plugin-loader.md +93 -0
  157. package/.mindforge/plugins/plugin-registry.md +44 -0
  158. package/.mindforge/plugins/plugin-schema.md +68 -0
  159. package/.mindforge/pr-review/ai-reviewer.md +266 -0
  160. package/.mindforge/pr-review/finding-formatter.md +46 -0
  161. package/.mindforge/pr-review/review-prompt-templates.md +44 -0
  162. package/.mindforge/production/compatibility-layer.md +39 -0
  163. package/.mindforge/production/migration-engine.md +52 -0
  164. package/.mindforge/production/production-checklist.md +165 -0
  165. package/.mindforge/production/token-optimiser.md +68 -0
  166. package/.mindforge/skills/accessibility/SKILL.md +106 -0
  167. package/.mindforge/skills/api-design/SKILL.md +98 -0
  168. package/.mindforge/skills/code-quality/SKILL.md +88 -0
  169. package/.mindforge/skills/data-privacy/SKILL.md +126 -0
  170. package/.mindforge/skills/database-patterns/SKILL.md +192 -0
  171. package/.mindforge/skills/documentation/SKILL.md +91 -0
  172. package/.mindforge/skills/incident-response/SKILL.md +180 -0
  173. package/.mindforge/skills/performance/SKILL.md +120 -0
  174. package/.mindforge/skills/security-review/SKILL.md +83 -0
  175. package/.mindforge/skills/testing-standards/SKILL.md +97 -0
  176. package/.mindforge/team/TEAM-PROFILE.md +42 -0
  177. package/.mindforge/team/multi-handoff.md +23 -0
  178. package/.mindforge/team/profiles/README.md +13 -0
  179. package/.mindforge/team/session-merger.md +18 -0
  180. package/.planning/ARCHITECTURE.md +0 -0
  181. package/.planning/AUDIT.jsonl +0 -0
  182. package/.planning/HANDOFF.json +28 -0
  183. package/.planning/PROJECT.md +33 -0
  184. package/.planning/RELEASE-CHECKLIST.md +68 -0
  185. package/.planning/REQUIREMENTS.md +0 -0
  186. package/.planning/ROADMAP.md +0 -0
  187. package/.planning/STATE.md +31 -0
  188. package/.planning/approvals/.gitkeep +1 -0
  189. package/.planning/archive/.gitkeep +1 -0
  190. package/.planning/audit-archive/.gitkeep +1 -0
  191. package/.planning/decisions/.gitkeep +0 -0
  192. package/.planning/decisions/ADR-001-handoff-tracking.md +41 -0
  193. package/.planning/decisions/ADR-002-markdown-commands.md +46 -0
  194. package/.planning/decisions/ADR-003-skills-trigger-model.md +37 -0
  195. package/.planning/decisions/ADR-004-wave-parallelism-model.md +45 -0
  196. package/.planning/decisions/ADR-005-append-only-audit-log.md +51 -0
  197. package/.planning/decisions/ADR-006-tiered-skills-system.md +22 -0
  198. package/.planning/decisions/ADR-007-trigger-keyword-model.md +22 -0
  199. package/.planning/decisions/ADR-008-just-in-time-skill-loading.md +29 -0
  200. package/.planning/decisions/ADR-009-enterprise-integration-retry-policy.md +8 -0
  201. package/.planning/decisions/ADR-010-governance-tier-escalation.md +8 -0
  202. package/.planning/decisions/ADR-011-multi-developer-handoff-contract.md +8 -0
  203. package/.planning/decisions/ADR-012-intelligence-feedback-loops.md +19 -0
  204. package/.planning/decisions/ADR-013-mindforge-md-constitution.md +16 -0
  205. package/.planning/decisions/ADR-014-metrics-as-signals-not-evaluation.md +15 -0
  206. package/.planning/decisions/ADR-015-npm-based-skill-registry.md +26 -0
  207. package/.planning/decisions/ADR-016-ci-exit-code-0-on-timeout.md +27 -0
  208. package/.planning/decisions/ADR-017-sdk-localhost-only.md +28 -0
  209. package/.planning/decisions/ADR-018-installer-self-install-detection.md +15 -0
  210. package/.planning/decisions/ADR-019-self-update-scope-preservation.md +14 -0
  211. package/.planning/decisions/ADR-020-v1.0.0-stable-interface-contract.md +23 -0
  212. package/.planning/jira-sync.json +9 -0
  213. package/.planning/milestones/.gitkeep +1 -0
  214. package/.planning/phases/day1/REVIEW-DAY1.md +50 -0
  215. package/.planning/phases/day1/SECURITY-REVIEW-DAY1.md +15 -0
  216. package/.planning/phases/day2/REVIEW-DAY2.md +521 -0
  217. package/.planning/phases/day3/REVIEW-DAY3.md +234 -0
  218. package/.planning/slack-threads.json +6 -0
  219. package/CHANGELOG.md +175 -0
  220. package/LICENSE +21 -0
  221. package/MINDFORGE.md +76 -0
  222. package/README.md +182 -0
  223. package/RELEASENOTES.md +41 -0
  224. package/SECURITY.md +4 -0
  225. package/bin/install.js +120 -0
  226. package/bin/installer-core.js +292 -0
  227. package/bin/migrations/0.1.0-to-0.5.0.js +37 -0
  228. package/bin/migrations/0.5.0-to-0.6.0.js +17 -0
  229. package/bin/migrations/0.6.0-to-1.0.0.js +100 -0
  230. package/bin/migrations/migrate.js +151 -0
  231. package/bin/migrations/schema-versions.js +64 -0
  232. package/bin/updater/changelog-fetcher.js +62 -0
  233. package/bin/updater/self-update.js +169 -0
  234. package/bin/updater/version-comparator.js +68 -0
  235. package/bin/validate-config.js +92 -0
  236. package/bin/wizard/config-generator.js +112 -0
  237. package/bin/wizard/environment-detector.js +76 -0
  238. package/bin/wizard/setup-wizard.js +237 -0
  239. package/docs/Context/Master-Context.md +701 -0
  240. package/docs/architecture/README.md +35 -0
  241. package/docs/architecture/decision-records-index.md +26 -0
  242. package/docs/ci-cd-integration.md +30 -0
  243. package/docs/ci-quickstart.md +78 -0
  244. package/docs/commands-reference.md +11 -0
  245. package/docs/contributing/CONTRIBUTING.md +38 -0
  246. package/docs/contributing/plugin-authoring.md +50 -0
  247. package/docs/contributing/skill-authoring.md +41 -0
  248. package/docs/enterprise-setup.md +25 -0
  249. package/docs/faq.md +38 -0
  250. package/docs/getting-started.md +36 -0
  251. package/docs/governance-guide.md +23 -0
  252. package/docs/mindforge-md-reference.md +53 -0
  253. package/docs/monorepo-guide.md +26 -0
  254. package/docs/persona-customisation.md +56 -0
  255. package/docs/quick-verify.md +33 -0
  256. package/docs/reference/audit-events.md +53 -0
  257. package/docs/reference/commands.md +82 -0
  258. package/docs/reference/config-reference.md +64 -0
  259. package/docs/reference/sdk-api.md +48 -0
  260. package/docs/reference/skills-api.md +57 -0
  261. package/docs/release-checklist-guide.md +37 -0
  262. package/docs/requirements.md +29 -0
  263. package/docs/sdk-reference.md +27 -0
  264. package/docs/security/SECURITY.md +42 -0
  265. package/docs/security/penetration-test-results.md +31 -0
  266. package/docs/security/threat-model.md +142 -0
  267. package/docs/skills-authoring-guide.md +119 -0
  268. package/docs/skills-publishing-guide.md +21 -0
  269. package/docs/team-setup-guide.md +21 -0
  270. package/docs/troubleshooting.md +119 -0
  271. package/docs/tutorial.md +195 -0
  272. package/docs/upgrade.md +44 -0
  273. package/docs/user-guide.md +131 -0
  274. package/docs/usp-features.md +214 -0
  275. package/eslint.config.mjs +31 -0
  276. package/examples/starter-project/.planning/AUDIT.jsonl +1 -0
  277. package/examples/starter-project/.planning/HANDOFF.json +23 -0
  278. package/examples/starter-project/.planning/PROJECT.md +27 -0
  279. package/examples/starter-project/.planning/STATE.md +10 -0
  280. package/examples/starter-project/MINDFORGE.md +40 -0
  281. package/examples/starter-project/README.md +14 -0
  282. package/implementation-roadmap/day-1-imp/DAY1-HARDEN.md +823 -0
  283. package/implementation-roadmap/day-1-imp/DAY1-IMPLEMENT.md +2459 -0
  284. package/implementation-roadmap/day-1-imp/DAY1-REVIEW.md +288 -0
  285. package/implementation-roadmap/day-2-imp/DAY2-HARDEN.md +954 -0
  286. package/implementation-roadmap/day-2-imp/DAY2-IMPLEMENT.md +2347 -0
  287. package/implementation-roadmap/day-2-imp/DAY2-REVIEW.md +422 -0
  288. package/implementation-roadmap/day-3-imp/DAY3-HARDEN.md +870 -0
  289. package/implementation-roadmap/day-3-imp/DAY3-IMPLEMENT.md +2798 -0
  290. package/implementation-roadmap/day-3-imp/DAY3-REVIEW.md +484 -0
  291. package/implementation-roadmap/day-4-imp/DAY4-HARDEN.md +1087 -0
  292. package/implementation-roadmap/day-4-imp/DAY4-IMPLEMENT.md +2874 -0
  293. package/implementation-roadmap/day-4-imp/DAY4-REVIEW.md +386 -0
  294. package/implementation-roadmap/day-5-imp/DAY5-HARDEN.md +1078 -0
  295. package/implementation-roadmap/day-5-imp/DAY5-IMPLEMENT.md +3151 -0
  296. package/implementation-roadmap/day-5-imp/DAY5-REVIEW.md +345 -0
  297. package/implementation-roadmap/day-6-imp/DAY6-COMPLETE.md +3919 -0
  298. package/implementation-roadmap/day-7-imp-prod/DAY7-PRODUCTION-FINAL.md +4513 -0
  299. package/package.json +31 -0
  300. package/sdk/README.md +69 -0
  301. package/sdk/eslint.config.mjs +34 -0
  302. package/sdk/package-lock.json +1507 -0
  303. package/sdk/package.json +30 -0
  304. package/sdk/src/client.ts +133 -0
  305. package/sdk/src/commands.ts +63 -0
  306. package/sdk/src/events.ts +166 -0
  307. package/sdk/src/index.ts +22 -0
  308. package/sdk/src/types.ts +87 -0
  309. package/sdk/tsconfig.json +13 -0
  310. package/tests/audit.test.js +206 -0
  311. package/tests/ci-mode.test.js +162 -0
  312. package/tests/compaction.test.js +161 -0
  313. package/tests/distribution.test.js +205 -0
  314. package/tests/e2e.test.js +618 -0
  315. package/tests/governance.test.js +130 -0
  316. package/tests/install.test.js +209 -0
  317. package/tests/integrations.test.js +128 -0
  318. package/tests/intelligence.test.js +117 -0
  319. package/tests/metrics.test.js +96 -0
  320. package/tests/migration.test.js +309 -0
  321. package/tests/production.test.js +416 -0
  322. package/tests/sdk.test.js +200 -0
  323. package/tests/skills-platform.test.js +403 -0
  324. package/tests/wave-engine.test.js +338 -0
@@ -0,0 +1,61 @@
1
+ # MindForge Persona — QA Engineer
2
+
3
+ ## Identity
4
+ You are a senior quality assurance engineer. Your job is to find the failure modes
5
+ that the developer did not consider. You think adversarially about every feature.
6
+
7
+ ## Cognitive mode
8
+ Adversarial and systematic. For every feature ask:
9
+ - What happens at the boundary conditions?
10
+ - What happens when the input is null, empty, or malformed?
11
+ - What happens under concurrent load?
12
+ - What happens when a downstream service fails?
13
+ - What does the user do that the developer did not expect?
14
+
15
+ ## Pre-task checklist
16
+ - [ ] Have I read the acceptance criteria in REQUIREMENTS.md for this feature?
17
+ - [ ] Have I read the PLAN file to understand what was implemented?
18
+ - [ ] Do I understand the `<verify>` step and what passing means?
19
+ - [ ] Have I identified the happy path AND the top 3 failure paths?
20
+
21
+ ## Test coverage targets
22
+ - Unit tests: 80% line coverage on all business logic files
23
+ - Integration tests: every API endpoint needs at minimum:
24
+ - One happy-path test (200/201 response)
25
+ - One auth-failure test (401 response)
26
+ - One validation-failure test (400 response)
27
+ - E2E tests: critical user flows only (login, core action, logout)
28
+
29
+ ## Test file standards
30
+ - Test names describe behaviour: `should return 401 when token is expired`
31
+ not `auth test 3`
32
+ - Structure: Arrange / Act / Assert — blank line between each section
33
+ - No test depends on another test's side effects
34
+ - No hardcoded test data that could match production data
35
+ - Test files co-located with source: `auth.ts` → `auth.test.ts`
36
+
37
+ ## Primary outputs
38
+ - Test files co-located with source
39
+ - Integration tests in `/tests/integration/`
40
+ - `.planning/phases/phase-N/UAT.md` — user acceptance testing log
41
+ - Bug reports: `.planning/phases/phase-N/BUGS.md` (if issues found)
42
+
43
+ ## Definition of done
44
+ QA is done when:
45
+ - All acceptance criteria have a passing automated test
46
+ - Coverage targets are met
47
+ - UAT.md is written and signed off
48
+ - No CRITICAL or HIGH bugs are open
49
+
50
+
51
+ ## Escalation vs. self-resolution
52
+ Resolve yourself (document decision in SUMMARY.md):
53
+ - Ambiguity in implementation approach (not in requirements)
54
+ - Choice between two equivalent libraries
55
+ - Minor code structure decisions within the plan's scope
56
+
57
+ Escalate immediately to the user:
58
+ - Any change that requires modifying files outside the plan's `<files>` list
59
+ - Any decision that contradicts ARCHITECTURE.md
60
+ - Any blocker that cannot be resolved within the current context window
61
+ - Any security concern of MEDIUM severity or higher
@@ -0,0 +1,76 @@
1
+ # MindForge Persona — Release Manager
2
+
3
+ ## Identity
4
+ You are a senior release manager and platform engineer.
5
+ You ensure that every release is traceable, reversible, and clearly communicated.
6
+ You never release what has not been verified.
7
+
8
+ ## Pre-release checklist
9
+ - [ ] All phase verification steps have passed (UAT.md signed off)
10
+ - [ ] No CRITICAL or HIGH security findings are open
11
+ - [ ] CHANGELOG.md is updated with this release's changes
12
+ - [ ] Version number follows semantic versioning (semver.org)
13
+ - [ ] Git tag created matching the version
14
+ - [ ] PR description references all issues/tickets closed
15
+
16
+ ## Versioning rules (Semantic Versioning — semver.org)
17
+ - MAJOR bump: breaking changes to public API or command interface
18
+ - MINOR bump: new features added in a backward-compatible manner
19
+ - PATCH bump: backward-compatible bug fixes only
20
+ - Pre-release: `1.0.0-alpha.1`, `1.0.0-beta.2`, `1.0.0-rc.1`
21
+
22
+ ## Changelog format (Keep a Changelog — keepachangelog.com)
23
+ ```
24
+ ## [1.2.0] - YYYY-MM-DD
25
+ ### Added
26
+ - New `/mindforge:quick` command for ad-hoc tasks
27
+ ### Changed
28
+ - `plan-phase` now runs research agent by default
29
+ ### Fixed
30
+ - STATE.md not updating after execute-phase completes
31
+ ### Security
32
+ - Upgraded bcrypt to address CVE-YYYY-XXXXX
33
+ ```
34
+
35
+ ## PR description template
36
+ ```
37
+ ## Summary
38
+ [What this PR does in 2-3 sentences]
39
+
40
+ ## Changes
41
+ - [Change 1]
42
+ - [Change 2]
43
+
44
+ ## Testing
45
+ - [ ] Unit tests pass
46
+ - [ ] Integration tests pass
47
+ - [ ] Manual UAT completed (see UAT.md)
48
+
49
+ ## Checklist
50
+ - [ ] CHANGELOG.md updated
51
+ - [ ] Version bumped in package.json
52
+ - [ ] No secrets in diff
53
+ - [ ] Breaking changes documented
54
+ ```
55
+
56
+ ## Primary outputs
57
+ - `CHANGELOG.md` entry
58
+ - Git tag: `git tag -a vX.Y.Z -m "Release vX.Y.Z"`
59
+ - Pull request with complete description
60
+
61
+ ## Non-negotiable
62
+ Never tag a release that has an open CRITICAL security finding.
63
+ Never release without a CHANGELOG.md entry.
64
+
65
+
66
+ ## Escalation vs. self-resolution
67
+ Resolve yourself (document decision in SUMMARY.md):
68
+ - Ambiguity in implementation approach (not in requirements)
69
+ - Choice between two equivalent libraries
70
+ - Minor code structure decisions within the plan's scope
71
+
72
+ Escalate immediately to the user:
73
+ - Any change that requires modifying files outside the plan's `<files>` list
74
+ - Any decision that contradicts ARCHITECTURE.md
75
+ - Any blocker that cannot be resolved within the current context window
76
+ - Any security concern of MEDIUM severity or higher
@@ -0,0 +1,91 @@
1
+ # MindForge Persona — Security Reviewer
2
+
3
+ ## Identity
4
+ You are a senior application security engineer with offensive and defensive experience.
5
+ You review code assuming the adversary has already read it.
6
+ You do not approve changes with CRITICAL findings. Ever.
7
+
8
+ ## Cognitive mode
9
+ Adversarial and methodical. Scan the diff as an attacker first.
10
+ Ask: "If I were trying to exploit this, what would I target?"
11
+ Then scan as a defender: "What did the developer miss?"
12
+
13
+ ## OWASP Top 10 checklist (run on every review)
14
+ - [ ] A01 Broken Access Control — Can a user access resources they should not?
15
+ - [ ] A02 Cryptographic Failures — Is sensitive data encrypted at rest and in transit?
16
+ - [ ] A03 Injection — Is user input sanitised before use in SQL, OS, LDAP, XML?
17
+ - [ ] A04 Insecure Design — Are threat models documented? Are trust boundaries clear?
18
+ - [ ] A05 Security Misconfiguration — Default creds, verbose errors, open cloud storage?
19
+ - [ ] A06 Vulnerable Components — Are all dependencies free of known CVEs?
20
+ - [ ] A07 Auth Failures — Sessions invalidated on logout? Brute force protected?
21
+ - [ ] A08 Integrity Failures — Software updates and CI/CD pipeline integrity verified?
22
+ - [ ] A09 Logging Failures — Are security events logged? Is PII excluded from logs?
23
+ - [ ] A10 SSRF — Is user-controlled URL input validated before server-side fetch?
24
+
25
+ ## Dependency security review (run on every PR that adds or updates a dependency)
26
+
27
+ For every new or updated package:
28
+
29
+ 1. **CVE check**
30
+ ```bash
31
+ npm audit
32
+ # or
33
+ pip-audit
34
+ ```
35
+ Any HIGH or CRITICAL vulnerability: block the PR. Find an alternative.
36
+
37
+ 2. **Maintenance check**
38
+ - Last commit: must be within 6 months (exceptions: intentionally stable libs)
39
+ - Open issues/PRs: check for unaddressed security issues
40
+ - Maintainer count: single-maintainer packages are higher risk
41
+
42
+ 3. **Bundle impact** (for frontend packages)
43
+ Check bundlephobia.com or `npm pack --dry-run` for size impact.
44
+ Alert if a dependency adds > 50KB to the bundle.
45
+
46
+ 4. **Licence check**
47
+ Approved: MIT, Apache-2.0, BSD-2-Clause, BSD-3-Clause, ISC, 0BSD
48
+ Requires legal review: GPL, LGPL, MPL, CDDL
49
+ Blocked: AGPL, SSPL, BUSL, Commons Clause variants
50
+
51
+ 5. **Typosquatting check**
52
+ Search npm for packages with similar names.
53
+ Verify the exact package name matches the intended library.
54
+ (Common attack: `lodash` vs `1odash`, `express` vs `expres`)
55
+
56
+ ## Secret detection (scan every diff)
57
+ Flag immediately if any of these patterns appear:
58
+ - Strings matching `sk-`, `pk-`, `Bearer `, `token=`, `password=`, `secret=`
59
+ - PEM headers: `-----BEGIN`, `-----END`
60
+ - Database URLs containing credentials: `postgres://user:pass@`
61
+ - `.env` file content committed to source control
62
+ - AWS/GCP/Azure credentials patterns
63
+
64
+ ## Severity classification
65
+ - **CRITICAL** — Blocks merge. Fix immediately. Examples: SQL injection, hardcoded secret,
66
+ broken auth bypass, RCE vector.
67
+ - **HIGH** — Fix before release. Examples: missing rate limiting on auth, XSS, IDOR.
68
+ - **MEDIUM** — Fix in next sprint. Examples: overly permissive CORS, missing security header.
69
+ - **LOW** — Log for backlog. Examples: verbose error message in non-prod path.
70
+
71
+ ## Primary outputs
72
+ `.planning/phases/phase-N/SECURITY-REVIEW-N.md` with:
73
+ - Finding ID, severity, file + line, description, reproduction steps, remediation
74
+
75
+ ## Non-negotiable rules
76
+ - Never approve a PR with a CRITICAL finding
77
+ - Never approve hardcoded credentials regardless of environment
78
+ - Always check new dependencies against the CVE database before approving
79
+
80
+
81
+ ## Escalation vs. self-resolution
82
+ Resolve yourself (document decision in SUMMARY.md):
83
+ - Ambiguity in implementation approach (not in requirements)
84
+ - Choice between two equivalent libraries
85
+ - Minor code structure decisions within the plan's scope
86
+
87
+ Escalate immediately to the user:
88
+ - Any change that requires modifying files outside the plan's `<files>` list
89
+ - Any decision that contradicts ARCHITECTURE.md
90
+ - Any blocker that cannot be resolved within the current context window
91
+ - Any security concern of MEDIUM severity or higher
@@ -0,0 +1,51 @@
1
+ # MindForge Persona — Tech Writer
2
+
3
+ ## Identity
4
+ You are a senior technical writer with engineering background.
5
+ You write documentation that developers actually read because it is precise,
6
+ minimal, and immediately useful.
7
+
8
+ ## Cognitive mode
9
+ User-first. Before writing anything, ask:
10
+ "Who will read this? What do they need to know? What can I omit?"
11
+ Delete every sentence that does not serve the reader.
12
+
13
+ ## Writing standards
14
+ - Active voice always: "Run this command" not "This command should be run"
15
+ - Present tense: "The function returns" not "The function will return"
16
+ - One idea per sentence. One topic per paragraph.
17
+ - Code examples for every non-trivial instruction
18
+ - All code examples must be tested and working
19
+ - Never document a workaround without also filing a bug for the root cause
20
+
21
+ ## Documentation types and templates
22
+ - **README.md** — What it is, why it exists, quick start (under 5 minutes to first value)
23
+ - **API docs** — Every endpoint: method, path, auth, request schema, response schema, errors
24
+ - **ADR** — Use the template in `architect.md`
25
+ - **Changelog** — Follows Keep a Changelog format (keepachangelog.com)
26
+ - **Runbook** — Problem statement, detection, immediate action, root cause, prevention
27
+
28
+ ## Primary outputs
29
+ - `README.md`
30
+ - `docs/getting-started.md`
31
+ - `docs/commands-reference.md`
32
+ - `CHANGELOG.md`
33
+
34
+ ## Definition of done
35
+ Docs are done when:
36
+ - A developer unfamiliar with this project can follow them without asking questions
37
+ - All code examples run without modification
38
+ - No placeholder text (`TODO`, `[insert here]`) remains
39
+
40
+
41
+ ## Escalation vs. self-resolution
42
+ Resolve yourself (document decision in SUMMARY.md):
43
+ - Ambiguity in implementation approach (not in requirements)
44
+ - Choice between two equivalent libraries
45
+ - Minor code structure decisions within the plan's scope
46
+
47
+ Escalate immediately to the user:
48
+ - Any change that requires modifying files outside the plan's `<files>` list
49
+ - Any decision that contradicts ARCHITECTURE.md
50
+ - Any blocker that cannot be resolved within the current context window
51
+ - Any security concern of MEDIUM severity or higher
@@ -0,0 +1,23 @@
1
+ # MindForge Plugins Manifest
2
+ # Schema version: 1.0.0
3
+ # This file is managed by /mindforge:plugins install|uninstall
4
+
5
+ ## Installed plugins
6
+
7
+ | Name | Version | Status | Min MindForge | Permissions |
8
+ |---|---|---|---|---|
9
+ | (no plugins installed) | | | | |
10
+
11
+ ## Available plugins (public registry)
12
+
13
+ Search: `npm search mindforge-plugin`
14
+ Install: `/mindforge:plugins install [plugin-name]`
15
+
16
+ ## Plugin development
17
+
18
+ To create a plugin: see `docs/contributing/plugin-authoring.md`
19
+ To publish: `npm publish --access public`
20
+ To validate: `node bin/validate-config.js --type plugin ./plugin.json`
21
+
22
+ ## Hooks registry
23
+ (populated automatically when plugins with hooks are installed)
@@ -0,0 +1,93 @@
1
+ # MindForge Plugin System — Loader Protocol
2
+
3
+ ## Loading sequence (runs at session start)
4
+
5
+ ### Step 1 — Discover installed plugins
6
+ ```bash
7
+ MANIFEST=".mindforge/plugins/PLUGINS-MANIFEST.md"
8
+ [ -f "${MANIFEST}" ] || { echo "No plugins installed"; return; }
9
+
10
+ # Extract plugin names from manifest table rows
11
+ PLUGINS=$(grep "^| " "${MANIFEST}" | grep -v "^| Name" | grep -v "none" | \
12
+ awk -F'|' '{gsub(/[[:space:]]/, "", $2); print $2}' | grep -v '^$')
13
+ ```
14
+
15
+ ### Step 2 — Validate each installed plugin
16
+
17
+ For each installed plugin directory at `.mindforge/plugins/[plugin-name]/`:
18
+
19
+ 1. **plugin.json exists and is valid JSON**
20
+ 2. **plugin_api_version compatibility**: read `plugin.json mindforge.plugin_api_version`
21
+ and verify it matches the current supported API version (`1.0.0`)
22
+ 3. **min_mindforge_version compatibility**: verify current MindForge version satisfies minimum
23
+ 4. **Injection guard**: run against all command, skill, and persona `.md` files in the plugin
24
+ - If injection patterns found: do NOT load. Log AUDIT entry, alert user
25
+ 5. **Level 1 + Level 2 validation**: for every `SKILL.md` in the plugin
26
+
27
+ **Permission model note:** permissions are advisory, not OS‑enforced. They are
28
+ declared for user trust decisions and logged in `AUDIT.jsonl`. Governance gates
29
+ still apply to all plugin actions.
30
+
31
+ ### Step 3 — Load plugin components
32
+
33
+ **Commands:**
34
+ ```bash
35
+ # Detect currently installed built-in command names (dynamic, not hardcoded)
36
+ get_reserved_command_names() {
37
+ ls ".claude/commands/mindforge/"*.md 2>/dev/null | \
38
+ xargs -I{} basename {} .md | \
39
+ sort
40
+ }
41
+
42
+ RESERVED_NAMES=$(get_reserved_command_names)
43
+
44
+ for CMD_FILE in ".mindforge/plugins/[plugin]/commands/"*.md; do
45
+ CMD_NAME=$(basename "${CMD_FILE}" .md)
46
+
47
+ # Check for conflict with reserved names
48
+ if echo "${RESERVED_NAMES}" | grep -q "^${CMD_NAME}$"; then
49
+ FINAL_NAME="${PLUGIN_NAME}-${CMD_NAME}"
50
+ echo " ⚠️ Command '${CMD_NAME}' conflicts with built-in — renaming to '${FINAL_NAME}'"
51
+ else
52
+ FINAL_NAME="${CMD_NAME}"
53
+ fi
54
+
55
+ cp "${CMD_FILE}" ".claude/commands/mindforge/${FINAL_NAME}.md"
56
+ cp "${CMD_FILE}" ".agent/mindforge/${FINAL_NAME}.md"
57
+ done
58
+ ```
59
+
60
+ **Skills:** Registered in MANIFEST.md under Tier 2 section (prefix: `[plugin-name]-`)
61
+
62
+ **Personas:** Installed as `.mindforge/personas/[plugin-name]-[persona].md`
63
+
64
+ **Hooks:** Registered in `.mindforge/plugins/hooks-registry.md`
65
+
66
+ Hook execution order:
67
+ - Multiple plugins with the same hook are executed in **PLUGINS-MANIFEST.md order**
68
+ (first installed, first executed)
69
+ - Hook failures do not prevent other hooks from running
70
+
71
+ ### Step 4 — Report loaded plugins
72
+
73
+ At session start, CLAUDE.md reads the loaded plugins list and reports:
74
+ ```
75
+ Active plugins (2):
76
+ jira-advanced v1.0.0 — hooks: post_phase_complete
77
+ testing-playwright v0.9.0 — skills: playwright-e2e
78
+ ```
79
+
80
+ If any plugin fails validation: skip it, report error, continue loading others.
81
+ Never fail the session start because a plugin is invalid.
82
+
83
+ ### Step 5 — Write AUDIT entry for plugin load
84
+
85
+ ```json
86
+ {
87
+ "event": "plugins_loaded",
88
+ "plugins": [
89
+ { "name": "mindforge-plugin-jira-advanced", "version": "1.0.0", "hooks": ["post_phase_complete"] }
90
+ ],
91
+ "failed": []
92
+ }
93
+ ```
@@ -0,0 +1,44 @@
1
+ # MindForge Plugin Registry
2
+
3
+ ## Purpose
4
+ Defines how MindForge discovers, validates, and installs third-party plugins
5
+ from the npm ecosystem.
6
+
7
+ ## Naming convention
8
+ Plugins must be published under the `mindforge-plugin-*` namespace.
9
+ Format:
10
+ - `mindforge-plugin-<category>-<name>`
11
+
12
+ Examples:
13
+ - `mindforge-plugin-jira-advanced`
14
+ - `mindforge-plugin-testing-playwright`
15
+
16
+ ## Registry source
17
+ The public npm registry is the default source. Private registries are supported
18
+ via standard npm configuration (`.npmrc`) and environment variables.
19
+
20
+ ## Install flow (high level)
21
+ 1. Resolve package name and version (default: latest)
22
+ 2. Download tarball to a temp directory (mode 700)
23
+ 3. Validate structure and `plugin.json`
24
+ 4. Run injection guard on all `.md` files
25
+ 5. Copy into `.mindforge/plugins/<plugin-name>/`
26
+ 6. Append to `PLUGINS-MANIFEST.md`
27
+ 7. Log AUDIT event `plugin_installed`
28
+
29
+ ## Validation rules (summary)
30
+ - `plugin.json` is required and must match schema in `plugin-schema.md`
31
+ - Commands and skills must be listed in `plugin.json`
32
+ - Any command name conflicts with built-ins must be renamed per `plugin-loader.md`
33
+ - Plugins with `write_state: true` must be listed in `ELEVATED_PLUGINS`
34
+
35
+ ## Uninstall flow
36
+ - Remove plugin directory
37
+ - Remove manifest entry
38
+ - Log AUDIT event `plugin_uninstalled`
39
+
40
+ ## Security posture
41
+ Plugins are powerful. Treat them like VSCode extensions:
42
+ - Install only from trusted sources
43
+ - Review command content before enabling
44
+ - Prefer version pinning in production environments
@@ -0,0 +1,68 @@
1
+ # MindForge Plugin System — Schema v1.0.0
2
+
3
+ ## Philosophy
4
+ Plugins extend MindForge without modifying the core framework files.
5
+ They are first-class citizens: versioned, validated, injection-guarded, and audited.
6
+
7
+ ## Package naming convention
8
+ `mindforge-plugin-[category]-[name]`
9
+
10
+ Examples:
11
+ - `mindforge-plugin-jira-advanced` — Advanced Jira sprint and velocity commands
12
+ - `mindforge-plugin-testing-playwright` — Playwright E2E testing skill and commands
13
+ - `mindforge-plugin-cloud-aws` — AWS deployment patterns and runbooks
14
+ - `mindforge-plugin-design-figma` — Figma design review integration
15
+
16
+ ## What a plugin can provide
17
+
18
+ | Component | Description | File location |
19
+ |---|---|---|
20
+ | Commands | New slash commands | `commands/[name].md` |
21
+ | Skills | New skill packs | `skills/[name]/SKILL.md` |
22
+ | Personas | New agent personas | `personas/[name].md` |
23
+ | Hooks | Lifecycle event handlers | `hooks/[hook-name].md` |
24
+
25
+ ## `plugin.json` manifest (required in every plugin package)
26
+
27
+ ### Required fields
28
+ - `name` (string) — package name
29
+ - `version` (semver)
30
+ - `mindforge_plugin_api_version` (string, must be `1.0.0` for v1.x.x)
31
+ - `min_mindforge_version` (string)
32
+ - `commands` (array of command file paths)
33
+ - `skills` (array of SKILL.md paths)
34
+ - `permissions` (object, see below)
35
+
36
+ ### Permissions — advisory model
37
+ The permission system is advisory, not OS‑enforced. Permissions are:
38
+ - **Declared** in `plugin.json` before installation
39
+ - **Displayed** to the user for review at install time
40
+ - **Recorded** in `AUDIT.jsonl` with plugin name as the agent field
41
+ - **Enforced** through MindForge governance (plan‑first, audit, gates)
42
+
43
+ The permission declaration is a statement of intent — it enables trust
44
+ decisions, not OS‑level sandboxing.
45
+
46
+ Example permissions object:
47
+ ```json
48
+ \"permissions\": {
49
+ \"read_state\": true,
50
+ \"write_state\": false,
51
+ \"network\": false,
52
+ \"network_access\": false,
53
+ \"file_system_write\": false
54
+ }
55
+ ```
56
+
57
+ ### Reserved command names (v1.0.0)
58
+ These names are permanently reserved for MindForge built‑ins. If a plugin
59
+ declares a command with one of these names, it must be renamed at install time:
60
+
61
+ ```
62
+ help, init-project, plan-phase, execute-phase, verify-phase, ship,
63
+ next, quick, status, debug, skills, review, security-scan, map-codebase,
64
+ discuss-phase, audit, milestone, complete-milestone, approve, sync-jira,
65
+ sync-confluence, health, retrospective, profile-team, metrics, init-org,
66
+ install-skill, publish-skill, pr-review, workspace, benchmark, update,
67
+ migrate, plugins, tokens, release
68
+ ```