monomind 1.16.6 → 1.16.8

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 (560) hide show
  1. package/package.json +3 -1
  2. package/packages/@monomind/cli/.claude/agents/architecture/system-design/arch-system-design.md +54 -0
  3. package/packages/@monomind/cli/.claude/agents/consensus/crdt-synchronizer.md +977 -0
  4. package/packages/@monomind/cli/.claude/agents/consensus/quorum-manager.md +803 -0
  5. package/packages/@monomind/cli/.claude/agents/consensus/security-manager.md +602 -0
  6. package/packages/@monomind/cli/.claude/agents/core/coder.md +262 -0
  7. package/packages/@monomind/cli/.claude/agents/core/coordinator.md +71 -0
  8. package/packages/@monomind/cli/.claude/agents/core/planner.md +170 -0
  9. package/packages/@monomind/cli/.claude/agents/core/researcher.md +192 -0
  10. package/packages/@monomind/cli/.claude/agents/core/reviewer.md +327 -0
  11. package/packages/@monomind/cli/.claude/agents/core/tester.md +318 -0
  12. package/packages/@monomind/cli/.claude/agents/design/design-monodesign.md +121 -0
  13. package/packages/@monomind/cli/.claude/agents/engineering/engineering-ai-data-remediation-engineer.md +212 -0
  14. package/packages/@monomind/cli/.claude/agents/engineering/engineering-ai-engineer.md +165 -0
  15. package/packages/@monomind/cli/.claude/agents/engineering/engineering-autonomous-optimization-architect.md +108 -0
  16. package/packages/@monomind/cli/.claude/agents/engineering/engineering-backend-architect.md +254 -0
  17. package/packages/@monomind/cli/.claude/agents/engineering/engineering-code-reviewer.md +95 -0
  18. package/packages/@monomind/cli/.claude/agents/engineering/engineering-data-engineer.md +307 -0
  19. package/packages/@monomind/cli/.claude/agents/engineering/engineering-database-optimizer.md +200 -0
  20. package/packages/@monomind/cli/.claude/agents/engineering/engineering-devops-automator.md +430 -0
  21. package/packages/@monomind/cli/.claude/agents/engineering/engineering-embedded-firmware-engineer.md +174 -0
  22. package/packages/@monomind/cli/.claude/agents/engineering/engineering-feishu-integration-developer.md +607 -0
  23. package/packages/@monomind/cli/.claude/agents/engineering/engineering-frontend-developer.md +249 -0
  24. package/packages/@monomind/cli/.claude/agents/engineering/engineering-git-workflow-master.md +108 -0
  25. package/packages/@monomind/cli/.claude/agents/engineering/engineering-incident-response-commander.md +482 -0
  26. package/packages/@monomind/cli/.claude/agents/engineering/engineering-mobile-app-builder.md +499 -0
  27. package/packages/@monomind/cli/.claude/agents/engineering/engineering-rapid-prototyper.md +463 -0
  28. package/packages/@monomind/cli/.claude/agents/engineering/engineering-security-engineer.md +303 -0
  29. package/packages/@monomind/cli/.claude/agents/engineering/engineering-senior-developer.md +195 -0
  30. package/packages/@monomind/cli/.claude/agents/engineering/engineering-software-architect.md +100 -0
  31. package/packages/@monomind/cli/.claude/agents/engineering/engineering-solidity-smart-contract-engineer.md +528 -0
  32. package/packages/@monomind/cli/.claude/agents/engineering/engineering-sre.md +114 -0
  33. package/packages/@monomind/cli/.claude/agents/engineering/engineering-technical-writer.md +412 -0
  34. package/packages/@monomind/cli/.claude/agents/engineering/engineering-threat-detection-engineer.md +540 -0
  35. package/packages/@monomind/cli/.claude/agents/engineering/engineering-wechat-mini-program-developer.md +351 -0
  36. package/packages/@monomind/cli/.claude/agents/generated/case-analyst.md +50 -0
  37. package/packages/@monomind/cli/.claude/agents/generated/channel-intelligence-director.md +87 -0
  38. package/packages/@monomind/cli/.claude/agents/generated/chief-growth-officer.md +88 -0
  39. package/packages/@monomind/cli/.claude/agents/generated/churn-analyst.md +53 -0
  40. package/packages/@monomind/cli/.claude/agents/generated/code-reviewer.md +55 -0
  41. package/packages/@monomind/cli/.claude/agents/generated/code-validator.md +57 -0
  42. package/packages/@monomind/cli/.claude/agents/generated/complexity-scanner.md +56 -0
  43. package/packages/@monomind/cli/.claude/agents/generated/content-seo-strategist.md +90 -0
  44. package/packages/@monomind/cli/.claude/agents/generated/copy-editor.md +45 -0
  45. package/packages/@monomind/cli/.claude/agents/generated/court-reporter.md +50 -0
  46. package/packages/@monomind/cli/.claude/agents/generated/defender.md +51 -0
  47. package/packages/@monomind/cli/.claude/agents/generated/devbot-orchestrator.md +58 -0
  48. package/packages/@monomind/cli/.claude/agents/generated/devbot-planner.md +63 -0
  49. package/packages/@monomind/cli/.claude/agents/generated/developer-community-strategist.md +91 -0
  50. package/packages/@monomind/cli/.claude/agents/generated/editor-in-chief.md +45 -0
  51. package/packages/@monomind/cli/.claude/agents/generated/fact-checker.md +45 -0
  52. package/packages/@monomind/cli/.claude/agents/generated/impact-assessor.md +54 -0
  53. package/packages/@monomind/cli/.claude/agents/generated/judge.md +51 -0
  54. package/packages/@monomind/cli/.claude/agents/generated/outreach-partnership-strategist.md +90 -0
  55. package/packages/@monomind/cli/.claude/agents/generated/prosecutor.md +51 -0
  56. package/packages/@monomind/cli/.claude/agents/generated/reporter.md +45 -0
  57. package/packages/@monomind/cli/.claude/agents/generated/social-media-strategist.md +91 -0
  58. package/packages/@monomind/cli/.claude/agents/generated/video-visual-strategist.md +90 -0
  59. package/packages/@monomind/cli/.claude/agents/github/code-review-swarm.md +557 -0
  60. package/packages/@monomind/cli/.claude/agents/github/github-modes.md +154 -0
  61. package/packages/@monomind/cli/.claude/agents/github/issue-tracker.md +299 -0
  62. package/packages/@monomind/cli/.claude/agents/github/multi-repo-swarm.md +525 -0
  63. package/packages/@monomind/cli/.claude/agents/github/pr-manager.md +163 -0
  64. package/packages/@monomind/cli/.claude/agents/github/project-board-sync.md +478 -0
  65. package/packages/@monomind/cli/.claude/agents/github/release-manager.md +296 -0
  66. package/packages/@monomind/cli/.claude/agents/github/repo-architect.md +359 -0
  67. package/packages/@monomind/cli/.claude/agents/github/swarm-issue.md +548 -0
  68. package/packages/@monomind/cli/.claude/agents/github/swarm-pr.md +427 -0
  69. package/packages/@monomind/cli/.claude/agents/github/sync-coordinator.md +355 -0
  70. package/packages/@monomind/cli/.claude/agents/github/workflow-automation.md +640 -0
  71. package/packages/@monomind/cli/.claude/agents/goal/goal-planner.md +168 -0
  72. package/packages/@monomind/cli/.claude/agents/hive-mind/collective-intelligence-coordinator.md +129 -0
  73. package/packages/@monomind/cli/.claude/agents/hive-mind/queen-coordinator.md +202 -0
  74. package/packages/@monomind/cli/.claude/agents/hive-mind/scout-explorer.md +241 -0
  75. package/packages/@monomind/cli/.claude/agents/hive-mind/swarm-memory-manager.md +192 -0
  76. package/packages/@monomind/cli/.claude/agents/hive-mind/worker-specialist.md +216 -0
  77. package/packages/@monomind/cli/.claude/agents/marketing/marketing-competitive-content.md +155 -0
  78. package/packages/@monomind/cli/.claude/agents/marketing/marketing-cro-specialist.md +147 -0
  79. package/packages/@monomind/cli/.claude/agents/marketing/marketing-email-specialist.md +90 -0
  80. package/packages/@monomind/cli/.claude/agents/marketing/marketing-launch-strategist.md +129 -0
  81. package/packages/@monomind/cli/.claude/agents/marketing/marketing-pricing-strategist.md +127 -0
  82. package/packages/@monomind/cli/.claude/agents/optimization/benchmark-suite.md +665 -0
  83. package/packages/@monomind/cli/.claude/agents/optimization/load-balancer.md +431 -0
  84. package/packages/@monomind/cli/.claude/agents/optimization/performance-monitor.md +672 -0
  85. package/packages/@monomind/cli/.claude/agents/optimization/resource-allocator.md +674 -0
  86. package/packages/@monomind/cli/.claude/agents/optimization/topology-optimizer.md +808 -0
  87. package/packages/@monomind/cli/.claude/agents/reengineer-squad/boss.md +113 -0
  88. package/packages/@monomind/cli/.claude/agents/reengineer-squad/critic-architect.md +132 -0
  89. package/packages/@monomind/cli/.claude/agents/reengineer-squad/git-manager.md +145 -0
  90. package/packages/@monomind/cli/.claude/agents/reengineer-squad/idea-generator.md +95 -0
  91. package/packages/@monomind/cli/.claude/agents/reengineer-squad/implementer.md +112 -0
  92. package/packages/@monomind/cli/.claude/agents/reengineer-squad/integration-planner.md +112 -0
  93. package/packages/@monomind/cli/.claude/agents/reengineer-squad/source-analyst.md +103 -0
  94. package/packages/@monomind/cli/.claude/agents/reengineer-squad/target-analyst.md +118 -0
  95. package/packages/@monomind/cli/.claude/agents/reengineer-squad/tester.md +105 -0
  96. package/packages/@monomind/cli/.claude/agents/schemas/architecture-output.json +43 -0
  97. package/packages/@monomind/cli/.claude/agents/schemas/code-review-output.json +28 -0
  98. package/packages/@monomind/cli/.claude/agents/schemas/generic-task-input.json +12 -0
  99. package/packages/@monomind/cli/.claude/agents/schemas/implementation-output.json +18 -0
  100. package/packages/@monomind/cli/.claude/agents/schemas/research-output.json +31 -0
  101. package/packages/@monomind/cli/.claude/agents/schemas/security-audit-output.json +29 -0
  102. package/packages/@monomind/cli/.claude/agents/schemas/test-report-output.json +29 -0
  103. package/packages/@monomind/cli/.claude/agents/sparc/architecture.md +453 -0
  104. package/packages/@monomind/cli/.claude/agents/sparc/pseudocode.md +299 -0
  105. package/packages/@monomind/cli/.claude/agents/sparc/refinement.md +504 -0
  106. package/packages/@monomind/cli/.claude/agents/sparc/specification.md +258 -0
  107. package/packages/@monomind/cli/.claude/agents/specialists/integration-architect.md +94 -0
  108. package/packages/@monomind/cli/.claude/agents/specialized/agentic-identity-trust.md +388 -0
  109. package/packages/@monomind/cli/.claude/agents/specialized/agents-orchestrator.md +368 -0
  110. package/packages/@monomind/cli/.claude/agents/specialized/automation-governance-architect.md +217 -0
  111. package/packages/@monomind/cli/.claude/agents/specialized/blockchain-security-auditor.md +497 -0
  112. package/packages/@monomind/cli/.claude/agents/specialized/compliance-auditor.md +159 -0
  113. package/packages/@monomind/cli/.claude/agents/specialized/identity-graph-operator.md +261 -0
  114. package/packages/@monomind/cli/.claude/agents/specialized/lsp-index-engineer.md +315 -0
  115. package/packages/@monomind/cli/.claude/agents/specialized/mobile/spec-mobile-react-native.md +89 -0
  116. package/packages/@monomind/cli/.claude/agents/specialized/specialized-cultural-intelligence-strategist.md +89 -0
  117. package/packages/@monomind/cli/.claude/agents/specialized/specialized-developer-advocate.md +318 -0
  118. package/packages/@monomind/cli/.claude/agents/specialized/specialized-document-generator.md +56 -0
  119. package/packages/@monomind/cli/.claude/agents/specialized/specialized-mcp-builder.md +64 -0
  120. package/packages/@monomind/cli/.claude/agents/specialized/specialized-model-qa.md +489 -0
  121. package/packages/@monomind/cli/.claude/agents/specialized/specialized-workflow-architect.md +598 -0
  122. package/packages/@monomind/cli/.claude/agents/specialized/zk-steward.md +212 -0
  123. package/packages/@monomind/cli/.claude/agents/swarm/mesh-coordinator.md +363 -0
  124. package/packages/@monomind/cli/.claude/agents/templates/automation-smart-agent.md +185 -0
  125. package/packages/@monomind/cli/.claude/agents/templates/coordinator-swarm-init.md +83 -0
  126. package/packages/@monomind/cli/.claude/agents/templates/implementer-sparc-coder.md +231 -0
  127. package/packages/@monomind/cli/.claude/agents/testing/production-validator.md +374 -0
  128. package/packages/@monomind/cli/.claude/agents/testing/tdd-london-swarm.md +241 -0
  129. package/packages/@monomind/cli/.claude/agents/testing/testing-accessibility-auditor.md +322 -0
  130. package/packages/@monomind/cli/.claude/agents/testing/testing-api-tester.md +307 -0
  131. package/packages/@monomind/cli/.claude/agents/testing/testing-evidence-collector.md +211 -0
  132. package/packages/@monomind/cli/.claude/agents/testing/testing-performance-benchmarker.md +269 -0
  133. package/packages/@monomind/cli/.claude/agents/testing/testing-test-results-analyzer.md +306 -0
  134. package/packages/@monomind/cli/.claude/agents/testing/testing-tool-evaluator.md +395 -0
  135. package/packages/@monomind/cli/.claude/agents/testing/testing-workflow-optimizer.md +451 -0
  136. package/packages/@monomind/cli/.claude/commands/agents/README.md +14 -0
  137. package/packages/@monomind/cli/.claude/commands/agents/agent-capabilities.md +25 -0
  138. package/packages/@monomind/cli/.claude/commands/agents/agent-coordination.md +32 -0
  139. package/packages/@monomind/cli/.claude/commands/agents/agent-spawning.md +32 -0
  140. package/packages/@monomind/cli/.claude/commands/agents/agent-types.md +30 -0
  141. package/packages/@monomind/cli/.claude/commands/analysis/README.md +18 -0
  142. package/packages/@monomind/cli/.claude/commands/analysis/bottleneck-detect.md +69 -0
  143. package/packages/@monomind/cli/.claude/commands/analysis/performance-bottlenecks.md +59 -0
  144. package/packages/@monomind/cli/.claude/commands/analysis/performance-report.md +52 -0
  145. package/packages/@monomind/cli/.claude/commands/analysis/token-usage.md +47 -0
  146. package/packages/@monomind/cli/.claude/commands/automation/README.md +19 -0
  147. package/packages/@monomind/cli/.claude/commands/automation/auto-agent.md +86 -0
  148. package/packages/@monomind/cli/.claude/commands/automation/self-healing.md +108 -0
  149. package/packages/@monomind/cli/.claude/commands/automation/session-memory.md +89 -0
  150. package/packages/@monomind/cli/.claude/commands/automation/smart-agents.md +81 -0
  151. package/packages/@monomind/cli/.claude/commands/automation/smart-spawn.md +66 -0
  152. package/packages/@monomind/cli/.claude/commands/automation/workflow-select.md +60 -0
  153. package/packages/@monomind/cli/.claude/commands/coordination/README.md +13 -0
  154. package/packages/@monomind/cli/.claude/commands/coordination/agent-spawn.md +69 -0
  155. package/packages/@monomind/cli/.claude/commands/coordination/swarm-init.md +82 -0
  156. package/packages/@monomind/cli/.claude/commands/coordination/task-orchestrate.md +79 -0
  157. package/packages/@monomind/cli/.claude/commands/github/README.md +24 -0
  158. package/packages/@monomind/cli/.claude/commands/github/github-modes.md +151 -0
  159. package/packages/@monomind/cli/.claude/commands/github/issue-tracker.md +293 -0
  160. package/packages/@monomind/cli/.claude/commands/github/pr-manager.md +173 -0
  161. package/packages/@monomind/cli/.claude/commands/github/release-manager.md +343 -0
  162. package/packages/@monomind/cli/.claude/commands/github/repo-architect.md +379 -0
  163. package/packages/@monomind/cli/.claude/commands/github/sync-coordinator.md +297 -0
  164. package/packages/@monomind/cli/.claude/commands/hive-mind/README.md +42 -0
  165. package/packages/@monomind/cli/.claude/commands/hive-mind/hive-mind-consensus.md +72 -0
  166. package/packages/@monomind/cli/.claude/commands/hive-mind/hive-mind-init.md +68 -0
  167. package/packages/@monomind/cli/.claude/commands/hive-mind/hive-mind-memory.md +73 -0
  168. package/packages/@monomind/cli/.claude/commands/hive-mind/hive-mind-spawn.md +82 -0
  169. package/packages/@monomind/cli/.claude/commands/hive-mind/hive-mind-status.md +56 -0
  170. package/packages/@monomind/cli/.claude/commands/hive-mind/hive-mind-stop.md +55 -0
  171. package/packages/@monomind/cli/.claude/commands/hive-mind/hive-mind.md +87 -0
  172. package/packages/@monomind/cli/.claude/commands/hooks/README.md +66 -0
  173. package/packages/@monomind/cli/.claude/commands/hooks/overview.md +117 -0
  174. package/packages/@monomind/cli/.claude/commands/hooks/post-edit.md +78 -0
  175. package/packages/@monomind/cli/.claude/commands/hooks/post-task.md +62 -0
  176. package/packages/@monomind/cli/.claude/commands/hooks/pre-edit.md +81 -0
  177. package/packages/@monomind/cli/.claude/commands/hooks/pre-task.md +76 -0
  178. package/packages/@monomind/cli/.claude/commands/hooks/session-end.md +82 -0
  179. package/packages/@monomind/cli/.claude/commands/hooks/setup.md +132 -0
  180. package/packages/@monomind/cli/.claude/commands/mastermind/_repeat.md +472 -0
  181. package/packages/@monomind/cli/.claude/commands/mastermind/_taskfile.md +235 -0
  182. package/packages/@monomind/cli/.claude/commands/mastermind/adr.md +11 -0
  183. package/packages/@monomind/cli/.claude/commands/mastermind/approve.md +94 -0
  184. package/packages/@monomind/cli/.claude/commands/mastermind/architect.md +55 -0
  185. package/packages/@monomind/cli/.claude/commands/mastermind/autodev.md +32 -0
  186. package/packages/@monomind/cli/.claude/commands/mastermind/brain.md +102 -0
  187. package/packages/@monomind/cli/.claude/commands/mastermind/budget.md +7 -0
  188. package/packages/@monomind/cli/.claude/commands/mastermind/build.md +26 -0
  189. package/packages/@monomind/cli/.claude/commands/mastermind/code-review.md +317 -0
  190. package/packages/@monomind/cli/.claude/commands/mastermind/content.md +26 -0
  191. package/packages/@monomind/cli/.claude/commands/mastermind/createorg.md +139 -0
  192. package/packages/@monomind/cli/.claude/commands/mastermind/createtask.md +383 -0
  193. package/packages/@monomind/cli/.claude/commands/mastermind/debug.md +22 -0
  194. package/packages/@monomind/cli/.claude/commands/mastermind/design.md +20 -0
  195. package/packages/@monomind/cli/.claude/commands/mastermind/do.md +528 -0
  196. package/packages/@monomind/cli/.claude/commands/mastermind/execute.md +20 -0
  197. package/packages/@monomind/cli/.claude/commands/mastermind/finance.md +26 -0
  198. package/packages/@monomind/cli/.claude/commands/mastermind/finish.md +20 -0
  199. package/packages/@monomind/cli/.claude/commands/mastermind/graph-status.md +7 -0
  200. package/packages/@monomind/cli/.claude/commands/mastermind/help.md +118 -0
  201. package/packages/@monomind/cli/.claude/commands/mastermind/idea.md +26 -0
  202. package/packages/@monomind/cli/.claude/commands/mastermind/ideate.md +261 -0
  203. package/packages/@monomind/cli/.claude/commands/mastermind/improve.md +345 -0
  204. package/packages/@monomind/cli/.claude/commands/mastermind/loops.md +7 -0
  205. package/packages/@monomind/cli/.claude/commands/mastermind/marketing.md +26 -0
  206. package/packages/@monomind/cli/.claude/commands/mastermind/master.md +1070 -0
  207. package/packages/@monomind/cli/.claude/commands/mastermind/memory.md +230 -0
  208. package/packages/@monomind/cli/.claude/commands/mastermind/ops.md +26 -0
  209. package/packages/@monomind/cli/.claude/commands/mastermind/orgs.md +21 -0
  210. package/packages/@monomind/cli/.claude/commands/mastermind/orgstatus.md +59 -0
  211. package/packages/@monomind/cli/.claude/commands/mastermind/plan.md +26 -0
  212. package/packages/@monomind/cli/.claude/commands/mastermind/receive-review.md +20 -0
  213. package/packages/@monomind/cli/.claude/commands/mastermind/release.md +26 -0
  214. package/packages/@monomind/cli/.claude/commands/mastermind/repeat.md +257 -0
  215. package/packages/@monomind/cli/.claude/commands/mastermind/research.md +26 -0
  216. package/packages/@monomind/cli/.claude/commands/mastermind/review.md +26 -0
  217. package/packages/@monomind/cli/.claude/commands/mastermind/runorg.md +156 -0
  218. package/packages/@monomind/cli/.claude/commands/mastermind/sales.md +26 -0
  219. package/packages/@monomind/cli/.claude/commands/mastermind/skill-builder.md +20 -0
  220. package/packages/@monomind/cli/.claude/commands/mastermind/specialagents.md +125 -0
  221. package/packages/@monomind/cli/.claude/commands/mastermind/stoporg.md +78 -0
  222. package/packages/@monomind/cli/.claude/commands/mastermind/swarm.md +161 -0
  223. package/packages/@monomind/cli/.claude/commands/mastermind/taskdev.md +26 -0
  224. package/packages/@monomind/cli/.claude/commands/mastermind/tdd.md +22 -0
  225. package/packages/@monomind/cli/.claude/commands/mastermind/techport.md +30 -0
  226. package/packages/@monomind/cli/.claude/commands/mastermind/understand.md +139 -0
  227. package/packages/@monomind/cli/.claude/commands/mastermind/verify.md +22 -0
  228. package/packages/@monomind/cli/.claude/commands/mastermind/worktree.md +20 -0
  229. package/packages/@monomind/cli/.claude/commands/mastermind.md +121 -0
  230. package/packages/@monomind/cli/.claude/commands/memory/README.md +79 -0
  231. package/packages/@monomind/cli/.claude/commands/memory/memory-search.md +77 -0
  232. package/packages/@monomind/cli/.claude/commands/monitoring/README.md +69 -0
  233. package/packages/@monomind/cli/.claude/commands/monitoring/agent-metrics.md +65 -0
  234. package/packages/@monomind/cli/.claude/commands/monitoring/agents.md +71 -0
  235. package/packages/@monomind/cli/.claude/commands/monitoring/status.md +108 -0
  236. package/packages/@monomind/cli/.claude/commands/monobrowse.md +21 -0
  237. package/packages/@monomind/cli/.claude/commands/monograph/README.md +102 -0
  238. package/packages/@monomind/cli/.claude/commands/monograph/monograph-build.md +79 -0
  239. package/packages/@monomind/cli/.claude/commands/monograph/monograph-search.md +96 -0
  240. package/packages/@monomind/cli/.claude/commands/monograph/monograph-stats.md +53 -0
  241. package/packages/@monomind/cli/.claude/commands/monograph/monograph-watch.md +63 -0
  242. package/packages/@monomind/cli/.claude/commands/monograph/monograph-wiki.md +91 -0
  243. package/packages/@monomind/cli/.claude/commands/optimization/auto-topology.md +85 -0
  244. package/packages/@monomind/cli/.claude/commands/optimization/performance-optimize.md +79 -0
  245. package/packages/@monomind/cli/.claude/commands/pair/README.md +79 -0
  246. package/packages/@monomind/cli/.claude/commands/pair/examples.md +156 -0
  247. package/packages/@monomind/cli/.claude/commands/pair/modes.md +122 -0
  248. package/packages/@monomind/cli/.claude/commands/pair/session.md +124 -0
  249. package/packages/@monomind/cli/.claude/commands/sparc/analyzer.md +35 -0
  250. package/packages/@monomind/cli/.claude/commands/sparc/architect.md +36 -0
  251. package/packages/@monomind/cli/.claude/commands/sparc/ask.md +56 -0
  252. package/packages/@monomind/cli/.claude/commands/sparc/batch-executor.md +37 -0
  253. package/packages/@monomind/cli/.claude/commands/sparc/code.md +48 -0
  254. package/packages/@monomind/cli/.claude/commands/sparc/coder.md +37 -0
  255. package/packages/@monomind/cli/.claude/commands/sparc/debug.md +42 -0
  256. package/packages/@monomind/cli/.claude/commands/sparc/debugger.md +37 -0
  257. package/packages/@monomind/cli/.claude/commands/sparc/designer.md +36 -0
  258. package/packages/@monomind/cli/.claude/commands/sparc/devops.md +68 -0
  259. package/packages/@monomind/cli/.claude/commands/sparc/docs-writer.md +39 -0
  260. package/packages/@monomind/cli/.claude/commands/sparc/documenter.md +37 -0
  261. package/packages/@monomind/cli/.claude/commands/sparc/innovator.md +37 -0
  262. package/packages/@monomind/cli/.claude/commands/sparc/integration.md +42 -0
  263. package/packages/@monomind/cli/.claude/commands/sparc/mcp.md +76 -0
  264. package/packages/@monomind/cli/.claude/commands/sparc/memory-manager.md +57 -0
  265. package/packages/@monomind/cli/.claude/commands/sparc/optimizer.md +37 -0
  266. package/packages/@monomind/cli/.claude/commands/sparc/orchestrator.md +70 -0
  267. package/packages/@monomind/cli/.claude/commands/sparc/post-deployment-monitoring-mode.md +42 -0
  268. package/packages/@monomind/cli/.claude/commands/sparc/refinement-optimization-mode.md +42 -0
  269. package/packages/@monomind/cli/.claude/commands/sparc/researcher.md +37 -0
  270. package/packages/@monomind/cli/.claude/commands/sparc/reviewer.md +37 -0
  271. package/packages/@monomind/cli/.claude/commands/sparc/security-review.md +39 -0
  272. package/packages/@monomind/cli/.claude/commands/sparc/sparc-modes.md +120 -0
  273. package/packages/@monomind/cli/.claude/commands/sparc/sparc.md +71 -0
  274. package/packages/@monomind/cli/.claude/commands/sparc/spec-pseudocode.md +39 -0
  275. package/packages/@monomind/cli/.claude/commands/sparc/supabase-admin.md +301 -0
  276. package/packages/@monomind/cli/.claude/commands/sparc/swarm-coordinator.md +50 -0
  277. package/packages/@monomind/cli/.claude/commands/sparc/tdd.md +37 -0
  278. package/packages/@monomind/cli/.claude/commands/sparc/tester.md +37 -0
  279. package/packages/@monomind/cli/.claude/commands/sparc/tutorial.md +38 -0
  280. package/packages/@monomind/cli/.claude/commands/sparc/workflow-manager.md +37 -0
  281. package/packages/@monomind/cli/.claude/commands/sparc.md +112 -0
  282. package/packages/@monomind/cli/.claude/commands/stream-chain/pipeline.md +116 -0
  283. package/packages/@monomind/cli/.claude/commands/stream-chain/run.md +156 -0
  284. package/packages/@monomind/cli/.claude/commands/swarm/README.md +40 -0
  285. package/packages/@monomind/cli/.claude/commands/swarm/analysis.md +73 -0
  286. package/packages/@monomind/cli/.claude/commands/swarm/development.md +72 -0
  287. package/packages/@monomind/cli/.claude/commands/swarm/examples.md +103 -0
  288. package/packages/@monomind/cli/.claude/commands/swarm/maintenance.md +75 -0
  289. package/packages/@monomind/cli/.claude/commands/swarm/optimization.md +84 -0
  290. package/packages/@monomind/cli/.claude/commands/swarm/research.md +76 -0
  291. package/packages/@monomind/cli/.claude/commands/swarm/swarm.md +79 -0
  292. package/packages/@monomind/cli/.claude/commands/swarm/testing.md +80 -0
  293. package/packages/@monomind/cli/.claude/commands/tokens.md +18 -0
  294. package/packages/@monomind/cli/.claude/commands/truth/start.md +121 -0
  295. package/packages/@monomind/cli/.claude/commands/ts.md +14 -0
  296. package/packages/@monomind/cli/.claude/commands/workflows/README.md +65 -0
  297. package/packages/@monomind/cli/.claude/commands/workflows/development.md +86 -0
  298. package/packages/@monomind/cli/.claude/commands/workflows/research.md +89 -0
  299. package/packages/@monomind/cli/.claude/commands/workflows/workflow-create.md +84 -0
  300. package/packages/@monomind/cli/.claude/commands/workflows/workflow-execute.md +103 -0
  301. package/packages/@monomind/cli/.claude/commands/workflows/workflow-export.md +90 -0
  302. package/packages/@monomind/cli/.claude/helpers/auto-memory-hook.mjs +413 -0
  303. package/packages/@monomind/cli/.claude/helpers/control-start.cjs +155 -0
  304. package/packages/@monomind/cli/.claude/helpers/event-logger.cjs +155 -0
  305. package/packages/@monomind/cli/.claude/helpers/extras-registry.json +5141 -0
  306. package/packages/@monomind/cli/.claude/helpers/graphify-freshen.cjs +115 -0
  307. package/packages/@monomind/cli/.claude/helpers/handlers/adr-draft-handler.cjs +78 -0
  308. package/packages/@monomind/cli/.claude/helpers/handlers/agent-start-handler.cjs +108 -0
  309. package/packages/@monomind/cli/.claude/helpers/handlers/budget-status-handler.cjs +14 -0
  310. package/packages/@monomind/cli/.claude/helpers/handlers/capture-handler.cjs +473 -0
  311. package/packages/@monomind/cli/.claude/helpers/handlers/compact-handler.cjs +35 -0
  312. package/packages/@monomind/cli/.claude/helpers/handlers/edit-handler.cjs +145 -0
  313. package/packages/@monomind/cli/.claude/helpers/handlers/gates-handler.cjs +138 -0
  314. package/packages/@monomind/cli/.claude/helpers/handlers/graph-status-handler.cjs +45 -0
  315. package/packages/@monomind/cli/.claude/helpers/handlers/loops-status-handler.cjs +48 -0
  316. package/packages/@monomind/cli/.claude/helpers/handlers/route-handler.cjs +457 -0
  317. package/packages/@monomind/cli/.claude/helpers/handlers/session-handler.cjs +174 -0
  318. package/packages/@monomind/cli/.claude/helpers/handlers/session-restore-handler.cjs +370 -0
  319. package/packages/@monomind/cli/.claude/helpers/handlers/stats-handler.cjs +14 -0
  320. package/packages/@monomind/cli/.claude/helpers/handlers/task-handler.cjs +341 -0
  321. package/packages/@monomind/cli/.claude/helpers/hook-handler.cjs +400 -0
  322. package/packages/@monomind/cli/.claude/helpers/intelligence.cjs +164 -0
  323. package/packages/@monomind/cli/.claude/helpers/learning-service.mjs +60 -0
  324. package/packages/@monomind/cli/.claude/helpers/loop-tracker.cjs +119 -0
  325. package/packages/@monomind/cli/.claude/helpers/memory-palace.cjs +461 -0
  326. package/packages/@monomind/cli/.claude/helpers/memory.cjs +193 -0
  327. package/packages/@monomind/cli/.claude/helpers/metrics-db.mjs +87 -0
  328. package/packages/@monomind/cli/.claude/helpers/monolean-activate.cjs +20 -0
  329. package/packages/@monomind/cli/.claude/helpers/monolean-config.cjs +76 -0
  330. package/packages/@monomind/cli/.claude/helpers/monolean-instructions.cjs +109 -0
  331. package/packages/@monomind/cli/.claude/helpers/monolean-propagate.cjs +9 -0
  332. package/packages/@monomind/cli/.claude/helpers/monolean-tracker.cjs +18 -0
  333. package/packages/@monomind/cli/.claude/helpers/router.cjs +326 -0
  334. package/packages/@monomind/cli/.claude/helpers/session.cjs +140 -0
  335. package/packages/@monomind/cli/.claude/helpers/skill-registry.json +1043 -0
  336. package/packages/@monomind/cli/.claude/helpers/statusline.cjs +1350 -0
  337. package/packages/@monomind/cli/.claude/helpers/toggle-statusline.cjs +73 -0
  338. package/packages/@monomind/cli/.claude/helpers/token-tracker.cjs +934 -0
  339. package/packages/@monomind/cli/.claude/helpers/utils/micro-agents.cjs +354 -0
  340. package/packages/@monomind/cli/.claude/helpers/utils/monograph.cjs +386 -0
  341. package/packages/@monomind/cli/.claude/helpers/utils/telemetry.cjs +146 -0
  342. package/packages/@monomind/cli/.claude/skills/agent-browser-testing/SKILL.md +964 -0
  343. package/packages/@monomind/cli/.claude/skills/agentic-jujutsu/SKILL.md +645 -0
  344. package/packages/@monomind/cli/.claude/skills/github-issue-triage/SKILL.md +354 -0
  345. package/packages/@monomind/cli/.claude/skills/github-repo-recap/SKILL.md +207 -0
  346. package/packages/@monomind/cli/.claude/skills/hive-mind-advanced/SKILL.md +709 -0
  347. package/packages/@monomind/cli/.claude/skills/hooks-automation/SKILL.md +1193 -0
  348. package/packages/@monomind/cli/.claude/skills/mastermind/_agent-select.md +132 -0
  349. package/packages/@monomind/cli/.claude/skills/mastermind/_delegation.md +83 -0
  350. package/packages/@monomind/cli/.claude/skills/mastermind/_intake.md +83 -0
  351. package/packages/@monomind/cli/.claude/skills/mastermind/_protocol.md +404 -0
  352. package/packages/@monomind/cli/.claude/skills/mastermind/_repeat.md +144 -0
  353. package/packages/@monomind/cli/.claude/skills/mastermind/access.md +236 -0
  354. package/packages/@monomind/cli/.claude/skills/mastermind/activity.md +191 -0
  355. package/packages/@monomind/cli/.claude/skills/mastermind/adapter-manager.md +259 -0
  356. package/packages/@monomind/cli/.claude/skills/mastermind/adapters.md +204 -0
  357. package/packages/@monomind/cli/.claude/skills/mastermind/agent-detail.md +242 -0
  358. package/packages/@monomind/cli/.claude/skills/mastermind/agents.md +178 -0
  359. package/packages/@monomind/cli/.claude/skills/mastermind/approval-detail.md +259 -0
  360. package/packages/@monomind/cli/.claude/skills/mastermind/approve.md +188 -0
  361. package/packages/@monomind/cli/.claude/skills/mastermind/architect.md +863 -0
  362. package/packages/@monomind/cli/.claude/skills/mastermind/autodev.md +536 -0
  363. package/packages/@monomind/cli/.claude/skills/mastermind/backup.md +197 -0
  364. package/packages/@monomind/cli/.claude/skills/mastermind/bootstrap.md +190 -0
  365. package/packages/@monomind/cli/.claude/skills/mastermind/budgets.md +237 -0
  366. package/packages/@monomind/cli/.claude/skills/mastermind/build.md +170 -0
  367. package/packages/@monomind/cli/.claude/skills/mastermind/code-quality-reviewer-prompt.md +60 -0
  368. package/packages/@monomind/cli/.claude/skills/mastermind/companies.md +256 -0
  369. package/packages/@monomind/cli/.claude/skills/mastermind/content.md +197 -0
  370. package/packages/@monomind/cli/.claude/skills/mastermind/costs.md +151 -0
  371. package/packages/@monomind/cli/.claude/skills/mastermind/createorg.md +853 -0
  372. package/packages/@monomind/cli/.claude/skills/mastermind/debug.md +232 -0
  373. package/packages/@monomind/cli/.claude/skills/mastermind/design.md +189 -0
  374. package/packages/@monomind/cli/.claude/skills/mastermind/diagnose.md +249 -0
  375. package/packages/@monomind/cli/.claude/skills/mastermind/env.md +198 -0
  376. package/packages/@monomind/cli/.claude/skills/mastermind/environments.md +250 -0
  377. package/packages/@monomind/cli/.claude/skills/mastermind/execute.md +104 -0
  378. package/packages/@monomind/cli/.claude/skills/mastermind/export.md +333 -0
  379. package/packages/@monomind/cli/.claude/skills/mastermind/finance.md +166 -0
  380. package/packages/@monomind/cli/.claude/skills/mastermind/finish.md +251 -0
  381. package/packages/@monomind/cli/.claude/skills/mastermind/goal-detail.md +255 -0
  382. package/packages/@monomind/cli/.claude/skills/mastermind/goals.md +149 -0
  383. package/packages/@monomind/cli/.claude/skills/mastermind/heartbeat.md +164 -0
  384. package/packages/@monomind/cli/.claude/skills/mastermind/idea.md +1142 -0
  385. package/packages/@monomind/cli/.claude/skills/mastermind/implementer-prompt.md +109 -0
  386. package/packages/@monomind/cli/.claude/skills/mastermind/import.md +281 -0
  387. package/packages/@monomind/cli/.claude/skills/mastermind/inbox.md +214 -0
  388. package/packages/@monomind/cli/.claude/skills/mastermind/instance-settings.md +315 -0
  389. package/packages/@monomind/cli/.claude/skills/mastermind/instance.md +233 -0
  390. package/packages/@monomind/cli/.claude/skills/mastermind/invite-landing.md +227 -0
  391. package/packages/@monomind/cli/.claude/skills/mastermind/invites.md +254 -0
  392. package/packages/@monomind/cli/.claude/skills/mastermind/issue-detail.md +291 -0
  393. package/packages/@monomind/cli/.claude/skills/mastermind/issues.md +235 -0
  394. package/packages/@monomind/cli/.claude/skills/mastermind/join-queue.md +170 -0
  395. package/packages/@monomind/cli/.claude/skills/mastermind/liveness.md +392 -0
  396. package/packages/@monomind/cli/.claude/skills/mastermind/marketing.md +228 -0
  397. package/packages/@monomind/cli/.claude/skills/mastermind/memory.md +321 -0
  398. package/packages/@monomind/cli/.claude/skills/mastermind/monitor.md +1284 -0
  399. package/packages/@monomind/cli/.claude/skills/mastermind/monotask.md +350 -0
  400. package/packages/@monomind/cli/.claude/skills/mastermind/my-issues.md +146 -0
  401. package/packages/@monomind/cli/.claude/skills/mastermind/new-agent.md +241 -0
  402. package/packages/@monomind/cli/.claude/skills/mastermind/ops.md +168 -0
  403. package/packages/@monomind/cli/.claude/skills/mastermind/org-chart.md +209 -0
  404. package/packages/@monomind/cli/.claude/skills/mastermind/org-settings.md +254 -0
  405. package/packages/@monomind/cli/.claude/skills/mastermind/orgs.md +98 -0
  406. package/packages/@monomind/cli/.claude/skills/mastermind/orgstatus.md +194 -0
  407. package/packages/@monomind/cli/.claude/skills/mastermind/plan-to-tasks.md +136 -0
  408. package/packages/@monomind/cli/.claude/skills/mastermind/plan.md +198 -0
  409. package/packages/@monomind/cli/.claude/skills/mastermind/plugin-manager.md +241 -0
  410. package/packages/@monomind/cli/.claude/skills/mastermind/plugin-settings.md +273 -0
  411. package/packages/@monomind/cli/.claude/skills/mastermind/plugins.md +190 -0
  412. package/packages/@monomind/cli/.claude/skills/mastermind/profile.md +187 -0
  413. package/packages/@monomind/cli/.claude/skills/mastermind/project-detail.md +249 -0
  414. package/packages/@monomind/cli/.claude/skills/mastermind/project-workspace.md +244 -0
  415. package/packages/@monomind/cli/.claude/skills/mastermind/projects.md +164 -0
  416. package/packages/@monomind/cli/.claude/skills/mastermind/receive-review.md +213 -0
  417. package/packages/@monomind/cli/.claude/skills/mastermind/references/copywriting-frameworks.md +181 -0
  418. package/packages/@monomind/cli/.claude/skills/mastermind/references/persuasion-psychology.md +158 -0
  419. package/packages/@monomind/cli/.claude/skills/mastermind/release.md +168 -0
  420. package/packages/@monomind/cli/.claude/skills/mastermind/research.md +168 -0
  421. package/packages/@monomind/cli/.claude/skills/mastermind/review.md +219 -0
  422. package/packages/@monomind/cli/.claude/skills/mastermind/routine-detail.md +253 -0
  423. package/packages/@monomind/cli/.claude/skills/mastermind/routines.md +203 -0
  424. package/packages/@monomind/cli/.claude/skills/mastermind/runorg.md +684 -0
  425. package/packages/@monomind/cli/.claude/skills/mastermind/sales.md +170 -0
  426. package/packages/@monomind/cli/.claude/skills/mastermind/search.md +186 -0
  427. package/packages/@monomind/cli/.claude/skills/mastermind/secrets.md +199 -0
  428. package/packages/@monomind/cli/.claude/skills/mastermind/skill-builder.md +274 -0
  429. package/packages/@monomind/cli/.claude/skills/mastermind/skills.md +156 -0
  430. package/packages/@monomind/cli/.claude/skills/mastermind/spec-reviewer-prompt.md +63 -0
  431. package/packages/@monomind/cli/.claude/skills/mastermind/stoporg.md +138 -0
  432. package/packages/@monomind/cli/.claude/skills/mastermind/taskdev.md +307 -0
  433. package/packages/@monomind/cli/.claude/skills/mastermind/tasks.md +149 -0
  434. package/packages/@monomind/cli/.claude/skills/mastermind/tdd.md +394 -0
  435. package/packages/@monomind/cli/.claude/skills/mastermind/techport.md +743 -0
  436. package/packages/@monomind/cli/.claude/skills/mastermind/threads.md +259 -0
  437. package/packages/@monomind/cli/.claude/skills/mastermind/tree-control.md +250 -0
  438. package/packages/@monomind/cli/.claude/skills/mastermind/verify.md +196 -0
  439. package/packages/@monomind/cli/.claude/skills/mastermind/wiki.md +314 -0
  440. package/packages/@monomind/cli/.claude/skills/mastermind/workspace-detail.md +317 -0
  441. package/packages/@monomind/cli/.claude/skills/mastermind/workspaces.md +261 -0
  442. package/packages/@monomind/cli/.claude/skills/mastermind/worktree.md +215 -0
  443. package/packages/@monomind/cli/.claude/skills/monodesign/SKILL.md +333 -0
  444. package/packages/@monomind/cli/.claude/skills/monodesign/adapt.md +53 -0
  445. package/packages/@monomind/cli/.claude/skills/monodesign/agents/monodesign-asset-producer.md +100 -0
  446. package/packages/@monomind/cli/.claude/skills/monodesign/animate.md +65 -0
  447. package/packages/@monomind/cli/.claude/skills/monodesign/audit.md +89 -0
  448. package/packages/@monomind/cli/.claude/skills/monodesign/bolder.md +50 -0
  449. package/packages/@monomind/cli/.claude/skills/monodesign/clarify.md +64 -0
  450. package/packages/@monomind/cli/.claude/skills/monodesign/colorize.md +68 -0
  451. package/packages/@monomind/cli/.claude/skills/monodesign/craft.md +51 -0
  452. package/packages/@monomind/cli/.claude/skills/monodesign/critique.md +66 -0
  453. package/packages/@monomind/cli/.claude/skills/monodesign/delight.md +47 -0
  454. package/packages/@monomind/cli/.claude/skills/monodesign/distill.md +56 -0
  455. package/packages/@monomind/cli/.claude/skills/monodesign/document.md +80 -0
  456. package/packages/@monomind/cli/.claude/skills/monodesign/extract.md +74 -0
  457. package/packages/@monomind/cli/.claude/skills/monodesign/harden.md +65 -0
  458. package/packages/@monomind/cli/.claude/skills/monodesign/live.md +59 -0
  459. package/packages/@monomind/cli/.claude/skills/monodesign/onboard.md +50 -0
  460. package/packages/@monomind/cli/.claude/skills/monodesign/optimize.md +64 -0
  461. package/packages/@monomind/cli/.claude/skills/monodesign/overdrive.md +56 -0
  462. package/packages/@monomind/cli/.claude/skills/monodesign/polish.md +68 -0
  463. package/packages/@monomind/cli/.claude/skills/monodesign/quieter.md +57 -0
  464. package/packages/@monomind/cli/.claude/skills/monodesign/reference/adapt.md +190 -0
  465. package/packages/@monomind/cli/.claude/skills/monodesign/reference/animate.md +175 -0
  466. package/packages/@monomind/cli/.claude/skills/monodesign/reference/antipatterns-catalog.md +359 -0
  467. package/packages/@monomind/cli/.claude/skills/monodesign/reference/audit.md +133 -0
  468. package/packages/@monomind/cli/.claude/skills/monodesign/reference/bolder.md +113 -0
  469. package/packages/@monomind/cli/.claude/skills/monodesign/reference/brand-workflow.md +180 -0
  470. package/packages/@monomind/cli/.claude/skills/monodesign/reference/brand.md +114 -0
  471. package/packages/@monomind/cli/.claude/skills/monodesign/reference/clarify.md +174 -0
  472. package/packages/@monomind/cli/.claude/skills/monodesign/reference/codex.md +107 -0
  473. package/packages/@monomind/cli/.claude/skills/monodesign/reference/cognitive-load.md +106 -0
  474. package/packages/@monomind/cli/.claude/skills/monodesign/reference/color-and-contrast.md +105 -0
  475. package/packages/@monomind/cli/.claude/skills/monodesign/reference/colorize.md +154 -0
  476. package/packages/@monomind/cli/.claude/skills/monodesign/reference/component-specs.md +260 -0
  477. package/packages/@monomind/cli/.claude/skills/monodesign/reference/component-states.md +274 -0
  478. package/packages/@monomind/cli/.claude/skills/monodesign/reference/component-system.md +358 -0
  479. package/packages/@monomind/cli/.claude/skills/monodesign/reference/copy-formulas.md +160 -0
  480. package/packages/@monomind/cli/.claude/skills/monodesign/reference/craft.md +196 -0
  481. package/packages/@monomind/cli/.claude/skills/monodesign/reference/critique.md +213 -0
  482. package/packages/@monomind/cli/.claude/skills/monodesign/reference/delight.md +302 -0
  483. package/packages/@monomind/cli/.claude/skills/monodesign/reference/design-principles.md +246 -0
  484. package/packages/@monomind/cli/.claude/skills/monodesign/reference/distill.md +111 -0
  485. package/packages/@monomind/cli/.claude/skills/monodesign/reference/document.md +427 -0
  486. package/packages/@monomind/cli/.claude/skills/monodesign/reference/extract.md +69 -0
  487. package/packages/@monomind/cli/.claude/skills/monodesign/reference/harden.md +347 -0
  488. package/packages/@monomind/cli/.claude/skills/monodesign/reference/heuristics-scoring.md +234 -0
  489. package/packages/@monomind/cli/.claude/skills/monodesign/reference/hooks.md +99 -0
  490. package/packages/@monomind/cli/.claude/skills/monodesign/reference/image-prompts.md +130 -0
  491. package/packages/@monomind/cli/.claude/skills/monodesign/reference/interaction-design.md +195 -0
  492. package/packages/@monomind/cli/.claude/skills/monodesign/reference/layout.md +141 -0
  493. package/packages/@monomind/cli/.claude/skills/monodesign/reference/live.md +622 -0
  494. package/packages/@monomind/cli/.claude/skills/monodesign/reference/motion-design.md +109 -0
  495. package/packages/@monomind/cli/.claude/skills/monodesign/reference/onboard.md +234 -0
  496. package/packages/@monomind/cli/.claude/skills/monodesign/reference/optimize.md +258 -0
  497. package/packages/@monomind/cli/.claude/skills/monodesign/reference/overdrive.md +130 -0
  498. package/packages/@monomind/cli/.claude/skills/monodesign/reference/personas.md +179 -0
  499. package/packages/@monomind/cli/.claude/skills/monodesign/reference/polish.md +233 -0
  500. package/packages/@monomind/cli/.claude/skills/monodesign/reference/pre-delivery-checklist.md +108 -0
  501. package/packages/@monomind/cli/.claude/skills/monodesign/reference/product.md +62 -0
  502. package/packages/@monomind/cli/.claude/skills/monodesign/reference/quieter.md +99 -0
  503. package/packages/@monomind/cli/.claude/skills/monodesign/reference/responsive-design.md +114 -0
  504. package/packages/@monomind/cli/.claude/skills/monodesign/reference/shape.md +151 -0
  505. package/packages/@monomind/cli/.claude/skills/monodesign/reference/spatial-design.md +100 -0
  506. package/packages/@monomind/cli/.claude/skills/monodesign/reference/teach.md +156 -0
  507. package/packages/@monomind/cli/.claude/skills/monodesign/reference/token-architecture.md +222 -0
  508. package/packages/@monomind/cli/.claude/skills/monodesign/reference/typeset.md +124 -0
  509. package/packages/@monomind/cli/.claude/skills/monodesign/reference/typography.md +159 -0
  510. package/packages/@monomind/cli/.claude/skills/monodesign/reference/ux-research.md +143 -0
  511. package/packages/@monomind/cli/.claude/skills/monodesign/reference/ux-rules.md +211 -0
  512. package/packages/@monomind/cli/.claude/skills/monodesign/reference/ux-writing.md +107 -0
  513. package/packages/@monomind/cli/.claude/skills/monodesign/shape.md +71 -0
  514. package/packages/@monomind/cli/.claude/skills/monodesign/teach.md +69 -0
  515. package/packages/@monomind/cli/.claude/skills/monodesign/typeset.md +59 -0
  516. package/packages/@monomind/cli/.claude/skills/monolean/SKILL.md +118 -0
  517. package/packages/@monomind/cli/.claude/skills/monolean-audit/SKILL.md +41 -0
  518. package/packages/@monomind/cli/.claude/skills/monolean-debt/SKILL.md +46 -0
  519. package/packages/@monomind/cli/.claude/skills/monolean-help/SKILL.md +60 -0
  520. package/packages/@monomind/cli/.claude/skills/monolean-review/SKILL.md +57 -0
  521. package/packages/@monomind/cli/.claude/skills/monomind/browse-agentcore.md +115 -0
  522. package/packages/@monomind/cli/.claude/skills/monomind/browse-electron.md +188 -0
  523. package/packages/@monomind/cli/.claude/skills/monomind/browse-qa.md +228 -0
  524. package/packages/@monomind/cli/.claude/skills/monomind/browse-references/authentication.md +161 -0
  525. package/packages/@monomind/cli/.claude/skills/monomind/browse-references/trust-boundaries.md +40 -0
  526. package/packages/@monomind/cli/.claude/skills/monomind/browse-references/video-recording.md +83 -0
  527. package/packages/@monomind/cli/.claude/skills/monomind/browse-slack.md +188 -0
  528. package/packages/@monomind/cli/.claude/skills/monomind/browse-vercel.md +239 -0
  529. package/packages/@monomind/cli/.claude/skills/monomind/browse.md +724 -0
  530. package/packages/@monomind/cli/.claude/skills/monomotion/SKILL.md +145 -0
  531. package/packages/@monomind/cli/.claude/skills/monomotion/rules/api-control.md +139 -0
  532. package/packages/@monomind/cli/.claude/skills/monomotion/rules/effects.md +109 -0
  533. package/packages/@monomind/cli/.claude/skills/monomotion/rules/integration.md +140 -0
  534. package/packages/@monomind/cli/.claude/skills/monomotion/rules/scroll.md +131 -0
  535. package/packages/@monomind/cli/.claude/skills/monomotion/rules/sequencing.md +105 -0
  536. package/packages/@monomind/cli/.claude/skills/monomotion/rules/svg.md +101 -0
  537. package/packages/@monomind/cli/.claude/skills/monomotion/rules/text.md +119 -0
  538. package/packages/@monomind/cli/.claude/skills/pair-programming/SKILL.md +1202 -0
  539. package/packages/@monomind/cli/.claude/skills/performance-analysis/SKILL.md +560 -0
  540. package/packages/@monomind/cli/.claude/skills/skill-builder/SKILL.md +910 -0
  541. package/packages/@monomind/cli/.claude/skills/sparc-methodology/SKILL.md +950 -0
  542. package/packages/@monomind/cli/.claude/skills/specialagent/SKILL.md +208 -0
  543. package/packages/@monomind/cli/.claude/skills/stop-slop/SKILL.md +67 -0
  544. package/packages/@monomind/cli/.claude/skills/stop-slop/references/examples.md +61 -0
  545. package/packages/@monomind/cli/.claude/skills/stop-slop/references/phrases.md +130 -0
  546. package/packages/@monomind/cli/.claude/skills/stop-slop/references/structures.md +136 -0
  547. package/packages/@monomind/cli/.claude/skills/swarm-advanced/SKILL.md +937 -0
  548. package/packages/@monomind/cli/.claude/skills/swarm-orchestration/SKILL.md +179 -0
  549. package/packages/@monomind/cli/.claude/skills/verification-quality/SKILL.md +674 -0
  550. package/packages/@monomind/cli/dist/src/browser/action-builder/analyzer.js +6 -13
  551. package/packages/@monomind/cli/dist/src/commands/browse-action.js +3 -2
  552. package/packages/@monomind/cli/dist/src/commands/doctor.js +17 -2
  553. package/packages/@monomind/cli/dist/src/commands/index.js +2 -0
  554. package/packages/@monomind/cli/dist/src/commands/sync.d.ts +10 -0
  555. package/packages/@monomind/cli/dist/src/commands/sync.js +100 -0
  556. package/packages/@monomind/cli/dist/src/init/executor.js +22 -0
  557. package/packages/@monomind/cli/dist/src/init/statusline-generator.js +45 -0
  558. package/packages/@monomind/cli/dist/src/sync/checker.d.ts +12 -0
  559. package/packages/@monomind/cli/dist/src/sync/checker.js +26 -0
  560. package/packages/@monomind/cli/package.json +2 -2
