@monoes/monomindcli 2.16.2 → 2.16.4

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 (894) hide show
  1. package/.claude/agents/architecture/system-design/arch-system-design.md +4 -1
  2. package/.claude/agents/consensus/quorum-manager.md +3 -0
  3. package/.claude/agents/consensus/security-manager.md +4 -1
  4. package/.claude/agents/core/coder.md +4 -1
  5. package/.claude/agents/core/coordinator.md +3 -0
  6. package/.claude/agents/core/planner.md +4 -1
  7. package/.claude/agents/core/researcher.md +4 -1
  8. package/.claude/agents/core/reviewer.md +4 -1
  9. package/.claude/agents/core/tester.md +4 -1
  10. package/.claude/agents/design/design-monodesign.md +4 -1
  11. package/.claude/agents/engineering/engineering-ai-data-remediation-engineer.md +4 -1
  12. package/.claude/agents/engineering/engineering-ai-engineer.md +4 -1
  13. package/.claude/agents/engineering/engineering-autonomous-optimization-architect.md +3 -0
  14. package/.claude/agents/engineering/engineering-backend-architect.md +4 -1
  15. package/.claude/agents/engineering/engineering-code-reviewer.md +5 -0
  16. package/.claude/agents/engineering/engineering-data-engineer.md +4 -1
  17. package/.claude/agents/engineering/engineering-database-optimizer.md +4 -1
  18. package/.claude/agents/engineering/engineering-devops-automator.md +3 -0
  19. package/.claude/agents/engineering/engineering-embedded-firmware-engineer.md +3 -0
  20. package/.claude/agents/engineering/engineering-feishu-integration-developer.md +4 -1
  21. package/.claude/agents/engineering/engineering-frontend-developer.md +3 -0
  22. package/.claude/agents/engineering/engineering-git-workflow-master.md +4 -1
  23. package/.claude/agents/engineering/engineering-incident-response-commander.md +4 -1
  24. package/.claude/agents/engineering/engineering-mobile-app-builder.md +3 -0
  25. package/.claude/agents/engineering/engineering-rapid-prototyper.md +3 -0
  26. package/.claude/agents/engineering/engineering-security-engineer.md +4 -1
  27. package/.claude/agents/engineering/engineering-senior-developer.md +3 -0
  28. package/.claude/agents/engineering/engineering-software-architect.md +4 -1
  29. package/.claude/agents/engineering/engineering-solidity-smart-contract-engineer.md +4 -1
  30. package/.claude/agents/engineering/engineering-sre.md +3 -0
  31. package/.claude/agents/engineering/engineering-technical-writer.md +4 -1
  32. package/.claude/agents/engineering/engineering-threat-detection-engineer.md +4 -1
  33. package/.claude/agents/engineering/engineering-wechat-mini-program-developer.md +4 -1
  34. package/.claude/agents/github/github-modes.md +4 -2
  35. package/.claude/agents/github/issue-tracker.md +4 -2
  36. package/.claude/agents/github/monoswarm-code-review.md +4 -2
  37. package/.claude/agents/github/monoswarm-issue.md +5 -0
  38. package/.claude/agents/github/monoswarm-multi-repo.md +4 -1
  39. package/.claude/agents/github/monoswarm-pr.md +5 -0
  40. package/.claude/agents/github/pr-manager.md +4 -2
  41. package/.claude/agents/github/project-board-sync.md +4 -2
  42. package/.claude/agents/github/release-manager.md +4 -2
  43. package/.claude/agents/github/repo-architect.md +4 -2
  44. package/.claude/agents/github/sync-coordinator.md +4 -2
  45. package/.claude/agents/github/workflow-automation.md +4 -2
  46. package/.claude/agents/goal/goal-planner.md +16 -2
  47. package/.claude/agents/marketing/marketing-competitive-content.md +4 -1
  48. package/.claude/agents/marketing/marketing-cro-specialist.md +4 -1
  49. package/.claude/agents/marketing/marketing-email-specialist.md +4 -1
  50. package/.claude/agents/marketing/marketing-launch-strategist.md +4 -1
  51. package/.claude/agents/marketing/marketing-pricing-strategist.md +4 -1
  52. package/.claude/agents/monoswarm/collective-intelligence-coordinator.md +3 -0
  53. package/.claude/agents/monoswarm/mesh-coordinator.md +3 -0
  54. package/.claude/agents/monoswarm/monoswarm-memory-manager.md +4 -2
  55. package/.claude/agents/monoswarm/scout-explorer.md +4 -2
  56. package/.claude/agents/monoswarm/worker-specialist.md +3 -0
  57. package/.claude/agents/optimization/benchmark-suite.md +3 -0
  58. package/.claude/agents/optimization/load-balancer.md +3 -0
  59. package/.claude/agents/optimization/performance-monitor.md +3 -0
  60. package/.claude/agents/optimization/resource-allocator.md +3 -0
  61. package/.claude/agents/optimization/topology-optimizer.md +3 -0
  62. package/.claude/agents/specialists/integration-architect.md +4 -2
  63. package/.claude/agents/specialized/agentic-identity-trust.md +4 -1
  64. package/.claude/agents/specialized/agents-orchestrator.md +3 -0
  65. package/.claude/agents/specialized/automation-governance-architect.md +3 -0
  66. package/.claude/agents/specialized/blockchain-security-auditor.md +4 -1
  67. package/.claude/agents/specialized/compliance-auditor.md +4 -1
  68. package/.claude/agents/specialized/identity-graph-operator.md +4 -1
  69. package/.claude/agents/specialized/lsp-index-engineer.md +3 -0
  70. package/.claude/agents/specialized/mobile/spec-mobile-react-native.md +5 -0
  71. package/.claude/agents/specialized/specialized-cultural-intelligence-strategist.md +3 -0
  72. package/.claude/agents/specialized/specialized-developer-advocate.md +4 -1
  73. package/.claude/agents/specialized/specialized-document-generator.md +4 -1
  74. package/.claude/agents/specialized/specialized-mcp-builder.md +3 -0
  75. package/.claude/agents/specialized/specialized-model-qa.md +4 -1
  76. package/.claude/agents/specialized/specialized-workflow-architect.md +4 -1
  77. package/.claude/agents/specialized/zk-steward.md +4 -1
  78. package/.claude/agents/templates/automation-smart-agent.md +4 -1
  79. package/.claude/agents/templates/coordinator-monoswarm-init.md +4 -1
  80. package/.claude/agents/testing/production-validator.md +3 -0
  81. package/.claude/agents/testing/tdd-london-monoswarm.md +3 -0
  82. package/.claude/agents/testing/testing-accessibility-auditor.md +4 -1
  83. package/.claude/agents/testing/testing-api-tester.md +4 -1
  84. package/.claude/agents/testing/testing-evidence-collector.md +3 -0
  85. package/.claude/agents/testing/testing-performance-benchmarker.md +4 -1
  86. package/.claude/agents/testing/testing-test-results-analyzer.md +4 -1
  87. package/.claude/agents/testing/testing-tool-evaluator.md +4 -1
  88. package/.claude/agents/testing/testing-workflow-optimizer.md +4 -1
  89. package/.claude/commands/agents/agent-types.md +7 -5
  90. package/.claude/commands/mastermind/code-review.md +5 -5
  91. package/.claude/commands/mastermind/content.md +8 -2
  92. package/.claude/commands/mastermind/createorg.md +2 -2
  93. package/.claude/commands/mastermind/createtask.md +2 -2
  94. package/.claude/commands/mastermind/do.md +18 -36
  95. package/.claude/commands/mastermind/finance.md +8 -2
  96. package/.claude/commands/mastermind/help.md +5 -11
  97. package/.claude/commands/mastermind/ideate.md +4 -4
  98. package/.claude/commands/mastermind/improve.md +3 -3
  99. package/.claude/commands/mastermind/marketing.md +8 -2
  100. package/.claude/commands/mastermind/master.md +64 -47
  101. package/.claude/commands/mastermind/monoswarm.md +7 -5
  102. package/.claude/commands/mastermind/ops.md +8 -2
  103. package/.claude/commands/mastermind/orgs.md +1 -1
  104. package/.claude/commands/mastermind/orgstatus.md +1 -1
  105. package/.claude/commands/mastermind/runorg.md +2 -2
  106. package/.claude/commands/mastermind/sales.md +8 -2
  107. package/.claude/commands/mastermind/stoporg.md +7 -11
  108. package/.claude/commands/mastermind.md +7 -7
  109. package/.claude/commands/monoswarm/analysis.md +1 -1
  110. package/.claude/commands/monoswarm/development.md +1 -1
  111. package/.claude/commands/monoswarm/maintenance.md +1 -1
  112. package/.claude/commands/monoswarm/optimization.md +2 -1
  113. package/.claude/commands/monoswarm/research.md +1 -1
  114. package/.claude/commands/monoswarm/testing.md +1 -1
  115. package/.claude/commands/pair/examples.md +3 -2
  116. package/.claude/commands/pair/modes.md +3 -3
  117. package/.claude/helpers/agent-registry.cjs +434 -0
  118. package/.claude/helpers/build-skill-registry.cjs +186 -26
  119. package/.claude/helpers/handlers/agent-start-handler.cjs +3 -0
  120. package/.claude/helpers/handlers/capture-handler.cjs +22 -14
  121. package/.claude/helpers/handlers/edit-handler.cjs +1 -1
  122. package/.claude/helpers/handlers/pick-core.cjs +463 -0
  123. package/.claude/helpers/handlers/route-handler.cjs +81 -180
  124. package/.claude/helpers/handlers/session-handler.cjs +44 -62
  125. package/.claude/helpers/handlers/session-restore-handler.cjs +8 -1
  126. package/.claude/helpers/handlers/task-handler.cjs +11 -6
  127. package/.claude/helpers/hook-handler.cjs +9 -2
  128. package/.claude/helpers/jev-catalog.cjs +229 -0
  129. package/.claude/helpers/jev-picker.cjs +38 -147
  130. package/.claude/helpers/org-skill-index.cjs +230 -0
  131. package/.claude/helpers/pick-rank.cjs +307 -0
  132. package/.claude/helpers/pick-stats.cjs +413 -0
  133. package/.claude/helpers/router.cjs +7 -379
  134. package/.claude/helpers/utils/monograph-resolve.cjs +12 -4
  135. package/.claude/settings.json +51 -41
  136. package/.claude/skills/hooks-automation/SKILL.md +4 -4
  137. package/.claude/skills/mastermind-access/SKILL.md +4 -3
  138. package/.claude/skills/mastermind-activity/SKILL.md +3 -2
  139. package/.claude/skills/mastermind-adapter-manager/SKILL.md +2 -1
  140. package/.claude/skills/mastermind-adapters/SKILL.md +2 -1
  141. package/.claude/skills/mastermind-agent-detail/SKILL.md +5 -4
  142. package/.claude/skills/mastermind-agent-select/SKILL.md +99 -100
  143. package/.claude/skills/mastermind-agents/SKILL.md +33 -39
  144. package/.claude/skills/mastermind-approval-detail/SKILL.md +2 -1
  145. package/.claude/skills/mastermind-backup/SKILL.md +2 -1
  146. package/.claude/skills/mastermind-bootstrap/SKILL.md +2 -2
  147. package/.claude/skills/mastermind-budgets/SKILL.md +4 -3
  148. package/.claude/skills/mastermind-createorg/SKILL.md +26 -8
  149. package/.claude/skills/mastermind-delegation/SKILL.md +11 -19
  150. package/.claude/skills/mastermind-diagnose/SKILL.md +3 -3
  151. package/.claude/skills/mastermind-env/SKILL.md +6 -19
  152. package/.claude/skills/mastermind-environments/SKILL.md +2 -1
  153. package/.claude/skills/mastermind-execute/SKILL.md +1 -1
  154. package/.claude/skills/mastermind-export/SKILL.md +2 -1
  155. package/.claude/skills/mastermind-goal-detail/SKILL.md +3 -2
  156. package/.claude/skills/mastermind-goals/SKILL.md +3 -2
  157. package/.claude/skills/mastermind-idea/SKILL.md +52 -92
  158. package/.claude/skills/mastermind-import/SKILL.md +2 -1
  159. package/.claude/skills/mastermind-inbox/SKILL.md +33 -53
  160. package/.claude/skills/mastermind-instance/SKILL.md +10 -7
  161. package/.claude/skills/mastermind-invite-landing/SKILL.md +3 -2
  162. package/.claude/skills/mastermind-invites/SKILL.md +3 -2
  163. package/.claude/skills/mastermind-issue-detail/SKILL.md +4 -3
  164. package/.claude/skills/mastermind-issues/SKILL.md +4 -3
  165. package/.claude/skills/mastermind-join-queue/SKILL.md +5 -4
  166. package/.claude/skills/mastermind-liveness/SKILL.md +5 -4
  167. package/.claude/skills/mastermind-monitor/SKILL.md +15 -15
  168. package/.claude/skills/mastermind-my-issues/SKILL.md +2 -1
  169. package/.claude/skills/mastermind-new-agent/SKILL.md +120 -137
  170. package/.claude/skills/mastermind-org-settings/SKILL.md +8 -8
  171. package/.claude/skills/mastermind-orgs/SKILL.md +27 -32
  172. package/.claude/skills/mastermind-orgstatus/SKILL.md +50 -140
  173. package/.claude/skills/mastermind-plan-to-tasks/SKILL.md +1 -1
  174. package/.claude/skills/mastermind-plugin-manager/SKILL.md +4 -3
  175. package/.claude/skills/mastermind-plugin-settings/SKILL.md +5 -4
  176. package/.claude/skills/mastermind-plugins/SKILL.md +3 -2
  177. package/.claude/skills/mastermind-profile/SKILL.md +2 -1
  178. package/.claude/skills/mastermind-protocol/SKILL.md +3 -3
  179. package/.claude/skills/mastermind-release/SKILL.md +13 -8
  180. package/.claude/skills/mastermind-research/SKILL.md +10 -8
  181. package/.claude/skills/mastermind-review/SKILL.md +16 -11
  182. package/.claude/skills/mastermind-routine-detail/SKILL.md +2 -1
  183. package/.claude/skills/mastermind-routines/SKILL.md +3 -2
  184. package/.claude/skills/mastermind-runorg/SKILL.md +13 -13
  185. package/.claude/skills/mastermind-search/SKILL.md +2 -1
  186. package/.claude/skills/mastermind-secrets/SKILL.md +3 -2
  187. package/.claude/skills/mastermind-skills/SKILL.md +2 -1
  188. package/.claude/skills/mastermind-stoporg/SKILL.md +8 -62
  189. package/.claude/skills/mastermind-tasks/SKILL.md +8 -9
  190. package/.claude/skills/mastermind-threads/SKILL.md +4 -3
  191. package/.claude/skills/mastermind-tree-control/SKILL.md +5 -4
  192. package/.claude/skills/mastermind-workspace-detail/SKILL.md +4 -3
  193. package/.claude/skills/mastermind-workspaces/SKILL.md +2 -1
  194. package/.claude/skills/monoswarm/SKILL.md +7 -5
  195. package/.claude/skills/specialagent/SKILL.md +32 -51
  196. package/README.md +28 -43
  197. package/dist/src/agents/registry-builder.d.ts +79 -22
  198. package/dist/src/agents/registry-builder.d.ts.map +1 -1
  199. package/dist/src/agents/registry-builder.js +49 -296
  200. package/dist/src/agents/registry-builder.js.map +1 -1
  201. package/dist/src/agents/registry-freshness.d.ts +21 -0
  202. package/dist/src/agents/registry-freshness.d.ts.map +1 -0
  203. package/dist/src/agents/registry-freshness.js +45 -0
  204. package/dist/src/agents/registry-freshness.js.map +1 -0
  205. package/dist/src/commands/agent-lifecycle.d.ts +11 -5
  206. package/dist/src/commands/agent-lifecycle.d.ts.map +1 -1
  207. package/dist/src/commands/agent-lifecycle.js +78 -42
  208. package/dist/src/commands/agent-lifecycle.js.map +1 -1
  209. package/dist/src/commands/doc.d.ts.map +1 -1
  210. package/dist/src/commands/doc.js +6 -15
  211. package/dist/src/commands/doc.js.map +1 -1
  212. package/dist/src/commands/doctor-env-checks.d.ts +18 -3
  213. package/dist/src/commands/doctor-env-checks.d.ts.map +1 -1
  214. package/dist/src/commands/doctor-env-checks.js +35 -16
  215. package/dist/src/commands/doctor-env-checks.js.map +1 -1
  216. package/dist/src/commands/doctor-fresh-install.d.ts +9 -0
  217. package/dist/src/commands/doctor-fresh-install.d.ts.map +1 -0
  218. package/dist/src/commands/doctor-fresh-install.js +43 -0
  219. package/dist/src/commands/doctor-fresh-install.js.map +1 -0
  220. package/dist/src/commands/doctor-hook-monograph-checks.d.ts +3 -1
  221. package/dist/src/commands/doctor-hook-monograph-checks.d.ts.map +1 -1
  222. package/dist/src/commands/doctor-hook-monograph-checks.js +13 -4
  223. package/dist/src/commands/doctor-hook-monograph-checks.js.map +1 -1
  224. package/dist/src/commands/doctor-hook-settings-checks.d.ts +5 -0
  225. package/dist/src/commands/doctor-hook-settings-checks.d.ts.map +1 -0
  226. package/dist/src/commands/doctor-hook-settings-checks.js +50 -0
  227. package/dist/src/commands/doctor-hook-settings-checks.js.map +1 -0
  228. package/dist/src/commands/doctor-json.d.ts +41 -0
  229. package/dist/src/commands/doctor-json.d.ts.map +1 -0
  230. package/dist/src/commands/doctor-json.js +60 -0
  231. package/dist/src/commands/doctor-json.js.map +1 -0
  232. package/dist/src/commands/doctor-mode.d.ts +28 -0
  233. package/dist/src/commands/doctor-mode.d.ts.map +1 -0
  234. package/dist/src/commands/doctor-mode.js +109 -0
  235. package/dist/src/commands/doctor-mode.js.map +1 -0
  236. package/dist/src/commands/doctor-monoes-checks.d.ts.map +1 -1
  237. package/dist/src/commands/doctor-monoes-checks.js +3 -1
  238. package/dist/src/commands/doctor-monoes-checks.js.map +1 -1
  239. package/dist/src/commands/doctor-pick-checks.d.ts +19 -0
  240. package/dist/src/commands/doctor-pick-checks.d.ts.map +1 -0
  241. package/dist/src/commands/doctor-pick-checks.js +132 -0
  242. package/dist/src/commands/doctor-pick-checks.js.map +1 -0
  243. package/dist/src/commands/doctor-project-checks.d.ts +3 -1
  244. package/dist/src/commands/doctor-project-checks.d.ts.map +1 -1
  245. package/dist/src/commands/doctor-project-checks.js +69 -20
  246. package/dist/src/commands/doctor-project-checks.js.map +1 -1
  247. package/dist/src/commands/doctor.d.ts.map +1 -1
  248. package/dist/src/commands/doctor.js +324 -335
  249. package/dist/src/commands/doctor.js.map +1 -1
  250. package/dist/src/commands/hooks-coverage-routing.js +1 -1
  251. package/dist/src/commands/hooks-coverage-routing.js.map +1 -1
  252. package/dist/src/commands/hooks-coverage-utils.js +1 -1
  253. package/dist/src/commands/hooks-coverage-utils.js.map +1 -1
  254. package/dist/src/commands/hooks-routing-commands.d.ts.map +1 -1
  255. package/dist/src/commands/hooks-routing-commands.js +5 -4
  256. package/dist/src/commands/hooks-routing-commands.js.map +1 -1
  257. package/dist/src/commands/init-upgrade.d.ts.map +1 -1
  258. package/dist/src/commands/init-upgrade.js +8 -0
  259. package/dist/src/commands/init-upgrade.js.map +1 -1
  260. package/dist/src/commands/init-wizard.d.ts.map +1 -1
  261. package/dist/src/commands/init-wizard.js +7 -2
  262. package/dist/src/commands/init-wizard.js.map +1 -1
  263. package/dist/src/commands/init.d.ts.map +1 -1
  264. package/dist/src/commands/init.js +16 -27
  265. package/dist/src/commands/init.js.map +1 -1
  266. package/dist/src/commands/monograph.d.ts.map +1 -1
  267. package/dist/src/commands/monograph.js +16 -21
  268. package/dist/src/commands/monograph.js.map +1 -1
  269. package/dist/src/commands/monoswarm.d.ts.map +1 -1
  270. package/dist/src/commands/monoswarm.js +16 -10
  271. package/dist/src/commands/monoswarm.js.map +1 -1
  272. package/dist/src/commands/org.js +1 -1
  273. package/dist/src/commands/org.js.map +1 -1
  274. package/dist/src/commands/pick.d.ts.map +1 -1
  275. package/dist/src/commands/pick.js +66 -16
  276. package/dist/src/commands/pick.js.map +1 -1
  277. package/dist/src/commands/route.d.ts +2 -1
  278. package/dist/src/commands/route.d.ts.map +1 -1
  279. package/dist/src/commands/route.js +73 -117
  280. package/dist/src/commands/route.js.map +1 -1
  281. package/dist/src/decision/catalogs.d.ts +24 -3
  282. package/dist/src/decision/catalogs.d.ts.map +1 -1
  283. package/dist/src/decision/catalogs.js +100 -22
  284. package/dist/src/decision/catalogs.js.map +1 -1
  285. package/dist/src/decision/jev.d.ts +30 -6
  286. package/dist/src/decision/jev.d.ts.map +1 -1
  287. package/dist/src/decision/jev.js +15 -4
  288. package/dist/src/decision/jev.js.map +1 -1
  289. package/dist/src/decision/pick-eval.d.ts +67 -0
  290. package/dist/src/decision/pick-eval.d.ts.map +1 -0
  291. package/dist/src/decision/pick-eval.js +113 -0
  292. package/dist/src/decision/pick-eval.js.map +1 -0
  293. package/dist/src/decision/pick-real.d.ts +93 -0
  294. package/dist/src/decision/pick-real.d.ts.map +1 -0
  295. package/dist/src/decision/pick-real.js +253 -0
  296. package/dist/src/decision/pick-real.js.map +1 -0
  297. package/dist/src/decision/pick-stats.d.ts +49 -0
  298. package/dist/src/decision/pick-stats.d.ts.map +1 -0
  299. package/dist/src/decision/pick-stats.js +68 -0
  300. package/dist/src/decision/pick-stats.js.map +1 -0
  301. package/dist/src/decision/picks.d.ts +38 -6
  302. package/dist/src/decision/picks.d.ts.map +1 -1
  303. package/dist/src/decision/picks.js +68 -32
  304. package/dist/src/decision/picks.js.map +1 -1
  305. package/dist/src/index.d.ts +5 -0
  306. package/dist/src/index.d.ts.map +1 -1
  307. package/dist/src/index.js +43 -22
  308. package/dist/src/index.js.map +1 -1
  309. package/dist/src/init/agent-refresh.d.ts +8 -0
  310. package/dist/src/init/agent-refresh.d.ts.map +1 -0
  311. package/dist/src/init/agent-refresh.js +89 -0
  312. package/dist/src/init/agent-refresh.js.map +1 -0
  313. package/dist/src/init/claudemd-generator.d.ts.map +1 -1
  314. package/dist/src/init/claudemd-generator.js +27 -9
  315. package/dist/src/init/claudemd-generator.js.map +1 -1
  316. package/dist/src/init/embeddings-step.d.ts +23 -0
  317. package/dist/src/init/embeddings-step.d.ts.map +1 -0
  318. package/dist/src/init/embeddings-step.js +53 -0
  319. package/dist/src/init/embeddings-step.js.map +1 -0
  320. package/dist/src/init/executor.d.ts.map +1 -1
  321. package/dist/src/init/executor.js +9 -1
  322. package/dist/src/init/executor.js.map +1 -1
  323. package/dist/src/init/helpers-generator.d.ts +4 -1
  324. package/dist/src/init/helpers-generator.d.ts.map +1 -1
  325. package/dist/src/init/helpers-generator.js +88 -55
  326. package/dist/src/init/helpers-generator.js.map +1 -1
  327. package/dist/src/init/hook-settings.d.ts +57 -0
  328. package/dist/src/init/hook-settings.d.ts.map +1 -0
  329. package/dist/src/init/hook-settings.js +133 -0
  330. package/dist/src/init/hook-settings.js.map +1 -0
  331. package/dist/src/init/project-indexes.d.ts +19 -0
  332. package/dist/src/init/project-indexes.d.ts.map +1 -0
  333. package/dist/src/init/project-indexes.js +44 -0
  334. package/dist/src/init/project-indexes.js.map +1 -0
  335. package/dist/src/init/settings-generator.d.ts.map +1 -1
  336. package/dist/src/init/settings-generator.js +44 -25
  337. package/dist/src/init/settings-generator.js.map +1 -1
  338. package/dist/src/init/shared.d.ts +14 -0
  339. package/dist/src/init/shared.d.ts.map +1 -1
  340. package/dist/src/init/shared.js +24 -1
  341. package/dist/src/init/shared.js.map +1 -1
  342. package/dist/src/init/types.d.ts +13 -2
  343. package/dist/src/init/types.d.ts.map +1 -1
  344. package/dist/src/init/types.js +11 -3
  345. package/dist/src/init/types.js.map +1 -1
  346. package/dist/src/init/upgrade.d.ts +7 -0
  347. package/dist/src/init/upgrade.d.ts.map +1 -1
  348. package/dist/src/init/upgrade.js +139 -130
  349. package/dist/src/init/upgrade.js.map +1 -1
  350. package/dist/src/init/write-antigravity.d.ts +1 -0
  351. package/dist/src/init/write-antigravity.d.ts.map +1 -1
  352. package/dist/src/init/write-antigravity.js +19 -1
  353. package/dist/src/init/write-antigravity.js.map +1 -1
  354. package/dist/src/init/write-capabilities.d.ts.map +1 -1
  355. package/dist/src/init/write-capabilities.js +10 -33
  356. package/dist/src/init/write-capabilities.js.map +1 -1
  357. package/dist/src/init/write-claude.d.ts.map +1 -1
  358. package/dist/src/init/write-claude.js +10 -4
  359. package/dist/src/init/write-claude.js.map +1 -1
  360. package/dist/src/mcp-client.d.ts.map +1 -1
  361. package/dist/src/mcp-client.js +4 -0
  362. package/dist/src/mcp-client.js.map +1 -1
  363. package/dist/src/mcp-tools/agent-tools.d.ts.map +1 -1
  364. package/dist/src/mcp-tools/agent-tools.js +3 -0
  365. package/dist/src/mcp-tools/agent-tools.js.map +1 -1
  366. package/dist/src/mcp-tools/embeddings-tools.d.ts.map +1 -1
  367. package/dist/src/mcp-tools/embeddings-tools.js +14 -5
  368. package/dist/src/mcp-tools/embeddings-tools.js.map +1 -1
  369. package/dist/src/mcp-tools/guidance-tools.d.ts.map +1 -1
  370. package/dist/src/mcp-tools/guidance-tools.js +19 -10
  371. package/dist/src/mcp-tools/guidance-tools.js.map +1 -1
  372. package/dist/src/mcp-tools/hooks-embedding.d.ts +1 -32
  373. package/dist/src/mcp-tools/hooks-embedding.d.ts.map +1 -1
  374. package/dist/src/mcp-tools/hooks-embedding.js +22 -200
  375. package/dist/src/mcp-tools/hooks-embedding.js.map +1 -1
  376. package/dist/src/mcp-tools/hooks-routing.d.ts.map +1 -1
  377. package/dist/src/mcp-tools/hooks-routing.js +81 -195
  378. package/dist/src/mcp-tools/hooks-routing.js.map +1 -1
  379. package/dist/src/mcp-tools/index.d.ts +1 -0
  380. package/dist/src/mcp-tools/index.d.ts.map +1 -1
  381. package/dist/src/mcp-tools/index.js +1 -0
  382. package/dist/src/mcp-tools/index.js.map +1 -1
  383. package/dist/src/mcp-tools/monograph/build-tools.d.ts.map +1 -1
  384. package/dist/src/mcp-tools/monograph/build-tools.js +16 -9
  385. package/dist/src/mcp-tools/monograph/build-tools.js.map +1 -1
  386. package/dist/src/mcp-tools/org-skill-tools.d.ts +4 -0
  387. package/dist/src/mcp-tools/org-skill-tools.d.ts.map +1 -0
  388. package/dist/src/mcp-tools/org-skill-tools.js +42 -0
  389. package/dist/src/mcp-tools/org-skill-tools.js.map +1 -0
  390. package/dist/src/mcp-tools/pick-tools.d.ts +4 -0
  391. package/dist/src/mcp-tools/pick-tools.d.ts.map +1 -0
  392. package/dist/src/mcp-tools/pick-tools.js +53 -0
  393. package/dist/src/mcp-tools/pick-tools.js.map +1 -0
  394. package/dist/src/memory/embedding-operations.d.ts +0 -4
  395. package/dist/src/memory/embedding-operations.d.ts.map +1 -1
  396. package/dist/src/memory/embedding-operations.js +11 -85
  397. package/dist/src/memory/embedding-operations.js.map +1 -1
  398. package/dist/src/memory/memory-bridge.d.ts +7 -0
  399. package/dist/src/memory/memory-bridge.d.ts.map +1 -1
  400. package/dist/src/memory/memory-bridge.js +15 -0
  401. package/dist/src/memory/memory-bridge.js.map +1 -1
  402. package/dist/src/monovector/coverage-router.d.ts +2 -1
  403. package/dist/src/monovector/coverage-router.d.ts.map +1 -1
  404. package/dist/src/monovector/coverage-router.js +6 -5
  405. package/dist/src/monovector/coverage-router.js.map +1 -1
  406. package/dist/src/monovector/coverage-tools.js +1 -1
  407. package/dist/src/monovector/coverage-tools.js.map +1 -1
  408. package/dist/src/monovector/index.d.ts +1 -1
  409. package/dist/src/monovector/index.d.ts.map +1 -1
  410. package/dist/src/monovector/index.js +11 -35
  411. package/dist/src/monovector/index.js.map +1 -1
  412. package/dist/src/monovector/route-outcomes.d.ts.map +1 -1
  413. package/dist/src/monovector/route-outcomes.js +89 -34
  414. package/dist/src/monovector/route-outcomes.js.map +1 -1
  415. package/dist/src/orgrt/bash-timeout.d.ts +17 -0
  416. package/dist/src/orgrt/bash-timeout.d.ts.map +1 -1
  417. package/dist/src/orgrt/bash-timeout.js +15 -0
  418. package/dist/src/orgrt/bash-timeout.js.map +1 -1
  419. package/dist/src/orgrt/daemon.d.ts +7 -13
  420. package/dist/src/orgrt/daemon.d.ts.map +1 -1
  421. package/dist/src/orgrt/daemon.js +12 -23
  422. package/dist/src/orgrt/daemon.js.map +1 -1
  423. package/dist/src/orgrt/decisions.d.ts +3 -8
  424. package/dist/src/orgrt/decisions.d.ts.map +1 -1
  425. package/dist/src/orgrt/decisions.js +36 -47
  426. package/dist/src/orgrt/decisions.js.map +1 -1
  427. package/dist/src/orgrt/dispatch-hold.d.ts +34 -0
  428. package/dist/src/orgrt/dispatch-hold.d.ts.map +1 -0
  429. package/dist/src/orgrt/dispatch-hold.js +75 -0
  430. package/dist/src/orgrt/dispatch-hold.js.map +1 -0
  431. package/dist/src/orgrt/runner-registry.d.ts +20 -0
  432. package/dist/src/orgrt/runner-registry.d.ts.map +1 -1
  433. package/dist/src/orgrt/runner-registry.js +39 -0
  434. package/dist/src/orgrt/runner-registry.js.map +1 -1
  435. package/dist/src/orgrt/sandbox-deny-write.d.ts +11 -1
  436. package/dist/src/orgrt/sandbox-deny-write.d.ts.map +1 -1
  437. package/dist/src/orgrt/sandbox-deny-write.js +23 -2
  438. package/dist/src/orgrt/sandbox-deny-write.js.map +1 -1
  439. package/dist/src/orgrt/sandbox-fault.d.ts +5 -1
  440. package/dist/src/orgrt/sandbox-fault.d.ts.map +1 -1
  441. package/dist/src/orgrt/sandbox-fault.js +14 -2
  442. package/dist/src/orgrt/sandbox-fault.js.map +1 -1
  443. package/dist/src/orgrt/session.d.ts +16 -7
  444. package/dist/src/orgrt/session.d.ts.map +1 -1
  445. package/dist/src/orgrt/session.js +44 -64
  446. package/dist/src/orgrt/session.js.map +1 -1
  447. package/dist/src/orgrt/skill-library.d.ts +4 -0
  448. package/dist/src/orgrt/skill-library.d.ts.map +1 -1
  449. package/dist/src/orgrt/skill-library.js +12 -0
  450. package/dist/src/orgrt/skill-library.js.map +1 -1
  451. package/dist/src/orgrt/skill-tools.d.ts +11 -0
  452. package/dist/src/orgrt/skill-tools.d.ts.map +1 -0
  453. package/dist/src/orgrt/skill-tools.js +40 -0
  454. package/dist/src/orgrt/skill-tools.js.map +1 -0
  455. package/dist/src/orgrt/task-cancel.d.ts +64 -0
  456. package/dist/src/orgrt/task-cancel.d.ts.map +1 -0
  457. package/dist/src/orgrt/task-cancel.js +134 -0
  458. package/dist/src/orgrt/task-cancel.js.map +1 -0
  459. package/dist/src/orgrt/task-dag.d.ts +10 -1
  460. package/dist/src/orgrt/task-dag.d.ts.map +1 -1
  461. package/dist/src/orgrt/task-dag.js.map +1 -1
  462. package/dist/src/orgrt/task-match.d.ts +123 -0
  463. package/dist/src/orgrt/task-match.d.ts.map +1 -0
  464. package/dist/src/orgrt/task-match.js +249 -0
  465. package/dist/src/orgrt/task-match.js.map +1 -0
  466. package/dist/src/orgrt/task-provenance.d.ts +26 -0
  467. package/dist/src/orgrt/task-provenance.d.ts.map +1 -0
  468. package/dist/src/orgrt/task-provenance.js +93 -0
  469. package/dist/src/orgrt/task-provenance.js.map +1 -0
  470. package/dist/src/orgrt/task-tools.d.ts +24 -0
  471. package/dist/src/orgrt/task-tools.d.ts.map +1 -0
  472. package/dist/src/orgrt/task-tools.js +75 -0
  473. package/dist/src/orgrt/task-tools.js.map +1 -0
  474. package/dist/src/output.d.ts +6 -0
  475. package/dist/src/output.d.ts.map +1 -1
  476. package/dist/src/output.js +13 -2
  477. package/dist/src/output.js.map +1 -1
  478. package/dist/src/protocol-capabilities.d.ts +8 -1
  479. package/dist/src/protocol-capabilities.d.ts.map +1 -1
  480. package/dist/src/protocol-capabilities.js +10 -0
  481. package/dist/src/protocol-capabilities.js.map +1 -1
  482. package/dist/src/routing/agent-pick.d.ts +44 -0
  483. package/dist/src/routing/agent-pick.d.ts.map +1 -0
  484. package/dist/src/routing/agent-pick.js +114 -0
  485. package/dist/src/routing/agent-pick.js.map +1 -0
  486. package/dist/src/routing/pick-step.d.ts +26 -0
  487. package/dist/src/routing/pick-step.d.ts.map +1 -0
  488. package/dist/src/routing/pick-step.js +40 -0
  489. package/dist/src/routing/pick-step.js.map +1 -0
  490. package/dist/src/routing/route-layer-factory.d.ts.map +1 -1
  491. package/dist/src/routing/route-layer-factory.js +19 -17
  492. package/dist/src/routing/route-layer-factory.js.map +1 -1
  493. package/dist/src/utils/resource-governor.d.ts.map +1 -1
  494. package/dist/src/utils/resource-governor.js +28 -8
  495. package/dist/src/utils/resource-governor.js.map +1 -1
  496. package/dist/tsconfig.tsbuildinfo +1 -1
  497. package/org-skills/SOURCES.md +6 -6
  498. package/org-skills/TAGS.md +146 -0
  499. package/org-skills/ab-testing/SKILL.md +2 -2
  500. package/org-skills/accessibility-compliance/SKILL.md +2 -2
  501. package/org-skills/account-strategist/SKILL.md +2 -2
  502. package/org-skills/accounts-payable/SKILL.md +2 -2
  503. package/org-skills/ad-creative/SKILL.md +2 -2
  504. package/org-skills/adaptive-coordinator/SKILL.md +2 -2
  505. package/org-skills/adaptive-coordinator2/SKILL.md +2 -2
  506. package/org-skills/advanced-evaluation/SKILL.md +2 -2
  507. package/org-skills/adversarial-reviewer/SKILL.md +2 -2
  508. package/org-skills/agent-evaluation/SKILL.md +2 -2
  509. package/org-skills/agent-memory-systems/SKILL.md +2 -2
  510. package/org-skills/agent-tool-design/SKILL.md +2 -2
  511. package/org-skills/agile-product-owner/SKILL.md +2 -2
  512. package/org-skills/ai-citation/SKILL.md +2 -2
  513. package/org-skills/ai-engineer/SKILL.md +2 -2
  514. package/org-skills/ai-seo/SKILL.md +2 -2
  515. package/org-skills/analytics-reporter/SKILL.md +2 -2
  516. package/org-skills/analytics-tracking/SKILL.md +2 -2
  517. package/org-skills/android-clean-architecture/SKILL.md +2 -2
  518. package/org-skills/angular-architect/SKILL.md +2 -2
  519. package/org-skills/api-design/SKILL.md +2 -2
  520. package/org-skills/api-designer/SKILL.md +2 -2
  521. package/org-skills/api-tester/SKILL.md +2 -2
  522. package/org-skills/app-store-optimization/SKILL.md +2 -2
  523. package/org-skills/architecture-decision-records/SKILL.md +2 -2
  524. package/org-skills/architecture-designer/SKILL.md +2 -2
  525. package/org-skills/architecture-patterns/SKILL.md +2 -2
  526. package/org-skills/article-writing/SKILL.md +2 -2
  527. package/org-skills/auth-implementation-patterns/SKILL.md +2 -2
  528. package/org-skills/automation-governance/SKILL.md +2 -2
  529. package/org-skills/avoid-ai-writing/SKILL.md +2 -2
  530. package/org-skills/backend-dev/SKILL.md +2 -2
  531. package/org-skills/backend-patterns/SKILL.md +2 -2
  532. package/org-skills/bash-defensive-patterns/SKILL.md +2 -2
  533. package/org-skills/before-you-build/SKILL.md +2 -2
  534. package/org-skills/benchmark-methodology/SKILL.md +2 -2
  535. package/org-skills/benchmarker/SKILL.md +2 -2
  536. package/org-skills/blockchain-auditor/SKILL.md +2 -2
  537. package/org-skills/board-deck-builder/SKILL.md +2 -2
  538. package/org-skills/business-investment-advisor/SKILL.md +2 -2
  539. package/org-skills/byzantine-coord/SKILL.md +2 -2
  540. package/org-skills/canvas-design/SKILL.md +2 -2
  541. package/org-skills/carrier-relationship-management/SKILL.md +2 -2
  542. package/org-skills/case-analyst/SKILL.md +2 -2
  543. package/org-skills/ceo-advisor/SKILL.md +2 -2
  544. package/org-skills/cfo-advisor/SKILL.md +2 -2
  545. package/org-skills/change-management/SKILL.md +2 -2
  546. package/org-skills/changelog-automation/SKILL.md +2 -2
  547. package/org-skills/chro-advisor/SKILL.md +2 -2
  548. package/org-skills/churn-prevention/SKILL.md +2 -2
  549. package/org-skills/cicd-engineer/SKILL.md +2 -2
  550. package/org-skills/ciso-advisor/SKILL.md +2 -2
  551. package/org-skills/click-path-audit/SKILL.md +2 -2
  552. package/org-skills/cloud-architect/SKILL.md +2 -2
  553. package/org-skills/cloud-architecture/SKILL.md +2 -2
  554. package/org-skills/cmo-advisor/SKILL.md +2 -2
  555. package/org-skills/co-marketing/SKILL.md +2 -2
  556. package/org-skills/code-documenter/SKILL.md +2 -2
  557. package/org-skills/code-review-swarm/SKILL.md +2 -2
  558. package/org-skills/code-reviewer/SKILL.md +2 -2
  559. package/org-skills/coder/SKILL.md +2 -2
  560. package/org-skills/coding-standards/SKILL.md +2 -2
  561. package/org-skills/cold-email/SKILL.md +2 -2
  562. package/org-skills/collective-coord/SKILL.md +2 -2
  563. package/org-skills/community-marketing/SKILL.md +2 -2
  564. package/org-skills/competitive-landscape/SKILL.md +2 -2
  565. package/org-skills/competitive-platform-analysis/SKILL.md +2 -2
  566. package/org-skills/competitive-report-structure/SKILL.md +2 -2
  567. package/org-skills/competitive-teardown/SKILL.md +2 -2
  568. package/org-skills/competitor-comparison-pages/SKILL.md +2 -2
  569. package/org-skills/compliance-auditor/SKILL.md +2 -2
  570. package/org-skills/consensus-coordinator/SKILL.md +2 -2
  571. package/org-skills/content-creator/SKILL.md +2 -2
  572. package/org-skills/content-engine/SKILL.md +2 -2
  573. package/org-skills/content-strategy/SKILL.md +2 -2
  574. package/org-skills/context-compression/SKILL.md +2 -2
  575. package/org-skills/context-degradation/SKILL.md +2 -2
  576. package/org-skills/context-fundamentals/SKILL.md +2 -2
  577. package/org-skills/context-optimization/SKILL.md +2 -2
  578. package/org-skills/contract-and-proposal-writer/SKILL.md +1 -1
  579. package/org-skills/contract-first/SKILL.md +2 -2
  580. package/org-skills/coo-advisor/SKILL.md +2 -2
  581. package/org-skills/copy-editing/SKILL.md +2 -2
  582. package/org-skills/copywriting/SKILL.md +2 -2
  583. package/org-skills/cost-aware-llm-pipeline/SKILL.md +2 -2
  584. package/org-skills/cost-optimization/SKILL.md +2 -2
  585. package/org-skills/cpp-coding-standards/SKILL.md +2 -2
  586. package/org-skills/cpp-pro/SKILL.md +2 -2
  587. package/org-skills/cro-advisor/SKILL.md +2 -2
  588. package/org-skills/cro-specialist/SKILL.md +2 -2
  589. package/org-skills/csharp-developer/SKILL.md +2 -2
  590. package/org-skills/cto-advisor/SKILL.md +2 -2
  591. package/org-skills/culture-architect/SKILL.md +2 -2
  592. package/org-skills/customer-research/SKILL.md +2 -2
  593. package/org-skills/customs-trade-compliance/SKILL.md +2 -2
  594. package/org-skills/dart-flutter-patterns/SKILL.md +2 -2
  595. package/org-skills/dashboard-builder/SKILL.md +2 -2
  596. package/org-skills/data-consolidator/SKILL.md +2 -2
  597. package/org-skills/data-engineer/SKILL.md +2 -2
  598. package/org-skills/data-quality-frameworks/SKILL.md +2 -2
  599. package/org-skills/data-storytelling/SKILL.md +2 -2
  600. package/org-skills/database-migrations/SKILL.md +2 -2
  601. package/org-skills/database-optimizer/SKILL.md +2 -2
  602. package/org-skills/dbt-transformation-patterns/SKILL.md +2 -2
  603. package/org-skills/deal-strategist/SKILL.md +2 -2
  604. package/org-skills/debugging-wizard/SKILL.md +2 -2
  605. package/org-skills/deep-research/SKILL.md +2 -2
  606. package/org-skills/defender/SKILL.md +2 -2
  607. package/org-skills/dependency-upgrade/SKILL.md +2 -2
  608. package/org-skills/deployment-patterns/SKILL.md +2 -2
  609. package/org-skills/deployment-pipeline-design/SKILL.md +2 -2
  610. package/org-skills/design-system/SKILL.md +2 -2
  611. package/org-skills/design-system-patterns/SKILL.md +2 -2
  612. package/org-skills/devops-automator/SKILL.md +2 -2
  613. package/org-skills/devops-engineer/SKILL.md +2 -2
  614. package/org-skills/discovery-coach/SKILL.md +2 -2
  615. package/org-skills/django-expert/SKILL.md +2 -2
  616. package/org-skills/django-patterns/SKILL.md +2 -2
  617. package/org-skills/docker-patterns/SKILL.md +2 -2
  618. package/org-skills/dotnet-patterns/SKILL.md +2 -2
  619. package/org-skills/e2e-testing/SKILL.md +2 -2
  620. package/org-skills/email-marketing/SKILL.md +2 -2
  621. package/org-skills/email-sequences/SKILL.md +2 -2
  622. package/org-skills/embedded-firmware/SKILL.md +2 -2
  623. package/org-skills/embedded-systems/SKILL.md +2 -2
  624. package/org-skills/employment-contract-templates/SKILL.md +2 -2
  625. package/org-skills/energy-procurement/SKILL.md +2 -2
  626. package/org-skills/error-handling/SKILL.md +2 -2
  627. package/org-skills/event-marketing/SKILL.md +2 -2
  628. package/org-skills/evidence-collector/SKILL.md +2 -2
  629. package/org-skills/experiment-designer/SKILL.md +2 -2
  630. package/org-skills/experiment-tracker/SKILL.md +2 -2
  631. package/org-skills/experimental-design/SKILL.md +2 -2
  632. package/org-skills/fastapi-expert/SKILL.md +2 -2
  633. package/org-skills/fastapi-patterns/SKILL.md +2 -2
  634. package/org-skills/feedback-synthesizer/SKILL.md +2 -2
  635. package/org-skills/finance-tracker/SKILL.md +2 -2
  636. package/org-skills/finishing-a-development-branch/SKILL.md +2 -2
  637. package/org-skills/flutter-expert/SKILL.md +2 -2
  638. package/org-skills/focused-fix/SKILL.md +2 -2
  639. package/org-skills/free-tool-strategy/SKILL.md +2 -2
  640. package/org-skills/frontend-design/SKILL.md +2 -2
  641. package/org-skills/frontend-design-direction/SKILL.md +2 -2
  642. package/org-skills/frontend-developer/SKILL.md +2 -2
  643. package/org-skills/frontend-patterns/SKILL.md +2 -2
  644. package/org-skills/game-audio-engineer/SKILL.md +2 -2
  645. package/org-skills/game-designer/SKILL.md +2 -2
  646. package/org-skills/gdpr-data-handling/SKILL.md +2 -2
  647. package/org-skills/general-counsel-advisor/SKILL.md +2 -2
  648. package/org-skills/git-advanced-workflows/SKILL.md +2 -2
  649. package/org-skills/git-workflow/SKILL.md +2 -2
  650. package/org-skills/golang-patterns/SKILL.md +2 -2
  651. package/org-skills/golang-pro/SKILL.md +2 -2
  652. package/org-skills/harness-engineering/SKILL.md +2 -2
  653. package/org-skills/healthcare-phi-compliance/SKILL.md +2 -2
  654. package/org-skills/hexagonal-architecture/SKILL.md +2 -2
  655. package/org-skills/hierarchical-coord/SKILL.md +2 -2
  656. package/org-skills/huggingface-transformers/SKILL.md +2 -2
  657. package/org-skills/hypothesis-generation/SKILL.md +2 -2
  658. package/org-skills/incident-command-playbook/SKILL.md +2 -2
  659. package/org-skills/incident-commander/SKILL.md +2 -2
  660. package/org-skills/incident-runbook-templates/SKILL.md +2 -2
  661. package/org-skills/influencer-marketing/SKILL.md +2 -2
  662. package/org-skills/infrastructure/SKILL.md +2 -2
  663. package/org-skills/input-validator/SKILL.md +2 -2
  664. package/org-skills/intent-driven-development/SKILL.md +2 -2
  665. package/org-skills/inventory-demand-planning/SKILL.md +2 -2
  666. package/org-skills/investor-materials/SKILL.md +2 -2
  667. package/org-skills/ios-developer/SKILL.md +2 -2
  668. package/org-skills/isms-audit-expert/SKILL.md +2 -2
  669. package/org-skills/issue-tracker/SKILL.md +2 -2
  670. package/org-skills/java-architect/SKILL.md +2 -2
  671. package/org-skills/java-coding-standards/SKILL.md +2 -2
  672. package/org-skills/judge/SKILL.md +2 -2
  673. package/org-skills/kotlin-patterns/SKILL.md +2 -2
  674. package/org-skills/kotlin-specialist/SKILL.md +2 -2
  675. package/org-skills/kpi-dashboard-design/SKILL.md +2 -2
  676. package/org-skills/kubernetes-patterns/SKILL.md +2 -2
  677. package/org-skills/kubernetes-specialist/SKILL.md +2 -2
  678. package/org-skills/laravel-patterns/SKILL.md +2 -2
  679. package/org-skills/launch-strategist/SKILL.md +2 -2
  680. package/org-skills/launch-strategy/SKILL.md +2 -2
  681. package/org-skills/lead-magnets/SKILL.md +2 -2
  682. package/org-skills/legacy-modernizer/SKILL.md +2 -2
  683. package/org-skills/legal-compliance/SKILL.md +2 -2
  684. package/org-skills/level-designer/SKILL.md +2 -2
  685. package/org-skills/llm-cost-optimizer/SKILL.md +2 -2
  686. package/org-skills/llm-evaluation/SKILL.md +2 -2
  687. package/org-skills/llm-project-development/SKILL.md +2 -2
  688. package/org-skills/load-balancer/SKILL.md +2 -2
  689. package/org-skills/logistics-exception-management/SKILL.md +2 -2
  690. package/org-skills/long-horizon-prompting/SKILL.md +2 -2
  691. package/org-skills/make-interfaces-feel-better/SKILL.md +2 -2
  692. package/org-skills/markdown-mermaid-writing/SKILL.md +2 -2
  693. package/org-skills/market-research/SKILL.md +2 -2
  694. package/org-skills/market-research-reports/SKILL.md +2 -2
  695. package/org-skills/market-sizing-analysis/SKILL.md +2 -2
  696. package/org-skills/marketing-attribution/SKILL.md +2 -2
  697. package/org-skills/marketing-campaign/SKILL.md +2 -2
  698. package/org-skills/marketing-council/SKILL.md +2 -2
  699. package/org-skills/marketing-demand-acquisition/SKILL.md +2 -2
  700. package/org-skills/marketing-loops/SKILL.md +2 -2
  701. package/org-skills/marketing-plan/SKILL.md +2 -2
  702. package/org-skills/marketing-psychology/SKILL.md +2 -2
  703. package/org-skills/marketing-strategy-pmm/SKILL.md +2 -2
  704. package/org-skills/markitdown-document-conversion/SKILL.md +2 -2
  705. package/org-skills/mcp-builder/SKILL.md +2 -2
  706. package/org-skills/mcp-server-builder/SKILL.md +2 -2
  707. package/org-skills/mcp-server-patterns/SKILL.md +2 -2
  708. package/org-skills/memory-coordinator/SKILL.md +2 -2
  709. package/org-skills/mesh-coordinator/SKILL.md +2 -2
  710. package/org-skills/ml-developer/SKILL.md +2 -2
  711. package/org-skills/ml-pipeline/SKILL.md +2 -2
  712. package/org-skills/mle-workflow/SKILL.md +2 -2
  713. package/org-skills/mobile-app-builder/SKILL.md +2 -2
  714. package/org-skills/mobile-dev/SKILL.md +2 -2
  715. package/org-skills/model-qa/SKILL.md +2 -2
  716. package/org-skills/monitoring-expert/SKILL.md +2 -2
  717. package/org-skills/monodesign-ui-quality/SKILL.md +2 -2
  718. package/org-skills/monograph-code-navigation/SKILL.md +2 -2
  719. package/org-skills/monolean-minimal-change/SKILL.md +2 -2
  720. package/org-skills/multi-agent-patterns/SKILL.md +2 -2
  721. package/org-skills/mysql-patterns/SKILL.md +2 -2
  722. package/org-skills/narrative-designer/SKILL.md +2 -2
  723. package/org-skills/nextjs-developer/SKILL.md +2 -2
  724. package/org-skills/offer-design/SKILL.md +2 -2
  725. package/org-skills/onboarding-cro/SKILL.md +2 -2
  726. package/org-skills/outbound-strategist/SKILL.md +2 -2
  727. package/org-skills/page-cro/SKILL.md +2 -2
  728. package/org-skills/paid-ads/SKILL.md +2 -2
  729. package/org-skills/pandas-pro/SKILL.md +2 -2
  730. package/org-skills/path-validator/SKILL.md +2 -2
  731. package/org-skills/payment-agent/SKILL.md +2 -2
  732. package/org-skills/pci-compliance/SKILL.md +2 -2
  733. package/org-skills/perf-analyzer/SKILL.md +2 -2
  734. package/org-skills/php-pro/SKILL.md +2 -2
  735. package/org-skills/pipeline-analyst/SKILL.md +2 -2
  736. package/org-skills/planner/SKILL.md +2 -2
  737. package/org-skills/playwright-expert/SKILL.md +2 -2
  738. package/org-skills/postgres-patterns/SKILL.md +2 -2
  739. package/org-skills/postgresql-table-design/SKILL.md +2 -2
  740. package/org-skills/postmortem-writing/SKILL.md +2 -2
  741. package/org-skills/pr-manager/SKILL.md +2 -2
  742. package/org-skills/pricing-strategist/SKILL.md +2 -2
  743. package/org-skills/pricing-strategy/SKILL.md +2 -2
  744. package/org-skills/prisma-patterns/SKILL.md +2 -2
  745. package/org-skills/product-capability/SKILL.md +2 -2
  746. package/org-skills/product-discovery/SKILL.md +2 -2
  747. package/org-skills/product-lens/SKILL.md +2 -2
  748. package/org-skills/product-manager/SKILL.md +2 -2
  749. package/org-skills/product-marketing-context/SKILL.md +2 -2
  750. package/org-skills/production-audit/SKILL.md +2 -2
  751. package/org-skills/production-scheduling/SKILL.md +2 -2
  752. package/org-skills/production-validator/SKILL.md +2 -2
  753. package/org-skills/programmatic-seo/SKILL.md +2 -2
  754. package/org-skills/project-shepherd/SKILL.md +2 -2
  755. package/org-skills/prompt-engineer/SKILL.md +2 -2
  756. package/org-skills/proposal-strategist/SKILL.md +2 -2
  757. package/org-skills/prosecutor/SKILL.md +2 -2
  758. package/org-skills/public-relations/SKILL.md +2 -2
  759. package/org-skills/pymc-bayesian-modeling/SKILL.md +2 -2
  760. package/org-skills/python-patterns/SKILL.md +2 -2
  761. package/org-skills/python-pro/SKILL.md +2 -2
  762. package/org-skills/python-testing/SKILL.md +2 -2
  763. package/org-skills/quality-nonconformance/SKILL.md +2 -2
  764. package/org-skills/queen-coordinator/SKILL.md +2 -2
  765. package/org-skills/quorum-manager/SKILL.md +2 -2
  766. package/org-skills/raft-manager/SKILL.md +2 -2
  767. package/org-skills/rag-architect/SKILL.md +2 -2
  768. package/org-skills/rails-patterns/SKILL.md +2 -2
  769. package/org-skills/react-expert/SKILL.md +2 -2
  770. package/org-skills/react-native-expert/SKILL.md +2 -2
  771. package/org-skills/react-native-patterns/SKILL.md +2 -2
  772. package/org-skills/react-patterns/SKILL.md +2 -2
  773. package/org-skills/react-performance/SKILL.md +2 -2
  774. package/org-skills/react-testing/SKILL.md +2 -2
  775. package/org-skills/reality-checker/SKILL.md +2 -2
  776. package/org-skills/receiving-code-review/SKILL.md +2 -2
  777. package/org-skills/recruitment/SKILL.md +2 -2
  778. package/org-skills/redis-patterns/SKILL.md +2 -2
  779. package/org-skills/referral-programs/SKILL.md +2 -2
  780. package/org-skills/release-manager/SKILL.md +2 -2
  781. package/org-skills/repo-architect/SKILL.md +2 -2
  782. package/org-skills/researcher/SKILL.md +2 -2
  783. package/org-skills/resource-allocator/SKILL.md +2 -2
  784. package/org-skills/responsive-design/SKILL.md +2 -2
  785. package/org-skills/returns-reverse-logistics/SKILL.md +2 -2
  786. package/org-skills/reviewer/SKILL.md +2 -2
  787. package/org-skills/revops/SKILL.md +2 -2
  788. package/org-skills/roadmap-communicator/SKILL.md +2 -2
  789. package/org-skills/rust-engineer/SKILL.md +2 -2
  790. package/org-skills/rust-patterns/SKILL.md +2 -2
  791. package/org-skills/safe-executor/SKILL.md +2 -2
  792. package/org-skills/sales-coach/SKILL.md +2 -2
  793. package/org-skills/sales-enablement/SKILL.md +2 -2
  794. package/org-skills/sales-engineer/SKILL.md +2 -2
  795. package/org-skills/sales-prospecting/SKILL.md +2 -2
  796. package/org-skills/schema-markup/SKILL.md +2 -2
  797. package/org-skills/scientific-brainstorming/SKILL.md +2 -2
  798. package/org-skills/scientific-critical-thinking/SKILL.md +2 -2
  799. package/org-skills/scientific-thinking-literature-review/SKILL.md +2 -2
  800. package/org-skills/scientific-thinking-scholar-evaluation/SKILL.md +2 -2
  801. package/org-skills/scientific-visualization/SKILL.md +2 -2
  802. package/org-skills/scientific-writing/SKILL.md +2 -2
  803. package/org-skills/scout-explorer/SKILL.md +2 -2
  804. package/org-skills/secrets-vault-manager/SKILL.md +2 -2
  805. package/org-skills/secure-code-guardian/SKILL.md +2 -2
  806. package/org-skills/security-architect/SKILL.md +2 -2
  807. package/org-skills/security-auditor/SKILL.md +2 -2
  808. package/org-skills/security-review/SKILL.md +2 -2
  809. package/org-skills/security-reviewer/SKILL.md +2 -2
  810. package/org-skills/senior-data-scientist/SKILL.md +2 -2
  811. package/org-skills/senior-developer/SKILL.md +2 -2
  812. package/org-skills/senior-pm/SKILL.md +2 -2
  813. package/org-skills/senior-pm-playbook/SKILL.md +2 -2
  814. package/org-skills/seo/SKILL.md +2 -2
  815. package/org-skills/seo-audit/SKILL.md +2 -2
  816. package/org-skills/seo-specialist/SKILL.md +2 -2
  817. package/org-skills/shap-model-explainability/SKILL.md +2 -2
  818. package/org-skills/signup-flow-cro/SKILL.md +2 -2
  819. package/org-skills/site-architecture/SKILL.md +2 -2
  820. package/org-skills/sms-marketing/SKILL.md +2 -2
  821. package/org-skills/soc2-compliance/SKILL.md +2 -2
  822. package/org-skills/social-content/SKILL.md +2 -2
  823. package/org-skills/social-media/SKILL.md +2 -2
  824. package/org-skills/social-media-manager/SKILL.md +2 -2
  825. package/org-skills/solidity-engineer/SKILL.md +2 -2
  826. package/org-skills/spark-engineer/SKILL.md +2 -2
  827. package/org-skills/spec-driven-workflow/SKILL.md +2 -2
  828. package/org-skills/springboot-patterns/SKILL.md +2 -2
  829. package/org-skills/sprint-prioritizer/SKILL.md +2 -2
  830. package/org-skills/sql-pro/SKILL.md +2 -2
  831. package/org-skills/sre/SKILL.md +2 -2
  832. package/org-skills/sre-engineer/SKILL.md +2 -2
  833. package/org-skills/startup-financial-modeling/SKILL.md +2 -2
  834. package/org-skills/startup-metrics-framework/SKILL.md +2 -2
  835. package/org-skills/statistical-analysis/SKILL.md +2 -2
  836. package/org-skills/statistical-power/SKILL.md +2 -2
  837. package/org-skills/stride-analysis-patterns/SKILL.md +2 -2
  838. package/org-skills/stripe-integration/SKILL.md +2 -2
  839. package/org-skills/studio-operations/SKILL.md +2 -2
  840. package/org-skills/studio-producer/SKILL.md +2 -2
  841. package/org-skills/support-responder/SKILL.md +2 -2
  842. package/org-skills/swift-expert/SKILL.md +2 -2
  843. package/org-skills/swiftui-patterns/SKILL.md +2 -2
  844. package/org-skills/system-architect/SKILL.md +2 -2
  845. package/org-skills/systematic-debugging/SKILL.md +2 -2
  846. package/org-skills/task-orchestrator/SKILL.md +2 -2
  847. package/org-skills/team-communications/SKILL.md +2 -2
  848. package/org-skills/team-composition-analysis/SKILL.md +2 -2
  849. package/org-skills/technical-artist/SKILL.md +2 -2
  850. package/org-skills/technical-writer/SKILL.md +2 -2
  851. package/org-skills/terraform-engineer/SKILL.md +2 -2
  852. package/org-skills/test-driven-development/SKILL.md +2 -2
  853. package/org-skills/test-master/SKILL.md +2 -2
  854. package/org-skills/tester/SKILL.md +2 -2
  855. package/org-skills/the-fool/SKILL.md +2 -2
  856. package/org-skills/theme-factory/SKILL.md +2 -2
  857. package/org-skills/threat-detection/SKILL.md +2 -2
  858. package/org-skills/threat-mitigation-mapping/SKILL.md +2 -2
  859. package/org-skills/trend-researcher/SKILL.md +2 -2
  860. package/org-skills/trial-director/SKILL.md +2 -2
  861. package/org-skills/typescript-pro/SKILL.md +2 -2
  862. package/org-skills/unity-architect/SKILL.md +2 -2
  863. package/org-skills/using-git-worktrees/SKILL.md +2 -2
  864. package/org-skills/ux-researcher-designer/SKILL.md +2 -2
  865. package/org-skills/verification-before-completion/SKILL.md +2 -2
  866. package/org-skills/visionos-engineer/SKILL.md +2 -2
  867. package/org-skills/visual-design-foundations/SKILL.md +2 -2
  868. package/org-skills/vue-expert/SKILL.md +2 -2
  869. package/org-skills/vue-patterns/SKILL.md +2 -2
  870. package/org-skills/worker-specialist/SKILL.md +2 -2
  871. package/org-skills/workflow-architect/SKILL.md +2 -2
  872. package/org-skills/workflow-automation/SKILL.md +2 -2
  873. package/org-skills/writing-plans/SKILL.md +2 -2
  874. package/org-skills/zk-steward/SKILL.md +2 -2
  875. package/package.json +7 -7
  876. package/.claude/helpers/skill-registry.json +0 -5997
  877. package/dist/src/routing/jev-step.d.ts +0 -17
  878. package/dist/src/routing/jev-step.d.ts.map +0 -1
  879. package/dist/src/routing/jev-step.js +0 -27
  880. package/dist/src/routing/jev-step.js.map +0 -1
  881. package/org-skills/accessibility/LICENSE.txt +0 -21
  882. package/org-skills/accessibility/SKILL.md +0 -149
  883. package/org-skills/database-migration/LICENSE.txt +0 -21
  884. package/org-skills/database-migration/SKILL.md +0 -337
  885. package/org-skills/database-migration/references/details.md +0 -76
  886. package/org-skills/error-handling-patterns/LICENSE.txt +0 -21
  887. package/org-skills/error-handling-patterns/SKILL.md +0 -126
  888. package/org-skills/error-handling-patterns/references/details.md +0 -516
  889. package/org-skills/internal-comms/LICENSE.txt +0 -202
  890. package/org-skills/internal-comms/SKILL.md +0 -36
  891. package/org-skills/internal-comms/examples/3p-updates.md +0 -47
  892. package/org-skills/internal-comms/examples/company-newsletter.md +0 -65
  893. package/org-skills/internal-comms/examples/faq-answers.md +0 -30
  894. package/org-skills/internal-comms/examples/general-comms.md +0 -16
