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,91 @@
1
+ ---
2
+ name: documentation
3
+ version: 1.0.0
4
+ min_mindforge_version: 0.1.0
5
+ status: stable
6
+ triggers: README, docs, documentation, changelog, CHANGELOG, guide, getting started, API docs, comment, JSDoc, docstring, explain, describe
7
+ ---
8
+
9
+ # Skill — Documentation
10
+
11
+ ## When this skill activates
12
+ Any task involving writing or updating documentation, comments, or guides.
13
+ Switch to `tech-writer.md` persona when this skill activates.
14
+
15
+ ## Mandatory actions when this skill is active
16
+
17
+ ### Before writing documentation
18
+ 1. Identify the target audience and their goal.
19
+ 2. Gather the exact commands or steps to reproduce the task.
20
+
21
+ ### During writing
22
+ - Use clear headings and short paragraphs.
23
+ - Provide working examples where possible.
24
+ - Avoid assumptions about prior knowledge.
25
+
26
+ ### After writing
27
+ - Verify examples and commands are correct.
28
+ - Ensure the document is linked from README or relevant index.
29
+
30
+ ## README.md structure (for every project)
31
+ ```markdown
32
+ # Project Name
33
+
34
+ One sentence that says exactly what this does.
35
+
36
+ ## Quick start
37
+ [Fewest possible steps to get from zero to first value — under 5 minutes]
38
+
39
+ ## Installation
40
+ [Step by step — no assumed knowledge]
41
+
42
+ ## Usage
43
+ [The most common use case with a working code example]
44
+
45
+ ## Commands / API reference
46
+ [Link to docs/commands-reference.md or inline if short]
47
+
48
+ ## Configuration
49
+ [All environment variables with type, default, and description]
50
+
51
+ ## Contributing
52
+ [How to run tests, branch naming, PR process]
53
+
54
+ ## Licence
55
+ ```
56
+
57
+ ## Code comment standards
58
+ - Comment WHY, not WHAT. The code shows what. Comments explain intent.
59
+ - ✅ `// We use bcrypt cost 14 here because this is the admin auth path — speed is not critical`
60
+ - ❌ `// Hash the password`
61
+ - Remove TODO comments before committing to main. Create a ticket instead.
62
+ - Every exported function needs a JSDoc/docstring with: description, params, return, throws.
63
+
64
+ ## JSDoc template
65
+ ```typescript
66
+ /**
67
+ * Verifies a JWT access token and returns the decoded payload.
68
+ *
69
+ * @param token - The raw JWT string from the Authorization header
70
+ * @returns Decoded token payload containing userId and role
71
+ * @throws {TokenExpiredError} If the token has passed its expiry time
72
+ * @throws {InvalidTokenError} If the token signature is invalid
73
+ */
74
+ export function verifyAccessToken(token: string): TokenPayload { ... }
75
+ ```
76
+
77
+ ## Changelog discipline
78
+ Every user-visible change must appear in CHANGELOG.md before release.
79
+ Format follows Keep a Changelog (keepachangelog.com).
80
+ Categories: Added, Changed, Deprecated, Removed, Fixed, Security.
81
+
82
+ ## Self-check before task completion
83
+
84
+ Before marking a task done when this skill was active:
85
+
86
+ - [ ] Did I read the full SKILL.md before starting? (Not just the triggers)
87
+ - [ ] Did I activate the corresponding persona file?
88
+ - [ ] Did I apply every mandatory action in this skill, not just the ones
89
+ I remembered off the top of my head?
90
+ - [ ] If this skill produced an output file (review, security report, etc.),
91
+ has that file been written to the correct path?
@@ -0,0 +1,180 @@
1
+ ---
2
+ name: incident-response
3
+ version: 1.0.0
4
+ min_mindforge_version: 0.3.0
5
+ status: stable
6
+ triggers: incident, outage, downtime, alert, pagerduty, oncall, on-call, postmortem, post-mortem, runbook, degraded, unavailable, error rate, p0, P0, p1, P1, rollback, hotfix, revert, emergency, spike, anomaly, SLA, SLO, SLI
7
+ ---
8
+
9
+ # Skill — Incident Response Engineering
10
+
11
+ ## When this skill activates
12
+ Any task involving incident runbooks, monitoring setup, alerting configuration,
13
+ hotfixes, rollbacks, or post-incident review documentation.
14
+
15
+ ## Mandatory actions when this skill is active
16
+
17
+ ### Before making changes
18
+ 1. Classify severity (P0-P3) and confirm scope of impact.
19
+ 2. Locate or create the relevant runbook.
20
+
21
+ ### During incident response
22
+ - Keep a timeline of actions taken and outcomes.
23
+ - Prefer reversible mitigations (rollback, feature flag) before invasive changes.
24
+ - Automated mitigations require explicit human approval for P0/P1 incidents.
25
+
26
+ ### After mitigation
27
+ - Capture root cause and remediation steps.
28
+ - Write or update the postmortem within 48 hours.
29
+
30
+ ## Incident severity classification
31
+
32
+ | Level | Definition | Response time | Examples |
33
+ |---|---|---|---|
34
+ | P0 (Critical) | Complete service outage affecting all users | Immediate (24/7) | Site down, database unreachable, payment processing failed |
35
+ | P1 (High) | Major feature broken for all/most users | < 15 minutes | Login broken, core feature unavailable |
36
+ | P2 (Medium) | Feature degraded, workaround exists | < 2 hours | Slow API, intermittent errors for subset of users |
37
+ | P3 (Low) | Minor issue, cosmetic or edge case | Next business day | UI glitch, non-critical feature broken |
38
+
39
+ ## Runbook template (write one for every critical path)
40
+
41
+ File: `docs/runbooks/[service-name]-[issue-type].md`
42
+
43
+ ```markdown
44
+ # Runbook: [Service/Feature] — [Issue Type]
45
+
46
+ ## Overview
47
+ **Service:** [name]
48
+ **Symptom:** [what the monitoring alert describes]
49
+ **Impact:** [who is affected and how]
50
+ **Severity:** P[0-3]
51
+
52
+ ## Detection
53
+ **Alert:** [alert name and source — PagerDuty, Datadog, etc.]
54
+ **Metrics to check:**
55
+ - [metric 1]: normal range [X-Y], alert threshold [Z]
56
+ - [metric 2]: normal range [X-Y], alert threshold [Z]
57
+
58
+ ## Immediate actions (first 5 minutes)
59
+ 1. Acknowledge the alert in [alerting tool]
60
+ 2. Check [dashboard URL] for current status
61
+ 3. [Specific first diagnostic step]
62
+ 4. [Specific second diagnostic step]
63
+ 5. If confirmed P0/P1: page the on-call lead
64
+
65
+ ## Diagnosis steps
66
+ 1. Check [log location] for errors: `grep -E "ERROR|FATAL" [log file] | tail -50`
67
+ 2. Check database connectivity: `[connection test command]`
68
+ 3. Check external dependencies: `curl -I [dependency health URL]`
69
+ 4. Check recent deployments: `git log --oneline -5`
70
+
71
+ ## Mitigation options (in order of preference)
72
+ 1. **Restart the service:** `[restart command]` — use if: [condition]
73
+ 2. **Scale horizontally:** `[scale command]` — use if: [condition]
74
+ 3. **Rollback deployment:** `[rollback command]` — use if: [condition]
75
+ 4. **Failover to backup:** `[failover steps]` — use if: [condition]
76
+ 5. **Feature flag off:** `[flag command]` — use if: [condition]
77
+
78
+ ## Communication template
79
+ **Internal Slack:** "@oncall [P0] [service] is [symptom]. Investigating. ETA: [X] min"
80
+ **Status page:** "[Service] is currently experiencing [symptom]. We are investigating."
81
+ **Customer email:** [only for P0 lasting > 30 minutes]
82
+
83
+ ## Post-incident (after mitigation)
84
+ 1. Update status page: "Resolved. [Brief cause]."
85
+ 2. Write postmortem within 48 hours (see template below)
86
+ 3. Create follow-up tickets for permanent fix
87
+
88
+ ## Escalation path
89
+ L1 On-call → L2 Senior engineer → L3 Engineering lead → L4 CTO
90
+ Escalate when: unable to mitigate within [X] minutes or if [condition]
91
+ ```
92
+
93
+ ## Postmortem template (blameless — always)
94
+
95
+ File: `docs/postmortems/[YYYY-MM-DD]-[short-title].md`
96
+
97
+ ```markdown
98
+ # Postmortem: [Title]
99
+ **Date of incident:** [ISO-8601]
100
+ **Duration:** [start] → [end] ([X] minutes)
101
+ **Severity:** P[0-3]
102
+ **Author:** [human owner who wrote this]
103
+ **Reviewed by:** [who reviewed]
104
+ **AI assistance:** [if used, list tool and confirm human approval]
105
+
106
+ ## Summary
107
+ [2-3 sentences: what happened, what the impact was, what resolved it]
108
+
109
+ ## Timeline (UTC)
110
+ | Time | Event |
111
+ |---|---|
112
+ | HH:MM | [Alert fired / Issue observed] |
113
+ | HH:MM | [First responder acknowledged] |
114
+ | HH:MM | [Root cause identified] |
115
+ | HH:MM | [Mitigation applied] |
116
+ | HH:MM | [Incident resolved] |
117
+
118
+ ## Root cause
119
+ [One paragraph describing the technical root cause. Factual, no blame.]
120
+
121
+ ## Impact
122
+ - Users affected: [number or percentage]
123
+ - Duration: [X] minutes
124
+ - Data loss: Yes / No (if yes: what data, how much)
125
+ - Revenue impact: [estimate if known]
126
+ - SLA breach: Yes / No
127
+
128
+ ## What went well
129
+ - [Thing 1 that helped: good alert, good runbook, fast diagnosis]
130
+ - [Thing 2]
131
+
132
+ ## What went poorly
133
+ - [Thing 1 that slowed resolution: no runbook, missed alert, unclear owner]
134
+ - [Thing 2]
135
+
136
+ ## Action items
137
+ | Action | Owner | Due date | Priority |
138
+ |---|---|---|---|
139
+ | [Preventive action 1] | [name] | [date] | P[1-3] |
140
+ | [Detection improvement] | [name] | [date] | P[1-3] |
141
+
142
+ ## Lessons learned
143
+ [What systemic changes does this incident motivate?]
144
+ ```
145
+
146
+ ## Monitoring standards (write monitoring alongside every feature)
147
+
148
+ Every new feature must ship with:
149
+ 1. **Health check endpoint:** `GET /health` returns 200 when service is operational
150
+ 2. **Key metrics instrumented at the service boundary:** request count, error rate, p95 latency, queue depth
151
+ 3. **Alerts defined:** at minimum:
152
+ - Error rate > 1% for 5 minutes → P1 alert
153
+ - p95 latency > [NFR threshold] for 5 minutes → P2 alert
154
+ - Zero requests for 5 minutes (if expected traffic) → P1 alert
155
+ 4. **Runbook linked in alert:** every alert description links to its runbook
156
+
157
+ ## Hotfix protocol
158
+
159
+ When a production issue requires an immediate code fix:
160
+
161
+ ```bash
162
+ # 1. Create hotfix branch from production tag
163
+ git checkout -b hotfix/[description] v[last-release-tag]
164
+
165
+ # 2. Apply the minimal fix — do not add anything else
166
+ # 3. Write or update the test that catches this bug
167
+ # 4. Verify the fix
168
+ npm test
169
+
170
+ # 5. PR to main AND to the release branch
171
+ # 6. Deploy to production immediately after approval
172
+ # 7. Tag the hotfix release
173
+ git tag -a v[X.Y.Z+1] -m "Hotfix: [description]"
174
+ ```
175
+
176
+ ## Self-check before task completion
177
+ - [ ] Severity classified and communicated
178
+ - [ ] Runbook updated or created
179
+ - [ ] Timeline captured in postmortem
180
+ - [ ] Follow-up actions created and assigned
@@ -0,0 +1,120 @@
1
+ ---
2
+ name: performance
3
+ version: 1.0.0
4
+ min_mindforge_version: 0.3.0
5
+ status: stable
6
+ triggers: performance, latency, throughput, cache, caching, slow, optimise, optimize, bottleneck, profil, load time, bundle size, memory, CPU, query time, response time, timeout, rate limit, debounce, throttle, memoize, lazy load, code split, tree shake, LCP, CLS, FID, INP, Core Web Vitals, lighthouse
7
+ ---
8
+
9
+ # Skill — Performance Engineering
10
+
11
+ ## When this skill activates
12
+ Any task involving response time, resource usage, bundle size, database query
13
+ performance, or user-perceived load time metrics.
14
+
15
+ ## Mandatory actions when this skill is active
16
+
17
+ ### Before writing any code
18
+ 1. Identify what is being measured. Never optimise without a baseline.
19
+ 2. Read the relevant metric from REQUIREMENTS.md (NFRs):
20
+ - API response time target (e.g., p95 < 200ms)
21
+ - Page load time target (e.g., LCP < 2.5s)
22
+ - Bundle size budget (e.g., < 200KB gzipped initial JS)
23
+ 3. If no NFR is defined: ask the user to define one before optimising.
24
+ "Optimisation without a target is premature optimisation."
25
+
26
+ ### Backend performance standards
27
+
28
+ **Database queries:**
29
+ - Every query must use indexes for its WHERE, JOIN, and ORDER BY columns
30
+ - Detect N+1 queries: if fetching a list then querying per item, use JOIN or batch fetch
31
+ - Pagination: always paginate list endpoints (default page size: 20, max: 100)
32
+ - Avoid `SELECT *` — select only the columns needed
33
+ - Use `EXPLAIN ANALYZE` (PostgreSQL) or `EXPLAIN` (MySQL) to verify query plans
34
+ - Cache repeated identical queries: Redis with appropriate TTL
35
+
36
+ **API response time:**
37
+ - Default targets (override with NFRs): p50 < 100ms, p95 < 500ms, p99 < 2000ms for most endpoints
38
+ - Slow endpoints (> 500ms): must be async (return immediately, use webhooks or polling)
39
+ - Database connection pooling: always use a connection pool (never open/close per request)
40
+ - Pool sizing: start with `min=2`, `max=CPU * 2 + 2` per instance, then tune to DB limits and workload
41
+ - Serverless: prefer a DB proxy (PgBouncer, RDS Proxy) or driver-level pooling that supports bursty concurrency
42
+ - Avoid synchronous I/O in request handlers
43
+ - Cache hot DB reads at the query or service layer when data is read-heavy and tolerant of staleness
44
+
45
+ **Caching strategy:**
46
+ Defaults below — tune per data freshness requirements and invalidate on writes.
47
+ | Data type | Recommended cache | TTL |
48
+ |---|---|---|
49
+ | User session data | Redis | 24 hours |
50
+ | Computed aggregates | Redis | 1–5 minutes |
51
+ | Static reference data | Redis | 1 hour |
52
+ | User-specific data | Redis with user key | 15 minutes |
53
+ | API responses | HTTP Cache-Control | depends on freshness needs |
54
+
55
+ ### Frontend performance standards
56
+
57
+ **Bundle size budgets:**
58
+ | Asset | Budget (gzipped) |
59
+ |---|---|
60
+ | Initial JavaScript | < 200KB |
61
+ | Initial CSS | < 50KB |
62
+ | Per-route chunk | < 100KB |
63
+ | Images (hero) | < 200KB WebP |
64
+ | Fonts | < 50KB per weight |
65
+
66
+ **Core Web Vitals targets (Google's thresholds):**
67
+ | Metric | Good | Needs improvement | Poor |
68
+ |---|---|---|---|
69
+ | LCP (Largest Contentful Paint) | < 2.5s | 2.5–4s | > 4s |
70
+ | INP (Interaction to Next Paint) | < 200ms | 200–500ms | > 500ms |
71
+ | CLS (Cumulative Layout Shift) | < 0.1 | 0.1–0.25 | > 0.25 |
72
+
73
+ **Implementation patterns:**
74
+ - Route-based code splitting: every route is its own chunk
75
+ - Lazy load non-critical components: `React.lazy()` + `Suspense`
76
+ - Image optimisation: use `next/image` or equivalent. Always specify `width`/`height`.
77
+ - Font loading: `font-display: swap`. Preload critical fonts.
78
+ - Avoid layout thrashing: batch DOM reads before DOM writes
79
+ - Debounce user input handlers (search: 300ms, resize: 100ms)
80
+ - Memoize expensive computations: `useMemo` / `useCallback` where measured
81
+
82
+ **SSR/SSG guidance:**
83
+ - Prefer SSG for marketing and content pages with low data volatility
84
+ - Prefer SSR for personalized data, but watch TTFB and cache at the edge where possible
85
+ - For hybrid apps, stream server components or HTML where supported to reduce TTFB and improve LCP
86
+
87
+ ### Performance measurement commands
88
+
89
+ ```bash
90
+ # Backend: measure API response time
91
+ curl -w "@curl-format.txt" -o /dev/null -s https://api.example.com/endpoint
92
+
93
+ # Frontend: Lighthouse CI
94
+ npx lighthouse https://example.com --output json --output-path ./lighthouse.json
95
+
96
+ # Bundle analysis
97
+ npx bundle-analyzer stats.json
98
+
99
+ # Node.js profiling
100
+ node --prof app.js
101
+ node --prof-process isolate-*.log > profile.txt
102
+
103
+ # Database: explain query
104
+ EXPLAIN ANALYZE SELECT * FROM users WHERE email = 'test@example.com';
105
+ ```
106
+
107
+ ## Performance review checklist
108
+ Before marking any task done that involves a query or endpoint:
109
+ - [ ] Query uses appropriate indexes (verified with EXPLAIN)
110
+ - [ ] No N+1 queries in list endpoints
111
+ - [ ] Response time verified locally (curl with timing)
112
+ - [ ] No `SELECT *` in production queries
113
+ - [ ] Caching applied where data is read-heavy and tolerance allows staleness
114
+
115
+ ## Output
116
+ Write performance notes to SUMMARY.md:
117
+ - Baseline metric (before)
118
+ - Achieved metric (after)
119
+ - What optimisation was applied
120
+ - Whether the NFR target was met ✅ or still needs work ⚠️
@@ -0,0 +1,83 @@
1
+ ---
2
+ name: security-review
3
+ version: 1.0.0
4
+ min_mindforge_version: 0.1.0
5
+ status: stable
6
+ triggers: auth, authentication, authorisation, authorization, login, logout, password, token, JWT, session, cookie, OAuth, payment, billing, stripe, PII, GDPR, personal data, upload, file upload, credentials, API key, secret, env, environment variable, encryption, hashing, bcrypt, argon2
7
+ ---
8
+
9
+ # Skill — Security Review
10
+
11
+ ## When this skill activates
12
+ Any task involving user identity, data protection, payments, file handling,
13
+ or credential management. When in doubt: load this skill.
14
+
15
+ ## Mandatory actions when this skill is active
16
+
17
+ ### Before writing any code
18
+ 1. Switch to `security-reviewer.md` persona.
19
+ 2. Read the existing code in every file you will touch.
20
+ 3. Identify existing vulnerabilities before introducing new ones.
21
+ 4. Review SECURITY.md for org-specific policies.
22
+
23
+ ### During implementation
24
+ Apply these patterns by default — do not wait to be asked:
25
+
26
+ **Authentication**
27
+ - Passwords: bcrypt (cost ≥ 12) or argon2id. Never MD5, SHA1, or unsalted SHA256.
28
+ - Tokens: cryptographically random, minimum 32 bytes. Use `crypto.randomBytes(32)`.
29
+ - JWT: short expiry (15 min access, 7 day refresh). Store refresh in httpOnly cookie.
30
+ - Sessions: regenerate session ID on privilege escalation. Invalidate on logout.
31
+
32
+ **Authorisation**
33
+ - Check permissions server-side on every request. Never trust client-sent roles.
34
+ - Use deny-by-default. Grant only the minimum required permissions.
35
+ - Log every authorisation failure with user ID, resource, and timestamp.
36
+
37
+ **Input handling**
38
+ - Validate all input at the boundary (route handler). Reject, never sanitise.
39
+ - SQL: parameterised queries only. Never string concatenation.
40
+ - File uploads: validate MIME type server-side. Never trust `Content-Type` header alone.
41
+ - Redirect URLs: whitelist allowed domains. Never redirect to arbitrary user input.
42
+
43
+ **Secrets**
44
+ - Environment variables only. Never in source code. Never in git.
45
+ - Rotate credentials if there is any suspicion of exposure.
46
+ - Use a secrets manager (Vault, AWS Secrets Manager) in production.
47
+
48
+ ### After implementation
49
+ Run the OWASP checklist from `security-reviewer.md` against your own diff.
50
+ Write findings to `.planning/phases/phase-N/SECURITY-REVIEW-N.md`.
51
+
52
+ ## Red lines (stop immediately if you encounter these)
53
+ - A hardcoded secret, password, or API key anywhere in the codebase
54
+ - A SQL query built by string concatenation
55
+ - A password comparison using `==` instead of a constant-time function
56
+ - JWT verification being skipped or using `none` algorithm
57
+ - User input being passed directly to `eval()`, `exec()`, or shell commands
58
+
59
+ ## Self-check before task completion
60
+
61
+ Before marking a task done when this skill was active:
62
+
63
+ - [ ] Did I read the full SKILL.md before starting? (Not just the triggers)
64
+ - [ ] Did I activate the corresponding persona file?
65
+ - [ ] Did I apply every mandatory action in this skill, not just the ones
66
+ I remembered off the top of my head?
67
+ - [ ] If this skill produced an output file (review, security report, etc.),
68
+ has that file been written to the correct path?
69
+
70
+ ## When you find a vulnerability
71
+
72
+ Do not silently fix it and move on. For every vulnerability found:
73
+
74
+ 1. **Stop the current task.**
75
+ 2. **Classify it** using the severity model (CRITICAL / HIGH / MEDIUM / LOW).
76
+ 3. **For CRITICAL or HIGH:** Write to `SECURITY-REVIEW-N.md` immediately.
77
+ Tell the user. Do not proceed with ANY other work until acknowledged.
78
+ 4. **For MEDIUM:** Write to `SECURITY-REVIEW-N.md`. Finish the current task.
79
+ Flag at the end of the SUMMARY.md.
80
+ 5. **For LOW:** Write to `SECURITY-REVIEW-N.md`. Note in SUMMARY.md.
81
+
82
+ The worst security outcome is a vulnerability that was found, noted mentally,
83
+ and then forgotten when context rolled over. Write it down. Always.
@@ -0,0 +1,97 @@
1
+ ---
2
+ name: testing-standards
3
+ version: 1.0.0
4
+ min_mindforge_version: 0.1.0
5
+ status: stable
6
+ triggers: test, tests, spec, unit test, integration test, e2e, coverage, jest, vitest, pytest, mocha, assertion, mock, stub, spy, fixture, TDD
7
+ ---
8
+
9
+ # Skill — Testing Standards
10
+
11
+ ## When this skill activates
12
+ Any task involving writing, running, or improving tests.
13
+
14
+ ## Mandatory actions when this skill is active
15
+
16
+ ### Before writing tests
17
+ 1. Identify the exact behavior to verify.
18
+ 2. Define the failure condition you expect to prevent.
19
+
20
+ ### During testing
21
+ - Use the AAA pattern with clear separation.
22
+ - Keep tests isolated and deterministic.
23
+ - Cover both happy and error paths.
24
+
25
+ ### After testing
26
+ - Run the full test suite.
27
+ - Record any new tests in SUMMARY.md with paths.
28
+
29
+ ## Coverage targets
30
+ | Test type | Target | Measured on |
31
+ |------------------|---------|---------------------------|
32
+ | Unit | 80% | Business logic files only |
33
+ | Integration | 100% | All API endpoints |
34
+ | E2E | 100% | Critical user flows |
35
+
36
+ ## Test structure — AAA pattern (non-negotiable)
37
+ ```typescript
38
+ it('should return 401 when token is expired', async () => {
39
+ // Arrange
40
+ const expiredToken = generateExpiredToken()
41
+ const request = buildRequest({ authorization: `Bearer ${expiredToken}` })
42
+
43
+ // Act
44
+ const response = await handler(request)
45
+
46
+ // Assert
47
+ expect(response.status).toBe(401)
48
+ expect(response.body.error.code).toBe('TOKEN_EXPIRED')
49
+ })
50
+ ```
51
+ Blank line between Arrange, Act, and Assert sections. Always.
52
+
53
+ ## Test naming convention
54
+ Pattern: `should [expected behaviour] when [condition]`
55
+ - ✅ `should return 404 when user does not exist`
56
+ - ✅ `should hash password before storing in database`
57
+ - ❌ `user test 4`
58
+ - ❌ `test password`
59
+
60
+ ## Test isolation requirements
61
+ - Every test must be able to run independently in any order
62
+ - No shared mutable state between tests
63
+ - Database state reset between integration tests (use transactions or test containers)
64
+ - External services mocked (HTTP, email, SMS, payment providers)
65
+ - No sleeps or arbitrary timeouts — use proper async patterns
66
+
67
+ ## What to test (and what not to)
68
+ **Test:**
69
+ - Business logic and domain rules
70
+ - Edge cases: null, empty, boundary values
71
+ - Error paths: what happens when dependencies fail
72
+ - Security: auth bypass attempts, injection attempts
73
+
74
+ **Do not test:**
75
+ - Framework internals (trust the framework)
76
+ - Simple getters/setters with no logic
77
+ - Third-party library behaviour
78
+
79
+ ## File placement
80
+ - Unit tests: co-located with source (`auth.ts` → `auth.test.ts`)
81
+ - Integration tests: `/tests/integration/`
82
+ - E2E tests: `/tests/e2e/`
83
+ - Test utilities/fixtures: `/tests/utils/`
84
+
85
+ ## Before marking any task done
86
+ Run the full test suite. If any test fails: do not commit. Fix it first.
87
+
88
+ ## Self-check before task completion
89
+
90
+ Before marking a task done when this skill was active:
91
+
92
+ - [ ] Did I read the full SKILL.md before starting? (Not just the triggers)
93
+ - [ ] Did I activate the corresponding persona file?
94
+ - [ ] Did I apply every mandatory action in this skill, not just the ones
95
+ I remembered off the top of my head?
96
+ - [ ] If this skill produced an output file (review, security report, etc.),
97
+ has that file been written to the correct path?
@@ -0,0 +1,42 @@
1
+ # MindForge Team Profile
2
+ # Auto-generated by /mindforge:profile-team
3
+
4
+ ## IMPORTANT: Metrics usage policy
5
+ Per ADR-014, data in this file and `.mindforge/metrics/` is for system
6
+ improvement only, not developer performance evaluation.
7
+
8
+ Use data for:
9
+ - response personalization
10
+ - skill loading improvements
11
+ - compaction and planning tuning
12
+ - process retrospectives (not people scoring)
13
+
14
+ ## Team composition
15
+ | Name | Email | Primary role | Timezone | Experience |
16
+ |---|---|---|---|---|
17
+ | [Name] | [email] | [role] | [UTC+X] | [level] |
18
+
19
+ ## Tech stack preferences
20
+ | Layer | Preferred | Comfortable | Learning |
21
+ |---|---|---|---|
22
+ | Backend | TypeScript/Node.js | Python | Go |
23
+ | Frontend | React/Next.js | Vue | Svelte |
24
+ | Database | PostgreSQL | MySQL | MongoDB |
25
+ | Testing | Vitest | Jest | Playwright |
26
+
27
+ ## Working patterns
28
+ - Average session length: [N] minutes
29
+ - Peak working hours: [N-N]
30
+ - Verify pass rate: [N%]
31
+ - Common failure type: [from AUDIT]
32
+
33
+ ## Personalization rules
34
+ - Verbosity: concise
35
+ - Review style: direct
36
+ - Preferred code organization: feature-based
37
+
38
+ ## Known strengths
39
+ - [area]
40
+
41
+ ## Known growth areas
42
+ - [area]
@@ -0,0 +1,23 @@
1
+ # MindForge Team — Multi-Developer HANDOFF
2
+
3
+ ## Purpose
4
+ Allow multiple developers or agent sessions to collaborate without silently
5
+ stomping shared state.
6
+
7
+ ## Shared coordination rules
8
+ When a developer starts a plan, first check shared `HANDOFF.json` state. If the
9
+ same plan already appears under `active_developers`, stop and ask for
10
+ clarification before proceeding.
11
+
12
+ Developers with `last_seen` older than 4 hours are considered stale and may be
13
+ removed automatically on the next session start.
14
+
15
+ ## Required shared state fields
16
+ - `active_developers`
17
+ - current phase and plan ownership
18
+ - recent files
19
+ - blockers and decisions needed
20
+
21
+ ## Audit discipline
22
+ Each task completion or failure commit must include any new AUDIT entries so
23
+ shared history is not stranded in an uncommitted worktree.
@@ -0,0 +1,13 @@
1
+ # MindForge Per-Developer Profiles
2
+
3
+ Use `PROFILE-[dev-id].md` files to store per-developer preferences and observed
4
+ patterns. `dev-id` is a sanitized email.
5
+
6
+ Template fields:
7
+ - Identity (name/email/role/timezone)
8
+ - Communication preferences
9
+ - Technical preferences
10
+ - Observed session metrics
11
+ - Strengths and growth areas
12
+
13
+ Privacy: include only professional, collaboration-relevant data.
@@ -0,0 +1,18 @@
1
+ # MindForge Team — Session Merger
2
+
3
+ ## Purpose
4
+ Merge concurrent session state safely after parallel work or multi-developer
5
+ execution.
6
+
7
+ ## Merge strategy
8
+ 1. Merge `HANDOFF.json` through git, not ad hoc overwrite
9
+ 2. Resolve conflicts explicitly when two sessions claim the same plan
10
+ 3. Preserve both sides' blockers and decisions until reconciled
11
+ 4. Keep AUDIT append-only; ensure entries were committed with the task commits
12
+
13
+ Git merge conflicts are the correct mechanism for contested shared state.
14
+
15
+ ## Conflict rules
16
+ - Same plan claimed by two developers: escalate for human resolution
17
+ - Different plans touching shared files: merge carefully, then rerun verification
18
+ - Stale active developer entry: prune if `last_seen` is older than 4 hours
File without changes
File without changes