@@ -0,0 +1,386 @@
1
+ 'use strict';
2
+ // Extracted from hook-handler.cjs — monograph graph helpers.
3
+ // All functions are stateless except for the module-level DB cache.
4
+
5
+ const path = require('path');
6
+ const fs = require('fs');
7
+
8
+ const { _getRecentEdits } = require('./telemetry.cjs');
9
+
10
+ const CWD = process.env.CLAUDE_PROJECT_DIR || process.cwd();
11
+
12
+ function _requireMonograph() {
13
+ var candidates = [
14
+ path.join(CWD, 'node_modules/.pnpm/node_modules/@monoes/monograph'),
15
+ path.join(CWD, 'packages/node_modules/.pnpm/node_modules/@monoes/monograph'),
16
+ path.join(CWD, 'node_modules/@monoes/monograph'),
17
+ ];
18
+ for (var i = 0; i < candidates.length; i++) {
19
+ try { if (fs.existsSync(candidates[i])) return require(candidates[i]); } catch(e) {}
20
+ }
21
+ try { return require('@monoes/monograph'); } catch(e) {}
22
+ return null;
23
+ }
24
+
25
+ // Memoized at module scope — opening monograph.db can take 7-10s.
26
+ // Callers MUST NOT close the returned handle.
27
+ var _cachedMonographDb = undefined;
28
+
29
+ // LRU cache for getMonographSuggestions: avoids re-querying the DB for
30
+ // the same task text within a single hook execution process lifetime.
31
+ // Max 20 entries; evicts the least-recently-used on overflow.
32
+ var _suggestCache = { _map: Object.create(null), _order: [], _max: 20 };
33
+ function _suggestCacheGet(key) {
34
+ if (key in _suggestCache._map) {
35
+ // Move to end (most recently used)
36
+ var idx = _suggestCache._order.indexOf(key);
37
+ if (idx !== -1) { _suggestCache._order.splice(idx, 1); _suggestCache._order.push(key); }
38
+ return _suggestCache._map[key];
39
+ }
40
+ return undefined;
41
+ }
42
+ function _suggestCacheSet(key, value) {
43
+ if (!(key in _suggestCache._map)) {
44
+ if (_suggestCache._order.length >= _suggestCache._max) {
45
+ var evict = _suggestCache._order.shift();
46
+ delete _suggestCache._map[evict];
47
+ }
48
+ _suggestCache._order.push(key);
49
+ }
50
+ _suggestCache._map[key] = value;
51
+ }
52
+ function _openMonographDb() {
53
+ if (_cachedMonographDb !== undefined) return _cachedMonographDb;
54
+ try {
55
+ var dbPath = path.join(CWD, '.monomind', 'monograph.db');
56
+ if (!fs.existsSync(dbPath)) { _cachedMonographDb = null; return null; }
57
+ var mod = _requireMonograph();
58
+ if (!mod || !mod.openDb) { _cachedMonographDb = null; return null; }
59
+ _cachedMonographDb = mod.openDb(dbPath);
60
+ return _cachedMonographDb;
61
+ } catch (e) { _cachedMonographDb = null; return null; }
62
+ }
63
+
64
+ function getMonographSuggestions(taskText, limit) {
65
+ if (!taskText || typeof taskText !== 'string') return [];
66
+ // Fast path: return cached result for repeated identical queries.
67
+ var cacheKey = taskText.slice(0, 200) + '|' + (limit || 5);
68
+ var cached = _suggestCacheGet(cacheKey);
69
+ if (cached !== undefined) return cached;
70
+ var db = _openMonographDb();
71
+ if (!db) return [];
72
+ try {
73
+ var words = String(taskText).toLowerCase().match(/[a-z][a-z0-9_-]{3,}/g) || [];
74
+ var stop = { 'this':1,'that':1,'with':1,'from':1,'have':1,'into':1,'their':1,'what':1,'when':1,'where':1,'which':1,'should':1,'would':1,'could':1,'make':1,'just':1,'also':1,'them':1,'they':1,'will':1,'been':1,'were':1,'because':1,'about':1,'does':1,'work':1,'else':1,'more':1,'some':1,'like':1,'need':1,'want':1,'used':1,'using':1,'please':1,'thanks':1,'good':1,'great':1,'nice':1,'thing':1,'things':1,'better':1,'again':1,'first':1,'then':1,'only':1,'even':1 };
75
+ var uniq = {};
76
+ for (var i = 0; i < words.length; i++) if (!stop[words[i]]) uniq[words[i]] = 1;
77
+ var keys = Object.keys(uniq).slice(0, 8);
78
+ var isSymbolLookup = taskText.length <= 30 && /^[a-zA-Z0-9_\-./:]+$/.test(taskText.trim());
79
+ if (keys.length === 0) return [];
80
+ if (keys.length < 2 && !isSymbolLookup) return [];
81
+
82
+ var ftsQuery = keys.map(function(k){ return '"' + k.replace(/"/g, '') + '"'; }).join(' OR ');
83
+ var lim = Math.max(1, limit || 5);
84
+ var rows = [];
85
+ try {
86
+ rows = db.prepare(
87
+ 'SELECT n.id, n.name, n.label, n.file_path AS file, n.start_line AS startLine, ' +
88
+ 'bm25(nodes_fts) AS bm25_score, ' +
89
+ '(SELECT COUNT(*) FROM edges WHERE source_id=n.id OR target_id=n.id) AS deg, ' +
90
+ 'CASE n.label WHEN \'File\' THEN 3 WHEN \'Function\' THEN 3 WHEN \'Class\' THEN 3 ' +
91
+ ' WHEN \'Method\' THEN 2 WHEN \'Interface\' THEN 2 ELSE 1 END AS label_rank ' +
92
+ 'FROM nodes_fts f JOIN nodes n ON f.rowid = n.rowid ' +
93
+ 'WHERE nodes_fts MATCH ? AND n.file_path IS NOT NULL AND n.file_path != \'\' ' +
94
+ 'AND n.label NOT IN (\'Concept\') ' +
95
+ 'AND n.name NOT LIKE \'(%\' AND n.name NOT LIKE \'%=>%\' AND n.name != \'function\' ' +
96
+ 'AND length(n.name) >= 3 ' +
97
+ 'ORDER BY label_rank DESC, bm25_score ASC, deg DESC LIMIT ?'
98
+ ).all(ftsQuery, lim);
99
+ } catch (e) {
100
+ var likeFrag = keys.map(function(){ return 'lower(n.name) LIKE ?'; }).join(' OR ');
101
+ var likeArgs = keys.map(function(k){ return '%' + k + '%'; });
102
+ var stmt = db.prepare(
103
+ 'SELECT n.id, n.name, n.label, n.file_path AS file, n.start_line AS startLine, ' +
104
+ '(SELECT COUNT(*) FROM edges WHERE source_id=n.id OR target_id=n.id) AS deg ' +
105
+ 'FROM nodes n WHERE (' + likeFrag + ') AND n.file_path IS NOT NULL AND n.file_path != \'\' ' +
106
+ 'AND n.label NOT IN (\'Concept\') ' +
107
+ 'ORDER BY deg DESC LIMIT ?'
108
+ );
109
+ rows = stmt.all.apply(stmt, likeArgs.concat([lim]));
110
+ }
111
+ var result = rows || [];
112
+ _suggestCacheSet(cacheKey, result);
113
+ return result;
114
+ } catch (e) { return []; }
115
+ finally { /* db is shared/cached; do not close */ }
116
+ }
117
+
118
+ function getMonographNeighbors(filePath) {
119
+ if (!filePath) return null;
120
+ var db = _openMonographDb();
121
+ if (!db) return null;
122
+ try {
123
+ var rel = filePath;
124
+ if (filePath.indexOf(CWD) === 0) rel = filePath.slice(CWD.length + 1);
125
+ var node = db.prepare(
126
+ 'SELECT id, name FROM nodes WHERE label=\'File\' AND (file_path=? OR file_path=? OR name=? OR name=?) LIMIT 1'
127
+ ).get(filePath, rel, filePath, rel);
128
+ if (!node) return null;
129
+
130
+ var imports = db.prepare(
131
+ 'SELECT DISTINCT n.name FROM edges e JOIN nodes n ON e.target_id = n.id ' +
132
+ 'WHERE e.source_id=? AND e.relation IN (\'IMPORTS\',\'CALLS\',\'DEPENDS_ON\',\'CONTAINS\',\'DEFINES\') ' +
133
+ 'AND n.file_path IS NOT NULL AND n.file_path != \'\' LIMIT 6'
134
+ ).all(node.id).map(function(r){ return r.name; });
135
+ var importedBy = db.prepare(
136
+ 'SELECT DISTINCT n.name FROM edges e JOIN nodes n ON e.source_id = n.id ' +
137
+ 'WHERE e.target_id=? AND e.relation IN (\'IMPORTS\',\'CALLS\',\'DEPENDS_ON\',\'CONTAINS\',\'DEFINES\') ' +
138
+ 'AND n.file_path IS NOT NULL AND n.file_path != \'\' LIMIT 6'
139
+ ).all(node.id).map(function(r){ return r.name; });
140
+
141
+ return { imports: imports, importedBy: importedBy };
142
+ } catch (e) { return null; }
143
+ finally { /* db is shared/cached; do not close */ }
144
+ }
145
+
146
+ var _TOKEN_PER_EVENT = {
147
+ monograph_call: 300,
148
+ grep_call: 2000,
149
+ glob_call: 800,
150
+ bash_grep_call: 2000,
151
+ bash_find_call: 800,
152
+ };
153
+ var _DOLLAR_PER_1M_TOKENS = 3.0;
154
+
155
+ function _recordGraphTelemetry(event) {
156
+ try {
157
+ var metricsDir = path.join(CWD, '.monomind', 'metrics');
158
+ var f = path.join(metricsDir, 'graph-usage.json');
159
+ fs.mkdirSync(metricsDir, { recursive: true });
160
+ var d = {};
161
+ try { d = JSON.parse(fs.readFileSync(f, 'utf-8')); } catch (e) {}
162
+ if (typeof d !== 'object' || d === null) d = {};
163
+ d[event] = (d[event] || 0) + 1;
164
+ if (event === 'monograph_call') {
165
+ var saved = (_TOKEN_PER_EVENT.grep_call - _TOKEN_PER_EVENT.monograph_call);
166
+ d.tokens_saved = (d.tokens_saved || 0) + saved;
167
+ d.dollars_saved = ((d.tokens_saved / 1000000) * _DOLLAR_PER_1M_TOKENS);
168
+ }
169
+ if (event === 'grep_call' || event === 'bash_grep_call') {
170
+ var wasted = (_TOKEN_PER_EVENT.grep_call - _TOKEN_PER_EVENT.monograph_call);
171
+ d.tokens_wasted = (d.tokens_wasted || 0) + wasted;
172
+ }
173
+ d.lastUpdated = Date.now();
174
+ fs.writeFileSync(f, JSON.stringify(d));
175
+ } catch (e) { /* non-fatal */ }
176
+ }
177
+
178
+ function _injectCompactGraphMap() {
179
+ try {
180
+ var db = _openMonographDb();
181
+ if (!db) return;
182
+ try {
183
+ var nodeC = db.prepare('SELECT COUNT(*) AS c FROM nodes').get().c;
184
+ var anchors = [];
185
+ var seenPaths = {};
186
+
187
+ var recentEdits = _getRecentEdits();
188
+ for (var ri = 0; ri < Math.min(recentEdits.length, 5); ri++) {
189
+ var rfile = recentEdits[ri].file;
190
+ // Resolve to absolute for DB lookup (DB stores absolute paths); also keep relative for OR clause
191
+ var rabs = path.isAbsolute(rfile) ? rfile : path.join(CWD, rfile);
192
+ var rrel = (rabs.indexOf(CWD) === 0) ? rabs.slice(CWD.length + 1) : rabs;
193
+ try {
194
+ var rnode = db.prepare(
195
+ 'SELECT n.name, n.label, n.file_path, ' +
196
+ '(SELECT COUNT(*) FROM edges WHERE source_id=n.id OR target_id=n.id) AS deg ' +
197
+ 'FROM nodes n WHERE n.label=\'File\' AND (n.file_path=? OR n.file_path=?) LIMIT 1'
198
+ ).get(rabs, rrel);
199
+ if (rnode && !seenPaths[rnode.file_path]) {
200
+ seenPaths[rnode.file_path] = 1;
201
+ anchors.push({ name: rnode.name, label: rnode.label, file_path: rnode.file_path, deg: rnode.deg, tag: '✎' });
202
+ }
203
+ } catch (e) { /* ignore */ }
204
+ }
205
+
206
+ if (anchors.length < 8) {
207
+ var gods = db.prepare(
208
+ 'SELECT n.name, n.label, n.file_path, ' +
209
+ '(SELECT COUNT(*) FROM edges WHERE source_id=n.id OR target_id=n.id) AS deg ' +
210
+ 'FROM nodes n ' +
211
+ 'WHERE n.label NOT IN (\'Concept\') AND n.file_path IS NOT NULL AND n.file_path != \'\' ' +
212
+ 'AND n.file_path NOT LIKE \'%/node_modules/%\' AND n.file_path NOT LIKE \'%node_modules%\' ' +
213
+ 'AND n.name NOT LIKE \'(%\' AND n.name NOT LIKE \'%=>%\' AND length(n.name) >= 3 ' +
214
+ 'ORDER BY deg DESC LIMIT 15'
215
+ ).all();
216
+ for (var gi = 0; gi < gods.length && anchors.length < 8; gi++) {
217
+ if (!seenPaths[gods[gi].file_path]) {
218
+ seenPaths[gods[gi].file_path] = 1;
219
+ anchors.push({ name: gods[gi].name, label: gods[gi].label, file_path: gods[gi].file_path, deg: gods[gi].deg, tag: '' });
220
+ }
221
+ }
222
+ }
223
+
224
+ if (anchors.length > 0) {
225
+ console.log('[COMPACT_GRAPH] ' + nodeC + ' nodes. Session context (✎ = recently edited):');
226
+ for (var ci = 0; ci < anchors.length; ci++) {
227
+ var g = anchors[ci];
228
+ console.log(' ' + (g.tag || ' ') + ' ' + g.name + ' [' + g.label + '] — ' + g.file_path + ' (deg ' + g.deg + ')');
229
+ }
230
+ console.log(' Use mcp__monomind__monograph_suggest first when navigating.');
231
+ }
232
+ } finally { /* db is shared/cached; do not close */ }
233
+ } catch (e) {}
234
+ }
235
+
236
+ function _findAffectedTests(filePath) {
237
+ if (!filePath) return [];
238
+ var db = _openMonographDb();
239
+ if (!db) return [];
240
+ try {
241
+ var rel = filePath;
242
+ if (filePath.indexOf(CWD) === 0) rel = filePath.slice(CWD.length + 1);
243
+ var rows = db.prepare(
244
+ 'SELECT DISTINCT src.file_path FROM edges e ' +
245
+ 'JOIN nodes src ON e.source_id = src.id ' +
246
+ 'JOIN nodes tgt ON e.target_id = tgt.id ' +
247
+ 'WHERE e.relation IN (\'IMPORTS\',\'CALLS\',\'DEPENDS_ON\') ' +
248
+ 'AND (tgt.file_path = ? OR tgt.file_path = ?) ' +
249
+ 'AND src.file_path IS NOT NULL AND src.file_path != \'\' ' +
250
+ 'AND (src.file_path LIKE \'%test%\' OR src.file_path LIKE \'%.spec.%\' OR src.file_path LIKE \'%__tests__%\') ' +
251
+ 'AND src.file_path NOT LIKE \'%.worktrees%\' ' +
252
+ 'LIMIT 5'
253
+ ).all(filePath, rel);
254
+ return rows.map(function(r) { return r.file_path; });
255
+ } catch (e) { return []; }
256
+ finally { /* db is shared/cached; do not close */ }
257
+ }
258
+
259
+ function _maybeRebuildMonograph() {
260
+ try {
261
+ var metricsDir = path.join(CWD, '.monomind', 'metrics');
262
+ fs.mkdirSync(metricsDir, { recursive: true });
263
+ var f = path.join(metricsDir, 'graph-rebuild.json');
264
+ var d = {};
265
+ try { d = JSON.parse(fs.readFileSync(f, 'utf-8')); } catch (_) {}
266
+ if (typeof d !== 'object' || d === null) d = {};
267
+ d.writesSinceRebuild = (d.writesSinceRebuild || 0) + 1;
268
+ d.lastWriteAt = Date.now();
269
+ var THRESHOLD = 20;
270
+ var MIN_INTERVAL_MS = 5 * 60 * 1000;
271
+ var dueByCount = d.writesSinceRebuild >= THRESHOLD;
272
+ var dueByTime = !d.lastRebuildAt || (Date.now() - d.lastRebuildAt) > MIN_INTERVAL_MS;
273
+ if (dueByCount && dueByTime) {
274
+ d.writesSinceRebuild = 0;
275
+ d.lastRebuildAt = Date.now();
276
+ fs.writeFileSync(f, JSON.stringify(d));
277
+ try {
278
+ var freshenScript = path.join(CWD, '.claude', 'helpers', 'graphify-freshen.cjs');
279
+ if (fs.existsSync(freshenScript)) {
280
+ var spawn = require('child_process').spawn;
281
+ var child = spawn(process.execPath, [freshenScript], {
282
+ detached: true,
283
+ stdio: 'ignore',
284
+ cwd: CWD,
285
+ });
286
+ child.unref();
287
+ }
288
+ } catch (_) {}
289
+ } else {
290
+ fs.writeFileSync(f, JSON.stringify(d));
291
+ }
292
+ } catch (e) { /* non-fatal */ }
293
+ }
294
+
295
+ // Inject god-node context at session-restore time: logs MONOGRAPH_CONTEXT,
296
+ // writes the god-node chunk into knowledge/chunks.jsonl for semantic recall.
297
+ // Shared between session-restore-handler and any other caller that needs it.
298
+ function injectGodNodesContext(CWD) {
299
+ try {
300
+ var mgDbPath = path.join(CWD, '.monomind', 'monograph.db');
301
+ if (!fs.existsSync(mgDbPath)) return;
302
+ var db = _openMonographDb();
303
+ if (!db) return;
304
+ try {
305
+ var nodeCount = db.prepare('SELECT COUNT(*) AS c FROM nodes').get().c;
306
+ var edgeCount = db.prepare('SELECT COUNT(*) AS c FROM edges').get().c;
307
+ var godNodes = db.prepare(
308
+ "SELECT n.name, n.label, n.file_path, " +
309
+ "(SELECT COUNT(*) FROM edges WHERE source_id=n.id OR target_id=n.id) AS deg " +
310
+ "FROM nodes n " +
311
+ "WHERE n.label NOT IN ('Concept') " +
312
+ "AND n.file_path IS NOT NULL AND n.file_path != '' " +
313
+ "AND n.file_path NOT LIKE '%/node_modules/%' AND n.file_path NOT LIKE '%node_modules%' " +
314
+ "ORDER BY deg DESC LIMIT 12"
315
+ ).all();
316
+
317
+ // Staleness indicator: compare stored commit hash with current HEAD.
318
+ var staleIndicator = '';
319
+ try {
320
+ // The orchestrator writes 'last_commit_hash'; fall back to legacy keys.
321
+ var lastCommitRow = null;
322
+ try {
323
+ lastCommitRow = db.prepare("SELECT value FROM index_meta WHERE key='last_commit_hash'").get() ||
324
+ db.prepare("SELECT value FROM index_meta WHERE key='lastCommit'").get() ||
325
+ db.prepare("SELECT value FROM index_meta WHERE key='ua_last_commit'").get();
326
+ } catch (_) {}
327
+ if (lastCommitRow && lastCommitRow.value) {
328
+ var { execFileSync: execSync } = require('child_process');
329
+ var currentHead = '';
330
+ try { currentHead = execSync('git', ['rev-parse', 'HEAD'], { cwd: CWD, encoding: 'utf-8' }).trim(); } catch (_) {}
331
+ if (currentHead && currentHead !== lastCommitRow.value) {
332
+ var commitsBehind = 0;
333
+ try {
334
+ var revList = execSync('git', ['rev-list', '--count', lastCommitRow.value + '..' + currentHead], { cwd: CWD, encoding: 'utf-8' }).trim();
335
+ commitsBehind = parseInt(revList, 10) || 0;
336
+ } catch (_) {}
337
+ if (commitsBehind > 0) {
338
+ staleIndicator = ' [⚡ graph ' + commitsBehind + ' commit' + (commitsBehind === 1 ? '' : 's') + ' behind — run: npx monomind monograph build]';
339
+ }
340
+ }
341
+ }
342
+ } catch (_) {}
343
+
344
+ if (godNodes.length > 0) {
345
+ var godStr = godNodes.slice(0, 8).map(function(n) {
346
+ return n.name + ' (' + n.label + ', ' + n.deg + ' links)';
347
+ }).join(', ');
348
+ console.log('[MONOGRAPH_CONTEXT] ' + nodeCount + ' nodes · ' + edgeCount + ' edges. Key nodes: ' + godStr + staleIndicator);
349
+
350
+ // Write god nodes into knowledge/chunks.jsonl so semantic search finds them.
351
+ var knowledgeDir = path.join(CWD, '.monomind', 'knowledge');
352
+ var chunksFile = path.join(knowledgeDir, 'chunks.jsonl');
353
+ try {
354
+ fs.mkdirSync(knowledgeDir, { recursive: true });
355
+ var godChunk = JSON.stringify({
356
+ id: 'monograph-god-nodes',
357
+ text: 'Codebase architecture — high-centrality nodes (most depended-on): ' + godNodes.map(function(n) {
358
+ return n.name + ' [' + n.label + '] at ' + (n.file_path || '') + ' (' + n.deg + ' connections)';
359
+ }).join('; '),
360
+ namespace: 'knowledge:monograph',
361
+ metadata: { label: 'monograph-god-nodes', nodes: nodeCount, edges: edgeCount }
362
+ });
363
+ var existing = [];
364
+ try { existing = fs.readFileSync(chunksFile, 'utf-8').trim().split('\n').filter(Boolean); } catch(e) {}
365
+ existing = existing.filter(function(line) {
366
+ try { return JSON.parse(line).id !== 'monograph-god-nodes'; } catch(e) { return true; }
367
+ });
368
+ existing.push(godChunk);
369
+ fs.writeFileSync(chunksFile, existing.join('\n') + '\n');
370
+ } catch(e) {}
371
+ }
372
+ } catch(e) { /* non-fatal */ }
373
+ } catch(e) { /* non-fatal */ }
374
+ }
375
+
376
+ module.exports = {
377
+ _requireMonograph,
378
+ _openMonographDb,
379
+ getMonographSuggestions,
380
+ getMonographNeighbors,
381
+ _recordGraphTelemetry,
382
+ _injectCompactGraphMap,
383
+ _findAffectedTests,
384
+ _maybeRebuildMonograph,
385
+ injectGodNodesContext,
386
+ };
@@ -0,0 +1,146 @@
1
+ 'use strict';
2
+ // Extracted from hook-handler.cjs — session-scoped telemetry helpers.
3
+ // All functions are stateless and read/write .monomind/metrics/*.json files.
4
+
5
+ const path = require('path');
6
+ const fs = require('fs');
7
+
8
+ const CWD = process.env.CLAUDE_PROJECT_DIR || process.cwd();
9
+
10
+ function _recordRecentEdit(filePath) {
11
+ if (!filePath) return;
12
+ try {
13
+ var storedPath = filePath;
14
+ var f = path.join(CWD, '.monomind', 'metrics', 'recent-edits.json');
15
+ fs.mkdirSync(path.dirname(f), { recursive: true });
16
+ var d = { edits: [] };
17
+ try { d = JSON.parse(fs.readFileSync(f, 'utf-8')); } catch (_) {}
18
+ if (!Array.isArray(d.edits)) d.edits = [];
19
+ d.edits = d.edits.filter(function(e) { return e.file !== storedPath; });
20
+ d.edits.unshift({ file: storedPath, editedAt: Date.now() });
21
+ if (d.edits.length > 10) d.edits = d.edits.slice(0, 10);
22
+ fs.writeFileSync(f, JSON.stringify(d));
23
+ } catch (e) { /* non-fatal */ }
24
+ }
25
+
26
+ function _getRecentEdits() {
27
+ try {
28
+ var f = path.join(CWD, '.monomind', 'metrics', 'recent-edits.json');
29
+ if (!fs.existsSync(f)) return [];
30
+ var d = JSON.parse(fs.readFileSync(f, 'utf-8'));
31
+ if (!Array.isArray(d.edits)) return [];
32
+ var cutoff = Date.now() - 2 * 60 * 60 * 1000;
33
+ return d.edits.filter(function(e) { return e.editedAt > cutoff; });
34
+ } catch (e) { return []; }
35
+ }
36
+
37
+ function _recordToolCall(signature) {
38
+ try {
39
+ var f = path.join(CWD, '.monomind', 'metrics', 'tool-calls.json');
40
+ fs.mkdirSync(path.dirname(f), { recursive: true });
41
+ var d = {};
42
+ try { d = JSON.parse(fs.readFileSync(f, 'utf-8')); } catch (_) {}
43
+ if (typeof d !== 'object' || d === null) d = {};
44
+ if (!d.startedAt || (Date.now() - d.startedAt) > 4 * 60 * 60 * 1000) {
45
+ d = { startedAt: Date.now(), calls: {} };
46
+ }
47
+ d.calls[signature] = (d.calls[signature] || 0) + 1;
48
+ fs.writeFileSync(f, JSON.stringify(d));
49
+ return d.calls[signature];
50
+ } catch (e) { return 0; }
51
+ }
52
+
53
+ function _getBudgetStatus() {
54
+ try {
55
+ var budgetFile = path.join(CWD, '.monomind', 'budget.json');
56
+ var summaryFile = path.join(CWD, '.monomind', 'metrics', 'token-summary.json');
57
+ if (!fs.existsSync(summaryFile)) return null;
58
+ var summary = JSON.parse(fs.readFileSync(summaryFile, 'utf-8'));
59
+ var todayCost = summary.todayCost || (summary.today && summary.today.cost) || 0;
60
+ var monthCost = summary.monthCost || (summary.month && summary.month.cost) || 0;
61
+
62
+ var dailyLimit, monthlyLimit, autoTuned = false;
63
+ if (fs.existsSync(budgetFile)) {
64
+ try {
65
+ var b = JSON.parse(fs.readFileSync(budgetFile, 'utf-8'));
66
+ dailyLimit = b.dailyLimit;
67
+ monthlyLimit = b.monthlyLimit;
68
+ } catch (_) {}
69
+ }
70
+
71
+ if (!dailyLimit || !monthlyLimit) {
72
+ var now = new Date();
73
+ var daysIntoMonth = now.getUTCDate();
74
+ var dailyAvg = daysIntoMonth >= 1 ? monthCost / daysIntoMonth : 0;
75
+ if (dailyAvg > 5 && daysIntoMonth >= 7) {
76
+ dailyLimit = Math.max(dailyLimit || 0, Math.ceil(dailyAvg * 1.5));
77
+ monthlyLimit = Math.max(monthlyLimit || 0, Math.ceil(dailyAvg * 1.5 * 30));
78
+ autoTuned = true;
79
+ try {
80
+ fs.mkdirSync(path.dirname(budgetFile), { recursive: true });
81
+ fs.writeFileSync(budgetFile, JSON.stringify({
82
+ dailyLimit: dailyLimit, monthlyLimit: monthlyLimit,
83
+ autoTuned: true, tunedAt: now.toISOString(),
84
+ basis: 'rolling avg $' + dailyAvg.toFixed(2) + '/day × 1.5',
85
+ note: 'Edit these values to set a hard ceiling. Delete the file to re-tune.',
86
+ }, null, 2));
87
+ } catch (_) {}
88
+ } else {
89
+ dailyLimit = dailyLimit || 50;
90
+ monthlyLimit = monthlyLimit || 1500;
91
+ }
92
+ }
93
+
94
+ var dailyPct = Math.round((todayCost / dailyLimit) * 100);
95
+ var monthlyPct = Math.round((monthCost / monthlyLimit) * 100);
96
+ var rollingDaily = (new Date()).getUTCDate() >= 1 ? monthCost / (new Date()).getUTCDate() : 0;
97
+ var spike = rollingDaily > 0 && todayCost > rollingDaily * 2.0 && todayCost > 5;
98
+
99
+ return {
100
+ todayCost, monthCost, dailyLimit, monthlyLimit,
101
+ dailyPct, monthlyPct, autoTuned, spike,
102
+ alert: dailyPct >= 80 || monthlyPct >= 80 || spike,
103
+ breached: dailyPct >= 100 || monthlyPct >= 100,
104
+ };
105
+ } catch (e) { return null; }
106
+ }
107
+
108
+ function _recordHookLatency(handlerName, durationMs) {
109
+ try {
110
+ var f = path.join(CWD, '.monomind', 'metrics', 'hook-latency.json');
111
+ fs.mkdirSync(path.dirname(f), { recursive: true });
112
+ var d = {};
113
+ try { d = JSON.parse(fs.readFileSync(f, 'utf-8')); } catch (_) {}
114
+ if (typeof d !== 'object' || d === null) d = {};
115
+ var entry = d[handlerName] || { count: 0, total: 0, max: 0 };
116
+ entry.count++;
117
+ entry.total += durationMs;
118
+ entry.max = Math.max(entry.max, durationMs);
119
+ entry.mean = Math.round(entry.total / entry.count);
120
+ d[handlerName] = entry;
121
+ d.lastUpdated = Date.now();
122
+ fs.writeFileSync(f, JSON.stringify(d));
123
+ } catch (e) {}
124
+ }
125
+
126
+ function _recordDecisionMarkers(promptText) {
127
+ if (!promptText || typeof promptText !== 'string') return;
128
+ var markers = /\b(let's go with|we (?:chose|decided|picked|will go with)|decision[:\s]|choosing|going with|prefer to|let's use)\b[^\.\n]{0,200}/gi;
129
+ var matches = promptText.match(markers);
130
+ if (!matches || matches.length === 0) return;
131
+ try {
132
+ var f = path.join(CWD, '.monomind', 'decisions.jsonl');
133
+ fs.mkdirSync(path.dirname(f), { recursive: true });
134
+ var entry = JSON.stringify({ ts: Date.now(), excerpts: matches.slice(0, 3), prompt: promptText.slice(0, 400) });
135
+ fs.appendFileSync(f, entry + '\n');
136
+ } catch (e) {}
137
+ }
138
+
139
+ module.exports = {
140
+ _recordRecentEdit,
141
+ _getRecentEdits,
142
+ _recordToolCall,
143
+ _getBudgetStatus,
144
+ _recordHookLatency,
145
+ _recordDecisionMarkers,
146
+ };