monomind 1.8.0 → 1.9.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 (566) hide show
  1. package/.claude/agents/design/design-monodesign.md +121 -0
  2. package/.claude/agents/github/issue-tracker.md +12 -12
  3. package/.claude/agents/github/pr-manager.md +10 -10
  4. package/.claude/agents/github/release-manager.md +49 -105
  5. package/.claude/agents/github/repo-architect.md +73 -92
  6. package/.claude/agents/github/sync-coordinator.md +55 -123
  7. package/.claude/agents/marketing/marketing-competitive-content.md +155 -0
  8. package/.claude/agents/marketing/marketing-content-creator.md +13 -0
  9. package/.claude/agents/marketing/marketing-cro-specialist.md +147 -0
  10. package/.claude/agents/marketing/marketing-email-specialist.md +90 -0
  11. package/.claude/agents/marketing/marketing-launch-strategist.md +129 -0
  12. package/.claude/agents/marketing/marketing-pricing-strategist.md +127 -0
  13. package/.claude/agents/specialists/integration-architect.md +94 -0
  14. package/.claude/commands/agents/README.md +4 -0
  15. package/.claude/commands/agents/agent-capabilities.md +6 -2
  16. package/.claude/commands/agents/agent-coordination.md +4 -0
  17. package/.claude/commands/agents/agent-spawning.md +4 -0
  18. package/.claude/commands/agents/agent-types.md +6 -2
  19. package/.claude/commands/analysis/README.md +14 -5
  20. package/.claude/commands/analysis/bottleneck-detect.md +30 -123
  21. package/.claude/commands/analysis/performance-bottlenecks.md +14 -14
  22. package/.claude/commands/analysis/performance-report.md +38 -11
  23. package/.claude/commands/analysis/token-efficiency.md +13 -16
  24. package/.claude/commands/analysis/token-usage.md +34 -12
  25. package/.claude/commands/automation/README.md +15 -5
  26. package/.claude/commands/automation/auto-agent.md +49 -85
  27. package/.claude/commands/automation/self-healing.md +20 -18
  28. package/.claude/commands/automation/session-memory.md +28 -29
  29. package/.claude/commands/automation/smart-agents.md +17 -9
  30. package/.claude/commands/automation/smart-spawn.md +52 -11
  31. package/.claude/commands/automation/workflow-select.md +46 -11
  32. package/.claude/commands/browse.md +5 -0
  33. package/.claude/commands/coordination/README.md +9 -5
  34. package/.claude/commands/coordination/agent-spawn.md +53 -9
  35. package/.claude/commands/coordination/swarm-init.md +39 -42
  36. package/.claude/commands/coordination/task-orchestrate.md +65 -11
  37. package/.claude/commands/github/README.md +21 -8
  38. package/.claude/commands/github/github-modes.md +9 -5
  39. package/.claude/commands/github/issue-tracker.md +34 -33
  40. package/.claude/commands/github/pr-manager.md +20 -17
  41. package/.claude/commands/github/release-manager.md +37 -49
  42. package/.claude/commands/github/repo-architect.md +39 -41
  43. package/.claude/commands/github/sync-coordinator.md +45 -49
  44. package/.claude/commands/hive-mind/README.md +42 -17
  45. package/.claude/commands/hive-mind/hive-mind-consensus.md +68 -4
  46. package/.claude/commands/hive-mind/hive-mind-init.md +55 -5
  47. package/.claude/commands/hive-mind/hive-mind-memory.md +69 -4
  48. package/.claude/commands/hive-mind/hive-mind-spawn.md +71 -10
  49. package/.claude/commands/hive-mind/hive-mind-status.md +52 -4
  50. package/.claude/commands/hive-mind/hive-mind-stop.md +51 -4
  51. package/.claude/commands/hive-mind/hive-mind.md +74 -14
  52. package/.claude/commands/hooks/README.md +62 -7
  53. package/.claude/commands/hooks/overview.md +94 -35
  54. package/.claude/commands/hooks/post-edit.md +48 -87
  55. package/.claude/commands/hooks/post-task.md +37 -87
  56. package/.claude/commands/hooks/pre-edit.md +52 -84
  57. package/.claude/commands/hooks/pre-task.md +46 -81
  58. package/.claude/commands/hooks/session-end.md +49 -85
  59. package/.claude/commands/hooks/setup.md +87 -58
  60. package/.claude/commands/mastermind/_repeat.md +308 -0
  61. package/.claude/commands/mastermind/architect.md +49 -0
  62. package/.claude/commands/mastermind/brain.md +98 -0
  63. package/.claude/commands/mastermind/build.md +22 -0
  64. package/.claude/commands/mastermind/content.md +22 -0
  65. package/.claude/commands/mastermind/createorg.md +94 -0
  66. package/.claude/commands/mastermind/finance.md +22 -0
  67. package/.claude/commands/mastermind/idea.md +22 -0
  68. package/.claude/commands/mastermind/marketing.md +22 -0
  69. package/.claude/commands/mastermind/master.md +379 -0
  70. package/.claude/commands/mastermind/ops.md +22 -0
  71. package/.claude/commands/mastermind/release.md +22 -0
  72. package/.claude/commands/mastermind/research.md +22 -0
  73. package/.claude/commands/mastermind/review.md +22 -0
  74. package/.claude/commands/mastermind/runorg.md +106 -0
  75. package/.claude/commands/mastermind/sales.md +22 -0
  76. package/.claude/commands/mastermind/techport.md +17 -0
  77. package/.claude/commands/memory/README.md +75 -5
  78. package/.claude/commands/memory/memory-search.md +63 -11
  79. package/.claude/commands/monitoring/README.md +64 -4
  80. package/.claude/commands/monitoring/agent-metrics.md +50 -10
  81. package/.claude/commands/monitoring/agents.md +59 -32
  82. package/.claude/commands/monitoring/status.md +96 -34
  83. package/.claude/commands/monograph/README.md +102 -0
  84. package/.claude/commands/monograph/monograph-build.md +79 -0
  85. package/.claude/commands/monograph/monograph-search.md +96 -0
  86. package/.claude/commands/monograph/monograph-stats.md +53 -0
  87. package/.claude/commands/monograph/monograph-watch.md +63 -0
  88. package/.claude/commands/monograph/monograph-wiki.md +91 -0
  89. package/.claude/commands/monomind/createtask.md +277 -0
  90. package/.claude/commands/{monomind-do.md → monomind/do.md} +21 -8
  91. package/.claude/commands/monomind/help.md +118 -0
  92. package/.claude/commands/{monomind-idea.md → monomind/idea.md} +22 -28
  93. package/.claude/commands/{monomind-improve.md → monomind/improve.md} +21 -27
  94. package/.claude/commands/monomind/memory.md +230 -0
  95. package/.claude/commands/monomind/repeat.md +201 -0
  96. package/.claude/commands/monomind/review.md +313 -0
  97. package/.claude/commands/monomind/specialagents.md +125 -0
  98. package/.claude/commands/monomind/swarm.md +161 -0
  99. package/.claude/commands/monomind/understand.md +148 -0
  100. package/.claude/commands/optimization/README.md +69 -5
  101. package/.claude/commands/optimization/auto-topology.md +66 -43
  102. package/.claude/commands/optimization/parallel-execution.md +65 -39
  103. package/.claude/commands/optimization/performance-optimize.md +79 -0
  104. package/.claude/commands/pair/README.md +48 -230
  105. package/.claude/commands/pair/examples.md +85 -441
  106. package/.claude/commands/pair/modes.md +77 -303
  107. package/.claude/commands/pair/session.md +76 -359
  108. package/.claude/commands/sparc/analyzer.md +9 -26
  109. package/.claude/commands/sparc/architect.md +8 -25
  110. package/.claude/commands/sparc/ask.md +27 -68
  111. package/.claude/commands/sparc/batch-executor.md +8 -25
  112. package/.claude/commands/sparc/code.md +12 -53
  113. package/.claude/commands/sparc/coder.md +8 -25
  114. package/.claude/commands/sparc/debug.md +12 -53
  115. package/.claude/commands/sparc/debugger.md +8 -25
  116. package/.claude/commands/sparc/designer.md +8 -25
  117. package/.claude/commands/sparc/devops.md +16 -57
  118. package/.claude/commands/sparc/docs-writer.md +12 -53
  119. package/.claude/commands/sparc/documenter.md +8 -25
  120. package/.claude/commands/sparc/innovator.md +8 -25
  121. package/.claude/commands/sparc/integration.md +12 -53
  122. package/.claude/commands/sparc/mcp.md +12 -53
  123. package/.claude/commands/sparc/memory-manager.md +28 -25
  124. package/.claude/commands/sparc/optimizer.md +8 -25
  125. package/.claude/commands/sparc/orchestrator.md +35 -97
  126. package/.claude/commands/sparc/post-deployment-monitoring-mode.md +13 -54
  127. package/.claude/commands/sparc/refinement-optimization-mode.md +13 -54
  128. package/.claude/commands/sparc/researcher.md +8 -25
  129. package/.claude/commands/sparc/reviewer.md +8 -25
  130. package/.claude/commands/sparc/security-review.md +13 -54
  131. package/.claude/commands/sparc/sparc-modes.md +97 -151
  132. package/.claude/commands/sparc/sparc.md +16 -56
  133. package/.claude/commands/sparc/spec-pseudocode.md +13 -54
  134. package/.claude/commands/sparc/supabase-admin.md +19 -66
  135. package/.claude/commands/sparc/swarm-coordinator.md +21 -25
  136. package/.claude/commands/sparc/tdd.md +8 -25
  137. package/.claude/commands/sparc/tester.md +8 -25
  138. package/.claude/commands/sparc/tutorial.md +12 -53
  139. package/.claude/commands/sparc/workflow-manager.md +8 -25
  140. package/.claude/commands/sparc.md +76 -130
  141. package/.claude/commands/stream-chain/pipeline.md +72 -77
  142. package/.claude/commands/stream-chain/run.md +133 -47
  143. package/.claude/commands/swarm/README.md +37 -12
  144. package/.claude/commands/swarm/analysis.md +47 -69
  145. package/.claude/commands/swarm/development.md +45 -69
  146. package/.claude/commands/swarm/examples.md +77 -142
  147. package/.claude/commands/swarm/maintenance.md +47 -74
  148. package/.claude/commands/swarm/optimization.md +54 -87
  149. package/.claude/commands/swarm/research.md +47 -107
  150. package/.claude/commands/swarm/swarm-analysis.md +58 -4
  151. package/.claude/commands/swarm/swarm-background.md +61 -4
  152. package/.claude/commands/swarm/swarm-modes.md +63 -4
  153. package/.claude/commands/swarm/swarm-monitor.md +50 -4
  154. package/.claude/commands/swarm/swarm-status.md +40 -4
  155. package/.claude/commands/swarm/swarm-strategies.md +73 -5
  156. package/.claude/commands/swarm/swarm.md +70 -18
  157. package/.claude/commands/swarm/testing.md +51 -102
  158. package/.claude/commands/tokens.md +6 -1
  159. package/.claude/commands/training/README.md +36 -6
  160. package/.claude/commands/training/model-update.md +68 -15
  161. package/.claude/commands/training/neural-patterns.md +54 -55
  162. package/.claude/commands/training/neural-train.md +70 -16
  163. package/.claude/commands/training/pattern-learn.md +60 -16
  164. package/.claude/commands/training/specialization.md +78 -49
  165. package/.claude/commands/truth/start.md +87 -109
  166. package/.claude/commands/ts.md +7 -2
  167. package/.claude/commands/verify/check.md +90 -34
  168. package/.claude/commands/verify/start.md +71 -94
  169. package/.claude/commands/workflows/README.md +62 -6
  170. package/.claude/commands/workflows/development.md +69 -61
  171. package/.claude/commands/workflows/research.md +73 -47
  172. package/.claude/commands/workflows/workflow-create.md +75 -16
  173. package/.claude/commands/workflows/workflow-execute.md +94 -16
  174. package/.claude/commands/workflows/workflow-export.md +81 -16
  175. package/.claude/helpers/control-start.cjs +91 -0
  176. package/.claude/helpers/extras-registry.json +4104 -1991
  177. package/.claude/helpers/graphify-freshen.cjs +44 -13
  178. package/.claude/helpers/hook-handler.cjs +256 -1
  179. package/.claude/helpers/learning-service.mjs +0 -0
  180. package/.claude/helpers/loop-tracker.cjs +107 -0
  181. package/.claude/helpers/metrics-db.mjs +0 -0
  182. package/.claude/helpers/router.cjs +48 -68
  183. package/.claude/helpers/skill-registry.json +89 -104
  184. package/.claude/helpers/statusline.cjs +33 -2
  185. package/.claude/helpers/swarm-hooks.sh +0 -0
  186. package/.claude/scheduled_tasks.lock +1 -0
  187. package/.claude/settings.json +15 -0
  188. package/.claude/skills/.monomind/data/ranked-context.json +5 -0
  189. package/.claude/skills/.monomind/sessions/current.json +13 -0
  190. package/.claude/skills/.monomind/sessions/session-1777829336455.json +15 -0
  191. package/.claude/skills/.monomind/sessions/session-1777831614725.json +15 -0
  192. package/.claude/skills/.monomind/sessions/session-1777832095857.json +15 -0
  193. package/.claude/skills/.monomind/sessions/session-1777839814183.json +15 -0
  194. package/.claude/skills/.monomind/sessions/session-1777841847131.json +15 -0
  195. package/.claude/skills/.monomind/sessions/session-1777843309463.json +15 -0
  196. package/.claude/skills/.monomind/sessions/session-1777880867159.json +15 -0
  197. package/.claude/skills/.monomind/sessions/session-1777881884593.json +15 -0
  198. package/.claude/skills/.monomind/sessions/session-1777884090471.json +15 -0
  199. package/.claude/skills/.monomind/sessions/session-1777884808221.json +15 -0
  200. package/.claude/skills/.monomind/sessions/session-1777885672155.json +15 -0
  201. package/.claude/skills/.monomind/sessions/session-1777886852818.json +15 -0
  202. package/.claude/skills/.monomind/sessions/session-1777896532690.json +15 -0
  203. package/.claude/skills/agentdb-advanced/SKILL.md +11 -12
  204. package/.claude/skills/agentdb-learning/SKILL.md +20 -21
  205. package/.claude/skills/agentdb-memory-patterns/SKILL.md +28 -30
  206. package/.claude/skills/agentdb-optimization/SKILL.md +11 -12
  207. package/.claude/skills/agentdb-vector-search/SKILL.md +37 -41
  208. package/.claude/skills/{v3-integration-deep → agentic-integration}/SKILL.md +20 -13
  209. package/.claude/skills/agentic-jujutsu/SKILL.md +22 -22
  210. package/.claude/skills/{v3-cli-modernization → cli-modernization}/SKILL.md +17 -8
  211. package/.claude/skills/{v3-core-implementation → core-implementation}/SKILL.md +33 -8
  212. package/.claude/skills/{v3-ddd-architecture → ddd-architecture}/SKILL.md +18 -25
  213. package/.claude/skills/github-code-review/SKILL.md +82 -83
  214. package/.claude/skills/github-multi-repo/SKILL.md +42 -46
  215. package/.claude/skills/github-project-management/SKILL.md +83 -88
  216. package/.claude/skills/github-release-management/SKILL.md +12 -18
  217. package/.claude/skills/github-workflow-automation/SKILL.md +70 -74
  218. package/.claude/skills/hooks-automation/SKILL.md +9 -13
  219. package/.claude/skills/mastermind/_intake.md +83 -0
  220. package/.claude/skills/mastermind/_protocol.md +275 -0
  221. package/.claude/skills/mastermind/architect.md +847 -0
  222. package/.claude/skills/mastermind/build.md +158 -0
  223. package/.claude/skills/mastermind/content.md +185 -0
  224. package/.claude/skills/mastermind/createorg.md +318 -0
  225. package/.claude/skills/mastermind/finance.md +154 -0
  226. package/.claude/skills/mastermind/idea.md +158 -0
  227. package/.claude/skills/mastermind/marketing.md +216 -0
  228. package/.claude/skills/mastermind/monotask.md +350 -0
  229. package/.claude/skills/mastermind/ops.md +156 -0
  230. package/.claude/skills/mastermind/references/copywriting-frameworks.md +181 -0
  231. package/.claude/skills/mastermind/references/persuasion-psychology.md +158 -0
  232. package/.claude/skills/mastermind/release.md +156 -0
  233. package/.claude/skills/mastermind/research.md +156 -0
  234. package/.claude/skills/mastermind/review.md +157 -0
  235. package/.claude/skills/mastermind/runorg.md +308 -0
  236. package/.claude/skills/mastermind/sales.md +158 -0
  237. package/.claude/skills/mastermind/techport.md +743 -0
  238. package/.claude/skills/{v3-mcp-optimization → mcp-optimization}/SKILL.md +35 -14
  239. package/.claude/skills/{v3-memory-unification → memory-unification}/SKILL.md +20 -4
  240. package/.claude/skills/monodesign/SKILL.md +302 -0
  241. package/.claude/skills/monodesign/reference/adapt.md +190 -0
  242. package/.claude/skills/monodesign/reference/animate.md +175 -0
  243. package/.claude/skills/monodesign/reference/antipatterns-catalog.md +187 -0
  244. package/.claude/skills/monodesign/reference/audit.md +133 -0
  245. package/.claude/skills/monodesign/reference/bolder.md +113 -0
  246. package/.claude/skills/monodesign/reference/brand-workflow.md +180 -0
  247. package/.claude/skills/monodesign/reference/brand.md +114 -0
  248. package/.claude/skills/monodesign/reference/clarify.md +174 -0
  249. package/.claude/skills/monodesign/reference/cognitive-load.md +106 -0
  250. package/.claude/skills/monodesign/reference/color-and-contrast.md +105 -0
  251. package/.claude/skills/monodesign/reference/colorize.md +154 -0
  252. package/.claude/skills/monodesign/reference/component-specs.md +260 -0
  253. package/.claude/skills/monodesign/reference/component-states.md +274 -0
  254. package/.claude/skills/monodesign/reference/component-system.md +358 -0
  255. package/.claude/skills/monodesign/reference/copy-formulas.md +160 -0
  256. package/.claude/skills/monodesign/reference/craft.md +193 -0
  257. package/.claude/skills/monodesign/reference/critique.md +213 -0
  258. package/.claude/skills/monodesign/reference/delight.md +302 -0
  259. package/.claude/skills/monodesign/reference/design-principles.md +246 -0
  260. package/.claude/skills/monodesign/reference/distill.md +111 -0
  261. package/.claude/skills/monodesign/reference/document.md +427 -0
  262. package/.claude/skills/monodesign/reference/extract.md +69 -0
  263. package/.claude/skills/monodesign/reference/harden.md +347 -0
  264. package/.claude/skills/monodesign/reference/heuristics-scoring.md +234 -0
  265. package/.claude/skills/monodesign/reference/image-prompts.md +118 -0
  266. package/.claude/skills/monodesign/reference/interaction-design.md +195 -0
  267. package/.claude/skills/monodesign/reference/layout.md +141 -0
  268. package/.claude/skills/monodesign/reference/live.md +622 -0
  269. package/.claude/skills/monodesign/reference/motion-design.md +109 -0
  270. package/.claude/skills/monodesign/reference/onboard.md +234 -0
  271. package/.claude/skills/monodesign/reference/optimize.md +258 -0
  272. package/.claude/skills/monodesign/reference/overdrive.md +130 -0
  273. package/.claude/skills/monodesign/reference/personas.md +179 -0
  274. package/.claude/skills/monodesign/reference/polish.md +233 -0
  275. package/.claude/skills/monodesign/reference/pre-delivery-checklist.md +108 -0
  276. package/.claude/skills/monodesign/reference/product.md +62 -0
  277. package/.claude/skills/monodesign/reference/quieter.md +99 -0
  278. package/.claude/skills/monodesign/reference/responsive-design.md +114 -0
  279. package/.claude/skills/monodesign/reference/shape.md +151 -0
  280. package/.claude/skills/monodesign/reference/spatial-design.md +100 -0
  281. package/.claude/skills/monodesign/reference/teach.md +156 -0
  282. package/.claude/skills/monodesign/reference/token-architecture.md +222 -0
  283. package/.claude/skills/monodesign/reference/typeset.md +124 -0
  284. package/.claude/skills/monodesign/reference/typography.md +159 -0
  285. package/.claude/skills/monodesign/reference/ux-research.md +143 -0
  286. package/.claude/skills/monodesign/reference/ux-rules.md +211 -0
  287. package/.claude/skills/monodesign/reference/ux-writing.md +107 -0
  288. package/.claude/skills/monomotion/SKILL.md +145 -0
  289. package/.claude/skills/monomotion/rules/api-control.md +139 -0
  290. package/.claude/skills/monomotion/rules/effects.md +109 -0
  291. package/.claude/skills/monomotion/rules/integration.md +140 -0
  292. package/.claude/skills/monomotion/rules/scroll.md +131 -0
  293. package/.claude/skills/monomotion/rules/sequencing.md +105 -0
  294. package/.claude/skills/monomotion/rules/svg.md +101 -0
  295. package/.claude/skills/monomotion/rules/text.md +119 -0
  296. package/.claude/skills/pair-programming/SKILL.md +1 -1
  297. package/.claude/skills/performance-analysis/SKILL.md +3 -3
  298. package/.claude/skills/{v3-performance-optimization → performance-optimization}/SKILL.md +16 -8
  299. package/.claude/skills/reasoningbank-agentdb/SKILL.md +17 -19
  300. package/.claude/skills/reasoningbank-intelligence/SKILL.md +4 -6
  301. package/.claude/skills/{v3-security-overhaul → security-hardening}/SKILL.md +13 -3
  302. package/.claude/skills/skill-builder/SKILL.md +19 -19
  303. package/.claude/skills/sparc-methodology/SKILL.md +55 -211
  304. package/.claude/skills/stop-slop/SKILL.md +67 -0
  305. package/.claude/skills/stop-slop/references/examples.md +61 -0
  306. package/.claude/skills/stop-slop/references/phrases.md +130 -0
  307. package/.claude/skills/stop-slop/references/structures.md +136 -0
  308. package/.claude/skills/swarm-advanced/SKILL.md +13 -43
  309. package/.claude/skills/{v3-swarm-coordination → swarm-coordination}/SKILL.md +39 -21
  310. package/.claude/skills/swarm-orchestration/SKILL.md +12 -12
  311. package/.claude/skills/verification-quality/SKILL.md +5 -5
  312. package/.claude/statusline-command.sh +0 -0
  313. package/.claude/statusline.sh +0 -0
  314. package/.claude-plugin/scripts/install.sh +0 -0
  315. package/.claude-plugin/scripts/uninstall.sh +0 -0
  316. package/.claude-plugin/scripts/verify.sh +0 -0
  317. package/README.md +5 -5
  318. package/package.json +17 -17
  319. package/packages/@monomind/cli/README.md +441 -0
  320. package/packages/@monomind/cli/bin/cli.js +78 -13
  321. package/packages/@monomind/cli/bin/mcp-server.js +0 -0
  322. package/packages/@monomind/cli/dist/src/agents/halt-signal.js +33 -7
  323. package/packages/@monomind/cli/dist/src/agents/managed-agent.js +5 -2
  324. package/packages/@monomind/cli/dist/src/agents/prompt-experiment.d.ts +3 -2
  325. package/packages/@monomind/cli/dist/src/agents/prompt-experiment.js +1 -1
  326. package/packages/@monomind/cli/dist/src/agents/prompt-version-manager.d.ts +5 -2
  327. package/packages/@monomind/cli/dist/src/agents/prompt-version-manager.js +26 -4
  328. package/packages/@monomind/cli/dist/src/agents/specialization-scorer.js +17 -9
  329. package/packages/@monomind/cli/dist/src/agents/trigger-scanner.d.ts +5 -3
  330. package/packages/@monomind/cli/dist/src/agents/trigger-scanner.js +58 -10
  331. package/packages/@monomind/cli/dist/src/agents/version-store.d.ts +0 -1
  332. package/packages/@monomind/cli/dist/src/agents/version-store.js +44 -21
  333. package/packages/@monomind/cli/dist/src/autopilot-state.js +79 -28
  334. package/packages/@monomind/cli/dist/src/benchmarks/benchmark-runner.d.ts +7 -2
  335. package/packages/@monomind/cli/dist/src/benchmarks/benchmark-runner.js +20 -8
  336. package/packages/@monomind/cli/dist/src/benchmarks/metric-evaluators.d.ts +2 -1
  337. package/packages/@monomind/cli/dist/src/benchmarks/metric-evaluators.js +25 -2
  338. package/packages/@monomind/cli/dist/src/commands/agent.js +6 -4
  339. package/packages/@monomind/cli/dist/src/commands/appliance-advanced.js +23 -0
  340. package/packages/@monomind/cli/dist/src/commands/autopilot.js +3 -3
  341. package/packages/@monomind/cli/dist/src/commands/benchmark.js +119 -8
  342. package/packages/@monomind/cli/dist/src/commands/claims.js +22 -14
  343. package/packages/@monomind/cli/dist/src/commands/config.js +32 -0
  344. package/packages/@monomind/cli/dist/src/commands/daemon.js +13 -11
  345. package/packages/@monomind/cli/dist/src/commands/deployment.js +21 -2
  346. package/packages/@monomind/cli/dist/src/commands/doctor.js +5 -4
  347. package/packages/@monomind/cli/dist/src/commands/embeddings.js +124 -48
  348. package/packages/@monomind/cli/dist/src/commands/hive-mind.js +15 -14
  349. package/packages/@monomind/cli/dist/src/commands/hooks.js +45 -41
  350. package/packages/@monomind/cli/dist/src/commands/index.d.ts +2 -0
  351. package/packages/@monomind/cli/dist/src/commands/index.js +20 -7
  352. package/packages/@monomind/cli/dist/src/commands/init.js +53 -19
  353. package/packages/@monomind/cli/dist/src/commands/mcp.js +31 -44
  354. package/packages/@monomind/cli/dist/src/commands/memory.js +47 -15
  355. package/packages/@monomind/cli/dist/src/commands/migrate.js +156 -108
  356. package/packages/@monomind/cli/dist/src/commands/monograph.d.ts +8 -0
  357. package/packages/@monomind/cli/dist/src/commands/monograph.js +526 -0
  358. package/packages/@monomind/cli/dist/src/commands/neural.js +96 -56
  359. package/packages/@monomind/cli/dist/src/commands/performance.js +30 -8
  360. package/packages/@monomind/cli/dist/src/commands/plugins.js +13 -37
  361. package/packages/@monomind/cli/dist/src/commands/process.js +25 -2
  362. package/packages/@monomind/cli/dist/src/commands/providers.js +37 -5
  363. package/packages/@monomind/cli/dist/src/commands/replay.js +4 -4
  364. package/packages/@monomind/cli/dist/src/commands/route.js +37 -5
  365. package/packages/@monomind/cli/dist/src/commands/ruvector/import.js +12 -2
  366. package/packages/@monomind/cli/dist/src/commands/ruvector/init.js +15 -0
  367. package/packages/@monomind/cli/dist/src/commands/ruvector/status.js +16 -3
  368. package/packages/@monomind/cli/dist/src/commands/security.js +342 -193
  369. package/packages/@monomind/cli/dist/src/commands/session.js +51 -8
  370. package/packages/@monomind/cli/dist/src/commands/start.js +18 -4
  371. package/packages/@monomind/cli/dist/src/commands/swarm.js +47 -36
  372. package/packages/@monomind/cli/dist/src/commands/tokens.js +11 -11
  373. package/packages/@monomind/cli/dist/src/commands/transfer-store.js +1 -1
  374. package/packages/@monomind/cli/dist/src/commands/workflow.js +31 -4
  375. package/packages/@monomind/cli/dist/src/config-adapter.d.ts +2 -1
  376. package/packages/@monomind/cli/dist/src/consensus/audit-writer.js +46 -13
  377. package/packages/@monomind/cli/dist/src/consensus/vote-signer.d.ts +0 -3
  378. package/packages/@monomind/cli/dist/src/consensus/vote-signer.js +9 -1
  379. package/packages/@monomind/cli/dist/src/dlq/dlq-reader.d.ts +4 -2
  380. package/packages/@monomind/cli/dist/src/dlq/dlq-reader.js +25 -8
  381. package/packages/@monomind/cli/dist/src/dlq/dlq-replayer.d.ts +10 -3
  382. package/packages/@monomind/cli/dist/src/dlq/dlq-replayer.js +50 -16
  383. package/packages/@monomind/cli/dist/src/dlq/dlq-writer.js +27 -5
  384. package/packages/@monomind/cli/dist/src/eval/dataset-manager.d.ts +2 -2
  385. package/packages/@monomind/cli/dist/src/eval/dataset-manager.js +26 -16
  386. package/packages/@monomind/cli/dist/src/eval/trace-collector.js +23 -3
  387. package/packages/@monomind/cli/dist/src/index.js +12 -10
  388. package/packages/@monomind/cli/dist/src/init/claudemd-generator.js +8 -8
  389. package/packages/@monomind/cli/dist/src/init/executor.js +153 -70
  390. package/packages/@monomind/cli/dist/src/init/helpers-generator.js +35 -22
  391. package/packages/@monomind/cli/dist/src/init/mcp-generator.js +3 -3
  392. package/packages/@monomind/cli/dist/src/init/settings-generator.js +10 -3
  393. package/packages/@monomind/cli/dist/src/init/shared-instructions-generator.js +18 -3
  394. package/packages/@monomind/cli/dist/src/init/statusline-generator.js +3 -1
  395. package/packages/@monomind/cli/dist/src/init/types.d.ts +35 -11
  396. package/packages/@monomind/cli/dist/src/init/types.js +5 -9
  397. package/packages/@monomind/cli/dist/src/interactive/interrupt.js +8 -3
  398. package/packages/@monomind/cli/dist/src/mcp/tool-registry.js +38 -4
  399. package/packages/@monomind/cli/dist/src/mcp-client.js +10 -4
  400. package/packages/@monomind/cli/dist/src/mcp-server.d.ts +9 -2
  401. package/packages/@monomind/cli/dist/src/mcp-server.js +182 -35
  402. package/packages/@monomind/cli/dist/src/mcp-tools/agent-tools.js +66 -34
  403. package/packages/@monomind/cli/dist/src/mcp-tools/agentdb-tools.js +34 -7
  404. package/packages/@monomind/cli/dist/src/mcp-tools/analyze-tools.js +25 -16
  405. package/packages/@monomind/cli/dist/src/mcp-tools/auto-install.js +4 -6
  406. package/packages/@monomind/cli/dist/src/mcp-tools/autopilot-tools.js +12 -2
  407. package/packages/@monomind/cli/dist/src/mcp-tools/browser-tools.js +199 -20
  408. package/packages/@monomind/cli/dist/src/mcp-tools/claims-tools.js +68 -18
  409. package/packages/@monomind/cli/dist/src/mcp-tools/config-tools.js +33 -5
  410. package/packages/@monomind/cli/dist/src/mcp-tools/coordination-tools.js +59 -4
  411. package/packages/@monomind/cli/dist/src/mcp-tools/daa-tools.js +46 -10
  412. package/packages/@monomind/cli/dist/src/mcp-tools/embeddings-tools.js +46 -5
  413. package/packages/@monomind/cli/dist/src/mcp-tools/github-tools.js +29 -16
  414. package/packages/@monomind/cli/dist/src/mcp-tools/guidance-tools.js +38 -10
  415. package/packages/@monomind/cli/dist/src/mcp-tools/hive-mind-tools.js +96 -33
  416. package/packages/@monomind/cli/dist/src/mcp-tools/hooks-tools.js +70 -37
  417. package/packages/@monomind/cli/dist/src/mcp-tools/memory-tools.js +29 -13
  418. package/packages/@monomind/cli/dist/src/mcp-tools/monograph-tools.js +5867 -56
  419. package/packages/@monomind/cli/dist/src/mcp-tools/neural-tools.js +121 -37
  420. package/packages/@monomind/cli/dist/src/mcp-tools/performance-tools.js +21 -8
  421. package/packages/@monomind/cli/dist/src/mcp-tools/progress-tools.js +10 -8
  422. package/packages/@monomind/cli/dist/src/mcp-tools/request-tracker.js +4 -1
  423. package/packages/@monomind/cli/dist/src/mcp-tools/ruvllm-tools.js +19 -8
  424. package/packages/@monomind/cli/dist/src/mcp-tools/session-tools.js +57 -17
  425. package/packages/@monomind/cli/dist/src/mcp-tools/swarm-tools.js +35 -17
  426. package/packages/@monomind/cli/dist/src/mcp-tools/system-tools.js +4 -3
  427. package/packages/@monomind/cli/dist/src/mcp-tools/task-tools.js +53 -13
  428. package/packages/@monomind/cli/dist/src/mcp-tools/terminal-tools.js +63 -14
  429. package/packages/@monomind/cli/dist/src/mcp-tools/transfer-tools.js +21 -16
  430. package/packages/@monomind/cli/dist/src/mcp-tools/workflow-tools.js +92 -23
  431. package/packages/@monomind/cli/dist/src/memory/ewc-consolidation.js +41 -10
  432. package/packages/@monomind/cli/dist/src/memory/intelligence.d.ts +2 -2
  433. package/packages/@monomind/cli/dist/src/memory/intelligence.js +39 -13
  434. package/packages/@monomind/cli/dist/src/memory/memory-bridge.d.ts +1 -0
  435. package/packages/@monomind/cli/dist/src/memory/memory-bridge.js +149 -56
  436. package/packages/@monomind/cli/dist/src/memory/memory-initializer.js +107 -45
  437. package/packages/@monomind/cli/dist/src/memory/sona-optimizer.d.ts +8 -1
  438. package/packages/@monomind/cli/dist/src/memory/sona-optimizer.js +25 -8
  439. package/packages/@monomind/cli/dist/src/observability/replay-reader.d.ts +40 -0
  440. package/packages/@monomind/cli/dist/src/observability/replay-reader.js +138 -0
  441. package/packages/@monomind/cli/dist/src/orchestration/routing-modes.js +35 -5
  442. package/packages/@monomind/cli/dist/src/parser.d.ts +8 -0
  443. package/packages/@monomind/cli/dist/src/parser.js +48 -14
  444. package/packages/@monomind/cli/dist/src/plugins/manager.js +112 -19
  445. package/packages/@monomind/cli/dist/src/plugins/store/discovery.d.ts +1 -1
  446. package/packages/@monomind/cli/dist/src/plugins/store/discovery.js +80 -62
  447. package/packages/@monomind/cli/dist/src/production/circuit-breaker.js +8 -1
  448. package/packages/@monomind/cli/dist/src/production/error-handler.d.ts +4 -2
  449. package/packages/@monomind/cli/dist/src/production/error-handler.js +27 -5
  450. package/packages/@monomind/cli/dist/src/production/monitoring.js +8 -4
  451. package/packages/@monomind/cli/dist/src/production/rate-limiter.js +30 -22
  452. package/packages/@monomind/cli/dist/src/ruvector/agent-wasm.js +2 -2
  453. package/packages/@monomind/cli/dist/src/ruvector/coverage-router.js +19 -9
  454. package/packages/@monomind/cli/dist/src/ruvector/diff-classifier.d.ts +1 -0
  455. package/packages/@monomind/cli/dist/src/ruvector/diff-classifier.js +26 -6
  456. package/packages/@monomind/cli/dist/src/ruvector/enhanced-model-router.js +24 -2
  457. package/packages/@monomind/cli/dist/src/ruvector/index.d.ts +1 -2
  458. package/packages/@monomind/cli/dist/src/ruvector/index.js +2 -2
  459. package/packages/@monomind/cli/dist/src/ruvector/model-router.d.ts +4 -2
  460. package/packages/@monomind/cli/dist/src/ruvector/model-router.js +30 -6
  461. package/packages/@monomind/cli/dist/src/ruvector/moe-router.d.ts +7 -0
  462. package/packages/@monomind/cli/dist/src/ruvector/moe-router.js +35 -12
  463. package/packages/@monomind/cli/dist/src/ruvector/q-learning-router.d.ts +7 -1
  464. package/packages/@monomind/cli/dist/src/ruvector/q-learning-router.js +40 -9
  465. package/packages/@monomind/cli/dist/src/services/claim-service.d.ts +3 -1
  466. package/packages/@monomind/cli/dist/src/services/claim-service.js +33 -2
  467. package/packages/@monomind/cli/dist/src/services/config-file-manager.d.ts +16 -2
  468. package/packages/@monomind/cli/dist/src/services/config-file-manager.js +105 -17
  469. package/packages/@monomind/cli/dist/src/services/container-worker-pool.js +51 -11
  470. package/packages/@monomind/cli/dist/src/services/headless-worker-executor.d.ts +7 -0
  471. package/packages/@monomind/cli/dist/src/services/headless-worker-executor.js +188 -45
  472. package/packages/@monomind/cli/dist/src/services/registry-api.js +62 -9
  473. package/packages/@monomind/cli/dist/src/services/ruvector-training.js +8 -0
  474. package/packages/@monomind/cli/dist/src/services/worker-daemon.d.ts +4 -1
  475. package/packages/@monomind/cli/dist/src/services/worker-daemon.js +112 -28
  476. package/packages/@monomind/cli/dist/src/services/worker-queue.d.ts +9 -2
  477. package/packages/@monomind/cli/dist/src/services/worker-queue.js +86 -5
  478. package/packages/@monomind/cli/dist/src/suggest.js +9 -0
  479. package/packages/@monomind/cli/dist/src/swarm/flow-enforcer.d.ts +5 -3
  480. package/packages/@monomind/cli/dist/src/swarm/flow-enforcer.js +17 -5
  481. package/packages/@monomind/cli/dist/src/swarm/flow-visualizer.d.ts +3 -0
  482. package/packages/@monomind/cli/dist/src/swarm/flow-visualizer.js +30 -6
  483. package/packages/@monomind/cli/dist/src/transfer/anonymization/index.js +5 -3
  484. package/packages/@monomind/cli/dist/src/transfer/export.js +5 -3
  485. package/packages/@monomind/cli/dist/src/transfer/ipfs/client.js +84 -7
  486. package/packages/@monomind/cli/dist/src/transfer/ipfs/upload.js +13 -4
  487. package/packages/@monomind/cli/dist/src/transfer/storage/gcs.js +19 -10
  488. package/packages/@monomind/cli/dist/src/transfer/store/discovery.d.ts +9 -2
  489. package/packages/@monomind/cli/dist/src/transfer/store/discovery.js +68 -13
  490. package/packages/@monomind/cli/dist/src/transfer/store/download.d.ts +15 -6
  491. package/packages/@monomind/cli/dist/src/transfer/store/download.js +113 -24
  492. package/packages/@monomind/cli/dist/src/transfer/store/publish.d.ts +1 -1
  493. package/packages/@monomind/cli/dist/src/transfer/store/publish.js +13 -14
  494. package/packages/@monomind/cli/dist/src/transfer/store/registry.d.ts +3 -3
  495. package/packages/@monomind/cli/dist/src/transfer/store/registry.js +32 -16
  496. package/packages/@monomind/cli/dist/src/update/checker.js +17 -4
  497. package/packages/@monomind/cli/dist/src/update/executor.js +25 -20
  498. package/packages/@monomind/cli/dist/src/update/rate-limiter.d.ts +11 -0
  499. package/packages/@monomind/cli/dist/src/update/rate-limiter.js +23 -3
  500. package/packages/@monomind/cli/dist/src/utils/parse-jsonl.d.ts +6 -0
  501. package/packages/@monomind/cli/dist/src/utils/parse-jsonl.js +22 -0
  502. package/packages/@monomind/cli/dist/src/workflow/condition-evaluator.js +37 -3
  503. package/packages/@monomind/cli/dist/src/workflow/dag-builder.js +27 -11
  504. package/packages/@monomind/cli/dist/src/workflow/dag-executor.js +51 -13
  505. package/packages/@monomind/cli/dist/src/workflow/dsl-schema.d.ts +3 -0
  506. package/packages/@monomind/cli/dist/src/workflow/dsl-schema.js +6 -2
  507. package/packages/@monomind/cli/dist/src/workflow/template-engine.js +7 -0
  508. package/packages/@monomind/cli/dist/src/workflow/workflow-executor.js +95 -14
  509. package/packages/@monomind/cli/package.json +5 -3
  510. package/packages/@monomind/guidance/README.md +1192 -0
  511. package/packages/@monomind/shared/README.md +322 -0
  512. package/packages/@monomind/shared/dist/types/consensus-audit.d.ts +3 -1
  513. package/packages/README.md +513 -0
  514. package/.claude/agents/design/design-brand-guardian.md +0 -323
  515. package/.claude/agents/design/design-image-prompt-engineer.md +0 -237
  516. package/.claude/agents/design/design-inclusive-visuals-specialist.md +0 -72
  517. package/.claude/agents/design/design-ui-designer.md +0 -384
  518. package/.claude/agents/design/design-ux-architect.md +0 -470
  519. package/.claude/agents/design/design-ux-researcher.md +0 -330
  520. package/.claude/agents/design/design-visual-storyteller.md +0 -150
  521. package/.claude/agents/design/design-whimsy-injector.md +0 -439
  522. package/.claude/agents/v3/integration-architect.md +0 -338
  523. package/.claude/commands/analysis/COMMAND_COMPLIANCE_REPORT.md +0 -54
  524. package/.claude/commands/coordination/init.md +0 -44
  525. package/.claude/commands/coordination/orchestrate.md +0 -43
  526. package/.claude/commands/coordination/spawn.md +0 -45
  527. package/.claude/commands/github/code-review-swarm.md +0 -550
  528. package/.claude/commands/github/code-review.md +0 -25
  529. package/.claude/commands/github/github-swarm.md +0 -121
  530. package/.claude/commands/github/issue-triage.md +0 -25
  531. package/.claude/commands/github/multi-repo-swarm.md +0 -519
  532. package/.claude/commands/github/pr-enhance.md +0 -26
  533. package/.claude/commands/github/project-board-sync.md +0 -471
  534. package/.claude/commands/github/release-swarm.md +0 -590
  535. package/.claude/commands/github/repo-analyze.md +0 -25
  536. package/.claude/commands/github/swarm-issue.md +0 -482
  537. package/.claude/commands/github/swarm-pr.md +0 -310
  538. package/.claude/commands/github/workflow-automation.md +0 -468
  539. package/.claude/commands/hive-mind/hive-mind-metrics.md +0 -8
  540. package/.claude/commands/hive-mind/hive-mind-resume.md +0 -8
  541. package/.claude/commands/hive-mind/hive-mind-sessions.md +0 -8
  542. package/.claude/commands/hive-mind/hive-mind-wizard.md +0 -8
  543. package/.claude/commands/list-agents.md +0 -17
  544. package/.claude/commands/memory/memory-persist.md +0 -25
  545. package/.claude/commands/memory/memory-usage.md +0 -25
  546. package/.claude/commands/memory/neural.md +0 -47
  547. package/.claude/commands/metrics.md +0 -11
  548. package/.claude/commands/monitoring/real-time-view.md +0 -25
  549. package/.claude/commands/monitoring/swarm-monitor.md +0 -25
  550. package/.claude/commands/monomind-createtask.md +0 -302
  551. package/.claude/commands/monomind-help.md +0 -103
  552. package/.claude/commands/monomind-memory.md +0 -107
  553. package/.claude/commands/monomind-repeat.md +0 -149
  554. package/.claude/commands/monomind-swarm.md +0 -205
  555. package/.claude/commands/optimization/cache-manage.md +0 -25
  556. package/.claude/commands/optimization/topology-optimize.md +0 -25
  557. package/.claude/commands/pair/commands.md +0 -546
  558. package/.claude/commands/pair/config.md +0 -510
  559. package/.claude/commands/pair/start.md +0 -209
  560. package/.claude/commands/use-agent.md +0 -67
  561. package/.claude/skills/monomind-createtask/SKILL.md +0 -269
  562. package/.claude/skills/monomind-task-engine/SKILL.md +0 -358
  563. /package/.claude/agents/{v3 → specialists}/memory-specialist.md +0 -0
  564. /package/.claude/agents/{v3 → specialists}/performance-engineer.md +0 -0
  565. /package/.claude/agents/{v3 → specialists}/queen-coordinator.md +0 -0
  566. /package/.claude/agents/{v3 → specialists}/security-architect.md +0 -0
