monomind 2.7.2 → 2.7.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 (597) hide show
  1. package/LICENSE +0 -0
  2. package/README.md +0 -0
  3. package/bin/npx-safe-launch.js +0 -0
  4. package/package.json +12 -2
  5. package/packages/@monomind/cli/.claude/agents/architecture/system-design/arch-system-design.md +0 -0
  6. package/packages/@monomind/cli/.claude/agents/consensus/crdt-synchronizer.md +0 -0
  7. package/packages/@monomind/cli/.claude/agents/consensus/quorum-manager.md +0 -0
  8. package/packages/@monomind/cli/.claude/agents/consensus/security-manager.md +0 -0
  9. package/packages/@monomind/cli/.claude/agents/core/coder.md +0 -0
  10. package/packages/@monomind/cli/.claude/agents/core/coordinator.md +0 -0
  11. package/packages/@monomind/cli/.claude/agents/core/planner.md +0 -0
  12. package/packages/@monomind/cli/.claude/agents/core/researcher.md +0 -0
  13. package/packages/@monomind/cli/.claude/agents/core/reviewer.md +0 -0
  14. package/packages/@monomind/cli/.claude/agents/core/tester.md +0 -0
  15. package/packages/@monomind/cli/.claude/agents/design/design-monodesign.md +0 -0
  16. package/packages/@monomind/cli/.claude/agents/engineering/engineering-ai-data-remediation-engineer.md +0 -0
  17. package/packages/@monomind/cli/.claude/agents/engineering/engineering-ai-engineer.md +0 -0
  18. package/packages/@monomind/cli/.claude/agents/engineering/engineering-autonomous-optimization-architect.md +0 -0
  19. package/packages/@monomind/cli/.claude/agents/engineering/engineering-backend-architect.md +0 -0
  20. package/packages/@monomind/cli/.claude/agents/engineering/engineering-code-reviewer.md +0 -0
  21. package/packages/@monomind/cli/.claude/agents/engineering/engineering-data-engineer.md +0 -0
  22. package/packages/@monomind/cli/.claude/agents/engineering/engineering-database-optimizer.md +0 -0
  23. package/packages/@monomind/cli/.claude/agents/engineering/engineering-devops-automator.md +0 -0
  24. package/packages/@monomind/cli/.claude/agents/engineering/engineering-embedded-firmware-engineer.md +0 -0
  25. package/packages/@monomind/cli/.claude/agents/engineering/engineering-feishu-integration-developer.md +0 -0
  26. package/packages/@monomind/cli/.claude/agents/engineering/engineering-frontend-developer.md +0 -0
  27. package/packages/@monomind/cli/.claude/agents/engineering/engineering-git-workflow-master.md +0 -0
  28. package/packages/@monomind/cli/.claude/agents/engineering/engineering-incident-response-commander.md +0 -0
  29. package/packages/@monomind/cli/.claude/agents/engineering/engineering-mobile-app-builder.md +0 -0
  30. package/packages/@monomind/cli/.claude/agents/engineering/engineering-rapid-prototyper.md +0 -0
  31. package/packages/@monomind/cli/.claude/agents/engineering/engineering-security-engineer.md +0 -0
  32. package/packages/@monomind/cli/.claude/agents/engineering/engineering-senior-developer.md +0 -0
  33. package/packages/@monomind/cli/.claude/agents/engineering/engineering-software-architect.md +0 -0
  34. package/packages/@monomind/cli/.claude/agents/engineering/engineering-solidity-smart-contract-engineer.md +0 -0
  35. package/packages/@monomind/cli/.claude/agents/engineering/engineering-sre.md +0 -0
  36. package/packages/@monomind/cli/.claude/agents/engineering/engineering-technical-writer.md +0 -0
  37. package/packages/@monomind/cli/.claude/agents/engineering/engineering-threat-detection-engineer.md +0 -0
  38. package/packages/@monomind/cli/.claude/agents/engineering/engineering-wechat-mini-program-developer.md +0 -0
  39. package/packages/@monomind/cli/.claude/agents/github/code-review-swarm.md +0 -0
  40. package/packages/@monomind/cli/.claude/agents/github/github-modes.md +0 -0
  41. package/packages/@monomind/cli/.claude/agents/github/issue-tracker.md +0 -0
  42. package/packages/@monomind/cli/.claude/agents/github/multi-repo-swarm.md +0 -0
  43. package/packages/@monomind/cli/.claude/agents/github/pr-manager.md +0 -0
  44. package/packages/@monomind/cli/.claude/agents/github/project-board-sync.md +0 -0
  45. package/packages/@monomind/cli/.claude/agents/github/release-manager.md +0 -0
  46. package/packages/@monomind/cli/.claude/agents/github/repo-architect.md +0 -0
  47. package/packages/@monomind/cli/.claude/agents/github/swarm-issue.md +0 -0
  48. package/packages/@monomind/cli/.claude/agents/github/swarm-pr.md +0 -0
  49. package/packages/@monomind/cli/.claude/agents/github/sync-coordinator.md +0 -0
  50. package/packages/@monomind/cli/.claude/agents/github/workflow-automation.md +0 -0
  51. package/packages/@monomind/cli/.claude/agents/goal/goal-planner.md +0 -0
  52. package/packages/@monomind/cli/.claude/agents/hive-mind/collective-intelligence-coordinator.md +0 -0
  53. package/packages/@monomind/cli/.claude/agents/hive-mind/queen-coordinator.md +0 -0
  54. package/packages/@monomind/cli/.claude/agents/hive-mind/scout-explorer.md +0 -0
  55. package/packages/@monomind/cli/.claude/agents/hive-mind/swarm-memory-manager.md +0 -0
  56. package/packages/@monomind/cli/.claude/agents/hive-mind/worker-specialist.md +0 -0
  57. package/packages/@monomind/cli/.claude/agents/marketing/marketing-competitive-content.md +0 -0
  58. package/packages/@monomind/cli/.claude/agents/marketing/marketing-cro-specialist.md +0 -0
  59. package/packages/@monomind/cli/.claude/agents/marketing/marketing-email-specialist.md +0 -0
  60. package/packages/@monomind/cli/.claude/agents/marketing/marketing-launch-strategist.md +0 -0
  61. package/packages/@monomind/cli/.claude/agents/marketing/marketing-pricing-strategist.md +0 -0
  62. package/packages/@monomind/cli/.claude/agents/optimization/benchmark-suite.md +0 -0
  63. package/packages/@monomind/cli/.claude/agents/optimization/load-balancer.md +0 -0
  64. package/packages/@monomind/cli/.claude/agents/optimization/performance-monitor.md +0 -0
  65. package/packages/@monomind/cli/.claude/agents/optimization/resource-allocator.md +0 -0
  66. package/packages/@monomind/cli/.claude/agents/optimization/topology-optimizer.md +0 -0
  67. package/packages/@monomind/cli/.claude/agents/schemas/architecture-output.json +0 -0
  68. package/packages/@monomind/cli/.claude/agents/schemas/code-review-output.json +0 -0
  69. package/packages/@monomind/cli/.claude/agents/schemas/generic-task-input.json +0 -0
  70. package/packages/@monomind/cli/.claude/agents/schemas/implementation-output.json +0 -0
  71. package/packages/@monomind/cli/.claude/agents/schemas/research-output.json +0 -0
  72. package/packages/@monomind/cli/.claude/agents/schemas/security-audit-output.json +0 -0
  73. package/packages/@monomind/cli/.claude/agents/schemas/test-report-output.json +0 -0
  74. package/packages/@monomind/cli/.claude/agents/specialists/integration-architect.md +0 -0
  75. package/packages/@monomind/cli/.claude/agents/specialized/agentic-identity-trust.md +0 -0
  76. package/packages/@monomind/cli/.claude/agents/specialized/agents-orchestrator.md +0 -0
  77. package/packages/@monomind/cli/.claude/agents/specialized/automation-governance-architect.md +0 -0
  78. package/packages/@monomind/cli/.claude/agents/specialized/blockchain-security-auditor.md +0 -0
  79. package/packages/@monomind/cli/.claude/agents/specialized/compliance-auditor.md +0 -0
  80. package/packages/@monomind/cli/.claude/agents/specialized/identity-graph-operator.md +0 -0
  81. package/packages/@monomind/cli/.claude/agents/specialized/lsp-index-engineer.md +0 -0
  82. package/packages/@monomind/cli/.claude/agents/specialized/mobile/spec-mobile-react-native.md +0 -0
  83. package/packages/@monomind/cli/.claude/agents/specialized/specialized-cultural-intelligence-strategist.md +0 -0
  84. package/packages/@monomind/cli/.claude/agents/specialized/specialized-developer-advocate.md +0 -0
  85. package/packages/@monomind/cli/.claude/agents/specialized/specialized-document-generator.md +0 -0
  86. package/packages/@monomind/cli/.claude/agents/specialized/specialized-mcp-builder.md +0 -0
  87. package/packages/@monomind/cli/.claude/agents/specialized/specialized-model-qa.md +0 -0
  88. package/packages/@monomind/cli/.claude/agents/specialized/specialized-workflow-architect.md +0 -0
  89. package/packages/@monomind/cli/.claude/agents/specialized/zk-steward.md +0 -0
  90. package/packages/@monomind/cli/.claude/agents/swarm/mesh-coordinator.md +0 -0
  91. package/packages/@monomind/cli/.claude/agents/templates/automation-smart-agent.md +0 -0
  92. package/packages/@monomind/cli/.claude/agents/templates/coordinator-swarm-init.md +0 -0
  93. package/packages/@monomind/cli/.claude/agents/testing/production-validator.md +0 -0
  94. package/packages/@monomind/cli/.claude/agents/testing/tdd-london-swarm.md +0 -0
  95. package/packages/@monomind/cli/.claude/agents/testing/testing-accessibility-auditor.md +0 -0
  96. package/packages/@monomind/cli/.claude/agents/testing/testing-api-tester.md +0 -0
  97. package/packages/@monomind/cli/.claude/agents/testing/testing-evidence-collector.md +0 -0
  98. package/packages/@monomind/cli/.claude/agents/testing/testing-performance-benchmarker.md +0 -0
  99. package/packages/@monomind/cli/.claude/agents/testing/testing-test-results-analyzer.md +0 -0
  100. package/packages/@monomind/cli/.claude/agents/testing/testing-tool-evaluator.md +0 -0
  101. package/packages/@monomind/cli/.claude/agents/testing/testing-workflow-optimizer.md +0 -0
  102. package/packages/@monomind/cli/.claude/commands/agents/README.md +0 -0
  103. package/packages/@monomind/cli/.claude/commands/agents/agent-capabilities.md +0 -0
  104. package/packages/@monomind/cli/.claude/commands/agents/agent-coordination.md +0 -0
  105. package/packages/@monomind/cli/.claude/commands/agents/agent-spawning.md +0 -0
  106. package/packages/@monomind/cli/.claude/commands/agents/agent-types.md +0 -0
  107. package/packages/@monomind/cli/.claude/commands/analysis/README.md +0 -0
  108. package/packages/@monomind/cli/.claude/commands/analysis/bottleneck-detect.md +0 -0
  109. package/packages/@monomind/cli/.claude/commands/analysis/performance-bottlenecks.md +0 -0
  110. package/packages/@monomind/cli/.claude/commands/analysis/performance-report.md +0 -0
  111. package/packages/@monomind/cli/.claude/commands/analysis/token-usage.md +0 -0
  112. package/packages/@monomind/cli/.claude/commands/automation/README.md +0 -0
  113. package/packages/@monomind/cli/.claude/commands/automation/auto-agent.md +0 -0
  114. package/packages/@monomind/cli/.claude/commands/automation/self-healing.md +0 -0
  115. package/packages/@monomind/cli/.claude/commands/automation/session-memory.md +0 -0
  116. package/packages/@monomind/cli/.claude/commands/automation/smart-agents.md +0 -0
  117. package/packages/@monomind/cli/.claude/commands/automation/smart-spawn.md +0 -0
  118. package/packages/@monomind/cli/.claude/commands/automation/workflow-select.md +0 -0
  119. package/packages/@monomind/cli/.claude/commands/coordination/README.md +0 -0
  120. package/packages/@monomind/cli/.claude/commands/coordination/agent-spawn.md +0 -0
  121. package/packages/@monomind/cli/.claude/commands/coordination/swarm-init.md +0 -0
  122. package/packages/@monomind/cli/.claude/commands/coordination/task-orchestrate.md +0 -0
  123. package/packages/@monomind/cli/.claude/commands/github/README.md +0 -0
  124. package/packages/@monomind/cli/.claude/commands/github/github-modes.md +0 -0
  125. package/packages/@monomind/cli/.claude/commands/github/issue-tracker.md +0 -0
  126. package/packages/@monomind/cli/.claude/commands/github/pr-manager.md +0 -0
  127. package/packages/@monomind/cli/.claude/commands/github/release-manager.md +0 -0
  128. package/packages/@monomind/cli/.claude/commands/github/repo-architect.md +0 -0
  129. package/packages/@monomind/cli/.claude/commands/github/sync-coordinator.md +0 -0
  130. package/packages/@monomind/cli/.claude/commands/hive-mind/README.md +0 -0
  131. package/packages/@monomind/cli/.claude/commands/hive-mind/hive-mind-consensus.md +0 -0
  132. package/packages/@monomind/cli/.claude/commands/hive-mind/hive-mind-init.md +0 -0
  133. package/packages/@monomind/cli/.claude/commands/hive-mind/hive-mind-memory.md +0 -0
  134. package/packages/@monomind/cli/.claude/commands/hive-mind/hive-mind-spawn.md +0 -0
  135. package/packages/@monomind/cli/.claude/commands/hive-mind/hive-mind-status.md +0 -0
  136. package/packages/@monomind/cli/.claude/commands/hive-mind/hive-mind-stop.md +0 -0
  137. package/packages/@monomind/cli/.claude/commands/hive-mind/hive-mind.md +0 -0
  138. package/packages/@monomind/cli/.claude/commands/hooks/README.md +0 -0
  139. package/packages/@monomind/cli/.claude/commands/hooks/overview.md +0 -0
  140. package/packages/@monomind/cli/.claude/commands/hooks/post-edit.md +0 -0
  141. package/packages/@monomind/cli/.claude/commands/hooks/post-task.md +0 -0
  142. package/packages/@monomind/cli/.claude/commands/hooks/pre-edit.md +0 -0
  143. package/packages/@monomind/cli/.claude/commands/hooks/pre-task.md +0 -0
  144. package/packages/@monomind/cli/.claude/commands/hooks/session-end.md +0 -0
  145. package/packages/@monomind/cli/.claude/commands/hooks/setup.md +0 -0
  146. package/packages/@monomind/cli/.claude/commands/mastermind/_repeat.md +0 -0
  147. package/packages/@monomind/cli/.claude/commands/mastermind/_taskfile.md +0 -0
  148. package/packages/@monomind/cli/.claude/commands/mastermind/adr.md +0 -0
  149. package/packages/@monomind/cli/.claude/commands/mastermind/approvev1.md +0 -0
  150. package/packages/@monomind/cli/.claude/commands/mastermind/architect.md +0 -0
  151. package/packages/@monomind/cli/.claude/commands/mastermind/autodev.md +0 -0
  152. package/packages/@monomind/cli/.claude/commands/mastermind/brain.md +0 -0
  153. package/packages/@monomind/cli/.claude/commands/mastermind/budget.md +0 -0
  154. package/packages/@monomind/cli/.claude/commands/mastermind/build.md +0 -0
  155. package/packages/@monomind/cli/.claude/commands/mastermind/code-review.md +0 -0
  156. package/packages/@monomind/cli/.claude/commands/mastermind/content.md +0 -0
  157. package/packages/@monomind/cli/.claude/commands/mastermind/createorg.md +0 -0
  158. package/packages/@monomind/cli/.claude/commands/mastermind/createtask.md +0 -0
  159. package/packages/@monomind/cli/.claude/commands/mastermind/debug.md +0 -0
  160. package/packages/@monomind/cli/.claude/commands/mastermind/design.md +0 -0
  161. package/packages/@monomind/cli/.claude/commands/mastermind/do.md +0 -0
  162. package/packages/@monomind/cli/.claude/commands/mastermind/execute.md +0 -0
  163. package/packages/@monomind/cli/.claude/commands/mastermind/finance.md +0 -0
  164. package/packages/@monomind/cli/.claude/commands/mastermind/finish.md +0 -0
  165. package/packages/@monomind/cli/.claude/commands/mastermind/graph-status.md +0 -0
  166. package/packages/@monomind/cli/.claude/commands/mastermind/help.md +0 -0
  167. package/packages/@monomind/cli/.claude/commands/mastermind/idea.md +0 -0
  168. package/packages/@monomind/cli/.claude/commands/mastermind/ideate.md +0 -0
  169. package/packages/@monomind/cli/.claude/commands/mastermind/improve.md +0 -0
  170. package/packages/@monomind/cli/.claude/commands/mastermind/loops.md +0 -0
  171. package/packages/@monomind/cli/.claude/commands/mastermind/marketing.md +0 -0
  172. package/packages/@monomind/cli/.claude/commands/mastermind/master.md +0 -0
  173. package/packages/@monomind/cli/.claude/commands/mastermind/memory.md +0 -0
  174. package/packages/@monomind/cli/.claude/commands/mastermind/okf-export.md +0 -0
  175. package/packages/@monomind/cli/.claude/commands/mastermind/okf-import.md +0 -0
  176. package/packages/@monomind/cli/.claude/commands/mastermind/ops.md +0 -0
  177. package/packages/@monomind/cli/.claude/commands/mastermind/orgs.md +0 -0
  178. package/packages/@monomind/cli/.claude/commands/mastermind/orgstatus.md +0 -0
  179. package/packages/@monomind/cli/.claude/commands/mastermind/plan.md +0 -0
  180. package/packages/@monomind/cli/.claude/commands/mastermind/receive-review.md +0 -0
  181. package/packages/@monomind/cli/.claude/commands/mastermind/references/antigravity-tools.md +0 -0
  182. package/packages/@monomind/cli/.claude/commands/mastermind/references/claude-code-tools.md +0 -0
  183. package/packages/@monomind/cli/.claude/commands/mastermind/references/codex-tools.md +0 -0
  184. package/packages/@monomind/cli/.claude/commands/mastermind/references/copilot-tools.md +0 -0
  185. package/packages/@monomind/cli/.claude/commands/mastermind/references/gemini-tools.md +0 -0
  186. package/packages/@monomind/cli/.claude/commands/mastermind/references/pi-tools.md +0 -0
  187. package/packages/@monomind/cli/.claude/commands/mastermind/release.md +0 -0
  188. package/packages/@monomind/cli/.claude/commands/mastermind/repeat.md +0 -0
  189. package/packages/@monomind/cli/.claude/commands/mastermind/research.md +0 -0
  190. package/packages/@monomind/cli/.claude/commands/mastermind/review.md +0 -0
  191. package/packages/@monomind/cli/.claude/commands/mastermind/runorg.md +0 -0
  192. package/packages/@monomind/cli/.claude/commands/mastermind/runorgv1.md +0 -0
  193. package/packages/@monomind/cli/.claude/commands/mastermind/sales.md +0 -0
  194. package/packages/@monomind/cli/.claude/commands/mastermind/skill-builder.md +0 -0
  195. package/packages/@monomind/cli/.claude/commands/mastermind/specialagents.md +0 -0
  196. package/packages/@monomind/cli/.claude/commands/mastermind/stoporg.md +0 -0
  197. package/packages/@monomind/cli/.claude/commands/mastermind/swarm.md +0 -0
  198. package/packages/@monomind/cli/.claude/commands/mastermind/taskdev.md +0 -0
  199. package/packages/@monomind/cli/.claude/commands/mastermind/tdd.md +0 -0
  200. package/packages/@monomind/cli/.claude/commands/mastermind/techport.md +0 -0
  201. package/packages/@monomind/cli/.claude/commands/mastermind/topology.md +0 -0
  202. package/packages/@monomind/cli/.claude/commands/mastermind/understand.md +0 -0
  203. package/packages/@monomind/cli/.claude/commands/mastermind/verify.md +0 -0
  204. package/packages/@monomind/cli/.claude/commands/mastermind/worktree.md +0 -0
  205. package/packages/@monomind/cli/.claude/commands/mastermind.md +0 -0
  206. package/packages/@monomind/cli/.claude/commands/memory/README.md +0 -0
  207. package/packages/@monomind/cli/.claude/commands/memory/memory-search.md +0 -0
  208. package/packages/@monomind/cli/.claude/commands/monitoring/README.md +0 -0
  209. package/packages/@monomind/cli/.claude/commands/monitoring/agent-metrics.md +0 -0
  210. package/packages/@monomind/cli/.claude/commands/monitoring/agents.md +0 -0
  211. package/packages/@monomind/cli/.claude/commands/monitoring/status.md +0 -0
  212. package/packages/@monomind/cli/.claude/commands/monobrowse.md +0 -0
  213. package/packages/@monomind/cli/.claude/commands/monoes/README.md +0 -0
  214. package/packages/@monomind/cli/.claude/commands/monoes/install.md +0 -0
  215. package/packages/@monomind/cli/.claude/commands/monoes/monoagent.md +0 -0
  216. package/packages/@monomind/cli/.claude/commands/monoes/monoclip.md +0 -0
  217. package/packages/@monomind/cli/.claude/commands/monoes/monotask.md +0 -0
  218. package/packages/@monomind/cli/.claude/commands/monograph/README.md +0 -0
  219. package/packages/@monomind/cli/.claude/commands/monograph/monograph-build.md +0 -0
  220. package/packages/@monomind/cli/.claude/commands/monograph/monograph-search.md +0 -0
  221. package/packages/@monomind/cli/.claude/commands/monograph/monograph-stats.md +0 -0
  222. package/packages/@monomind/cli/.claude/commands/monograph/monograph-watch.md +0 -0
  223. package/packages/@monomind/cli/.claude/commands/monograph/monograph-wiki.md +0 -0
  224. package/packages/@monomind/cli/.claude/commands/optimization/auto-topology.md +0 -0
  225. package/packages/@monomind/cli/.claude/commands/optimization/performance-optimize.md +0 -0
  226. package/packages/@monomind/cli/.claude/commands/pair/README.md +0 -0
  227. package/packages/@monomind/cli/.claude/commands/pair/examples.md +0 -0
  228. package/packages/@monomind/cli/.claude/commands/pair/modes.md +0 -0
  229. package/packages/@monomind/cli/.claude/commands/pair/session.md +0 -0
  230. package/packages/@monomind/cli/.claude/commands/stream-chain/pipeline.md +0 -0
  231. package/packages/@monomind/cli/.claude/commands/stream-chain/run.md +0 -0
  232. package/packages/@monomind/cli/.claude/commands/swarm/README.md +0 -0
  233. package/packages/@monomind/cli/.claude/commands/swarm/analysis.md +0 -0
  234. package/packages/@monomind/cli/.claude/commands/swarm/development.md +0 -0
  235. package/packages/@monomind/cli/.claude/commands/swarm/examples.md +0 -0
  236. package/packages/@monomind/cli/.claude/commands/swarm/maintenance.md +0 -0
  237. package/packages/@monomind/cli/.claude/commands/swarm/optimization.md +0 -0
  238. package/packages/@monomind/cli/.claude/commands/swarm/research.md +0 -0
  239. package/packages/@monomind/cli/.claude/commands/swarm/swarm.md +0 -0
  240. package/packages/@monomind/cli/.claude/commands/swarm/testing.md +0 -0
  241. package/packages/@monomind/cli/.claude/commands/tokens.md +0 -0
  242. package/packages/@monomind/cli/.claude/commands/truth/start.md +0 -0
  243. package/packages/@monomind/cli/.claude/commands/ts.md +0 -0
  244. package/packages/@monomind/cli/.claude/commands/workflows/README.md +0 -0
  245. package/packages/@monomind/cli/.claude/commands/workflows/development.md +0 -0
  246. package/packages/@monomind/cli/.claude/commands/workflows/research.md +0 -0
  247. package/packages/@monomind/cli/.claude/commands/workflows/workflow-create.md +0 -0
  248. package/packages/@monomind/cli/.claude/commands/workflows/workflow-execute.md +0 -0
  249. package/packages/@monomind/cli/.claude/commands/workflows/workflow-export.md +0 -0
  250. package/packages/@monomind/cli/.claude/helpers/control-start.cjs +0 -0
  251. package/packages/@monomind/cli/.claude/helpers/control-stop.cjs +0 -0
  252. package/packages/@monomind/cli/.claude/helpers/event-logger.cjs +0 -0
  253. package/packages/@monomind/cli/.claude/helpers/extras-registry.json +0 -0
  254. package/packages/@monomind/cli/.claude/helpers/graphify-freshen.cjs +0 -0
  255. package/packages/@monomind/cli/.claude/helpers/handlers/adr-draft-handler.cjs +0 -0
  256. package/packages/@monomind/cli/.claude/helpers/handlers/agent-start-handler.cjs +0 -0
  257. package/packages/@monomind/cli/.claude/helpers/handlers/budget-status-handler.cjs +0 -0
  258. package/packages/@monomind/cli/.claude/helpers/handlers/capture-handler.cjs +0 -0
  259. package/packages/@monomind/cli/.claude/helpers/handlers/compact-handler.cjs +0 -0
  260. package/packages/@monomind/cli/.claude/helpers/handlers/edit-handler.cjs +0 -0
  261. package/packages/@monomind/cli/.claude/helpers/handlers/gates-handler.cjs +0 -0
  262. package/packages/@monomind/cli/.claude/helpers/handlers/graph-status-handler.cjs +0 -0
  263. package/packages/@monomind/cli/.claude/helpers/handlers/loops-status-handler.cjs +0 -0
  264. package/packages/@monomind/cli/.claude/helpers/handlers/route-handler.cjs +0 -0
  265. package/packages/@monomind/cli/.claude/helpers/handlers/session-handler.cjs +0 -0
  266. package/packages/@monomind/cli/.claude/helpers/handlers/session-restore-handler.cjs +0 -0
  267. package/packages/@monomind/cli/.claude/helpers/handlers/stats-handler.cjs +0 -0
  268. package/packages/@monomind/cli/.claude/helpers/handlers/task-handler.cjs +0 -0
  269. package/packages/@monomind/cli/.claude/helpers/intelligence.cjs +0 -0
  270. package/packages/@monomind/cli/.claude/helpers/learning-service.mjs +0 -0
  271. package/packages/@monomind/cli/.claude/helpers/loop-tracker.cjs +0 -0
  272. package/packages/@monomind/cli/.claude/helpers/mastermind-activate.cjs +0 -0
  273. package/packages/@monomind/cli/.claude/helpers/memory-palace.cjs +0 -0
  274. package/packages/@monomind/cli/.claude/helpers/memory.cjs +0 -0
  275. package/packages/@monomind/cli/.claude/helpers/metrics-db.mjs +0 -0
  276. package/packages/@monomind/cli/.claude/helpers/monolean-activate.cjs +0 -0
  277. package/packages/@monomind/cli/.claude/helpers/monolean-config.cjs +0 -0
  278. package/packages/@monomind/cli/.claude/helpers/monolean-instructions.cjs +0 -0
  279. package/packages/@monomind/cli/.claude/helpers/monolean-propagate.cjs +0 -0
  280. package/packages/@monomind/cli/.claude/helpers/monolean-tracker.cjs +0 -0
  281. package/packages/@monomind/cli/.claude/helpers/router.cjs +0 -0
  282. package/packages/@monomind/cli/.claude/helpers/session.cjs +0 -0
  283. package/packages/@monomind/cli/.claude/helpers/skill-registry.json +0 -0
  284. package/packages/@monomind/cli/.claude/helpers/statusline.cjs +0 -0
  285. package/packages/@monomind/cli/.claude/helpers/toggle-statusline.cjs +0 -0
  286. package/packages/@monomind/cli/.claude/helpers/token-tracker.cjs +0 -0
  287. package/packages/@monomind/cli/.claude/helpers/utils/agent-registrations.cjs +0 -0
  288. package/packages/@monomind/cli/.claude/helpers/utils/fs-helpers.cjs +0 -0
  289. package/packages/@monomind/cli/.claude/helpers/utils/micro-agents.cjs +0 -0
  290. package/packages/@monomind/cli/.claude/helpers/utils/monograph.cjs +0 -0
  291. package/packages/@monomind/cli/.claude/helpers/utils/system-pressure.cjs +0 -0
  292. package/packages/@monomind/cli/.claude/helpers/utils/telemetry.cjs +0 -0
  293. package/packages/@monomind/cli/.claude/settings.json +0 -0
  294. package/packages/@monomind/cli/.claude/skills/agent-browser-testing/SKILL.md +0 -0
  295. package/packages/@monomind/cli/.claude/skills/agentic-jujutsu/SKILL.md +0 -0
  296. package/packages/@monomind/cli/.claude/skills/github-issue-triage/SKILL.md +0 -0
  297. package/packages/@monomind/cli/.claude/skills/github-repo-recap/SKILL.md +0 -0
  298. package/packages/@monomind/cli/.claude/skills/hive-mind-advanced/SKILL.md +0 -0
  299. package/packages/@monomind/cli/.claude/skills/hooks-automation/SKILL.md +0 -0
  300. package/packages/@monomind/cli/.claude/skills/mastermind-access/SKILL.md +0 -0
  301. package/packages/@monomind/cli/.claude/skills/mastermind-activity/SKILL.md +0 -0
  302. package/packages/@monomind/cli/.claude/skills/mastermind-adapter-manager/SKILL.md +0 -0
  303. package/packages/@monomind/cli/.claude/skills/mastermind-adapters/SKILL.md +0 -0
  304. package/packages/@monomind/cli/.claude/skills/mastermind-agent-detail/SKILL.md +0 -0
  305. package/packages/@monomind/cli/.claude/skills/mastermind-agent-select/SKILL.md +0 -0
  306. package/packages/@monomind/cli/.claude/skills/mastermind-agents/SKILL.md +0 -0
  307. package/packages/@monomind/cli/.claude/skills/mastermind-approval-detail/SKILL.md +0 -0
  308. package/packages/@monomind/cli/.claude/skills/mastermind-approvev1/SKILL.md +0 -0
  309. package/packages/@monomind/cli/.claude/skills/mastermind-architect/SKILL.md +0 -0
  310. package/packages/@monomind/cli/.claude/skills/mastermind-autodev/SKILL.md +0 -0
  311. package/packages/@monomind/cli/.claude/skills/mastermind-backup/SKILL.md +0 -0
  312. package/packages/@monomind/cli/.claude/skills/mastermind-bootstrap/SKILL.md +0 -0
  313. package/packages/@monomind/cli/.claude/skills/mastermind-budgets/SKILL.md +0 -0
  314. package/packages/@monomind/cli/.claude/skills/mastermind-build/SKILL.md +0 -0
  315. package/packages/@monomind/cli/.claude/skills/mastermind-companies/SKILL.md +0 -0
  316. package/packages/@monomind/cli/.claude/skills/mastermind-content/SKILL.md +0 -0
  317. package/packages/@monomind/cli/.claude/skills/mastermind-costs/SKILL.md +0 -0
  318. package/packages/@monomind/cli/.claude/skills/mastermind-createorg/SKILL.md +0 -0
  319. package/packages/@monomind/cli/.claude/skills/mastermind-debug/SKILL.md +0 -0
  320. package/packages/@monomind/cli/.claude/skills/mastermind-delegation/SKILL.md +0 -0
  321. package/packages/@monomind/cli/.claude/skills/mastermind-design/SKILL.md +0 -0
  322. package/packages/@monomind/cli/.claude/skills/mastermind-diagnose/SKILL.md +0 -0
  323. package/packages/@monomind/cli/.claude/skills/mastermind-env/SKILL.md +0 -0
  324. package/packages/@monomind/cli/.claude/skills/mastermind-environments/SKILL.md +0 -0
  325. package/packages/@monomind/cli/.claude/skills/mastermind-execute/SKILL.md +0 -0
  326. package/packages/@monomind/cli/.claude/skills/mastermind-export/SKILL.md +0 -0
  327. package/packages/@monomind/cli/.claude/skills/mastermind-finance/SKILL.md +0 -0
  328. package/packages/@monomind/cli/.claude/skills/mastermind-finish/SKILL.md +0 -0
  329. package/packages/@monomind/cli/.claude/skills/mastermind-goal-detail/SKILL.md +0 -0
  330. package/packages/@monomind/cli/.claude/skills/mastermind-goals/SKILL.md +0 -0
  331. package/packages/@monomind/cli/.claude/skills/mastermind-heartbeatv1/SKILL.md +0 -0
  332. package/packages/@monomind/cli/.claude/skills/mastermind-idea/SKILL.md +0 -0
  333. package/packages/@monomind/cli/.claude/skills/mastermind-import/SKILL.md +0 -0
  334. package/packages/@monomind/cli/.claude/skills/mastermind-inbox/SKILL.md +0 -0
  335. package/packages/@monomind/cli/.claude/skills/mastermind-instance/SKILL.md +0 -0
  336. package/packages/@monomind/cli/.claude/skills/mastermind-instance-settings/SKILL.md +0 -0
  337. package/packages/@monomind/cli/.claude/skills/mastermind-intake/SKILL.md +0 -0
  338. package/packages/@monomind/cli/.claude/skills/mastermind-invite-landing/SKILL.md +0 -0
  339. package/packages/@monomind/cli/.claude/skills/mastermind-invites/SKILL.md +0 -0
  340. package/packages/@monomind/cli/.claude/skills/mastermind-issue-detail/SKILL.md +0 -0
  341. package/packages/@monomind/cli/.claude/skills/mastermind-issues/SKILL.md +0 -0
  342. package/packages/@monomind/cli/.claude/skills/mastermind-join-queue/SKILL.md +0 -0
  343. package/packages/@monomind/cli/.claude/skills/mastermind-liveness/SKILL.md +0 -0
  344. package/packages/@monomind/cli/.claude/skills/mastermind-marketing/SKILL.md +0 -0
  345. package/packages/@monomind/cli/.claude/skills/mastermind-marketing/references/copywriting-frameworks.md +0 -0
  346. package/packages/@monomind/cli/.claude/skills/mastermind-marketing/references/persuasion-psychology.md +0 -0
  347. package/packages/@monomind/cli/.claude/skills/mastermind-memory/SKILL.md +0 -0
  348. package/packages/@monomind/cli/.claude/skills/mastermind-monitor/SKILL.md +0 -0
  349. package/packages/@monomind/cli/.claude/skills/mastermind-monotask/SKILL.md +0 -0
  350. package/packages/@monomind/cli/.claude/skills/mastermind-my-issues/SKILL.md +0 -0
  351. package/packages/@monomind/cli/.claude/skills/mastermind-new-agent/SKILL.md +0 -0
  352. package/packages/@monomind/cli/.claude/skills/mastermind-ops/SKILL.md +0 -0
  353. package/packages/@monomind/cli/.claude/skills/mastermind-org-chart/SKILL.md +0 -0
  354. package/packages/@monomind/cli/.claude/skills/mastermind-org-settings/SKILL.md +0 -0
  355. package/packages/@monomind/cli/.claude/skills/mastermind-orgs/SKILL.md +0 -0
  356. package/packages/@monomind/cli/.claude/skills/mastermind-orgstatus/SKILL.md +0 -0
  357. package/packages/@monomind/cli/.claude/skills/mastermind-plan/SKILL.md +0 -0
  358. package/packages/@monomind/cli/.claude/skills/mastermind-plan-to-tasks/SKILL.md +0 -0
  359. package/packages/@monomind/cli/.claude/skills/mastermind-plugin-manager/SKILL.md +0 -0
  360. package/packages/@monomind/cli/.claude/skills/mastermind-plugin-settings/SKILL.md +0 -0
  361. package/packages/@monomind/cli/.claude/skills/mastermind-plugins/SKILL.md +0 -0
  362. package/packages/@monomind/cli/.claude/skills/mastermind-profile/SKILL.md +0 -0
  363. package/packages/@monomind/cli/.claude/skills/mastermind-project-detail/SKILL.md +0 -0
  364. package/packages/@monomind/cli/.claude/skills/mastermind-project-workspace/SKILL.md +0 -0
  365. package/packages/@monomind/cli/.claude/skills/mastermind-projects/SKILL.md +0 -0
  366. package/packages/@monomind/cli/.claude/skills/mastermind-protocol/SKILL.md +0 -0
  367. package/packages/@monomind/cli/.claude/skills/mastermind-receive-review/SKILL.md +0 -0
  368. package/packages/@monomind/cli/.claude/skills/mastermind-release/SKILL.md +0 -0
  369. package/packages/@monomind/cli/.claude/skills/mastermind-repeat/SKILL.md +0 -0
  370. package/packages/@monomind/cli/.claude/skills/mastermind-research/SKILL.md +0 -0
  371. package/packages/@monomind/cli/.claude/skills/mastermind-review/SKILL.md +0 -0
  372. package/packages/@monomind/cli/.claude/skills/mastermind-routine-detail/SKILL.md +0 -0
  373. package/packages/@monomind/cli/.claude/skills/mastermind-routines/SKILL.md +0 -0
  374. package/packages/@monomind/cli/.claude/skills/mastermind-runorg/SKILL.md +0 -0
  375. package/packages/@monomind/cli/.claude/skills/mastermind-runorgv1/SKILL.md +0 -0
  376. package/packages/@monomind/cli/.claude/skills/mastermind-sales/SKILL.md +0 -0
  377. package/packages/@monomind/cli/.claude/skills/mastermind-search/SKILL.md +0 -0
  378. package/packages/@monomind/cli/.claude/skills/mastermind-secrets/SKILL.md +0 -0
  379. package/packages/@monomind/cli/.claude/skills/mastermind-skill-builder/SKILL.md +0 -0
  380. package/packages/@monomind/cli/.claude/skills/mastermind-skills/SKILL.md +0 -0
  381. package/packages/@monomind/cli/.claude/skills/mastermind-stoporg/SKILL.md +0 -0
  382. package/packages/@monomind/cli/.claude/skills/mastermind-taskdev/SKILL.md +0 -0
  383. package/packages/@monomind/cli/.claude/skills/mastermind-taskdev/code-quality-reviewer-prompt.md +0 -0
  384. package/packages/@monomind/cli/.claude/skills/mastermind-taskdev/final-reviewer-prompt.md +0 -0
  385. package/packages/@monomind/cli/.claude/skills/mastermind-taskdev/implementer-prompt.md +0 -0
  386. package/packages/@monomind/cli/.claude/skills/mastermind-taskdev/spec-reviewer-prompt.md +0 -0
  387. package/packages/@monomind/cli/.claude/skills/mastermind-tasks/SKILL.md +0 -0
  388. package/packages/@monomind/cli/.claude/skills/mastermind-tdd/SKILL.md +0 -0
  389. package/packages/@monomind/cli/.claude/skills/mastermind-techport/SKILL.md +0 -0
  390. package/packages/@monomind/cli/.claude/skills/mastermind-threads/SKILL.md +0 -0
  391. package/packages/@monomind/cli/.claude/skills/mastermind-tree-control/SKILL.md +0 -0
  392. package/packages/@monomind/cli/.claude/skills/mastermind-verify/SKILL.md +0 -0
  393. package/packages/@monomind/cli/.claude/skills/mastermind-wiki/SKILL.md +0 -0
  394. package/packages/@monomind/cli/.claude/skills/mastermind-workspace-detail/SKILL.md +0 -0
  395. package/packages/@monomind/cli/.claude/skills/mastermind-workspaces/SKILL.md +0 -0
  396. package/packages/@monomind/cli/.claude/skills/mastermind-worktree/SKILL.md +0 -0
  397. package/packages/@monomind/cli/.claude/skills/monolean/SKILL.md +0 -0
  398. package/packages/@monomind/cli/.claude/skills/monolean-audit/SKILL.md +0 -0
  399. package/packages/@monomind/cli/.claude/skills/monolean-debt/SKILL.md +0 -0
  400. package/packages/@monomind/cli/.claude/skills/monolean-help/SKILL.md +0 -0
  401. package/packages/@monomind/cli/.claude/skills/monolean-review/SKILL.md +0 -0
  402. package/packages/@monomind/cli/.claude/skills/monomind/browse-agentcore.md +0 -0
  403. package/packages/@monomind/cli/.claude/skills/monomind/browse-electron.md +0 -0
  404. package/packages/@monomind/cli/.claude/skills/monomind/browse-qa.md +0 -0
  405. package/packages/@monomind/cli/.claude/skills/monomind/browse-references/authentication.md +0 -0
  406. package/packages/@monomind/cli/.claude/skills/monomind/browse-references/trust-boundaries.md +0 -0
  407. package/packages/@monomind/cli/.claude/skills/monomind/browse-references/video-recording.md +0 -0
  408. package/packages/@monomind/cli/.claude/skills/monomind/browse-slack.md +0 -0
  409. package/packages/@monomind/cli/.claude/skills/monomind/browse-vercel.md +0 -0
  410. package/packages/@monomind/cli/.claude/skills/monomind/browse.md +0 -0
  411. package/packages/@monomind/cli/.claude/skills/monomotion/SKILL.md +0 -0
  412. package/packages/@monomind/cli/.claude/skills/monomotion/rules/api-control.md +0 -0
  413. package/packages/@monomind/cli/.claude/skills/monomotion/rules/effects.md +0 -0
  414. package/packages/@monomind/cli/.claude/skills/monomotion/rules/integration.md +0 -0
  415. package/packages/@monomind/cli/.claude/skills/monomotion/rules/scroll.md +0 -0
  416. package/packages/@monomind/cli/.claude/skills/monomotion/rules/sequencing.md +0 -0
  417. package/packages/@monomind/cli/.claude/skills/monomotion/rules/svg.md +0 -0
  418. package/packages/@monomind/cli/.claude/skills/monomotion/rules/text.md +0 -0
  419. package/packages/@monomind/cli/.claude/skills/pair-programming/SKILL.md +0 -0
  420. package/packages/@monomind/cli/.claude/skills/performance-analysis/SKILL.md +0 -0
  421. package/packages/@monomind/cli/.claude/skills/skill-builder/SKILL.md +0 -0
  422. package/packages/@monomind/cli/.claude/skills/specialagent/SKILL.md +0 -0
  423. package/packages/@monomind/cli/.claude/skills/stop-slop/SKILL.md +0 -0
  424. package/packages/@monomind/cli/.claude/skills/stop-slop/references/examples.md +0 -0
  425. package/packages/@monomind/cli/.claude/skills/stop-slop/references/phrases.md +0 -0
  426. package/packages/@monomind/cli/.claude/skills/stop-slop/references/structures.md +0 -0
  427. package/packages/@monomind/cli/.claude/skills/swarm-advanced/SKILL.md +0 -0
  428. package/packages/@monomind/cli/.claude/skills/swarm-orchestration/SKILL.md +0 -0
  429. package/packages/@monomind/cli/.claude/skills/verification-quality/SKILL.md +0 -0
  430. package/packages/@monomind/cli/README.md +0 -0
  431. package/packages/@monomind/cli/bin/preinstall.cjs +0 -0
  432. package/packages/@monomind/cli/dist/src/ui/dashboard.html +666 -177
  433. package/packages/@monomind/cli/dist/src/ui/server.mjs +275 -0
  434. package/packages/@monomind/cli/package.json +2 -2
  435. package/packages/@monomind/cli/scripts/deploy-ipfs-node.sh +0 -0
  436. package/packages/@monomind/cli/scripts/understand-analyze.mjs +0 -0
  437. package/scripts/generate-agent-avatars.mjs +0 -0
  438. package/scripts/growth-content-calendar.mjs +7 -30
  439. package/scripts/ua-enrich.mjs +0 -0
  440. package/scripts/ua-import.mjs +0 -0
  441. package/scripts/verify-appliance.sh +0 -0
  442. package/packages/@monomind/cli/.claude/skills/github-toolkit/SKILL.md +0 -60
  443. package/packages/@monomind/cli/.claude/skills/memory-toolkit/SKILL.md +0 -75
  444. package/packages/@monomind/cli/.claude/skills/monodesign/SKILL.md +0 -257
  445. package/packages/@monomind/cli/.claude/skills/monodesign/adapt.md +0 -53
  446. package/packages/@monomind/cli/.claude/skills/monodesign/agents/monodesign-asset-producer.md +0 -100
  447. package/packages/@monomind/cli/.claude/skills/monodesign/agents/monodesign-manual-edit-applier.md +0 -103
  448. package/packages/@monomind/cli/.claude/skills/monodesign/animate.md +0 -65
  449. package/packages/@monomind/cli/.claude/skills/monodesign/audit.md +0 -89
  450. package/packages/@monomind/cli/.claude/skills/monodesign/bolder.md +0 -50
  451. package/packages/@monomind/cli/.claude/skills/monodesign/clarify.md +0 -64
  452. package/packages/@monomind/cli/.claude/skills/monodesign/colorize.md +0 -68
  453. package/packages/@monomind/cli/.claude/skills/monodesign/craft.md +0 -51
  454. package/packages/@monomind/cli/.claude/skills/monodesign/critique.md +0 -66
  455. package/packages/@monomind/cli/.claude/skills/monodesign/delight.md +0 -47
  456. package/packages/@monomind/cli/.claude/skills/monodesign/distill.md +0 -56
  457. package/packages/@monomind/cli/.claude/skills/monodesign/document.md +0 -83
  458. package/packages/@monomind/cli/.claude/skills/monodesign/extract.md +0 -74
  459. package/packages/@monomind/cli/.claude/skills/monodesign/harden.md +0 -65
  460. package/packages/@monomind/cli/.claude/skills/monodesign/init.md +0 -30
  461. package/packages/@monomind/cli/.claude/skills/monodesign/layout.md +0 -36
  462. package/packages/@monomind/cli/.claude/skills/monodesign/live.md +0 -34
  463. package/packages/@monomind/cli/.claude/skills/monodesign/onboard.md +0 -50
  464. package/packages/@monomind/cli/.claude/skills/monodesign/optimize.md +0 -64
  465. package/packages/@monomind/cli/.claude/skills/monodesign/overdrive.md +0 -56
  466. package/packages/@monomind/cli/.claude/skills/monodesign/polish.md +0 -68
  467. package/packages/@monomind/cli/.claude/skills/monodesign/quieter.md +0 -57
  468. package/packages/@monomind/cli/.claude/skills/monodesign/reference/adapt.md +0 -312
  469. package/packages/@monomind/cli/.claude/skills/monodesign/reference/adapt.native.md +0 -58
  470. package/packages/@monomind/cli/.claude/skills/monodesign/reference/android.md +0 -40
  471. package/packages/@monomind/cli/.claude/skills/monodesign/reference/animate.md +0 -203
  472. package/packages/@monomind/cli/.claude/skills/monodesign/reference/antipatterns-catalog.md +0 -410
  473. package/packages/@monomind/cli/.claude/skills/monodesign/reference/audit.md +0 -135
  474. package/packages/@monomind/cli/.claude/skills/monodesign/reference/audit.native.md +0 -139
  475. package/packages/@monomind/cli/.claude/skills/monodesign/reference/bolder.md +0 -120
  476. package/packages/@monomind/cli/.claude/skills/monodesign/reference/brand-workflow.md +0 -180
  477. package/packages/@monomind/cli/.claude/skills/monodesign/reference/brand.md +0 -108
  478. package/packages/@monomind/cli/.claude/skills/monodesign/reference/clarify.md +0 -288
  479. package/packages/@monomind/cli/.claude/skills/monodesign/reference/codex.md +0 -105
  480. package/packages/@monomind/cli/.claude/skills/monodesign/reference/cognitive-load.md +0 -106
  481. package/packages/@monomind/cli/.claude/skills/monodesign/reference/color-and-contrast.md +0 -105
  482. package/packages/@monomind/cli/.claude/skills/monodesign/reference/colorize.md +0 -257
  483. package/packages/@monomind/cli/.claude/skills/monodesign/reference/component-specs.md +0 -260
  484. package/packages/@monomind/cli/.claude/skills/monodesign/reference/component-states.md +0 -274
  485. package/packages/@monomind/cli/.claude/skills/monodesign/reference/component-system.md +0 -358
  486. package/packages/@monomind/cli/.claude/skills/monodesign/reference/copy-formulas.md +0 -160
  487. package/packages/@monomind/cli/.claude/skills/monodesign/reference/craft.md +0 -123
  488. package/packages/@monomind/cli/.claude/skills/monodesign/reference/critique.md +0 -780
  489. package/packages/@monomind/cli/.claude/skills/monodesign/reference/delight.md +0 -302
  490. package/packages/@monomind/cli/.claude/skills/monodesign/reference/design-principles.md +0 -246
  491. package/packages/@monomind/cli/.claude/skills/monodesign/reference/distill.md +0 -111
  492. package/packages/@monomind/cli/.claude/skills/monodesign/reference/document.md +0 -429
  493. package/packages/@monomind/cli/.claude/skills/monodesign/reference/extract.md +0 -69
  494. package/packages/@monomind/cli/.claude/skills/monodesign/reference/harden.md +0 -347
  495. package/packages/@monomind/cli/.claude/skills/monodesign/reference/heuristics-scoring.md +0 -234
  496. package/packages/@monomind/cli/.claude/skills/monodesign/reference/hooks.md +0 -92
  497. package/packages/@monomind/cli/.claude/skills/monodesign/reference/image-prompts.md +0 -130
  498. package/packages/@monomind/cli/.claude/skills/monodesign/reference/init.md +0 -221
  499. package/packages/@monomind/cli/.claude/skills/monodesign/reference/interaction-design.md +0 -189
  500. package/packages/@monomind/cli/.claude/skills/monodesign/reference/ios.md +0 -45
  501. package/packages/@monomind/cli/.claude/skills/monodesign/reference/layout.md +0 -185
  502. package/packages/@monomind/cli/.claude/skills/monodesign/reference/live.md +0 -710
  503. package/packages/@monomind/cli/.claude/skills/monodesign/reference/motion-design.md +0 -109
  504. package/packages/@monomind/cli/.claude/skills/monodesign/reference/onboard.md +0 -234
  505. package/packages/@monomind/cli/.claude/skills/monodesign/reference/optimize.md +0 -258
  506. package/packages/@monomind/cli/.claude/skills/monodesign/reference/overdrive.md +0 -130
  507. package/packages/@monomind/cli/.claude/skills/monodesign/reference/personas.md +0 -179
  508. package/packages/@monomind/cli/.claude/skills/monodesign/reference/polish.md +0 -241
  509. package/packages/@monomind/cli/.claude/skills/monodesign/reference/pre-delivery-checklist.md +0 -108
  510. package/packages/@monomind/cli/.claude/skills/monodesign/reference/product.md +0 -60
  511. package/packages/@monomind/cli/.claude/skills/monodesign/reference/quieter.md +0 -99
  512. package/packages/@monomind/cli/.claude/skills/monodesign/reference/responsive-design.md +0 -114
  513. package/packages/@monomind/cli/.claude/skills/monodesign/reference/shape.md +0 -165
  514. package/packages/@monomind/cli/.claude/skills/monodesign/reference/spatial-design.md +0 -100
  515. package/packages/@monomind/cli/.claude/skills/monodesign/reference/teach.md +0 -10
  516. package/packages/@monomind/cli/.claude/skills/monodesign/reference/token-architecture.md +0 -222
  517. package/packages/@monomind/cli/.claude/skills/monodesign/reference/typeset.md +0 -301
  518. package/packages/@monomind/cli/.claude/skills/monodesign/reference/typography.md +0 -159
  519. package/packages/@monomind/cli/.claude/skills/monodesign/reference/ux-research.md +0 -143
  520. package/packages/@monomind/cli/.claude/skills/monodesign/reference/ux-rules.md +0 -211
  521. package/packages/@monomind/cli/.claude/skills/monodesign/reference/ux-writing.md +0 -107
  522. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/command-metadata.json +0 -94
  523. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/context-signals.mjs +0 -260
  524. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/context.mjs +0 -1061
  525. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/critique-storage.mjs +0 -416
  526. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detect-csp.mjs +0 -198
  527. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detect.mjs +0 -33
  528. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/browser/injected/index.mjs +0 -1962
  529. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/cli/main.mjs +0 -321
  530. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/design-system.mjs +0 -814
  531. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/detect-antipatterns-browser.js +0 -5601
  532. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/detect-antipatterns.mjs +0 -50
  533. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/engines/browser/detect-url.mjs +0 -259
  534. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/engines/browser/drivers.mjs +0 -258
  535. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/engines/regex/detect-text.mjs +0 -636
  536. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/engines/static-html/css-cascade.mjs +0 -1015
  537. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/engines/static-html/detect-html.mjs +0 -253
  538. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/engines/visual/screenshot-contrast.mjs +0 -198
  539. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/findings.mjs +0 -12
  540. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/fix/css-regions.mjs +0 -181
  541. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/fix/fixers.mjs +0 -373
  542. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/fix/index.mjs +0 -426
  543. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/node/file-system.mjs +0 -198
  544. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/profile/profiler.mjs +0 -166
  545. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/registry/antipatterns.mjs +0 -563
  546. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/rules/checks.mjs +0 -2995
  547. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/shared/color.mjs +0 -124
  548. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/shared/constants.mjs +0 -101
  549. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/shared/fonts.mjs +0 -30
  550. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/shared/inline-ignores.mjs +0 -148
  551. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/shared/page.mjs +0 -7
  552. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/hook-admin.mjs +0 -661
  553. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/hook-before-edit.mjs +0 -516
  554. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/hook-lib.mjs +0 -1776
  555. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/hook.mjs +0 -61
  556. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/lib/design-parser.mjs +0 -842
  557. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/lib/is-generated.mjs +0 -69
  558. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/lib/monodesign-config.mjs +0 -640
  559. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/lib/monodesign-paths.mjs +0 -129
  560. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/lib/provider.mjs +0 -4
  561. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/lib/target-args.mjs +0 -42
  562. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live/browser-script-parts.mjs +0 -50
  563. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live/completion.mjs +0 -19
  564. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live/event-validation.mjs +0 -137
  565. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live/insert-ui.mjs +0 -458
  566. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live/manual-apply.mjs +0 -939
  567. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live/manual-edit-routes.mjs +0 -357
  568. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live/manual-edits-buffer.mjs +0 -152
  569. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live/session-store.mjs +0 -293
  570. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live/svelte-component.mjs +0 -826
  571. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live/sveltekit-adapter.mjs +0 -274
  572. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live/ui-core.mjs +0 -180
  573. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live/vocabulary.mjs +0 -36
  574. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live-accept.mjs +0 -812
  575. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live-browser-dom.js +0 -146
  576. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live-browser-session.js +0 -123
  577. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live-browser.js +0 -11240
  578. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live-commit-manual-edits.mjs +0 -1241
  579. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live-complete.mjs +0 -75
  580. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live-copy-edit-agent.mjs +0 -683
  581. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live-discard-manual-edits.mjs +0 -51
  582. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live-inject.mjs +0 -583
  583. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live-insert.mjs +0 -272
  584. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live-manual-edit-evidence.mjs +0 -363
  585. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live-poll.mjs +0 -384
  586. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live-resume.mjs +0 -94
  587. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live-server.mjs +0 -1137
  588. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live-status.mjs +0 -61
  589. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live-target.mjs +0 -30
  590. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live-wrap.mjs +0 -894
  591. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live.mjs +0 -297
  592. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/modern-screenshot.umd.js +0 -14
  593. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/palette.mjs +0 -633
  594. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/pin.mjs +0 -221
  595. package/packages/@monomind/cli/.claude/skills/monodesign/shape.md +0 -71
  596. package/packages/@monomind/cli/.claude/skills/monodesign/teach.md +0 -18
  597. package/packages/@monomind/cli/.claude/skills/monodesign/typeset.md +0 -59