@@ -10,9 +10,14 @@ import { runPlatformsDoctor } from '../platform-adapters/operations.js';
10
10
  import { checkCatalog } from './doctor-catalog-checks.js';
11
11
  import { checkDecisionModel, checkDecisionModelIfConfigured } from './doctor-decision-checks.js';
12
12
  import { checkBuildTools, checkClaudeCode, checkCrashReporting, checkDiskSpace, checkGit, checkGitRepo, checkNodeVersion, checkNpmVersion, checkVersionFreshness, installClaudeCode, } from './doctor-env-checks.js';
13
+ import { downgradeFreshInstallWarnings } from './doctor-fresh-install.js';
13
14
  import { checkHookMonograph } from './doctor-hook-monograph-checks.js';
15
+ import { checkHookSettings } from './doctor-hook-settings-checks.js';
16
+ import { doctorJsonPayload } from './doctor-json.js';
17
+ import { DOCTOR_MODE_OPTIONS, doctorError, modeLabel, resolveDoctorMode, skippedCheck, } from './doctor-mode.js';
14
18
  import { checkMonoesTokenExposure, checkMonoesTools, fixMonoesTools, } from './doctor-monoes-checks.js';
15
19
  import { checkNativeBindings } from './doctor-native-checks.js';
20
+ import { checkPick } from './doctor-pick-checks.js';
16
21
  import { checkAgentRegistry, checkApiKeys, checkAppleDoubleSidecars, checkConfigFile, checkDocumentExtractors, checkGitignoreCoverage, checkGuidanceGates, checkHelpersFresh, checkMcpServers, checkMemoryDatabase, checkMemoryKnowledgeGraph, checkMemoryProficiency, checkMetricsFreshness, checkMonoesIntegration, checkMonoesMemory, checkMonograph, checkMonographFreshness, checkProjectRoot, checkSecondBrainModel, checkSecurityAuditFindings, fixAppleDoubleSidecars, fixGitignoreCoverage, fixStaleHelpers, } from './doctor-project-checks.js';