@@ -10,6 +10,26 @@ import { dirname } from 'path';
10
10
  // ESM-compatible __dirname
11
11
  const __filename = fileURLToPath(import.meta.url);
12
12
  const __dirname = dirname(__filename);
13
+ /**
14
+ * Atomic write helper — writes to a sibling .tmp file then renames into place.
15
+ * SIGINT or crash during a partial write would otherwise corrupt user-critical
16
+ * files (.claude/settings.json, .mcp.json, helper scripts that Claude Code
17
+ * executes on every hook). Without atomicity a half-written settings.json or
18
+ * a zero-byte hook-handler.cjs disables Claude Code's protections silently.
19
+ */
20
+ function atomicWriteFile(target, content, encoding) {
21
+ const tmp = `${target}.${process.pid}.tmp`;
22
+ if (encoding && typeof content === 'string') {
23
+ fs.writeFileSync(tmp, content, encoding);
24
+ }
25
+ else if (typeof content === 'string') {
26
+ fs.writeFileSync(tmp, content, 'utf-8');
27
+ }
28
+ else {
29
+ fs.writeFileSync(tmp, content);
30
+ }
31
+ fs.renameSync(tmp, target);
32
+ }
13
33
  import { detectPlatform, DEFAULT_INIT_OPTIONS } from './types.js';