@@ -1,842 +0,0 @@
1
- // Parse a DESIGN.md (Stitch-spec format) into a structured JSON model that
2
- // the live-mode design-system panel can render. Deterministic, dependency-free.
3
- //
4
- // Two-layer: YAML frontmatter (machine-readable tokens) + markdown body
5
- // (prose with six canonical H2 sections). When frontmatter is present, it's
6
- // exposed on `model.frontmatter` alongside the prose-scraped sections;
7
- // consumers can prefer frontmatter values and fall back to prose.
8
-
9
- const CANONICAL_SECTIONS = [
10
- 'Overview',
11
- 'Colors',
12
- 'Typography',
13
- 'Elevation',
14
- 'Components',
15
- "Do's and Don'ts",
16
- ];
17
-
18
- // ---------- Frontmatter (Stitch YAML subset) ----------
19
-
20
- function parseFrontmatter(md) {
21
- const lines = md.split(/\r?\n/);
22
- if (lines[0]?.trim() !== '---') return { frontmatter: null, body: md };
23
-
24
- let end = -1;
25
- for (let i = 1; i < lines.length; i++) {
26
- if (lines[i].trim() === '---') { end = i; break; }
27
- }
28
- if (end === -1) return { frontmatter: null, body: md };
29
-
30
- const yaml = lines.slice(1, end).join('\n');
31
- const body = lines.slice(end + 1).join('\n');
32
- try {
33
- return { frontmatter: parseYamlSubset(yaml), body };
34
- } catch {
35
- return { frontmatter: null, body: md };
36
- }
37
- }
38
-
39
- // Minimal YAML reader for the Stitch frontmatter subset: scalar maps with
40
- // one level of nested objects (typography roles, components). Indent-based,
41
- // 2-space convention. No arrays, no anchors, no multi-line scalars — Stitch's
42
- // schema doesn't need them and accepting them would require a real YAML
43
- // dependency we don't want to vendor.
44
- function parseYamlSubset(yaml) {
45
- const lines = yaml.split(/\r?\n/);
46
- const root = {};
47
- const stack = [{ indent: -1, obj: root }];
48
-
49
- for (const raw of lines) {
50
- // Skip blanks and line-only comments. Don't strip inline comments:
51
- // unquoted hex values start with `#` and can't be safely distinguished
52
- // from a comment after whitespace.
53
- if (!raw.trim() || /^\s*#/.test(raw)) continue;
54
-
55
- const indent = raw.match(/^\s*/)[0].length;
56
- const content = raw.slice(indent);
57
-
58
- const colonIdx = findTopLevelColon(content);
59
- if (colonIdx === -1) continue;
60
-
61
- while (stack.length > 1 && stack[stack.length - 1].indent >= indent) {
62
- stack.pop();
63
- }
64
-
65
- const key = unquoteYamlKey(content.slice(0, colonIdx).trim());
66
- const rest = stripInlineYamlComment(content.slice(colonIdx + 1).trim());
67
- const parent = stack[stack.length - 1].obj;
68
-
69
- if (rest === '') {
70
- const obj = {};
71
- parent[key] = obj;
72
- stack.push({ indent, obj });
73
- } else {
74
- parent[key] = parseScalar(rest);
75
- }
76
- }
77
-
78
- return root;
79
- }
80
-
81
- function findTopLevelColon(s) {
82
- let inQuote = null;
83
- for (let i = 0; i < s.length; i++) {
84
- const ch = s[i];
85
- if (inQuote) {
86
- if (ch === inQuote && s[i - 1] !== '\\') inQuote = null;
87
- } else if (ch === '"' || ch === "'") {
88
- inQuote = ch;
89
- } else if (ch === ':') {
90
- return i;
91
- }
92
- }
93
- return -1;
94
- }
95
-
96
- function unquoteYamlKey(key) {
97
- if ((key.startsWith('"') && key.endsWith('"')) || (key.startsWith("'") && key.endsWith("'"))) {
98
- return key.slice(1, -1);
99
- }
100
- return key;
101
- }
102
-
103
- function stripInlineYamlComment(s) {
104
- let inQuote = null;
105
- for (let i = 0; i < s.length; i++) {
106
- const ch = s[i];
107
- if (inQuote) {
108
- if (ch === inQuote && s[i - 1] !== '\\') inQuote = null;
109
- } else if (ch === '"' || ch === "'") {
110
- inQuote = ch;
111
- } else if (ch === '#' && i > 0 && /\s/.test(s[i - 1])) {
112
- return s.slice(0, i).trimEnd();
113
- }
114
- }
115
- return s;
116
- }
117
-
118
- function parseScalar(raw) {
119
- const s = raw.trim();
120
- if ((s.startsWith('"') && s.endsWith('"')) || (s.startsWith("'") && s.endsWith("'"))) {
121
- return s.slice(1, -1);
122
- }
123
- if (s === 'true') return true;
124
- if (s === 'false') return false;
125
- if (s === 'null' || s === '~') return null;
126
- if (/^-?\d+$/.test(s)) return Number(s);
127
- if (/^-?\d*\.\d+$/.test(s)) return Number(s);
128
- return s;
129
- }
130
-
131
- const HEX_RE = /#[0-9a-fA-F]{3,8}\b/g;
132
- const OKLCH_RE = /oklch\([^)]+\)/gi;
133
- const RGBA_RE = /rgba?\([^)]+\)/gi;
134
- const BOX_SHADOW_RE = /(?:box-shadow:\s*)?((?:-?\d[\w\d\s\-.,/()#%]*)+)/;
135
- const NAMED_RULE_RE = /\*\*(The [^*]+?Rule)\.\*\*\s*(.+)/;
136
-
137
- // ---------- Section splitting ----------
138
-
139
- function splitSections(md) {
140
- const lines = md.split(/\r?\n/);
141
- let title = null;
142
- const sections = {};
143
- let current = null;
144
-
145
- for (const raw of lines) {
146
- const line = raw.trimEnd();
147
-
148
- if (!title && line.startsWith('# ') && !line.startsWith('## ')) {
149
- title = line.replace(/^#\s+/, '').trim();
150
- continue;
151
- }
152
-
153
- const h2 = line.match(/^##\s+(?:\d+\.\s*)?([^:\n]+?)(?::\s*(.+))?$/);
154
- if (h2) {
155
- const rawName = normalizeApostrophes(h2[1].trim());
156
- const subtitle = h2[2] ? h2[2].trim() : null;
157
- const canonical = matchCanonicalSection(rawName);
158
- if (canonical) {
159
- current = { name: canonical, subtitle, lines: [] };
160
- sections[canonical] = current;
161
- continue;
162
- }
163
- // non-canonical H2 — ignore but stop feeding into current
164
- current = null;
165
- continue;
166
- }
167
-
168
- if (current) current.lines.push(raw);
169
- }
170
-
171
- return { title, sections };
172
- }
173
-
174
- function normalizeApostrophes(s) {
175
- return s.replace(/[\u2018\u2019]/g, "'");
176
- }
177
-
178
- function matchCanonicalSection(name) {
179
- const normalized = normalizeApostrophes(name).toLowerCase();
180
- // Exact match first
181
- for (const c of CANONICAL_SECTIONS) {
182
- if (normalizeApostrophes(c).toLowerCase() === normalized) return c;
183
- }
184
- // Keyword-contained match: "Overview & Creative North Star" -> "Overview",
185
- // "Elevation & Depth" -> "Elevation", etc.
186
- for (const c of CANONICAL_SECTIONS) {
187
- const key = normalizeApostrophes(c).toLowerCase();
188
- const pattern = new RegExp(`\\b${key.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')}\\b`);
189
- if (pattern.test(normalized)) return c;
190
- }
191
- return null;
192
- }
193
-
194
- // ---------- Subsection splitting (inside a canonical section) ----------
195
-
196
- function splitSubsections(lines) {
197
- const subs = [];
198
- let current = { name: null, lines: [] };
199
- subs.push(current);
200
-
201
- for (const raw of lines) {
202
- const h3 = raw.match(/^###\s+(.+?)\s*$/);
203
- if (h3) {
204
- current = { name: h3[1].trim(), lines: [] };
205
- subs.push(current);
206
- continue;
207
- }
208
- current.lines.push(raw);
209
- }
210
-
211
- return subs;
212
- }
213
-
214
- // ---------- Generic helpers ----------
215
-
216
- function collectParagraphs(lines) {
217
- const paragraphs = [];
218
- let buf = [];
219
- const flush = () => {
220
- if (buf.length) {
221
- paragraphs.push(buf.join(' ').trim());
222
- buf = [];
223
- }
224
- };
225
- for (const raw of lines) {
226
- const trimmed = raw.trim();
227
- if (trimmed === '') { flush(); continue; }
228
- // Horizontal rules (---, ***) and headings/bullets end a paragraph.
229
- if (/^(?:-{3,}|\*{3,}|_{3,})$/.test(trimmed)) { flush(); continue; }
230
- if (raw.startsWith('#') || raw.match(/^[-*]\s/)) { flush(); continue; }
231
- buf.push(trimmed);
232
- }
233
- flush();
234
- return paragraphs.filter(Boolean);
235
- }
236
-
237
- function collectBullets(lines) {
238
- const bullets = [];
239
- let current = null;
240
- for (const raw of lines) {
241
- const m = raw.match(/^\s*[-*]\s+(.+)$/);
242
- if (m) {
243
- if (current) bullets.push(current);
244
- current = m[1];
245
- continue;
246
- }
247
- // continuation of a bullet (indented line)
248
- if (current && raw.match(/^\s{2,}\S/)) {
249
- current += ' ' + raw.trim();
250
- continue;
251
- }
252
- // blank line ends a bullet
253
- if (raw.trim() === '' && current) {
254
- bullets.push(current);
255
- current = null;
256
- }
257
- }
258
- if (current) bullets.push(current);
259
- return bullets;
260
- }
261
-
262
- function stripBold(s) {
263
- return s.replace(/\*\*(.+?)\*\*/g, '$1');
264
- }
265
-
266
- function extractNamedRules(lines) {
267
- const rules = [];
268
- const seen = new Set();
269
-
270
- // Style A (Monodesign): "**The X Rule.** body body body" — can span lines.
271
- const joined = lines.join('\n');
272
- const inlineStart = /\*\*(The [^*]+?Rule)\.\*\*/g;
273
- const inlineMatches = [];
274
- let m;
275
- while ((m = inlineStart.exec(joined)) !== null) {
276
- inlineMatches.push({ name: m[1], start: m.index, end: inlineStart.lastIndex });
277
- }
278
- for (let i = 0; i < inlineMatches.length; i++) {
279
- const mm = inlineMatches[i];
280
- const bodyEnd = i + 1 < inlineMatches.length ? inlineMatches[i + 1].start : joined.length;
281
- const body = joined
282
- .slice(mm.end, bodyEnd)
283
- .replace(/\n##[^\n]*$/s, '')
284
- .replace(/\n###[^\n]*$/s, '')
285
- .trim();
286
- const name = stripBold(mm.name).trim();
287
- seen.add(name.toLowerCase());
288
- rules.push({ name, body: stripBold(body) });
289
- }
290
-
291
- // Style B (Stitch): `### The "X" Rule` or `### The X Fallback`, body is the
292
- // bullets/paragraphs until the next heading. Accept Rule / Fallback / Principle.
293
- for (let i = 0; i < lines.length; i++) {
294
- const h3 = lines[i].match(/^###\s+(.+?)\s*$/);
295
- if (!h3) continue;
296
- const headerName = stripBold(h3[1]).replace(/["“”]/g, '').trim();
297
- if (!/^The\b.*\b(Rule|Fallback|Principle)\b/i.test(headerName)) continue;
298
- if (seen.has(headerName.toLowerCase())) continue;
299
-
300
- const bodyLines = [];
301
- for (let j = i + 1; j < lines.length; j++) {
302
- if (/^##\s|^###\s/.test(lines[j])) break;
303
- bodyLines.push(lines[j]);
304
- }
305
- const body = stripBold(bodyLines.join('\n').replace(/\n+/g, ' ')).trim();
306
- if (body) {
307
- seen.add(headerName.toLowerCase());
308
- rules.push({ name: headerName, body });
309
- }
310
- }
311
-
312
- // Style C (Stitch bullet form): "* **The Layering Principle:** body"
313
- // Colon/period lives inside the bold, so match "**...**" then inspect.
314
- for (const b of collectBullets(lines)) {
315
- const mm = b.match(/^\*\*([^*]+?)\*\*\s*(.+)$/);
316
- if (!mm) continue;
317
- const nameRaw = mm[1].replace(/[.:]\s*$/, '').replace(/["“”]/g, '').trim();
318
- if (!/^The\b.+\b(Rule|Fallback|Principle)$/i.test(nameRaw)) continue;
319
- if (seen.has(nameRaw.toLowerCase())) continue;
320
- seen.add(nameRaw.toLowerCase());
321
- rules.push({ name: nameRaw, body: stripBold(mm[2]).trim() });
322
- }
323
-
324
- return rules;
325
- }
326
-
327
- // ---------- Per-section extractors ----------
328
-
329
- function extractOverview(section) {
330
- if (!section) return null;
331
- const text = section.lines.join('\n');
332
- const northStar = text.match(/\*\*Creative North Star:\s*"([^"]+)"\*\*/);
333
- const keyChars = [];
334
- const keyCharMatch = text.match(/\*\*Key Characteristics:\*\*\s*\n([\s\S]+?)(?:\n##|\n###|$)/);
335
- if (keyCharMatch) {
336
- for (const line of keyCharMatch[1].split('\n')) {
337
- const m = line.match(/^\s*[-*]\s+(.+)$/);
338
- if (m) keyChars.push(stripBold(m[1].trim()));
339
- }
340
- }
341
-
342
- // Philosophy paragraphs: everything that isn't a rule header or key-char block
343
- const paragraphs = collectParagraphs(section.lines).filter(
344
- (p) =>
345
- !p.startsWith('**Creative North Star') &&
346
- !p.startsWith('**Key Characteristics')
347
- );
348
-
349
- return {
350
- subtitle: section.subtitle,
351
- creativeNorthStar: northStar ? northStar[1] : null,
352
- philosophy: paragraphs,
353
- keyCharacteristics: keyChars,
354
- };
355
- }
356
-
357
- function extractColors(section) {
358
- if (!section) return null;
359
- const subs = splitSubsections(section.lines);
360
-
361
- const description = collectParagraphs(subs[0].lines).join(' ');
362
- const groups = [];
363
- const ROLE_KEYWORDS = /^(primary|secondary|tertiary|neutral|accent)\b/i;
364
-
365
- for (const sub of subs.slice(1)) {
366
- if (!sub.name || /Named Rules?/i.test(sub.name) || /^The\s/i.test(sub.name)) continue;
367
-
368
- const bullets = collectBullets(sub.lines);
369
- const parsed = bullets.map((b) => parseColorBullet(b)).filter(Boolean);
370
- if (parsed.length === 0) continue;
371
-
372
- // If every bullet starts with a role keyword (Primary/Secondary/...), promote
373
- // each bullet to its own group. Otherwise keep the subsection as the group.
374
- const allRoleBullets =
375
- parsed.length > 0 && parsed.every((p) => p.name && ROLE_KEYWORDS.test(p.name));
376
-
377
- if (allRoleBullets) {
378
- for (const p of parsed) {
379
- groups.push({ role: p.name, colors: [p] });
380
- }
381
- } else {
382
- groups.push({ role: sub.name, colors: parsed });
383
- }
384
- }
385
-
386
- // If the Colors section has no subsections at all (unlikely), fall back to
387
- // scanning the whole section as a flat bullet list.
388
- if (groups.length === 0) {
389
- const flat = collectBullets(section.lines)
390
- .map((b) => parseColorBullet(b))
391
- .filter(Boolean);
392
- if (flat.length) {
393
- for (const p of flat) {
394
- if (p.name && ROLE_KEYWORDS.test(p.name)) {
395
- groups.push({ role: p.name, colors: [p] });
396
- } else {
397
- const fallback = groups.find((g) => g.role === 'Palette');
398
- if (fallback) fallback.colors.push(p);
399
- else groups.push({ role: 'Palette', colors: [p] });
400
- }
401
- }
402
- }
403
- }
404
-
405
- return {
406
- subtitle: section.subtitle,
407
- description: description || null,
408
- groups,
409
- rules: extractNamedRules(section.lines),
410
- };
411
- }
412
-
413
- function parseColorBullet(bullet) {
414
- const text = bullet.trim();
415
-
416
- // Case 1 (Monodesign): **Name** (value-with-maybe-nested-parens): description
417
- const bold = text.match(/^\*\*(.+?)\*\*\s*(.*)$/);
418
- if (bold && bold[2].startsWith('(')) {
419
- const value = extractParenGroup(bold[2]);
420
- if (value !== null) {
421
- const after = bold[2].slice(value.length + 2).trimStart();
422
- if (after.startsWith(':')) {
423
- return buildColor(bold[1], value, after.slice(1).trim());
424
- }
425
- }
426
- }
427
-
428
- // Case 2 (Stitch): **Name (values):** description — value embedded in bold.
429
- const stitch = text.match(/^\*\*([^*]+?)\s*\(([^)]+)\):\*\*\s*(.*)$/);
430
- if (stitch) {
431
- return buildColor(stitch[1].trim(), stitch[2], stitch[3]);
432
- }
433
-
434
- // Case 3: bullet without bold, just hex/oklch inside.
435
- const values = collectColorValues(text);
436
- if (values.length) {
437
- return buildColor(null, values.join(' to '), text);
438
- }
439
- return null;
440
- }
441
-
442
- function extractParenGroup(s) {
443
- if (s[0] !== '(') return null;
444
- let depth = 0;
445
- for (let i = 0; i < s.length; i++) {
446
- if (s[i] === '(') depth++;
447
- else if (s[i] === ')') {
448
- depth--;
449
- if (depth === 0) return s.slice(1, i);
450
- }
451
- }
452
- return null;
453
- }
454
-
455
- function buildColor(name, rawValue, description) {
456
- const values = collectColorValues(rawValue);
457
- const primary = values[0] ?? rawValue.trim();
458
- return {
459
- name: name ? stripBold(name).trim() : null,
460
- value: primary,
461
- valueRange: values.length > 1 ? values : null,
462
- format: detectFormat(primary),
463
- description: stripBold(description || '').trim() || null,
464
- };
465
- }
466
-
467
- function collectColorValues(s) {
468
- const out = [];
469
- s.replace(HEX_RE, (v) => {
470
- out.push(v);
471
- return v;
472
- });
473
- s.replace(OKLCH_RE, (v) => {
474
- out.push(v);
475
- return v;
476
- });
477
- return out;
478
- }
479
-
480
- function detectFormat(v) {
481
- if (!v) return 'unknown';
482
- if (v.startsWith('#')) return 'hex';
483
- if (/^oklch/i.test(v)) return 'oklch';
484
- if (/^rgb/i.test(v)) return 'rgb';
485
- return 'unknown';
486
- }
487
-
488
- function scanInlineColors(lines) {
489
- const out = [];
490
- for (const line of lines) {
491
- if (!/^\s*[-*]\s/.test(line)) continue;
492
- const trimmed = line.replace(/^\s*[-*]\s+/, '');
493
- const color = parseColorBullet(trimmed);
494
- if (color) out.push(color);
495
- }
496
- return out;
497
- }
498
-
499
- function parseStitchInlineGroups(lines) {
500
- // Stitch writes: `* **Primary (`#00478d` to `#005eb8`):** Use for "..."`
501
- // Each bullet IS its own role. Group them under the spoken role name.
502
- const out = [];
503
- for (const line of lines) {
504
- if (!/^\s*[-*]\s/.test(line)) continue;
505
- const trimmed = line.replace(/^\s*[-*]\s+/, '').trim();
506
- const m = trimmed.match(
507
- /^\*\*([A-Z][a-zA-Z]+)\s*\(([^)]+)\):\*\*\s*(.*)$/
508
- );
509
- if (m) {
510
- const role = m[1];
511
- const color = buildColor(role, m[2], m[3]);
512
- out.push({ role, colors: [color] });
513
- }
514
- }
515
- return out;
516
- }
517
-
518
- function extractTypography(section) {
519
- if (!section) return null;
520
- const text = section.lines.join('\n');
521
-
522
- const fonts = {};
523
- // Pattern A: **Display Font:** Family (with fallback)
524
- const fontLineRe = /\*\*([\w\s/]+?)Font:\*\*\s*([^\n(]+?)(?:\s*\(with\s+([^)]+)\))?\s*$/gm;
525
- let fm;
526
- while ((fm = fontLineRe.exec(text)) !== null) {
527
- const rawRole = fm[1].trim().toLowerCase().replace(/\s+/g, '-');
528
- const role = normalizeFontRole(rawRole) || 'display';
529
- fonts[role] = {
530
- family: fm[2].trim(),
531
- fallback: fm[3] ? fm[3].trim() : null,
532
- };
533
- }
534
-
535
- // Pattern B (Stitch): * **Display & Headlines (Noto Serif):** description
536
- if (Object.keys(fonts).length === 0) {
537
- const stitchRe = /\*\*([\w\s&/]+?)\s*\(([^)]+)\):\*\*\s*(.+)/g;
538
- let sm;
539
- while ((sm = stitchRe.exec(text)) !== null) {
540
- const rawRole = sm[1]
541
- .trim()
542
- .toLowerCase()
543
- .replace(/\s*&\s*/g, '-')
544
- .replace(/\s+/g, '-');
545
- const role = normalizeFontRole(rawRole) || rawRole;
546
- fonts[role] = { family: sm[2].trim(), fallback: null, purpose: sm[3].trim() };
547
- }
548
- }
549
-
550
- // Character paragraph — either a **Character:** label, or fall back to the
551
- // first free paragraph under the section header (Stitch style).
552
- const characterMatch = text.match(/\*\*Character:\*\*\s*([^\n]+(?:\n[^\n]+)*?)(?=\n\n|\n###|\n##|$)/);
553
- let character = characterMatch ? characterMatch[1].replace(/\n/g, ' ').trim() : null;
554
- if (!character) {
555
- const paragraphs = collectParagraphs(section.lines).filter(
556
- (p) => !/^\*\*[\w\s/&]+Font/i.test(p) && !/^\*\*[\w\s/&]+\([^)]+\)/.test(p)
557
- );
558
- if (paragraphs.length) character = paragraphs[0];
559
- }
560
-
561
- // Hierarchy bullets under ### Hierarchy
562
- const subs = splitSubsections(section.lines);
563
- let hierarchy = [];
564
- const hierSub = subs.find((s) => s.name && /hierarch/i.test(s.name));
565
- if (hierSub) {
566
- const bullets = collectBullets(hierSub.lines);
567
- hierarchy = bullets.map(parseTypeBullet).filter(Boolean);
568
- }
569
-
570
- return {
571
- subtitle: section.subtitle,
572
- fonts,
573
- character,
574
- hierarchy,
575
- rules: extractNamedRules(section.lines),
576
- };
577
- }
578
-
579
- function normalizeFontRole(raw) {
580
- // Canonical roles the panel cares about: display, body, label, mono.
581
- // Stitch often writes compound roles like "display-&-headlines" or "ui-&-body"
582
- // — collapse them to the first canonical role present.
583
- const tokens = raw.split(/[-/&\s]+/).filter(Boolean);
584
- const priority = ['display', 'headline', 'body', 'ui', 'label', 'mono'];
585
- const canonical = { headline: 'display', ui: 'body' };
586
- for (const p of priority) {
587
- if (tokens.includes(p)) return canonical[p] || p;
588
- }
589
- return null;
590
- }
591
-
592
- function parseTypeBullet(bullet) {
593
- // - **Display** (family, weight 300, italic, clamp(...), line-height 1): purpose
594
- const m = bullet.match(/^\*\*(.+?)\*\*\s*\(([^)]+)\):\s*(.*)$/);
595
- if (!m) return null;
596
- const name = m[1].trim();
597
- const specs = m[2].split(',').map((s) => s.trim());
598
- return {
599
- name,
600
- specs,
601
- purpose: stripBold(m[3] || '').trim() || null,
602
- };
603
- }
604
-
605
- function extractElevation(section) {
606
- if (!section) return null;
607
- const subs = splitSubsections(section.lines);
608
-
609
- const description = collectParagraphs(subs[0].lines).join(' ') || null;
610
-
611
- const shadows = [];
612
- const seen = new Set();
613
- const dedupe = (entry) => {
614
- const key = (entry.name || '') + '::' + entry.value;
615
- if (seen.has(key)) return;
616
- seen.add(key);
617
- shadows.push(entry);
618
- };
619
-
620
- for (const b of collectBullets(section.lines)) {
621
- const parsed = parseShadowBullet(b);
622
- if (parsed) dedupe(parsed);
623
- }
624
-
625
- // Fallback: extract shadows written inline in prose. Stitch style is
626
- // "...use an extra-diffused shadow: `box-shadow: 0 12px 40px rgba(...)`."
627
- for (const p of collectParagraphs(section.lines)) {
628
- for (const inline of extractInlineShadows(p)) dedupe(inline);
629
- }
630
- for (const b of collectBullets(section.lines)) {
631
- for (const inline of extractInlineShadows(b)) dedupe(inline);
632
- }
633
-
634
- return {
635
- subtitle: section.subtitle,
636
- description,
637
- shadows,
638
- rules: extractNamedRules(section.lines),
639
- };
640
- }
641
-
642
- function extractInlineShadows(text) {
643
- // Find `box-shadow: ...` anywhere in prose and capture the value. Work on the
644
- // raw string so it handles both backtick-fenced and unfenced variants.
645
- const out = [];
646
- const re = /box-shadow\s*:\s*([^`;\n]+)/gi;
647
- let m;
648
- while ((m = re.exec(text)) !== null) {
649
- const value = m[1].replace(/[`.)]+$/, '').trim();
650
- if (!value) continue;
651
- // Name heuristic: the noun immediately before the shadow phrase.
652
- // e.g. "an extra-diffused shadow: ..." -> "extra-diffused shadow"
653
- const before = text.slice(0, m.index);
654
- const nameMatch = before.match(/\b([A-Za-z][A-Za-z\- ]{2,40})\s+shadow\b[^A-Za-z0-9]*$/i);
655
- let name = null;
656
- if (nameMatch) {
657
- const stripped = nameMatch[1]
658
- .replace(/^(?:use|using|apply|applying|is|are|looks? like)\s+/i, '')
659
- .replace(/^(?:a|an|the)\s+/i, '')
660
- .trim();
661
- if (stripped) {
662
- name =
663
- stripped.charAt(0).toUpperCase() + stripped.slice(1) + ' shadow';
664
- }
665
- }
666
- out.push({
667
- name,
668
- value,
669
- purpose: null,
670
- });
671
- }
672
- return out;
673
- }
674
-
675
- function parseShadowBullet(bullet) {
676
- // - **Name** (`box-shadow: value`): purpose
677
- // - **Name** (`value`): purpose
678
- // Only accept if the paren content looks like a shadow value (contains px,
679
- // rem, rgba, or box-shadow). This filters out `**Rule Name:**` bullets.
680
- const m = bullet.match(/^\*\*(.+?)\*\*\s*\(`?([^`]+?)`?\):\s*(.*)$/);
681
- if (!m) return null;
682
- const rawValue = m[2].replace(/^box-shadow:\s*/i, '').trim();
683
- const looksLikeShadow =
684
- /box-shadow|rgba?\(|\bpx\b|\brem\b|^-?\d+\s/i.test(rawValue) &&
685
- /\d/.test(rawValue);
686
- if (!looksLikeShadow) return null;
687
- const name = stripBold(m[1]).trim();
688
- return {
689
- name,
690
- value: rawValue,
691
- purpose: stripBold(m[3] || '').trim() || null,
692
- };
693
- }
694
-
695
- function extractComponents(section) {
696
- if (!section) return null;
697
- const subs = splitSubsections(section.lines);
698
- const components = [];
699
-
700
- for (const sub of subs.slice(1)) {
701
- if (!sub.name) continue;
702
-
703
- const bullets = collectBullets(sub.lines);
704
- const paragraphs = collectParagraphs(sub.lines);
705
-
706
- const variants = [];
707
- const properties = {};
708
-
709
- for (const b of bullets) {
710
- // - **Key:** value
711
- const m = b.match(/^\*\*(.+?):?\*\*:?\s*(.+)$/);
712
- if (m) {
713
- const key = stripBold(m[1]).trim();
714
- const value = stripBold(m[2]).trim();
715
- // Heuristic: "Primary", "Secondary", "Hover", "Focus" etc are variants;
716
- // "Shape", "Background", "Padding" are properties.
717
- if (/^(primary|secondary|tertiary|ghost|hover|focus|active|disabled|default|error|selected|unselected|state)$/i.test(key.split(/[\s/]/)[0])) {
718
- variants.push({ name: key, description: value });
719
- } else {
720
- properties[key.toLowerCase()] = value;
721
- }
722
- }
723
- }
724
-
725
- components.push({
726
- name: sub.name,
727
- description: paragraphs.join(' ') || null,
728
- properties,
729
- variants,
730
- });
731
- }
732
-
733
- return {
734
- subtitle: section.subtitle,
735
- components,
736
- };
737
- }
738
-
739
- function extractDosDonts(section) {
740
- if (!section) return null;
741
- const subs = splitSubsections(section.lines);
742
- const dos = [];
743
- const donts = [];
744
-
745
- for (const sub of subs.slice(1)) {
746
- if (!sub.name) continue;
747
- const subName = normalizeApostrophes(sub.name);
748
- const bullets = collectBullets(sub.lines).map((b) => stripBold(b).trim());
749
- if (/^do'?t?:?$/i.test(subName) || /^do:?$/i.test(subName)) {
750
- dos.push(...bullets);
751
- } else if (/^don'?t:?$/i.test(subName)) {
752
- donts.push(...bullets);
753
- }
754
- }
755
-
756
- // Classify by bullet prefix as a backup (catches loose bullets outside H3 wrappers)
757
- for (const b of collectBullets(section.lines)) {
758
- const stripped = normalizeApostrophes(stripBold(b).trim());
759
- if (/^don'?t\b/i.test(stripped)) {
760
- if (!donts.some((d) => normalizeApostrophes(d) === stripped)) donts.push(stripped);
761
- } else if (/^do\b/i.test(stripped)) {
762
- if (!dos.some((d) => normalizeApostrophes(d) === stripped)) dos.push(stripped);
763
- }
764
- }
765
-
766
- return { dos, donts };
767
- }
768
-
769
- // ---------- Coverage assessment ----------
770
-
771
- function assessCoverage(model) {
772
- const report = {};
773
-
774
- report.overview = model.overview
775
- ? {
776
- northStar: Boolean(model.overview.creativeNorthStar),
777
- philosophy: model.overview.philosophy.length > 0,
778
- keyCharacteristics: model.overview.keyCharacteristics.length,
779
- }
780
- : 'missing';
781
-
782
- report.colors = model.colors
783
- ? {
784
- groups: model.colors.groups.length,
785
- totalColors: model.colors.groups.reduce((n, g) => n + g.colors.length, 0),
786
- rules: model.colors.rules.length,
787
- }
788
- : 'missing';
789
-
790
- report.typography = model.typography
791
- ? {
792
- fonts: Object.keys(model.typography.fonts).length,
793
- hierarchyEntries: model.typography.hierarchy.length,
794
- character: Boolean(model.typography.character),
795
- rules: model.typography.rules.length,
796
- }
797
- : 'missing';
798
-
799
- report.elevation = model.elevation
800
- ? {
801
- shadows: model.elevation.shadows.length,
802
- rules: model.elevation.rules.length,
803
- description: Boolean(model.elevation.description),
804
- }
805
- : 'missing';
806
-
807
- report.components = model.components
808
- ? {
809
- count: model.components.components.length,
810
- variantTotal: model.components.components.reduce((n, c) => n + c.variants.length, 0),
811
- }
812
- : 'missing';
813
-
814
- report.dosDonts = model.dosDonts
815
- ? {
816
- dos: model.dosDonts.dos.length,
817
- donts: model.dosDonts.donts.length,
818
- }
819
- : 'missing';
820
-
821
- return report;
822
- }
823
-
824
- // ---------- Main ----------
825
-
826
- export function parseDesignMd(md) {
827
- const { frontmatter, body } = parseFrontmatter(md);
828
- const { title, sections } = splitSections(body);
829
- return {
830
- schemaVersion: 2,
831
- title,
832
- frontmatter,
833
- overview: extractOverview(sections['Overview']),
834
- colors: extractColors(sections['Colors']),
835
- typography: extractTypography(sections['Typography']),
836
- elevation: extractElevation(sections['Elevation']),
837
- components: extractComponents(sections['Components']),
838
- dosDonts: extractDosDonts(sections["Do's and Don'ts"]),
839
- };
840
- }
841
-
842
- export { assessCoverage };