17
22
  function formatCheck(check) {
18
23
  const icon = check.status === 'pass'
@@ -21,7 +26,9 @@ function formatCheck(check) {
21
26
  ? output.warning('⚠')
22
27
  : check.status === 'info'
23
28
  ? output.dim('ℹ')
24
- : output.error('✗');
29
+ : check.status === 'skipped'
30
+ ? output.dim('-')
31
+ : output.error('✗');
25
32
  return `${icon} ${check.name}: ${check.message}`;
26
33
  }
27
34
  export const doctorCommand = {
@@ -45,14 +52,29 @@ export const doctorCommand = {
45
52
  {
46
53
  name: 'component',
47
54
  short: 'c',
48
- description: 'Check specific component (version, node, npm, config, project-root, memory, api, git, mcp, claude, disk, native, typescript, monograph, graph-freshness, hook-monograph, memory-pkg, helpers, monoes, gates, gitignore, registry, memory-proficiency, monoes-tools, monoes-token, dashboard-token, metrics-freshness, security-audit, documents, platforms, crash-reporting, jev, catalog)',
55
+ description: 'Check specific component (version, node, npm, config, project-root, memory, api, git, mcp, claude, disk, native, typescript, monograph, graph-freshness, hook-monograph, memory-pkg, helpers, monoes, gates, hook-settings, gitignore, registry, memory-proficiency, monoes-tools, monoes-token, dashboard-token, metrics-freshness, security-audit, documents, platforms, crash-reporting, jev, catalog, pick)',
49
56
  type: 'string',
50
57
  },
51
58
  { name: 'verbose', short: 'v', description: 'Verbose output', type: 'boolean', default: false },
59
+ {
60
+ name: 'json',
61
+ description: 'Print the results as JSON on stdout (human text goes to stderr) — for programs such as mono-agent',
62
+ type: 'boolean',
63
+ default: false,
64
+ },
65
+ ...DOCTOR_MODE_OPTIONS,
52
66
  ],
53
67
  examples: [
54
68
  { command: 'monomind doctor', description: 'Run full health check' },
55
69
  { command: 'monomind doctor --fix', description: 'Show fixes for issues' },
70
+ {
71
+ command: 'monomind doctor --json',
72
+ description: 'Machine-readable results (add --fix to apply fixes)',
73
+ },
74
+ {
75
+ command: 'monomind doctor --json --offline',
76
+ description: 'Health check that changes no file and uses no network',
77
+ },
56
78
  { command: 'monomind doctor --install', description: 'Auto-install missing dependencies' },
57
79
  { command: 'monomind doctor -c version', description: 'Check for stale npx cache' },
58
80
  { command: 'monomind doctor -c claude', description: 'Check Claude Code CLI only' },
@@ -60,357 +82,324 @@ export const doctorCommand = {
60
82
  command: 'monomind doctor -c mcp',
61
83
  description: 'Start the configured MCP server and verify it answers initialize',
62
84
  },
85
+ {
86
+ command: 'monomind doctor -c pick',
87
+ description: 'Agent/skill picking: registry, skill index, decision model, eval score, adherence (not in the default run)',
88
+ },
63
89
  {
64
90
  command: 'monomind doctor -c monoes-tools --install',
65
91
  description: 'Check/fix monotask, mono-agent, mono-clip install issues (opt-in, not in the default run)',
66
92
  },
67
93
  ],
68
94
  action: async (ctx) => {
69
- const showFix = ctx.flags.fix;
70
- const autoInstall = ctx.flags.install;
71
- const component = ctx.flags.component;
72
- const checkPlatforms = async () => {
73
- const reports = await runPlatformsDoctor({ path: ctx.cwd, scope: 'project' });
74
- const lines = reports.map((report) => {
75
- const state = report.legacy.findings.length
76
- ? `legacy (${report.legacy.findings.join(', ')})`
77
- : report.artifacts.some((artifact) => artifact.state === 'managed')
78
- ? 'managed'
79
- : 'not installed';
80
- return `${report.platform}: ${state}; run monomind platforms doctor --platform ${report.platform}`;
81
- });
82
- return { name: 'Platform Adapters', status: 'info', message: lines.join('\n') };
83
- };
84
- output.writeln();
85
- output.writeln(output.bold('MonoMind Doctor'));
86
- output.writeln(output.dim('System diagnostics and health check'));
87
- output.writeln(output.dim('─'.repeat(50)));
88
- output.writeln();
89
- // Capability-aware scoping: skip code-specific checks in non-code directories
90
- // (e.g. document/media/data-only projects created via `monomind init`).
91
- let isCodeProject = true;
95
+ if (!(ctx.flags.json || ctx.flags.format === 'json'))
96
+ return runDoctor(ctx, false);
97
+ // stdout carries only the JSON payload; everything a check or fix
98
+ // prints goes to stderr meanwhile.
99
+ const previous = output.setOutputStream(process.stderr);
100
+ let result;
92
101
  try {
93
- const { loadFingerprint } = await import('../capabilities/index.js');
94
- const monomindDir = path.join(process.cwd(), '.monomind');
95
- const fingerprint = await loadFingerprint(monomindDir);
96
- isCodeProject = !fingerprint || fingerprint.capabilities.code.confidence >= 0.1;
102
+ result = await runDoctor(ctx, true);
97
103
  }
98
- catch {
99
- // Fingerprint unavailable — default to treating this as a code project
100
- // so existing behavior is unaffected when the capabilities module can't load.
101
- isCodeProject = true;
104
+ finally {
105
+ output.setOutputStream(previous);
102
106
  }
103
- const alwaysOnChecks = [
104
- checkVersionFreshness,
105
- checkNodeVersion,
106
- checkNpmVersion,
107
- checkClaudeCode,
108
- checkConfigFile,
109
- checkProjectRoot,
110
- checkMemoryDatabase,
111
- checkDiskSpace,
112
- checkMonograph,
113
- checkMonoesMemory,
114
- checkHelpersFresh,
115
- checkMonoesIntegration,
116
- checkGuidanceGates,
117
- checkAgentRegistry,
118
- checkGit,
119
- checkApiKeys,
120
- checkMemoryProficiency,
121
- checkMetricsFreshness,
122
- checkSecurityAuditFindings,
123
- checkSecondBrainModel,
124
- checkMemoryKnowledgeGraph,
125
- checkAppleDoubleSidecars,
126
- checkDocumentExtractors,
127
- // Config-only (no network), and only when Jev env is set: an unconfigured
128
- // full doctor run prints exactly what it printed before. `-c jev` probes.
129
- () => checkDecisionModelIfConfigured(),
130
- // i-055-cli's consent gate applies to every project regardless of
131
- // whether it has code (a document/media-only project can still crash
132
- // and needs to know its crash-reporting state) — alwaysOnChecks, not
133
- // codeOnlyChecks.
134
- checkCrashReporting,
135
- ];
136
- const codeOnlyChecks = [
137
- checkGitRepo,
138
- checkNativeBindings,
139
- checkMcpServers,
140
- checkBuildTools,
141
- checkMonographFreshness,
142
- () => checkHookMonograph(),
143
- checkGitignoreCoverage,
144
- checkMonoesTokenExposure,
145
- checkPlatforms,
146
- ];
147
- const allChecks = isCodeProject
148
- ? [...alwaysOnChecks, ...codeOnlyChecks]
149
- : alwaysOnChecks;
150
- const componentMap = {
151
- version: checkVersionFreshness,
152
- freshness: checkVersionFreshness,
153
- node: checkNodeVersion,
154
- npm: checkNpmVersion,
155
- claude: checkClaudeCode,
156
- config: checkConfigFile,
157
- 'project-root': checkProjectRoot,
158
- memory: checkMemoryDatabase,
159
- api: checkApiKeys,
160
- git: checkGit,
161
- // i-312: asking for the MCP check by name means "is my server actually
162
- // usable", so this one starts it and speaks `initialize`. The full
163
- // `doctor` run keeps the registry-only check — a start-up probe there
164
- // would spawn a subprocess (and, with an npx entry, possibly a package
165
- // download) on every invocation, interactive and CI alike.
166
- mcp: () => checkMcpServers({ probe: true }),
167
- disk: checkDiskSpace,
168
- 'second-brain': checkSecondBrainModel,
169
- kg: checkMemoryKnowledgeGraph,
170
- appledouble: checkAppleDoubleSidecars,
171
- sidecars: checkAppleDoubleSidecars,
172
- typescript: checkBuildTools,
173
- monograph: checkMonograph,
174
- 'graph-freshness': checkMonographFreshness,
175
- 'hook-monograph': () => checkHookMonograph(),
176
- native: checkNativeBindings,
177
- 'native-modules': checkNativeBindings,
178
- 'memory-pkg': checkMonoesMemory,
179
- helpers: checkHelpersFresh,
180
- monoes: checkMonoesIntegration,
181
- gates: checkGuidanceGates,
182
- gitignore: checkGitignoreCoverage,
183
- registry: checkAgentRegistry,
184
- 'memory-proficiency': checkMemoryProficiency,
185
- 'monoes-tools': checkMonoesTools,
186
- 'monoes-token': checkMonoesTokenExposure,
187
- // i-052 commit 3: same function as 'monoes-token' — it now covers
188
- // both credentials (see checkMonoesTokenExposure's own doc comment)
189
- // and is already always-on, so this alias exists purely so a user
190
- // (or an incident writeup) can find the check by the name of the
191
- // credential that leaked, not just the one that motivated the
192
- // original i-066 check.
193
- 'dashboard-token': checkMonoesTokenExposure,
194
- 'metrics-freshness': checkMetricsFreshness,
195
- 'security-audit': checkSecurityAuditFindings,
196
- documents: checkDocumentExtractors,
197
- 'doc-extractors': checkDocumentExtractors,
198
- jev: () => checkDecisionModel({ probe: true }),
199
- decision: () => checkDecisionModel({ probe: true }),
200
- platforms: checkPlatforms,
201
- 'crash-reporting': checkCrashReporting,
202
- catalog: () => checkCatalog(ctx.cwd || process.cwd()),
107
+ output.printJson(doctorJsonPayload(ctx, result));
108
+ return result;
109
+ },
110
+ };
111
+ async function runDoctor(ctx, json) {
112
+ const showFix = ctx.flags.fix;
113
+ const autoInstall = ctx.flags.install;
114
+ const component = ctx.flags.component;
115
+ const mode = resolveDoctorMode(ctx.flags);
116
+ if (mode.error)
117
+ return doctorError(mode.error);
118
+ const checkPlatforms = async () => {
119
+ const reports = await runPlatformsDoctor({ path: ctx.cwd, scope: 'project' });
120
+ const lines = reports.map((report) => {
121
+ const state = report.legacy.findings.length
122
+ ? `legacy (${report.legacy.findings.join(', ')})`
123
+ : report.artifacts.some((artifact) => artifact.state === 'managed')
124
+ ? 'managed'
125
+ : 'not installed';
126
+ return `${report.platform}: ${state}; run monomind platforms doctor --platform ${report.platform}`;
127
+ });
128
+ return { name: 'Platform Adapters', status: 'info', message: lines.join('\n') };
129
+ };
130
+ output.writeln();
131
+ output.writeln(output.bold('MonoMind Doctor'));
132
+ output.writeln(output.dim('System diagnostics and health check'));
133
+ output.writeln(output.dim('─'.repeat(50)));
134
+ if (modeLabel(mode))
135
+ output.writeln(output.dim(modeLabel(mode)));
136
+ output.writeln();
137
+ // Capability-aware scoping: skip code-specific checks in non-code directories
138
+ // (e.g. document/media/data-only projects created via `monomind init`).
139
+ let isCodeProject = true;
140
+ try {
141
+ const { loadFingerprint } = await import('../capabilities/index.js');
142
+ const monomindDir = path.join(process.cwd(), '.monomind');
143
+ const fingerprint = await loadFingerprint(monomindDir);
144
+ isCodeProject = !fingerprint || fingerprint.capabilities.code.confidence >= 0.1;
145
+ }
146
+ catch {
147
+ // Fingerprint unavailable — default to treating this as a code project
148
+ // so existing behavior is unaffected when the capabilities module can't load.
149
+ isCodeProject = true;
150
+ }
151
+ // Each check is paired with its component id (the `-c` name), which is
152
+ // also how `--json` identifies results.
153
+ const alwaysOnChecks = [
154
+ ['version', () => checkVersionFreshness({ readOnly: mode.readOnly })],
155
+ ['node', checkNodeVersion],
156
+ ['npm', checkNpmVersion],
157
+ ['claude', checkClaudeCode],
158
+ ['config', checkConfigFile],
159
+ ['project-root', checkProjectRoot],
160
+ ['memory', checkMemoryDatabase],
161
+ ['disk', checkDiskSpace],
162
+ ['monograph', checkMonograph],
163
+ ['memory-pkg', checkMonoesMemory],
164
+ ['helpers', checkHelpersFresh],
165
+ ['monoes', checkMonoesIntegration],
166
+ ['gates', checkGuidanceGates],
167
+ ['hook-settings', () => checkHookSettings(ctx.cwd || process.cwd())],
168
+ ['registry', () => checkAgentRegistry({ readOnly: mode.readOnly })],
169
+ ['git', checkGit],
170
+ ['api', checkApiKeys],
171
+ ['memory-proficiency', checkMemoryProficiency],
172
+ ['metrics-freshness', checkMetricsFreshness],
173
+ ['security-audit', checkSecurityAuditFindings],
174
+ ['second-brain', checkSecondBrainModel],
175
+ ['kg', checkMemoryKnowledgeGraph],
176
+ ['appledouble', checkAppleDoubleSidecars],
177
+ ['documents', checkDocumentExtractors],
178
+ // Config-only (no network), and only when Jev env is set: an unconfigured
179
+ // full doctor run prints exactly what it printed before. `-c jev` probes.
180
+ ['jev', () => checkDecisionModelIfConfigured()],
181
+ // i-055-cli's consent gate applies to every project regardless of
182
+ // whether it has code (a document/media-only project can still crash
183
+ // and needs to know its crash-reporting state) — alwaysOnChecks, not
184
+ // codeOnlyChecks.
185
+ ['crash-reporting', checkCrashReporting],
186
+ ];
187
+ const codeOnlyChecks = [
188
+ ['git-repo', checkGitRepo],
189
+ ['native', checkNativeBindings],
190
+ ['mcp', checkMcpServers],
191
+ ['typescript', checkBuildTools],
192
+ ['graph-freshness', checkMonographFreshness],
193
+ ['hook-monograph', () => checkHookMonograph(process.cwd(), { readOnly: mode.readOnly })],
194
+ ['gitignore', checkGitignoreCoverage],
195
+ ['monoes-token', checkMonoesTokenExposure],
196
+ ['platforms', checkPlatforms],
197
+ ];
198
+ const allChecks = isCodeProject
199
+ ? [...alwaysOnChecks, ...codeOnlyChecks]
200
+ : alwaysOnChecks;
201
+ const componentMap = {
202
+ version: () => checkVersionFreshness({ readOnly: mode.readOnly }),
203
+ freshness: () => checkVersionFreshness({ readOnly: mode.readOnly }),
204
+ node: checkNodeVersion,
205
+ npm: checkNpmVersion,
206
+ claude: checkClaudeCode,
207
+ config: checkConfigFile,
208
+ 'project-root': checkProjectRoot,
209
+ memory: checkMemoryDatabase,
210
+ api: checkApiKeys,
211
+ git: checkGit,
212
+ // i-312: asking for the MCP check by name means "is my server actually
213
+ // usable", so this one starts it and speaks `initialize`. The full
214
+ // `doctor` run keeps the registry-only check — a start-up probe there
215
+ // would spawn a subprocess (and, with an npx entry, possibly a package
216
+ // download) on every invocation, interactive and CI alike.
217
+ mcp: () => checkMcpServers({ probe: true }),
218
+ disk: checkDiskSpace,
219
+ 'second-brain': checkSecondBrainModel,
220
+ kg: checkMemoryKnowledgeGraph,
221
+ appledouble: checkAppleDoubleSidecars,
222
+ sidecars: checkAppleDoubleSidecars,
223
+ typescript: checkBuildTools,
224
+ monograph: checkMonograph,
225
+ 'graph-freshness': checkMonographFreshness,
226
+ 'hook-monograph': () => checkHookMonograph(process.cwd(), { readOnly: mode.readOnly }),
227
+ native: checkNativeBindings,
228
+ 'native-modules': checkNativeBindings,
229
+ 'memory-pkg': checkMonoesMemory,
230
+ helpers: checkHelpersFresh,
231
+ monoes: checkMonoesIntegration,
232
+ gates: checkGuidanceGates,
233
+ 'hook-settings': () => checkHookSettings(ctx.cwd || process.cwd()),
234
+ gitignore: checkGitignoreCoverage,
235
+ registry: () => checkAgentRegistry({ readOnly: mode.readOnly }),
236
+ 'memory-proficiency': checkMemoryProficiency,
237
+ 'monoes-tools': checkMonoesTools,
238
+ 'monoes-token': checkMonoesTokenExposure,
239
+ // i-052 commit 3: same function as 'monoes-token' — it now covers
240
+ // both credentials (see checkMonoesTokenExposure's own doc comment)
241
+ // and is already always-on, so this alias exists purely so a user
242
+ // (or an incident writeup) can find the check by the name of the
243
+ // credential that leaked, not just the one that motivated the
244
+ // original i-066 check.
245
+ 'dashboard-token': checkMonoesTokenExposure,
246
+ 'metrics-freshness': checkMetricsFreshness,
247
+ 'security-audit': checkSecurityAuditFindings,
248
+ documents: checkDocumentExtractors,
249
+ 'doc-extractors': checkDocumentExtractors,
250
+ jev: () => checkDecisionModel({ probe: true }),
251
+ decision: () => checkDecisionModel({ probe: true }),
252
+ platforms: checkPlatforms,
253
+ 'crash-reporting': checkCrashReporting,
254
+ catalog: () => checkCatalog(ctx.cwd || process.cwd()),
255
+ // Opt-in: rebuilds stale indexes and scores the eval set, so it stays out
256
+ // of the default run.
257
+ pick: () => checkPick(ctx.cwd || process.cwd()),
258
+ };
259
+ if (component && !componentMap[component]) {
260
+ output.writeln(output.error(`Unknown component: "${component}"`));
261
+ output.writeln(`Valid components: ${Object.keys(componentMap).sort().join(', ')}`);
262
+ return {
263
+ success: false,
264
+ exitCode: 1,
265
+ data: {
266
+ passed: 0,
267
+ warnings: 0,
268
+ failed: 1,
269
+ results: [],
270
+ error: `unknown component "${component}"`,
271
+ },
203
272
  };
204
- if (component && !componentMap[component]) {
205
- output.writeln(output.error(`Unknown component: "${component}"`));
206
- output.writeln(`Valid components: ${Object.keys(componentMap).sort().join(', ')}`);
207
- return {
208
- success: false,
209
- exitCode: 1,
210
- data: { passed: 0, warnings: 0, failed: 1, results: [] },
211
- };
212
- }
213
- const checksToRun = component ? [componentMap[component]] : allChecks;
214
- const results = [];
215
- const fixes = [];
216
- // Checks are run sequentially rather than via Promise.all/allSettled — several
217
- // of them shell out (git, npm, npx tsc, claude --version, etc.), and running
218
- // those concurrently was observed to race/fail intermittently. The checks are
219
- // individually fast, so sequential execution has no meaningful cost.
220
- const spinner = output.createSpinner({ text: 'Running health checks...', spinner: 'dots' });
273
+ }
274
+ const checksToRun = component
275
+ ? [[component, componentMap[component]]]
276
+ : allChecks;
277
+ const results = [];
278
+ const fixOutcomes = [];
279
+ const fixes = [];
280
+ // Checks are run sequentially rather than via Promise.all/allSettled — several
281
+ // of them shell out (git, npm, npx tsc, claude --version, etc.), and running
282
+ // those concurrently was observed to race/fail intermittently. The checks are
283
+ // individually fast, so sequential execution has no meaningful cost.
284
+ const spinner = output.createSpinner({ text: 'Running health checks...', spinner: 'dots' });
285
+ // The spinner writes to process.stdout directly; in JSON mode that
286
+ // would corrupt the payload.
287
+ if (!json)
221
288
  spinner.start();
222
- try {
223
- const settled = [];
224
- for (const check of checksToRun) {
225
- try {
226
- const result = await check();
227
- if (Array.isArray(result))
228
- settled.push(...result);
229
- else
230
- settled.push(result);
231
- }
232
- catch (err) {
233
- settled.push({
234
- name: 'Check',
235
- status: 'fail',
236
- message: err instanceof Error ? err.message : 'Unknown error',
237
- });
238
- }
289
+ try {
290
+ const settled = [];
291
+ for (const [id, check] of checksToRun) {
292
+ try {
293
+ const result = skippedCheck(id, mode, Boolean(component)) ?? (await check());
294
+ for (const r of Array.isArray(result) ? result : [result])
295
+ settled.push({ ...r, component: id });
239
296
  }
240
- spinner.stop();
241
- // P2-14: Quiet the fresh-install doctor. On a brand-new install, 9+ checks
242
- // report warnings that are actually expected states. Detect fresh install
243
- // (`.monomind/` dir < 5 min old) and downgrade expected warnings to info
244
- // unless --verbose is set.
245
- const verbose = ctx.flags.verbose;
246
- if (!verbose) {
247
- const monomindDir = path.join(ctx.cwd, '.monomind');
248
- let isFreshInstall = false;
249
- try {
250
- const { statSync } = await import('node:fs');
251
- const stat = statSync(monomindDir);
252
- isFreshInstall = Date.now() - stat.birthtimeMs < 5 * 60 * 1000; // < 5 min old
253
- }
254
- catch {
255
- /* dir doesn't exist — not our project */
256
- }
257
- if (isFreshInstall) {
258
- const FRESH_EXPECTED = new Set([
259
- 'Memory Database',
260
- 'Memory Knowledge Graph',
261
- 'Second Brain Model',
262
- 'Graph freshness',
263
- 'MCP Servers',
264
- 'Worker Metrics',
265
- 'Security Audit',
266
- 'Helper Files',
267
- 'AppleDouble Sidecars',
268
- 'Monoes Memory',
269
- ]);
270
- for (let i = 0; i < settled.length; i++) {
271
- if (settled[i].status === 'warn' && FRESH_EXPECTED.has(settled[i].name)) {
272
- settled[i] = {
273
- ...settled[i],
274
- status: 'info',
275
- message: `${settled[i].message} (expected on fresh install — run with --verbose for details)`,
276
- };
277
- }
278
- }
279
- }
280
- }
281
- for (const r of settled) {
282
- results.push(r);
283
- output.writeln(formatCheck(r));
284
- if (r.fix && r.status === 'fail')
285
- output.writeln(output.dim(` Fix: ${r.fix}`));
286
- else if (r.fix && r.status === 'warn')
287
- output.writeln(output.dim(` Hint: ${r.fix}`));
288
- if (r.fix && (r.status === 'fail' || r.status === 'warn'))
289
- fixes.push(`${r.name}: ${r.fix}`);
297
+ catch (err) {
298
+ settled.push({
299
+ name: 'Check',
300
+ status: 'fail',
301
+ message: err instanceof Error ? err.message : 'Unknown error',
302
+ component: id,
303
+ });
290
304
  }
291
305
  }
292
- catch {
293
- spinner.stop();
294
- output.writeln(output.error('Failed to run health checks'));
306
+ spinner.stop();
307
+ // P2-14: expected warnings on a brand-new install read as info.
308
+ if (!ctx.flags.verbose)
309
+ downgradeFreshInstallWarnings(settled, ctx.cwd);
310
+ for (const r of settled) {
311
+ results.push(r);
312
+ output.writeln(formatCheck(r));
313
+ if (r.fix && r.status === 'fail')
314
+ output.writeln(output.dim(` Fix: ${r.fix}`));
315
+ else if (r.fix && r.status === 'warn')
316
+ output.writeln(output.dim(` Hint: ${r.fix}`));
317
+ if (r.fix && (r.status === 'fail' || r.status === 'warn'))
318
+ fixes.push(`${r.name}: ${r.fix}`);
295
319
  }
296
- // `--fix` applies the lightweight, local, no-network fixes (helper files,
297
- // monoes CLI tool shims) — its description says "show fix commands" but
298
- // silently doing nothing for these two beyond printing a hint is a worse
299
- // outcome than just fixing them, and copying a bundled file locally is
300
- // nothing like installing a package. `--install` additionally covers the
301
- // Claude Code CLI, which is a real install (network fetch + binary setup)
302
- // — kept opt-in separately so `--fix` alone never triggers that.
303
- if (autoInstall || showFix) {
304
- const claudeResult = results.find((r) => r.name === 'Claude Code CLI');
305
- if (autoInstall && claudeResult && claudeResult.status !== 'pass') {
306
- if (await installClaudeCode()) {
307
- const newCheck = await checkClaudeCode();
308
- const idx = results.findIndex((r) => r.name === 'Claude Code CLI');
309
- if (idx !== -1) {
310
- results[idx] = newCheck;
311
- const fixIdx = fixes.findIndex((f) => f.startsWith('Claude Code CLI:'));
312
- if (fixIdx !== -1 && newCheck.status === 'pass')
313
- fixes.splice(fixIdx, 1);
314
- }
315
- output.writeln(formatCheck(newCheck));
316
- }
317
- }
318
- const monoesToolsResult = results.find((r) => r.name === 'monoes Tools');
319
- if (monoesToolsResult && monoesToolsResult.status !== 'pass') {
320
- if (await fixMonoesTools()) {
321
- const newCheck = await checkMonoesTools();
322
- const idx = results.findIndex((r) => r.name === 'monoes Tools');
323
- if (idx !== -1) {
324
- results[idx] = newCheck;
325
- const fixIdx = fixes.findIndex((f) => f.startsWith('monoes Tools:'));
326
- if (fixIdx !== -1 && newCheck.status === 'pass')
327
- fixes.splice(fixIdx, 1);
328
- }
329
- output.writeln(formatCheck(newCheck));
330
- }
331
- }
332
- const gitignoreResult = results.find((r) => r.name === 'Gitignore Coverage');
333
- if (gitignoreResult && gitignoreResult.status !== 'pass') {
334
- if (await fixGitignoreCoverage()) {
335
- const newCheck = await checkGitignoreCoverage();
336
- const idx = results.findIndex((r) => r.name === 'Gitignore Coverage');
337
- if (idx !== -1) {
338
- results[idx] = newCheck;
339
- const fixIdx = fixes.findIndex((f) => f.startsWith('Gitignore Coverage:'));
340
- if (fixIdx !== -1 && newCheck.status === 'pass')
341
- fixes.splice(fixIdx, 1);
342
- }
343
- output.writeln(formatCheck(newCheck));
344
- }
345
- }
346
- const sidecarResult = results.find((r) => r.name === 'AppleDouble Sidecars');
347
- if (sidecarResult && sidecarResult.status !== 'pass') {
348
- const removed = fixAppleDoubleSidecars(process.cwd());
349
- if (removed > 0) {
350
- const newCheck = await checkAppleDoubleSidecars();
351
- const idx = results.findIndex((r) => r.name === 'AppleDouble Sidecars');
352
- if (idx !== -1) {
353
- results[idx] = newCheck;
354
- const fixIdx = fixes.findIndex((f) => f.startsWith('AppleDouble Sidecars:'));
355
- if (fixIdx !== -1 && newCheck.status === 'pass')
356
- fixes.splice(fixIdx, 1);
357
- }
358
- output.writeln(formatCheck(newCheck));
359
- }
320
+ }
321
+ catch {
322
+ spinner.stop();
323
+ output.writeln(output.error('Failed to run health checks'));
324
+ }
325
+ // `--fix` applies the lightweight, local, no-network fixes (helper files,
326
+ // monoes CLI tool shims) — its description says "show fix commands" but
327
+ // silently doing nothing for these two beyond printing a hint is a worse
328
+ // outcome than just fixing them, and copying a bundled file locally is
329
+ // nothing like installing a package. `--install` additionally covers the
330
+ // Claude Code CLI, which is a real install (network fetch + binary setup)
331
+ // — kept opt-in separately so `--fix` alone never triggers that.
332
+ if (autoInstall || showFix) {
333
+ const needsFix = (name) => results.some((r) => r.name === name && r.status !== 'pass');
334
+ const applyFix = async (name, component, fix, recheck) => {
335
+ const fixed = await fix();
336
+ fixOutcomes.push({ component, outcome: fixed ? 'applied' : 'failed' });
337
+ if (!fixed)
338
+ return;
339
+ const newCheck = await recheck();
340
+ const idx = results.findIndex((r) => r.name === name);
341
+ if (idx !== -1) {
342
+ results[idx] = { ...newCheck, component: results[idx].component };
343
+ const fixIdx = fixes.findIndex((f) => f.startsWith(`${name}:`));
344
+ if (fixIdx !== -1 && newCheck.status === 'pass')
345
+ fixes.splice(fixIdx, 1);
360
346
  }
361
- const helpersResult = results.find((r) => r.name === 'Helper Files');
362
- if (helpersResult && helpersResult.status !== 'pass') {
363
- if (await fixStaleHelpers()) {
364
- const newCheck = await checkHelpersFresh();
365
- const idx = results.findIndex((r) => r.name === 'Helper Files');
366
- if (idx !== -1) {
367
- results[idx] = newCheck;
368
- const fixIdx = fixes.findIndex((f) => f.startsWith('Helper Files:'));
369
- if (fixIdx !== -1 && newCheck.status === 'pass')
370
- fixes.splice(fixIdx, 1);
371
- }
372
- output.writeln(formatCheck(newCheck));
373
- }
374
- }
375
- }
376
- const passed = results.filter((r) => r.status === 'pass').length;
377
- const warnings = results.filter((r) => r.status === 'warn').length;
378
- const failed = results.filter((r) => r.status === 'fail').length;
347
+ output.writeln(formatCheck(newCheck));
348
+ };
349
+ if (autoInstall && needsFix('Claude Code CLI'))
350
+ await applyFix('Claude Code CLI', 'claude', installClaudeCode, checkClaudeCode);
351
+ if (needsFix('monoes Tools'))
352
+ await applyFix('monoes Tools', 'monoes-tools', fixMonoesTools, checkMonoesTools);
353
+ if (needsFix('Gitignore Coverage'))
354
+ await applyFix('Gitignore Coverage', 'gitignore', fixGitignoreCoverage, checkGitignoreCoverage);
355
+ if (needsFix('AppleDouble Sidecars'))
356
+ await applyFix('AppleDouble Sidecars', 'appledouble', async () => fixAppleDoubleSidecars(process.cwd()) > 0, checkAppleDoubleSidecars);
357
+ if (needsFix('Helper Files'))
358
+ await applyFix('Helper Files', 'helpers', fixStaleHelpers, checkHelpersFresh);
359
+ }
360
+ const passed = results.filter((r) => r.status === 'pass').length;
361
+ const warnings = results.filter((r) => r.status === 'warn').length;
362
+ const failed = results.filter((r) => r.status === 'fail').length;
363
+ const skipped = results.filter((r) => r.status === 'skipped').length;
364
+ output.writeln();
365
+ output.writeln(output.dim('─'.repeat(50)));
366
+ output.writeln();
367
+ const summaryParts = [
368
+ output.success(`${passed} passed`),
369
+ warnings > 0 ? output.warning(`${warnings} warnings`) : null,
370
+ failed > 0 ? output.error(`${failed} failed`) : null,
371
+ skipped > 0 ? output.dim(`${skipped} skipped`) : null,
372
+ ].filter(Boolean);
373
+ output.writeln(`Summary: ${summaryParts.join(', ')}`);
374
+ if (showFix && fixes.length > 0) {
379
375
  output.writeln();
380
- output.writeln(output.dim('─'.repeat(50)));
376
+ output.writeln(output.bold('Suggested Fixes:'));
381
377
  output.writeln();
382
- const summaryParts = [
383
- output.success(`${passed} passed`),
384
- warnings > 0 ? output.warning(`${warnings} warnings`) : null,
385
- failed > 0 ? output.error(`${failed} failed`) : null,
386
- ].filter(Boolean);
387
- output.writeln(`Summary: ${summaryParts.join(', ')}`);
388
- if (showFix && fixes.length > 0) {
389
- output.writeln();
390
- output.writeln(output.bold('Suggested Fixes:'));
391
- output.writeln();
392
- for (const fix of fixes)
393
- output.writeln(output.dim(` ${fix}`));
394
- }
395
- else if (!showFix) {
396
- const warnFixes = results.filter((r) => r.status === 'warn' && r.fix).length;
397
- if (warnFixes > 0)
398
- output.writeln(output.dim(`\nRun with --fix to see ${warnFixes} suggested fix${warnFixes > 1 ? 'es' : ''} for warnings`));
399
- }
400
- if (failed > 0) {
401
- output.writeln();
402
- output.writeln(output.error('Some checks failed. Please address the issues above.'));
403
- return { success: false, exitCode: 1, data: { passed, warnings, failed, results } };
404
- }
405
- else if (warnings > 0) {
406
- output.writeln();
407
- output.writeln(output.warning('All checks passed with some warnings.'));
408
- return { success: true, data: { passed, warnings, failed, results } };
409
- }
378
+ for (const fix of fixes)
379
+ output.writeln(output.dim(` ${fix}`));
380
+ }
381
+ else if (!showFix) {
382
+ const warnFixes = results.filter((r) => r.status === 'warn' && r.fix).length;
383
+ if (warnFixes > 0)
384
+ output.writeln(output.dim(`\nRun with --fix to see ${warnFixes} suggested fix${warnFixes > 1 ? 'es' : ''} for warnings`));
385
+ }
386
+ if (failed > 0) {
410
387
  output.writeln();
411
- output.writeln(output.success('All checks passed! System is healthy.'));
412
- return { success: true, data: { passed, warnings, failed, results } };
413
- },
414
- };
388
+ output.writeln(output.error('Some checks failed. Please address the issues above.'));
389
+ return {
390
+ success: false,
391
+ exitCode: 1,
392
+ data: { passed, warnings, failed, results, fixes: fixOutcomes },
393
+ };
394
+ }
395
+ else if (warnings > 0) {
396
+ output.writeln();
397
+ output.writeln(output.warning('All checks passed with some warnings.'));
398
+ return { success: true, data: { passed, warnings, failed, results, fixes: fixOutcomes } };
399
+ }
400
+ output.writeln();
401
+ output.writeln(output.success('All checks passed! System is healthy.'));
402
+ return { success: true, data: { passed, warnings, failed, results, fixes: fixOutcomes } };
403
+ }
415
404
  export default doctorCommand;
416
405
  //# sourceMappingURL=doctor.js.map