14
34
  import { writeSharedInstructions } from './shared-instructions-generator.js';
15
35
  import { generateSettingsJson, generateSettings } from './settings-generator.js';
@@ -24,6 +44,7 @@ const SKILLS_MAP = {
24
44
  core: [
25
45
  'swarm-orchestration',
26
46
  'swarm-advanced',
47
+ 'swarm-coordination',
27
48
  'sparc-methodology',
28
49
  'hooks-automation',
29
50
  'pair-programming',
@@ -31,8 +52,12 @@ const SKILLS_MAP = {
31
52
  'stream-chain',
32
53
  'skill-builder',
33
54
  'specialagent',
55
+ 'mastermind',
56
+ 'monodesign',
57
+ 'monomotion',
58
+ 'hive-mind-advanced',
34
59
  ],
35
- browser: ['browser', 'agent-browser-testing'], // agent-browser integration
60
+ browser: ['agent-browser-testing'],
36
61
  agentdb: [
37
62
  'agentdb-advanced',
38
63
  'agentdb-learning',
@@ -49,16 +74,17 @@ const SKILLS_MAP = {
49
74
  'github-release-management',
50
75
  'github-workflow-automation',
51
76
  ],
52
- v1: [
53
- 'v1-cli-modernization',
54
- 'v1-core-implementation',
55
- 'v1-ddd-architecture',
56
- 'v1-integration-deep',
57
- 'v1-mcp-optimization',
58
- 'v1-memory-unification',
59
- 'v1-performance-optimization',
60
- 'v1-security-overhaul',
61
- 'v1-swarm-coordination',
77
+ advanced: [
78
+ 'agentic-integration',
79
+ 'agentic-jujutsu',
80
+ 'cli-modernization',
81
+ 'core-implementation',
82
+ 'ddd-architecture',
83
+ 'mcp-optimization',
84
+ 'memory-unification',
85
+ 'performance-analysis',
86
+ 'performance-optimization',
87
+ 'security-hardening',
62
88
  ],
63
89
  };
64
90
  /**
@@ -66,47 +92,69 @@ const SKILLS_MAP = {
66
92
  */
67
93
  const COMMANDS_MAP = {
68
94
  core: [
69
- 'monomind-help.md', 'monomind-swarm.md', 'monomind-memory.md',
70
- 'monomind-do.md', 'monomind-idea.md', 'monomind-improve.md', 'monomind-createtask.md', 'monomind-repeat.md',
71
- 'mastermind.md', 'list-agents.md', 'use-agent.md',
72
- 'metrics.md', 'tokens.md', 'browse.md', 'sparc.md', 'ts.md',
95
+ 'mastermind.md', 'tokens.md', 'browse.md', 'sparc.md', 'ts.md',
73
96
  ],
97
+ agents: ['agents'],
74
98
  analysis: ['analysis'],
75
99
  automation: ['automation'],
100
+ coordination: ['coordination'],
76
101
  github: ['github'],
102
+ hiveMind: ['hive-mind'],
77
103
  hooks: ['hooks'],
104
+ mastermind: ['mastermind'],
105
+ memory: ['memory'],
78
106
  monitoring: ['monitoring'],
107
+ monograph: ['monograph'],
108
+ monomind: ['monomind'],
79
109
  optimization: ['optimization'],
110
+ pair: ['pair'],
80
111
  sparc: ['sparc'],
112
+ streamChain: ['stream-chain'],
113
+ swarm: ['swarm'],
114
+ training: ['training'],
115
+ truth: ['truth'],
116
+ verify: ['verify'],
117
+ workflows: ['workflows'],
81
118
  };
82
119
  /**
83
120
  * Agents to copy based on configuration
84
121
  */
85
122
  const AGENTS_MAP = {
86
- core: ['core'],
87
- consensus: ['consensus'],
88
- github: ['github'],
89
- hiveMind: ['hive-mind'],
90
- sparc: ['sparc'],
91
- swarm: ['swarm'],
92
- browser: ['browser'], // agent-browser integration
93
- // V1-specific agents
94
- v1: ['v1'],
95
- optimization: ['optimization'],
96
- templates: ['templates'],
97
- testing: ['testing'],
98
- sublinear: ['sublinear'],
123
+ academic: ['academic'],
99
124
  analysis: ['analysis'],
100
125
  architecture: ['architecture'],
126
+ consensus: ['consensus'],
127
+ core: ['core'],
128
+ data: ['data'],
129
+ design: ['design'],
101
130
  development: ['development'],
102
131
  devops: ['devops'],
103
132
  documentation: ['documentation'],
104
- specialized: ['specialized'],
133
+ engineering: ['engineering'],
134
+ gameDevelopment: ['game-development'],
135
+ github: ['github'],
105
136
  goal: ['goal'],
106
- sona: ['sona'],
137
+ hiveMind: ['hive-mind'],
138
+ marketing: ['marketing'],
139
+ neural: ['neural'],
140
+ optimization: ['optimization'],
141
+ paidMedia: ['paid-media'],
107
142
  payments: ['payments'],
108
- data: ['data'],
109
- custom: ['custom'],
143
+ product: ['product'],
144
+ projectManagement: ['project-management'],
145
+ reasoning: ['reasoning'],
146
+ sales: ['sales'],
147
+ schemas: ['schemas'],
148
+ sona: ['sona'],
149
+ sparc: ['sparc'],
150
+ spatialComputing: ['spatial-computing'],
151
+ specialists: ['specialists'],
152
+ specialized: ['specialized'],
153
+ sublinear: ['sublinear'],
154
+ support: ['support'],
155
+ swarm: ['swarm'],
156
+ templates: ['templates'],
157
+ testing: ['testing'],
110
158
  };
111
159
  /**
112
160
  * Directory structure to create
@@ -171,7 +219,7 @@ function cleanupLegacyTools(targetDir) {
171
219
  cleaned.push('.mcp.json: updated MCP package name to monomind@latest');
172
220
  }
173
221
  if (mcpChanged) {
174
- fs.writeFileSync(mcpJsonPath, JSON.stringify(mcp, null, 2));
222
+ atomicWriteFile(mcpJsonPath, JSON.stringify(mcp, null, 2));
175
223
  }
176
224
  }
177
225
  catch { /* non-fatal */ }
@@ -207,7 +255,7 @@ function cleanupLegacyTools(targetDir) {
207
255
  cleaned.push('.claude/settings.json: updated MCP package name to monomind@latest');
208
256
  }
209
257
  if (settingsChanged) {
210
- fs.writeFileSync(settingsPath, JSON.stringify(settings, null, 2));
258
+ atomicWriteFile(settingsPath, JSON.stringify(settings, null, 2));
211
259
  }
212
260
  }
213
261
  catch { /* non-fatal */ }
@@ -537,11 +585,18 @@ export async function executeUpgrade(targetDir, upgradeSettings = false) {
537
585
  else {
538
586
  result.created.push(`.claude/helpers/${helperName}`);
539
587
  }
540
- fs.copyFileSync(sourcePath, targetPath);
541
- try {
542
- fs.chmodSync(targetPath, '755');
588
+ // Atomic copy-via-rename: a SIGINT/crash during copy would leave a
589
+ // half-written hook-handler.cjs which Claude Code executes on every
590
+ // hook event — partial JS could disable security checks silently.
591
+ {
592
+ const tmp = targetPath + '.tmp';
593
+ fs.copyFileSync(sourcePath, tmp);
594
+ try {
595
+ fs.chmodSync(tmp, 0o755);
596
+ }
597
+ catch { }
598
+ fs.renameSync(tmp, targetPath);
543
599
  }
544
- catch { }
545
600
  }
546
601
  }
547
602
  }
@@ -560,11 +615,16 @@ export async function executeUpgrade(targetDir, upgradeSettings = false) {
560
615
  else {
561
616
  result.created.push(`.claude/helpers/${helperName}`);
562
617
  }
563
- fs.writeFileSync(targetPath, content, 'utf-8');
618
+ // Atomic write (PID-suffixed) so a partial hook-handler.cjs cannot
619
+ // ship if init is interrupted, and concurrent inits don't collide on
620
+ // the same .tmp filename.
621
+ const tmp = `${targetPath}.${process.pid}.tmp`;
622
+ fs.writeFileSync(tmp, content, 'utf-8');
564
623
  try {
565
- fs.chmodSync(targetPath, '755');
624
+ fs.chmodSync(tmp, 0o755);
566
625
  }
567
626
  catch { }
627
+ fs.renameSync(tmp, targetPath);
568
628
  }
569
629
  }
570
630
  // 1. ALWAYS update statusline helper (force overwrite)
@@ -586,7 +646,7 @@ export async function executeUpgrade(targetDir, upgradeSettings = false) {
586
646
  else {
587
647
  result.created.push('.claude/helpers/statusline.cjs');
588
648
  }
589
- fs.writeFileSync(statuslinePath, statuslineContent, 'utf-8');
649
+ atomicWriteFile(statuslinePath, statuslineContent);
590
650
  // 2. Create MISSING metrics files only (preserve existing data)
591
651
  const metricsDir = path.join(targetDir, '.monomind', 'metrics');
592
652
  const securityDir = path.join(targetDir, '.monomind', 'security');
@@ -602,7 +662,7 @@ export async function executeUpgrade(targetDir, upgradeSettings = false) {
602
662
  learning: { status: 'READY', patternsLearned: 0, sessionsCompleted: 0 },
603
663
  _note: 'Metrics will update as you use Monomind'
604
664
  };
605
- fs.writeFileSync(progressPath, JSON.stringify(progress, null, 2), 'utf-8');
665
+ atomicWriteFile(progressPath, JSON.stringify(progress, null, 2));
606
666
  result.created.push('.monomind/metrics/v1-progress.json');
607
667
  }
608
668
  else {
@@ -618,7 +678,7 @@ export async function executeUpgrade(targetDir, upgradeSettings = false) {
618
678
  integration: { agentic_flow_active: false, mcp_active: false },
619
679
  _initialized: true
620
680
  };
621
- fs.writeFileSync(activityPath, JSON.stringify(activity, null, 2), 'utf-8');
681
+ atomicWriteFile(activityPath, JSON.stringify(activity, null, 2));
622
682
  result.created.push('.monomind/metrics/swarm-activity.json');
623
683
  }
624
684
  else {
@@ -634,7 +694,7 @@ export async function executeUpgrade(targetDir, upgradeSettings = false) {
634
694
  sessions: { total: 0, current: null },
635
695
  _note: 'Intelligence grows as you use Monomind'
636
696
  };
637
- fs.writeFileSync(learningPath, JSON.stringify(learning, null, 2), 'utf-8');
697
+ atomicWriteFile(learningPath, JSON.stringify(learning, null, 2));
638
698
  result.created.push('.monomind/metrics/learning.json');
639
699
  }
640
700
  else {
@@ -651,7 +711,7 @@ export async function executeUpgrade(targetDir, upgradeSettings = false) {
651
711
  lastScan: null,
652
712
  _note: 'Run: npx monomind@latest security scan'
653
713
  };
654
- fs.writeFileSync(auditPath, JSON.stringify(audit, null, 2), 'utf-8');
714
+ atomicWriteFile(auditPath, JSON.stringify(audit, null, 2));
655
715
  result.created.push('.monomind/security/audit-status.json');
656
716
  }
657
717
  else {
@@ -664,7 +724,7 @@ export async function executeUpgrade(targetDir, upgradeSettings = false) {
664
724
  try {
665
725
  const existingSettings = JSON.parse(fs.readFileSync(settingsPath, 'utf-8'));
666
726
  const mergedSettings = mergeSettingsForUpgrade(existingSettings);
667
- fs.writeFileSync(settingsPath, JSON.stringify(mergedSettings, null, 2), 'utf-8');
727
+ atomicWriteFile(settingsPath, JSON.stringify(mergedSettings, null, 2));
668
728
  result.updated.push('.claude/settings.json');
669
729
  result.settingsUpdated = [
670
730
  'env.CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS',
@@ -683,7 +743,7 @@ export async function executeUpgrade(targetDir, upgradeSettings = false) {
683
743
  else {
684
744
  // Create new settings.json with defaults
685
745
  const defaultSettings = generateSettings(DEFAULT_INIT_OPTIONS);
686
- fs.writeFileSync(settingsPath, JSON.stringify(defaultSettings, null, 2), 'utf-8');
746
+ atomicWriteFile(settingsPath, JSON.stringify(defaultSettings, null, 2));
687
747
  result.created.push('.claude/settings.json');
688
748
  result.settingsUpdated = ['Created new settings.json with Agent Teams'];
689
749
  }
@@ -839,7 +899,7 @@ async function writeSettings(targetDir, options, result) {
839
899
  }
840
900
  }
841
901
  if (merged) {
842
- fs.writeFileSync(settingsPath, JSON.stringify(existing, null, 2), 'utf-8');
902
+ atomicWriteFile(settingsPath, JSON.stringify(existing, null, 2));
843
903
  result.created.files.push('.claude/settings.json (merged hooks)');
844
904
  }
845
905
  else {
@@ -848,12 +908,12 @@ async function writeSettings(targetDir, options, result) {
848
908
  }
849
909
  catch {
850
910
  // Existing file is corrupt — overwrite
851
- fs.writeFileSync(settingsPath, JSON.stringify(generated, null, 2), 'utf-8');
911
+ atomicWriteFile(settingsPath, JSON.stringify(generated, null, 2));
852
912
  result.created.files.push('.claude/settings.json');
853
913
  }
854
914
  return;
855
915
  }
856
- fs.writeFileSync(settingsPath, JSON.stringify(generated, null, 2), 'utf-8');
916
+ atomicWriteFile(settingsPath, JSON.stringify(generated, null, 2));
857
917
  result.created.files.push('.claude/settings.json');
858
918
  }
859
919
  /**
@@ -866,7 +926,7 @@ async function writeMCPConfig(targetDir, options, result) {
866
926
  return;
867
927
  }
868
928
  const content = generateMCPJson(options);
869
- fs.writeFileSync(mcpPath, content, 'utf-8');
929
+ atomicWriteFile(mcpPath, content);
870
930
  result.created.files.push('.mcp.json');
871
931
  }
872
932
  /**
@@ -890,8 +950,8 @@ async function copySkills(targetDir, options, result) {
890
950
  skillsToCopy.push(...SKILLS_MAP.github);
891
951
  if (skillsConfig.browser)
892
952
  skillsToCopy.push(...SKILLS_MAP.browser);
893
- if (skillsConfig.v1)
894
- skillsToCopy.push(...SKILLS_MAP.v1);
953
+ if (skillsConfig.advanced)
954
+ skillsToCopy.push(...SKILLS_MAP.advanced);
895
955
  }
896
956
  // Find source skills directory
897
957
  const sourceSkillsDir = findSourceDir('skills', options.sourceBaseDir);
@@ -929,20 +989,48 @@ async function copyCommands(targetDir, options, result) {
929
989
  else {
930
990
  if (commandsConfig.core)
931
991
  commandsToCopy.push(...COMMANDS_MAP.core);
992
+ if (commandsConfig.agents)
993
+ commandsToCopy.push(...(COMMANDS_MAP.agents || []));
932
994
  if (commandsConfig.analysis)
933
995
  commandsToCopy.push(...COMMANDS_MAP.analysis);
934
996
  if (commandsConfig.automation)
935
997
  commandsToCopy.push(...COMMANDS_MAP.automation);
998
+ if (commandsConfig.coordination)
999
+ commandsToCopy.push(...(COMMANDS_MAP.coordination || []));
936
1000
  if (commandsConfig.github)
937
1001
  commandsToCopy.push(...COMMANDS_MAP.github);
1002
+ if (commandsConfig.hiveMind)
1003
+ commandsToCopy.push(...(COMMANDS_MAP.hiveMind || []));
938
1004
  if (commandsConfig.hooks)
939
1005
  commandsToCopy.push(...COMMANDS_MAP.hooks);
1006
+ if (commandsConfig.mastermind)
1007
+ commandsToCopy.push(...(COMMANDS_MAP.mastermind || []));
1008
+ if (commandsConfig.memory)
1009
+ commandsToCopy.push(...(COMMANDS_MAP.memory || []));
940
1010
  if (commandsConfig.monitoring)
941
1011
  commandsToCopy.push(...COMMANDS_MAP.monitoring);
1012
+ if (commandsConfig.monograph)
1013
+ commandsToCopy.push(...(COMMANDS_MAP.monograph || []));
1014
+ if (commandsConfig.monomind)
1015
+ commandsToCopy.push(...(COMMANDS_MAP.monomind || []));
942
1016
  if (commandsConfig.optimization)
943
1017
  commandsToCopy.push(...COMMANDS_MAP.optimization);
1018
+ if (commandsConfig.pair)
1019
+ commandsToCopy.push(...(COMMANDS_MAP.pair || []));
944
1020
  if (commandsConfig.sparc)
945
1021
  commandsToCopy.push(...COMMANDS_MAP.sparc);
1022
+ if (commandsConfig.streamChain)
1023
+ commandsToCopy.push(...(COMMANDS_MAP.streamChain || []));
1024
+ if (commandsConfig.swarm)
1025
+ commandsToCopy.push(...(COMMANDS_MAP.swarm || []));
1026
+ if (commandsConfig.training)
1027
+ commandsToCopy.push(...(COMMANDS_MAP.training || []));
1028
+ if (commandsConfig.truth)
1029
+ commandsToCopy.push(...(COMMANDS_MAP.truth || []));
1030
+ if (commandsConfig.verify)
1031
+ commandsToCopy.push(...(COMMANDS_MAP.verify || []));
1032
+ if (commandsConfig.workflows)
1033
+ commandsToCopy.push(...(COMMANDS_MAP.workflows || []));
946
1034
  }
947
1035
  // Find source commands directory
948
1036
  const sourceCommandsDir = findSourceDir('commands', options.sourceBaseDir);
@@ -995,11 +1083,6 @@ async function copyAgents(targetDir, options, result) {
995
1083
  agentsToCopy.push(...AGENTS_MAP.sparc);
996
1084
  if (agentsConfig.swarm)
997
1085
  agentsToCopy.push(...AGENTS_MAP.swarm);
998
- if (agentsConfig.browser)
999
- agentsToCopy.push(...AGENTS_MAP.browser);
1000
- // V1-specific agent categories
1001
- if (agentsConfig.v1)
1002
- agentsToCopy.push(...(AGENTS_MAP.v1 || []));
1003
1086
  if (agentsConfig.optimization)
1004
1087
  agentsToCopy.push(...(AGENTS_MAP.optimization || []));
1005
1088
  if (agentsConfig.testing)
@@ -1128,7 +1211,7 @@ async function writeHelpers(targetDir, options, result) {
1128
1211
  for (const [name, content] of Object.entries(helpers)) {
1129
1212
  const filePath = path.join(helpersDir, name);
1130
1213
  if (!fs.existsSync(filePath) || options.force) {
1131
- fs.writeFileSync(filePath, content, 'utf-8');
1214
+ atomicWriteFile(filePath, content);
1132
1215
  // Make shell scripts executable
1133
1216
  if (!name.endsWith('.js')) {
1134
1217
  fs.chmodSync(filePath, '755');
@@ -1211,7 +1294,7 @@ async function writeStatusline(targetDir, options, result) {
1211
1294
  // This must overwrite any copy from writeHelpers() which copies the legacy file.
1212
1295
  const statuslineScript = generateStatuslineScript(options);
1213
1296
  const statuslinePath = path.join(helpersDir, 'statusline.cjs');
1214
- fs.writeFileSync(statuslinePath, statuslineScript, 'utf-8');
1297
+ atomicWriteFile(statuslinePath, statuslineScript);
1215
1298
  result.created.files.push('.claude/helpers/statusline.cjs');
1216
1299
  }
1217
1300
  /**
@@ -1267,7 +1350,7 @@ mcp:
1267
1350
  autoStart: ${options.mcp.autoStart}
1268
1351
  port: ${options.mcp.port}
1269
1352
  `;
1270
- fs.writeFileSync(configPath, config, 'utf-8');
1353
+ atomicWriteFile(configPath, config);
1271
1354
  result.created.files.push('.monomind/config.yaml');
1272
1355
  // Write .gitignore
1273
1356
  const gitignorePath = path.join(targetDir, '.monomind', '.gitignore');
@@ -1280,7 +1363,7 @@ neural/
1280
1363
  *.tmp
1281
1364
  `;
1282
1365
  if (!fs.existsSync(gitignorePath) || options.force) {
1283
- fs.writeFileSync(gitignorePath, gitignore, 'utf-8');
1366
+ atomicWriteFile(gitignorePath, gitignore);
1284
1367
  result.created.files.push('.monomind/.gitignore');
1285
1368
  }
1286
1369
  // Write CAPABILITIES.md with full system overview
@@ -1329,7 +1412,7 @@ async function writeInitialMetrics(targetDir, options, result) {
1329
1412
  },
1330
1413
  _note: 'Metrics will update as you use Monomind. Run: npx monomind@latest daemon start'
1331
1414
  };
1332
- fs.writeFileSync(progressPath, JSON.stringify(progress, null, 2), 'utf-8');
1415
+ atomicWriteFile(progressPath, JSON.stringify(progress, null, 2));
1333
1416
  result.created.files.push('.monomind/metrics/v1-progress.json');
1334
1417
  }
1335
1418
  // Create initial swarm-activity.json
@@ -1353,7 +1436,7 @@ async function writeInitialMetrics(targetDir, options, result) {
1353
1436
  },
1354
1437
  _initialized: true
1355
1438
  };
1356
- fs.writeFileSync(activityPath, JSON.stringify(activity, null, 2), 'utf-8');
1439
+ atomicWriteFile(activityPath, JSON.stringify(activity, null, 2));
1357
1440
  result.created.files.push('.monomind/metrics/swarm-activity.json');
1358
1441
  }
1359
1442
  // Create initial learning.json
@@ -1376,7 +1459,7 @@ async function writeInitialMetrics(targetDir, options, result) {
1376
1459
  },
1377
1460
  _note: 'Intelligence grows as you use Monomind'
1378
1461
  };
1379
- fs.writeFileSync(learningPath, JSON.stringify(learning, null, 2), 'utf-8');
1462
+ atomicWriteFile(learningPath, JSON.stringify(learning, null, 2));
1380
1463
  result.created.files.push('.monomind/metrics/learning.json');
1381
1464
  }
1382
1465
  // Create initial audit-status.json
@@ -1390,7 +1473,7 @@ async function writeInitialMetrics(targetDir, options, result) {
1390
1473
  lastScan: null,
1391
1474
  _note: 'Run: npx monomind@latest security scan'
1392
1475
  };
1393
- fs.writeFileSync(auditPath, JSON.stringify(audit, null, 2), 'utf-8');
1476
+ atomicWriteFile(auditPath, JSON.stringify(audit, null, 2));
1394
1477
  result.created.files.push('.monomind/security/audit-status.json');
1395
1478
  }
1396
1479
  }
@@ -1801,7 +1884,7 @@ npx monomind@latest hooks worker dispatch --trigger optimize
1801
1884
  **Full Documentation**: https://github.com/nokhodian/monomind
1802
1885
  **Issues**: https://github.com/nokhodian/monomind/issues
1803
1886
  `;
1804
- fs.writeFileSync(capabilitiesPath, capabilities, 'utf-8');
1887
+ atomicWriteFile(capabilitiesPath, capabilities);
1805
1888
  result.created.files.push('.monomind/CAPABILITIES.md');
1806
1889
  }
1807
1890
  /**
@@ -1816,7 +1899,7 @@ async function writeClaudeMd(targetDir, options, result) {
1816
1899
  // Determine template: explicit option > infer from components > 'standard'
1817
1900
  const inferredTemplate = (!options.components.commands && !options.components.agents) ? 'minimal' : undefined;
1818
1901
  const content = generateClaudeMd(options, inferredTemplate);
1819
- fs.writeFileSync(claudeMdPath, content, 'utf-8');
1902
+ atomicWriteFile(claudeMdPath, content);
1820
1903
  result.created.files.push('CLAUDE.md');
1821
1904
  }
1822
1905
  // Also write/append global ~/.claude/CLAUDE.md so monomind tools are used automatically (#1497)
@@ -1844,7 +1927,7 @@ async function writeClaudeMd(targetDir, options, result) {
1844
1927
  }
1845
1928
  }
1846
1929
  else {
1847
- fs.writeFileSync(globalClaudeMd, monomindBlock.trimStart(), 'utf-8');
1930
+ atomicWriteFile(globalClaudeMd, monomindBlock.trimStart());
1848
1931
  result.created.files.push('~/.claude/CLAUDE.md');
1849
1932
  }
1850
1933
  }
@@ -1875,7 +1958,7 @@ async function writeClaudeMd(targetDir, options, result) {
1875
1958
  });
1876
1959
  hooks['SessionStart'] = sessionStartHooks;
1877
1960
  globalSettings.hooks = hooks;
1878
- fs.writeFileSync(globalSettingsPath, JSON.stringify(globalSettings, null, 2), 'utf-8');
1961
+ atomicWriteFile(globalSettingsPath, JSON.stringify(globalSettings, null, 2));
1879
1962
  result.created.files.push('~/.claude/settings.json (added token hook)');
1880
1963
  }
1881
1964
  }
@@ -307,8 +307,14 @@ const commands = {
307
307
  console.error('Key required');
308
308
  return;
309
309
  }
310
+ // Reject prototype-pollution keys: \`memory[key] = value\` with key='__proto__'
311
+ // performs a prototype-set, polluting Object.prototype for the process.
312
+ if (key === '__proto__' || key === 'constructor' || key === 'prototype') {
313
+ console.error('Forbidden key');
314
+ process.exit(2);
315
+ }
310
316
  const memory = loadMemory();
311
- memory[key] = value;
317
+ Object.defineProperty(memory, key, { value, enumerable: true, configurable: true, writable: true });
312
318
  memory._updated = new Date().toISOString();
313
319
  saveMemory(memory);
314
320
  console.log(\`Set: \${key}\`);
@@ -319,6 +325,10 @@ const commands = {
319
325
  console.error('Key required');
320
326
  return;
321
327
  }
328
+ if (key === '__proto__' || key === 'constructor' || key === 'prototype') {
329
+ console.error('Forbidden key');
330
+ process.exit(2);
331
+ }
322
332
  const memory = loadMemory();
323
333
  delete memory[key];
324
334
  saveMemory(memory);
@@ -477,15 +487,11 @@ export function generateHookHandler() {
477
487
  ' },',
478
488
  '',
479
489
  " 'pre-bash': () => {",
480
- ' var cmd = prompt.toLowerCase();',
481
- " var dangerous = ['rm -rf /', 'format c:', 'del /s /q c:\\\\', ':(){:|:&};:'];",
482
- ' for (var i = 0; i < dangerous.length; i++) {',
483
- ' if (cmd.includes(dangerous[i])) {',
484
- " console.error('[BLOCKED] Dangerous command detected: ' + dangerous[i]);",
485
- ' process.exit(1);',
486
- ' }',
487
- ' }',
488
- " console.log('[OK] Command validated');",
490
+ " // NOTE: This hook is intentionally NOT a security filter. A 4-substring",
491
+ " // check is trivially bypassed (extra spaces, find -delete, dd, bash -c, etc.)",
492
+ " // and shipping a fake check creates false confidence. Real safety lives in",
493
+ " // Claude Code's permission prompt and sandboxing. Hook is observability-only.",
494
+ " console.log('[OK] Command validation delegated to Claude Code permissions');",
489
495
  ' },',
490
496
  '',
491
497
  " 'post-edit': () => {",
@@ -498,18 +504,19 @@ export function generateHookHandler() {
498
504
  ' intelligence.recordEdit(file);',
499
505
  ' } catch (e) { /* non-fatal */ }',
500
506
  ' }',
501
- ' // Auto-rebuild graphify knowledge graph for code file changes',
507
+ ' // Auto-rebuild monograph knowledge graph for code file changes',
502
508
  ' try {',
503
509
  " var editedFile = process.env.TOOL_INPUT_file_path || args[0] || '';",
504
510
  " var isCode = /\\.(ts|js|tsx|jsx|py|go|rs|java|c|cpp|h|cs|rb|php|swift|kt|scala)$/.test(editedFile);",
505
- " var graphJson = require('path').join(process.cwd(), 'graphify-out', 'graph.json');",
506
- " if (isCode && require('fs').existsSync(graphJson)) {",
507
- " require('child_process').spawn('python', ['-m', 'graphify', '--update', process.cwd()], {",
508
- " detached: true, stdio: 'ignore', timeout: 30000",
511
+ " var dbFile = require('path').join(process.cwd(), '.monomind', 'monograph.db');",
512
+ " if (isCode && require('fs').existsSync(dbFile)) {",
513
+ " var s = `import { buildAsync } from '@monoes/monograph'; buildAsync(${JSON.stringify(process.cwd())}).catch(()=>{});`;",
514
+ " require('child_process').spawn(process.execPath, ['--input-type=module', '--eval', s], {",
515
+ " detached: true, stdio: 'ignore'",
509
516
  ' }).unref();',
510
- " console.log('[GRAPHIFY] Queued graph rebuild for: ' + require('path').basename(editedFile));",
517
+ " console.log('[MONOGRAPH] Queued graph rebuild for: ' + require('path').basename(editedFile));",
511
518
  ' }',
512
- ' } catch (e) { /* non-fatal — graphify may not be installed */ }',
519
+ ' } catch (e) { /* non-fatal — monograph may not be installed */ }',
513
520
  " console.log('[OK] Edit recorded');",
514
521
  ' },',
515
522
  '',
@@ -684,11 +691,13 @@ export function generateIntelligenceStub() {
684
691
  ' return text.toLowerCase().replace(/[^a-z0-9\\s]/g, " ").split(/\\s+/).filter(function(w) { return w.length > 2; });',
685
692
  '}',
686
693
  '',
687
- '// Bootstrap entries from MEMORY.md files when store is empty',
694
+ '// Bootstrap entries from MEMORY.md files when store is empty.',
695
+ '// SECURITY: ONLY walk the current project. Walking ~/.claude/projects',
696
+ '// previously caused cross-project memory leakage — entries from project A',
697
+ '// (potentially containing secrets) would surface in prompts in project B.',
688
698
  'function bootstrapFromMemoryFiles() {',
689
699
  ' var entries = [];',
690
700
  ' var candidates = [',
691
- ' path.join(os.homedir(), ".claude", "projects"),',
692
701
  ' path.join(process.cwd(), ".monomind", "memory"),',
693
702
  ' path.join(process.cwd(), ".claude", "memory"),',
694
703
  ' ];',
@@ -934,11 +943,15 @@ function doStatus() {
934
943
  console.log('');
935
944
  }
936
945
 
937
- // Suppress unhandled rejection warnings from optional dynamic import() failures only
946
+ // Suppress unhandled rejection warnings ONLY for genuine module-not-found from
947
+ // optional dynamic imports. Previously this swallowed any error whose message
948
+ // contained "Cannot find" (e.g. "Cannot find user with id ..."), masking real
949
+ // failures and security regressions.
938
950
  process.on('unhandledRejection', (reason) => {
939
- // Re-throw anything that isn't a module-not-found error from optional imports
940
- if (reason instanceof Error && reason.message.includes('Cannot find')) return;
951
+ const code = reason && typeof reason === 'object' ? reason.code : undefined;
952
+ if (code === 'ERR_MODULE_NOT_FOUND' || code === 'MODULE_NOT_FOUND') return;
941
953
  if (reason instanceof Error) throw reason;
954
+ throw new Error(String(reason));
942
955
  });
943
956
 
944
957
  const command = process.argv[2] || 'status';
@@ -51,9 +51,9 @@ export function generateMCPConfig(options) {
51
51
  MONOMIND_MEMORY_BACKEND: options.runtime.memoryBackend,
52
52
  }, { autoStart: config.autoStart });
53
53
  }
54
- // Graphify knowledge graph — built into monomind MCP server since v1.3.0.
55
- // Available as mcp__monomind__graphify_build, graphify_report, graphify_suggest, graphify_health.
56
- // No separate server needed — the monomind entry above provides all graphify tools.
54
+ // Monograph knowledge graph — built into monomind MCP server since v1.8.0.
55
+ // Available as mcp__monomind__monograph_build, monograph_query, monograph_suggest, monograph_health.
56
+ // No separate server needed — the monomind entry above provides all monograph tools.
57
57
  return { mcpServers };
58
58
  }
59
59
  /**
@@ -17,11 +17,18 @@ export function generateSettings(options) {
17
17
  settings.statusLine = generateStatusLineConfig(options);
18
18
  }
19
19
  // Add permissions
20
+ // SECURITY: tightened allowlist patterns.
21
+ // `Bash(npx monomind*)` previously matched any package starting with
22
+ // "monomind" (including a hypothetical future typosquat). Anchor to the
23
+ // official scope/namespaces only, with an explicit space between command
24
+ // tokens so partial-prefix matches are rejected.
20
25
  settings.permissions = {
21
26
  allow: [
22
- 'Bash(npx @monoes*)',
23
- 'Bash(npx monomind*)',
24
- 'Bash(node .claude/*)',
27
+ 'Bash(npx @monomind/*)',
28
+ 'Bash(npx monomind *)',
29
+ 'Bash(npx -y monomind *)',
30
+ 'Bash(npx monomind@*)',
31
+ 'Bash(node .claude/helpers/*)',
25
32
  'mcp__monomind__:*',
26
33
  ],
27
34
  deny: [