crewswarm 0.8.1-beta

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 (362) hide show
  1. package/.env.example +155 -0
  2. package/LICENSE +21 -0
  3. package/README.md +316 -0
  4. package/apps/dashboard/dist/assets/chat-core-BwSoInmZ.js +1 -0
  5. package/apps/dashboard/dist/assets/chat-core-BwSoInmZ.js.br +0 -0
  6. package/apps/dashboard/dist/assets/cli-process-COMRNPqr.js +1 -0
  7. package/apps/dashboard/dist/assets/cli-process-COMRNPqr.js.br +0 -0
  8. package/apps/dashboard/dist/assets/components-CSUb80ze.js +1 -0
  9. package/apps/dashboard/dist/assets/components-CSUb80ze.js.br +0 -0
  10. package/apps/dashboard/dist/assets/core-utils-CAVnDoe1.js +1 -0
  11. package/apps/dashboard/dist/assets/core-utils-CAVnDoe1.js.br +0 -0
  12. package/apps/dashboard/dist/assets/index-CF0aJRtC.css +1 -0
  13. package/apps/dashboard/dist/assets/index-CF0aJRtC.css.br +0 -0
  14. package/apps/dashboard/dist/assets/index-Px49zu76.js +2 -0
  15. package/apps/dashboard/dist/assets/index-Px49zu76.js.br +0 -0
  16. package/apps/dashboard/dist/assets/orchestration-Ca2DLWN-.js +1 -0
  17. package/apps/dashboard/dist/assets/orchestration-Ca2DLWN-.js.br +0 -0
  18. package/apps/dashboard/dist/assets/setup-wizard-i3eEixlo.js +1 -0
  19. package/apps/dashboard/dist/assets/setup-wizard-i3eEixlo.js.br +0 -0
  20. package/apps/dashboard/dist/assets/tab-agents-tab-BThdsdJY.js +1 -0
  21. package/apps/dashboard/dist/assets/tab-agents-tab-BThdsdJY.js.br +0 -0
  22. package/apps/dashboard/dist/assets/tab-benchmarks-tab-DfCuAClu.js +1 -0
  23. package/apps/dashboard/dist/assets/tab-comms-tab-eHpOSBhG.js +1 -0
  24. package/apps/dashboard/dist/assets/tab-comms-tab-eHpOSBhG.js.br +0 -0
  25. package/apps/dashboard/dist/assets/tab-contacts-tab-yEegNyO4.js +1 -0
  26. package/apps/dashboard/dist/assets/tab-contacts-tab-yEegNyO4.js.br +0 -0
  27. package/apps/dashboard/dist/assets/tab-engines-tab-C3DYxTwy.js +1 -0
  28. package/apps/dashboard/dist/assets/tab-engines-tab-C3DYxTwy.js.br +0 -0
  29. package/apps/dashboard/dist/assets/tab-memory-tab-C59BYFQD.js +1 -0
  30. package/apps/dashboard/dist/assets/tab-memory-tab-C59BYFQD.js.br +0 -0
  31. package/apps/dashboard/dist/assets/tab-models-tab-9Ur7pXWA.js +1 -0
  32. package/apps/dashboard/dist/assets/tab-models-tab-9Ur7pXWA.js.br +0 -0
  33. package/apps/dashboard/dist/assets/tab-pm-loop-tab-D7mnDelU.js +1 -0
  34. package/apps/dashboard/dist/assets/tab-pm-loop-tab-D7mnDelU.js.br +0 -0
  35. package/apps/dashboard/dist/assets/tab-projects-tab-C6h2Mv1K.js +1 -0
  36. package/apps/dashboard/dist/assets/tab-projects-tab-C6h2Mv1K.js.br +0 -0
  37. package/apps/dashboard/dist/assets/tab-prompts-tab-C0wZvWK3.js +1 -0
  38. package/apps/dashboard/dist/assets/tab-prompts-tab-C0wZvWK3.js.br +0 -0
  39. package/apps/dashboard/dist/assets/tab-services-tab-DBj_w3bc.js +1 -0
  40. package/apps/dashboard/dist/assets/tab-services-tab-DBj_w3bc.js.br +0 -0
  41. package/apps/dashboard/dist/assets/tab-settings-tab-ezeqAjZk.js +1 -0
  42. package/apps/dashboard/dist/assets/tab-settings-tab-ezeqAjZk.js.br +0 -0
  43. package/apps/dashboard/dist/assets/tab-skills-tab-BYdU2whk.js +1 -0
  44. package/apps/dashboard/dist/assets/tab-skills-tab-BYdU2whk.js.br +0 -0
  45. package/apps/dashboard/dist/assets/tab-spending-tab-Bg6w9t_p.js +1 -0
  46. package/apps/dashboard/dist/assets/tab-spending-tab-Bg6w9t_p.js.br +0 -0
  47. package/apps/dashboard/dist/assets/tab-swarm-chat-tab-BBV9HB2X.js +1 -0
  48. package/apps/dashboard/dist/assets/tab-swarm-chat-tab-BBV9HB2X.js.br +0 -0
  49. package/apps/dashboard/dist/assets/tab-swarm-tab-ChqLlEVs.js +1 -0
  50. package/apps/dashboard/dist/assets/tab-swarm-tab-ChqLlEVs.js.br +0 -0
  51. package/apps/dashboard/dist/assets/tab-usage-tab-B2UWXenJ.js +1 -0
  52. package/apps/dashboard/dist/assets/tab-usage-tab-B2UWXenJ.js.br +0 -0
  53. package/apps/dashboard/dist/assets/tab-waves-tab-SaJDkb4x.js +1 -0
  54. package/apps/dashboard/dist/assets/tab-waves-tab-SaJDkb4x.js.br +0 -0
  55. package/apps/dashboard/dist/assets/tab-workflows-tab-6QSXLJ0i.js +1 -0
  56. package/apps/dashboard/dist/assets/tab-workflows-tab-6QSXLJ0i.js.br +0 -0
  57. package/apps/dashboard/dist/favicon.png +0 -0
  58. package/apps/dashboard/dist/index.html +6466 -0
  59. package/apps/dashboard/dist/index.html.br +0 -0
  60. package/apps/dashboard/dist/index.html.gz +0 -0
  61. package/apps/dashboard/dist/signup.html +446 -0
  62. package/apps/dashboard/index.html +6442 -0
  63. package/apps/dashboard/package.json +15 -0
  64. package/apps/dashboard/src/app.js +2823 -0
  65. package/apps/dashboard/src/app.js.br +0 -0
  66. package/apps/dashboard/src/app.js.gz +0 -0
  67. package/apps/dashboard/src/chat/chat-actions.js +1847 -0
  68. package/apps/dashboard/src/chat/chat-actions.js.br +0 -0
  69. package/apps/dashboard/src/chat/unified-messages.js +327 -0
  70. package/apps/dashboard/src/chat/unified-messages.js.br +0 -0
  71. package/apps/dashboard/src/cli-process.js +208 -0
  72. package/apps/dashboard/src/cli-process.js.br +0 -0
  73. package/apps/dashboard/src/cli-process.js.gz +0 -0
  74. package/apps/dashboard/src/components/active-tasks-panel.js +175 -0
  75. package/apps/dashboard/src/components/active-tasks-panel.js.br +0 -0
  76. package/apps/dashboard/src/core/api.js +18 -0
  77. package/apps/dashboard/src/core/api.js.br +0 -0
  78. package/apps/dashboard/src/core/dom.js +220 -0
  79. package/apps/dashboard/src/core/dom.js.br +0 -0
  80. package/apps/dashboard/src/core/state.js +91 -0
  81. package/apps/dashboard/src/core/state.js.br +0 -0
  82. package/apps/dashboard/src/core/task-manager.js +134 -0
  83. package/apps/dashboard/src/core/task-manager.js.br +0 -0
  84. package/apps/dashboard/src/orchestration-status.js +127 -0
  85. package/apps/dashboard/src/orchestration-status.js.br +0 -0
  86. package/apps/dashboard/src/setup-wizard.js +555 -0
  87. package/apps/dashboard/src/setup-wizard.js.br +0 -0
  88. package/apps/dashboard/src/styles.css +2085 -0
  89. package/apps/dashboard/src/styles.css.br +0 -0
  90. package/apps/dashboard/src/styles.css.gz +0 -0
  91. package/apps/dashboard/src/tabs/agents-tab.js +2237 -0
  92. package/apps/dashboard/src/tabs/agents-tab.js.br +0 -0
  93. package/apps/dashboard/src/tabs/benchmarks-tab.js +229 -0
  94. package/apps/dashboard/src/tabs/benchmarks-tab.js.br +0 -0
  95. package/apps/dashboard/src/tabs/comms-tab.js +955 -0
  96. package/apps/dashboard/src/tabs/comms-tab.js.br +0 -0
  97. package/apps/dashboard/src/tabs/contacts-tab.js +654 -0
  98. package/apps/dashboard/src/tabs/contacts-tab.js.br +0 -0
  99. package/apps/dashboard/src/tabs/engines-tab.js +175 -0
  100. package/apps/dashboard/src/tabs/engines-tab.js.br +0 -0
  101. package/apps/dashboard/src/tabs/memory-tab.js +182 -0
  102. package/apps/dashboard/src/tabs/memory-tab.js.br +0 -0
  103. package/apps/dashboard/src/tabs/models-tab.js +441 -0
  104. package/apps/dashboard/src/tabs/models-tab.js.br +0 -0
  105. package/apps/dashboard/src/tabs/pm-loop-tab.js +185 -0
  106. package/apps/dashboard/src/tabs/pm-loop-tab.js.br +0 -0
  107. package/apps/dashboard/src/tabs/projects-tab.js +663 -0
  108. package/apps/dashboard/src/tabs/projects-tab.js.br +0 -0
  109. package/apps/dashboard/src/tabs/projects-tab.js.gz +0 -0
  110. package/apps/dashboard/src/tabs/prompts-tab.js +160 -0
  111. package/apps/dashboard/src/tabs/prompts-tab.js.br +0 -0
  112. package/apps/dashboard/src/tabs/services-tab.js +202 -0
  113. package/apps/dashboard/src/tabs/services-tab.js.br +0 -0
  114. package/apps/dashboard/src/tabs/settings-tab.js +803 -0
  115. package/apps/dashboard/src/tabs/settings-tab.js.br +0 -0
  116. package/apps/dashboard/src/tabs/skills-tab.js +284 -0
  117. package/apps/dashboard/src/tabs/skills-tab.js.br +0 -0
  118. package/apps/dashboard/src/tabs/spending-tab.js +173 -0
  119. package/apps/dashboard/src/tabs/spending-tab.js.br +0 -0
  120. package/apps/dashboard/src/tabs/swarm-chat-tab.js +660 -0
  121. package/apps/dashboard/src/tabs/swarm-chat-tab.js.br +0 -0
  122. package/apps/dashboard/src/tabs/swarm-tab.js +538 -0
  123. package/apps/dashboard/src/tabs/swarm-tab.js.br +0 -0
  124. package/apps/dashboard/src/tabs/usage-tab.js +390 -0
  125. package/apps/dashboard/src/tabs/usage-tab.js.br +0 -0
  126. package/apps/dashboard/src/tabs/waves-tab.js +238 -0
  127. package/apps/dashboard/src/tabs/waves-tab.js.br +0 -0
  128. package/apps/dashboard/src/tabs/workflows-tab.js +747 -0
  129. package/apps/dashboard/src/tabs/workflows-tab.js.br +0 -0
  130. package/apps/vibe/.crew/agent-memory/pipeline.json +249 -0
  131. package/apps/vibe/.crew/cost.json +17 -0
  132. package/apps/vibe/.crew/json-parse-metrics.jsonl +22 -0
  133. package/apps/vibe/.crew/pipeline-metrics.jsonl +22 -0
  134. package/apps/vibe/.crew/pipeline-runs/pipeline-0f90c392-2425-4ae5-850c-bd9d17b1d690.jsonl +5 -0
  135. package/apps/vibe/.crew/pipeline-runs/pipeline-1c269dd9-a63f-4fba-af81-5cf08048ef06.jsonl +5 -0
  136. package/apps/vibe/.crew/pipeline-runs/pipeline-288a7765-da24-4a22-89bc-1f3cc9b0562c.jsonl +1 -0
  137. package/apps/vibe/.crew/pipeline-runs/pipeline-2c78fd22-a657-4bd1-bc49-0679fb384409.jsonl +5 -0
  138. package/apps/vibe/.crew/pipeline-runs/pipeline-3e6fe08d-3264-404a-8df3-aab7efef10e7.jsonl +5 -0
  139. package/apps/vibe/.crew/pipeline-runs/pipeline-42eec610-57fe-4e09-9e7e-b315038495c2.jsonl +5 -0
  140. package/apps/vibe/.crew/pipeline-runs/pipeline-4438eb4c-ae13-42b1-90e2-b043d8983be8.jsonl +5 -0
  141. package/apps/vibe/.crew/pipeline-runs/pipeline-4740a9f5-86e7-44b6-a394-de433e291727.jsonl +5 -0
  142. package/apps/vibe/.crew/pipeline-runs/pipeline-49e1da6a-957e-48fd-9220-415019e4f8e2.jsonl +5 -0
  143. package/apps/vibe/.crew/pipeline-runs/pipeline-4c9251db-be68-427b-a3fc-a264f2b5778d.jsonl +5 -0
  144. package/apps/vibe/.crew/pipeline-runs/pipeline-65e29a57-664d-4196-8109-017e364f182e.jsonl +5 -0
  145. package/apps/vibe/.crew/pipeline-runs/pipeline-6aa04bc5-9593-4b1f-b58d-3bf2978cb602.jsonl +5 -0
  146. package/apps/vibe/.crew/pipeline-runs/pipeline-6e1cba53-9b70-457e-99e0-59199149dd21.jsonl +5 -0
  147. package/apps/vibe/.crew/pipeline-runs/pipeline-749f41cc-4dac-4204-be64-873a6080a0d2.jsonl +5 -0
  148. package/apps/vibe/.crew/pipeline-runs/pipeline-74d68121-e181-4864-bd9a-c3211341dfaf.jsonl +5 -0
  149. package/apps/vibe/.crew/pipeline-runs/pipeline-8509bc24-142d-4e07-b44a-a50bf99d1103.jsonl +5 -0
  150. package/apps/vibe/.crew/pipeline-runs/pipeline-960339c6-07ca-43ce-9900-f6e1702b39b9.jsonl +5 -0
  151. package/apps/vibe/.crew/pipeline-runs/pipeline-9c6480a9-7031-4146-b241-825b9a2d1de1.jsonl +5 -0
  152. package/apps/vibe/.crew/pipeline-runs/pipeline-9fd42426-8492-4157-9d5f-e1537c060489.jsonl +2 -0
  153. package/apps/vibe/.crew/pipeline-runs/pipeline-ad6d40a3-2f5e-46a9-a345-47caaccc51aa.jsonl +5 -0
  154. package/apps/vibe/.crew/pipeline-runs/pipeline-bc606133-8d5b-4535-8d85-f1a29cdaa981.jsonl +5 -0
  155. package/apps/vibe/.crew/pipeline-runs/pipeline-c1a13ccd-634a-4d01-a4a7-1177b8a752ff.jsonl +5 -0
  156. package/apps/vibe/.crew/pipeline-runs/pipeline-c7d27b42-249e-4bd4-8f26-6aa998110b8a.jsonl +5 -0
  157. package/apps/vibe/.crew/pipeline-runs/pipeline-cca2e9b9-4a34-4d25-a311-5c793fa7e91e.jsonl +5 -0
  158. package/apps/vibe/.crew/sandbox.json +7 -0
  159. package/apps/vibe/.crew/session.json +285 -0
  160. package/apps/vibe/.crew/training-data.jsonl +0 -0
  161. package/apps/vibe/.github/workflows/studio-quality.yml +37 -0
  162. package/apps/vibe/.studio-data/project-messages/chuck-norris.jsonl +12 -0
  163. package/apps/vibe/.studio-data/project-messages/general.jsonl +54 -0
  164. package/apps/vibe/.studio-data/project-messages/studio-local.jsonl +10 -0
  165. package/apps/vibe/ARCHITECTURE.md +3393 -0
  166. package/apps/vibe/QUICK-REFERENCE.md +211 -0
  167. package/apps/vibe/README.md +76 -0
  168. package/apps/vibe/ROADMAP.md +41 -0
  169. package/apps/vibe/STUDIO-SETUP-COMPLETE.md +35 -0
  170. package/apps/vibe/VISUAL-GUIDE.md +378 -0
  171. package/apps/vibe/capture-demo.mjs +160 -0
  172. package/apps/vibe/capture-vibe-assets.mjs +71 -0
  173. package/apps/vibe/capture-vibe-video.mjs +260 -0
  174. package/apps/vibe/check-buttons.js +41 -0
  175. package/apps/vibe/diagnose.html +106 -0
  176. package/apps/vibe/fix-buttons.js +103 -0
  177. package/apps/vibe/index.html +3401 -0
  178. package/apps/vibe/package-lock.json +920 -0
  179. package/apps/vibe/package.json +31 -0
  180. package/apps/vibe/public/favicon.png +0 -0
  181. package/apps/vibe/scripts/studio-pty-host.py +117 -0
  182. package/apps/vibe/server.mjs +1835 -0
  183. package/apps/vibe/src/main.js +2846 -0
  184. package/apps/vibe/src/register-all-languages.js +98 -0
  185. package/apps/vibe/start-studio.sh +11 -0
  186. package/apps/vibe/test/accessibility-tests.js +77 -0
  187. package/apps/vibe/test/browser-performance-audit.mjs +205 -0
  188. package/apps/vibe/test/performance-tests.js +120 -0
  189. package/apps/vibe/test/security-tests.js +213 -0
  190. package/apps/vibe/tests/e2e.local.mjs +54 -0
  191. package/apps/vibe/tests/server.smoke.mjs +106 -0
  192. package/apps/vibe/update_website.mjs +74 -0
  193. package/apps/vibe/vite.config.js +19 -0
  194. package/apps/vibe/watch-server.mjs +108 -0
  195. package/contrib/openclaw-plugin/README.md +199 -0
  196. package/contrib/openclaw-plugin/index.ts +306 -0
  197. package/contrib/openclaw-plugin/openclaw.plugin.json +41 -0
  198. package/contrib/openclaw-plugin/package.json +27 -0
  199. package/contrib/openclaw-plugin/skills/crewswarm/SKILL.md +88 -0
  200. package/crew-lead.mjs +649 -0
  201. package/engines/claude-code.json +36 -0
  202. package/engines/codex.json +37 -0
  203. package/engines/crew-cli.json +42 -0
  204. package/engines/cursor.json +40 -0
  205. package/engines/docker-sandbox.json +38 -0
  206. package/engines/gemini-cli.json +75 -0
  207. package/engines/opencode.json +31 -0
  208. package/gateway-bridge.mjs +1575 -0
  209. package/install.sh +738 -0
  210. package/lib/agent-registry.mjs +232 -0
  211. package/lib/agents/daemon.mjs +121 -0
  212. package/lib/agents/dispatch.mjs +225 -0
  213. package/lib/agents/permissions.mjs +90 -0
  214. package/lib/agents/platform-formatting.mjs +102 -0
  215. package/lib/agents/registry.mjs +81 -0
  216. package/lib/agents/tool-instructions.mjs +257 -0
  217. package/lib/agents/validation.mjs +75 -0
  218. package/lib/approval/policy-manager.mjs +221 -0
  219. package/lib/autoharness/index.mjs +391 -0
  220. package/lib/bridges/cli-executor.mjs +332 -0
  221. package/lib/bridges/gateway-ws.mjs +345 -0
  222. package/lib/bridges/integration.mjs +229 -0
  223. package/lib/bridges/rag-helper.mjs +90 -0
  224. package/lib/browser/opencode-passthrough-filter.js +44 -0
  225. package/lib/browser/passthrough-stderr.js +109 -0
  226. package/lib/chat/autonomous-mentions.mjs +373 -0
  227. package/lib/chat/history.mjs +82 -0
  228. package/lib/chat/mention-routing-intent.mjs +136 -0
  229. package/lib/chat/participants.mjs +95 -0
  230. package/lib/chat/project-messages-rag.mjs +265 -0
  231. package/lib/chat/project-messages.mjs +479 -0
  232. package/lib/chat/shared-chat-prompt-overlay.mjs +52 -0
  233. package/lib/chat/thread-binding.mjs +34 -0
  234. package/lib/chat/unified-history.mjs +223 -0
  235. package/lib/chat/unified-wrapper.mjs +41 -0
  236. package/lib/cli-process-tracker.mjs +228 -0
  237. package/lib/collections/index.mjs +433 -0
  238. package/lib/contacts/identity-linker.mjs +248 -0
  239. package/lib/contacts/index.mjs +341 -0
  240. package/lib/crew-judge/PROMPT.md +93 -0
  241. package/lib/crew-judge/judge.mjs +260 -0
  242. package/lib/crew-lead/agent-manager.mjs +125 -0
  243. package/lib/crew-lead/background.mjs +270 -0
  244. package/lib/crew-lead/brain.mjs +110 -0
  245. package/lib/crew-lead/chat-handler.mjs +2603 -0
  246. package/lib/crew-lead/chat-handler.mjs.bak +1274 -0
  247. package/lib/crew-lead/classifier.mjs +83 -0
  248. package/lib/crew-lead/http-server.mjs +4824 -0
  249. package/lib/crew-lead/intent.mjs +102 -0
  250. package/lib/crew-lead/interval-manager.mjs +41 -0
  251. package/lib/crew-lead/llm-caller.mjs +544 -0
  252. package/lib/crew-lead/prompts.mjs +392 -0
  253. package/lib/crew-lead/retry-manager.mjs +118 -0
  254. package/lib/crew-lead/tools.mjs +318 -0
  255. package/lib/crew-lead/wave-dispatcher.mjs +798 -0
  256. package/lib/crew-lead/waves-config.json +73 -0
  257. package/lib/crew-lead/waves-loader.mjs +110 -0
  258. package/lib/crew-lead/ws-router.mjs +428 -0
  259. package/lib/dispatch/parsers.mjs +299 -0
  260. package/lib/domain-planning/detector.mjs +196 -0
  261. package/lib/domain-planning/prompts/crew-pm-cli.md +96 -0
  262. package/lib/domain-planning/prompts/crew-pm-core.md +122 -0
  263. package/lib/domain-planning/prompts/crew-pm-frontend.md +111 -0
  264. package/lib/engines/crew-cli-sandbox.mjs +422 -0
  265. package/lib/engines/crew-cli.mjs +155 -0
  266. package/lib/engines/cursor-launcher.mjs +110 -0
  267. package/lib/engines/engine-registry.mjs +253 -0
  268. package/lib/engines/llm-direct.mjs +184 -0
  269. package/lib/engines/opencode.mjs +256 -0
  270. package/lib/engines/ouroboros.mjs +114 -0
  271. package/lib/engines/rt-envelope.mjs +1643 -0
  272. package/lib/engines/rt-envelope.mjs.backup-current +870 -0
  273. package/lib/engines/runners.mjs +1367 -0
  274. package/lib/gemini-cli-passthrough-noise.mjs +37 -0
  275. package/lib/integrations/code-search.mjs +259 -0
  276. package/lib/integrations/greptile.mjs +148 -0
  277. package/lib/integrations/multimodal.mjs +313 -0
  278. package/lib/integrations/telegram-streaming.mjs +153 -0
  279. package/lib/integrations/tts.mjs +312 -0
  280. package/lib/integrations/twitter-links.mjs +294 -0
  281. package/lib/memory/shared-adapter.mjs +296 -0
  282. package/lib/pipeline/manager.mjs +539 -0
  283. package/lib/preferences/extractor.mjs +347 -0
  284. package/lib/project-dir.mjs +20 -0
  285. package/lib/runtime/config.mjs +388 -0
  286. package/lib/runtime/dlq.mjs +170 -0
  287. package/lib/runtime/log-rotation.mjs +82 -0
  288. package/lib/runtime/logger.mjs +58 -0
  289. package/lib/runtime/memory.mjs +421 -0
  290. package/lib/runtime/paths.mjs +76 -0
  291. package/lib/runtime/project-dir.mjs +127 -0
  292. package/lib/runtime/spending.mjs +204 -0
  293. package/lib/runtime/startup-guard.mjs +291 -0
  294. package/lib/runtime/task-lease.mjs +234 -0
  295. package/lib/runtime/telemetry-schema.mjs +208 -0
  296. package/lib/runtime/telemetry.mjs +101 -0
  297. package/lib/runtime/utils.mjs +64 -0
  298. package/lib/skills/index.mjs +265 -0
  299. package/lib/tools/browser.mjs +135 -0
  300. package/lib/tools/executor.mjs +913 -0
  301. package/lib/types.d.ts +57 -0
  302. package/package.json +106 -0
  303. package/pm-loop.mjs +1626 -0
  304. package/prompts/coder-back.md +27 -0
  305. package/prompts/coder-front.md +27 -0
  306. package/prompts/coder.md +28 -0
  307. package/prompts/copywriter.md +17 -0
  308. package/prompts/fixer.md +39 -0
  309. package/prompts/frontend.md +23 -0
  310. package/prompts/github.md +24 -0
  311. package/prompts/main.md +39 -0
  312. package/prompts/pm-cli.md +95 -0
  313. package/prompts/pm-core.md +121 -0
  314. package/prompts/pm-frontend.md +110 -0
  315. package/prompts/pm.md +234 -0
  316. package/prompts/qa.md +44 -0
  317. package/prompts/security.md +19 -0
  318. package/scripts/build-crew-chat.sh +28 -0
  319. package/scripts/build-llms-full.mjs +52 -0
  320. package/scripts/chatmock-login.sh +16 -0
  321. package/scripts/chatmock-serve.sh +16 -0
  322. package/scripts/check-dashboard.mjs +88 -0
  323. package/scripts/crew-scribe.mjs +326 -0
  324. package/scripts/dashboard-helpers.mjs +391 -0
  325. package/scripts/dashboard-validation.mjs +198 -0
  326. package/scripts/dashboard.mjs +9717 -0
  327. package/scripts/dlq-replay.mjs +61 -0
  328. package/scripts/doctor.mjs +196 -0
  329. package/scripts/file-lock.mjs +186 -0
  330. package/scripts/fresh-machine-smoke.sh +323 -0
  331. package/scripts/generate-changelog.mjs +227 -0
  332. package/scripts/generate-openapi.mjs +334 -0
  333. package/scripts/health-check.mjs +229 -0
  334. package/scripts/install-docker.sh +213 -0
  335. package/scripts/mcp-server.mjs +1625 -0
  336. package/scripts/opencrew-rt-daemon.mjs +568 -0
  337. package/scripts/openswitchctl +646 -0
  338. package/scripts/refactor-configs.mjs +39 -0
  339. package/scripts/release-check.sh +46 -0
  340. package/scripts/resolve-node-bin.sh +25 -0
  341. package/scripts/restart-all-from-repo.sh +329 -0
  342. package/scripts/restart-crew-lead.sh +98 -0
  343. package/scripts/restart-dashboard.sh +104 -0
  344. package/scripts/restart-service.sh +274 -0
  345. package/scripts/run-accessibility-audit.mjs +356 -0
  346. package/scripts/run-integration-bounded.mjs +188 -0
  347. package/scripts/run-scheduled-pipeline.mjs +230 -0
  348. package/scripts/run.mjs +41 -0
  349. package/scripts/scan-skills.mjs +79 -0
  350. package/scripts/setup-firewall.sh +128 -0
  351. package/scripts/smoke-dispatch.mjs +149 -0
  352. package/scripts/smoke.sh +163 -0
  353. package/scripts/start-crew.mjs +328 -0
  354. package/scripts/start.mjs +146 -0
  355. package/scripts/swiftbar-restart-service.sh +19 -0
  356. package/scripts/sync-agents.mjs +152 -0
  357. package/scripts/sync-prompts.mjs +79 -0
  358. package/scripts/validate-config.mjs +337 -0
  359. package/scripts/wow.mjs +89 -0
  360. package/telegram-bridge.mjs +2421 -0
  361. package/unified-orchestrator.mjs +519 -0
  362. package/whatsapp-bridge.mjs +1481 -0
@@ -0,0 +1,27 @@
1
+ You are crew-coder-back, backend specialist for crewswarm. You handle Node.js, APIs, databases, and server logic.
2
+
3
+ ## Your job
4
+ Build backend code. Use @@READ_FILE first, then @@WRITE_FILE to apply edits.
5
+
6
+ ## Shared chat protocol
7
+ - In shared chat surfaces, plain `@mentions` are a live routing mechanism.
8
+ - Read the channel/thread context first and post progress/results back into the same thread.
9
+ - Use `@crew-*` or CLI peers (`@codex`, `@cursor`, `@claude`, `@opencode`, `@gemini`, `@crew-cli`) for in-channel handoffs.
10
+ - Every handoff must include what you did, exact files/artifacts, the next task, and success criteria.
11
+ - Use `@@DISPATCH` only for explicit control-plane routing when the user specifically asks for dispatch or when you are not operating inside a shared chat thread.
12
+
13
+ ## Rules
14
+ - ALWAYS @@READ_FILE the target file before editing it
15
+ - Use @@WRITE_FILE to write files — never just show code blocks
16
+ - Make surgical edits — only change what the task asks
17
+ - Report exactly what you changed with before/after snippets
18
+
19
+ ## Verification — required before reporting success
20
+ Before you finish, you MUST verify your own output:
21
+ 1. @@READ_FILE each file you wrote — confirm it has real content, not empty or truncated
22
+ 2. Check for syntax errors: unclosed functions, missing require/import, malformed JSON
23
+ 3. If the task asked for a route or endpoint — confirm it exists in the written file
24
+ 4. If environment variables are referenced, confirm they are documented in your reply
25
+
26
+ Only after passing these checks, report: what you wrote, the **full absolute path** of each file (e.g. /Users/.../project/tests/file.js), and approximate line count. The tool result will show the path; repeat it in your reply so the user knows exactly where to find output.
27
+ If verification fails, fix the issue before reporting done.
@@ -0,0 +1,27 @@
1
+ You are crew-coder-front, frontend specialist for crewswarm. You handle HTML, CSS, JS, and UI work.
2
+
3
+ ## Your job
4
+ Build frontend files. Use @@READ_FILE first, then @@WRITE_FILE to apply edits.
5
+
6
+ ## Shared chat protocol
7
+ - In shared chat surfaces, plain `@mentions` are a live routing mechanism.
8
+ - Read the channel/thread context first and post progress/results back into the same thread.
9
+ - Use `@crew-*` or CLI peers (`@codex`, `@cursor`, `@claude`, `@opencode`, `@gemini`, `@crew-cli`) for in-channel handoffs.
10
+ - Every handoff must include what you did, exact files/artifacts, the next task, and success criteria.
11
+ - Use `@@DISPATCH` only for explicit control-plane routing when the user specifically asks for dispatch or when you are not operating inside a shared chat thread.
12
+
13
+ ## Rules
14
+ - ALWAYS @@READ_FILE the target file before editing it
15
+ - Use @@WRITE_FILE to write files — never just show code blocks
16
+ - Produce complete, self-contained HTML/CSS/JS — no broken references
17
+ - Report exactly what you changed with before/after snippets
18
+
19
+ ## Verification — required before reporting success
20
+ Before you finish, you MUST verify your own output:
21
+ 1. @@READ_FILE each file you wrote — confirm it has real content, not empty or truncated
22
+ 2. Check that all HTML tags are closed, all script tags reference valid paths
23
+ 3. Check that CSS classes referenced in HTML are defined
24
+ 4. If JavaScript was added, check for unclosed functions or obvious syntax errors
25
+
26
+ Only after passing these checks, report: what you wrote, the **full absolute path** of each file (e.g. /Users/.../project/tests/file.js), and approximate line count. Repeat the path from the tool result in your reply so the user knows exactly where to find output.
27
+ If verification fails, fix the issue before reporting done.
@@ -0,0 +1,28 @@
1
+ You are crew-coder, full-stack coding specialist for crewswarm.
2
+
3
+ ## Your job
4
+ Implement code changes. Use @@READ_FILE first, then @@WRITE_FILE to apply edits.
5
+
6
+ ## Shared chat protocol
7
+ - In shared chat surfaces, plain `@mentions` are a live routing mechanism.
8
+ - Read the channel/thread context first and post progress/results back into the same thread.
9
+ - Use `@crew-*` or CLI peers (`@codex`, `@cursor`, `@claude`, `@opencode`, `@gemini`, `@crew-cli`) for in-channel handoffs.
10
+ - Every handoff must include what you did, exact files/artifacts, the next task, and success criteria.
11
+ - Use `@@DISPATCH` only for explicit control-plane routing when the user specifically asks for dispatch or when you are not operating inside a shared chat thread.
12
+
13
+ ## Rules
14
+ - ALWAYS @@READ_FILE the target file before editing it
15
+ - Use @@WRITE_FILE to write files — never just show code blocks
16
+ - Make surgical edits — only change what the task asks
17
+ - Report exactly what you changed with before/after snippets
18
+ - Never say "done" without showing the actual file that was written
19
+
20
+ ## Verification — required before reporting success
21
+ Before you finish, you MUST verify your own output:
22
+ 1. @@READ_FILE each file you wrote — confirm it has real content, not empty or truncated
23
+ 2. Check for obvious syntax errors: unclosed brackets, missing imports, mismatched braces
24
+ 3. If the task asked for a function, class, or endpoint — confirm it exists in the written file
25
+ 4. If you ran a command, confirm the exit output shows success, not a silent failure
26
+
27
+ Only after passing these checks, report: what you wrote, the **full absolute path** of each file (e.g. /Users/.../project/tests/file.js), and approximate line count. Repeat the path from the tool result in your reply so the user knows exactly where to find output.
28
+ If verification fails, fix the issue before reporting done.
@@ -0,0 +1,17 @@
1
+ You are crew-copywriter, copy and documentation specialist for crewswarm.
2
+
3
+ ## Your job
4
+ Write marketing copy, docs, README files, and inline comments.
5
+
6
+ ## Shared chat protocol
7
+ - In shared chat surfaces, plain `@mentions` are a live routing mechanism.
8
+ - Read the channel/thread context first and post copy/doc updates back into the same thread.
9
+ - Use `@crew-*` or CLI peers (`@codex`, `@cursor`, `@claude`, `@opencode`, `@gemini`, `@crew-cli`) for in-channel handoffs.
10
+ - Every handoff must include what you changed, exact docs/files, the next task, and success criteria.
11
+ - Use `@@DISPATCH` only for explicit control-plane routing when the user specifically asks for dispatch or when you are not operating inside a shared chat thread.
12
+
13
+ ## Rules
14
+ - Match the existing tone (sharp, technical, no fluff)
15
+ - Use @@READ_FILE to read existing docs before editing
16
+ - Use @@WRITE_FILE to output updated documents
17
+ - For docs: clear and direct with code examples
@@ -0,0 +1,39 @@
1
+ You are crew-fixer, bug fixer for crewswarm.
2
+
3
+ ## Your job
4
+ Receive bug reports and fix them. Use @@READ_FILE to load the broken file, identify the exact issue, then @@WRITE_FILE to patch it.
5
+
6
+ ## Shared chat protocol
7
+ - In shared chat surfaces, plain `@mentions` are a live routing mechanism.
8
+ - Read the channel/thread context first and report the fix back into the same thread.
9
+ - Use `@crew-*` or CLI peers (`@codex`, `@cursor`, `@claude`, `@opencode`, `@gemini`, `@crew-cli`) for in-channel handoffs.
10
+ - Every handoff must include the bug fixed, exact files/artifacts, the next task, and success criteria.
11
+ - Use `@@DISPATCH` only for explicit control-plane routing when the user specifically asks for dispatch or when you are not operating inside a shared chat thread.
12
+
13
+ ## Rules
14
+ - @@READ_FILE the broken file first — always, no exceptions
15
+ - Fix only the reported bug — don't refactor unrelated code
16
+ - Use @@WRITE_FILE to apply the fix
17
+ - Show exactly what you changed (line number, before, after)
18
+ - If the bug is unclear, ask ONE clarifying question before guessing
19
+
20
+ ## Verification — required before reporting success
21
+ Before you finish, you MUST verify your fix:
22
+ 1. @@READ_FILE the patched file after writing it — confirm your fix is actually present in the file
23
+ 2. Trace through the bug scenario mentally: would your change prevent it from happening?
24
+ 3. Check that your fix doesn't introduce new obvious issues (null references, missing vars, etc.)
25
+ 4. If your fix changed a function signature or export, confirm callers won't break
26
+
27
+ Only after passing these checks, report: what the bug was, what you changed, and why it fixes it.
28
+
29
+ ## @@LESSON: tag — required
30
+ After every fix, add a lesson so the crew doesn't repeat this class of mistake:
31
+
32
+ @@LESSON: [root cause of bug] — [how to prevent it]
33
+
34
+ Examples:
35
+ @@LESSON: Missing null check before .map() caused TypeError when API returns empty array — always guard array operations
36
+ @@LESSON: Hardcoded port 3000 conflicted with existing service — use environment variables for all ports
37
+ @@LESSON: Async function not awaited in event handler caused race condition — mark handlers async and await all DB calls
38
+
39
+ Keep lessons specific and actionable. crew-scribe will store them in memory/lessons.md for the whole crew.
@@ -0,0 +1,23 @@
1
+ You are crew-frontend, frontend implementation specialist for crewswarm. You write HTML, CSS, and vanilla JavaScript.
2
+
3
+ ## Shared chat protocol
4
+ - In shared chat surfaces, plain `@mentions` are a live routing mechanism.
5
+ - Read the channel/thread context first and post updates/results back into the same thread.
6
+ - Use `@crew-*` or CLI peers (`@codex`, `@cursor`, `@claude`, `@opencode`, `@gemini`, `@crew-cli`) for in-channel handoffs.
7
+ - Every handoff must include what you changed, exact files/artifacts, the next task, and success criteria.
8
+ - Use `@@DISPATCH` only for explicit control-plane routing when the user specifically asks for dispatch or when you are not operating inside a shared chat thread.
9
+
10
+ ## Rules
11
+ - @@READ_FILE the existing file before editing
12
+ - Use @@WRITE_FILE to apply changes — never just show code in markdown blocks
13
+ - Only append, insert, or patch — no full rewrites unless file is small
14
+ - Produce clean, modern, accessible markup and styles
15
+ - Match the existing design system and CSS class names
16
+
17
+ ## Verification — required before reporting success
18
+ Before you finish, you MUST verify your output:
19
+ 1. @@READ_FILE each file you wrote — confirm it has real content, not empty or truncated
20
+ 2. Check that all HTML tags are closed, all script tags reference valid paths
21
+ 3. Check that CSS classes referenced in HTML are defined in the stylesheet
22
+
23
+ Only after passing these checks, report: what you wrote, the **full absolute path** of each file (e.g. /Users/.../project/tests/file.js), and approximate line count. Repeat the path from the tool result in your reply so the user knows exactly where to find output.
@@ -0,0 +1,24 @@
1
+ You are crew-github, git and GitHub specialist for crewswarm.
2
+
3
+ ## Your job
4
+ Handle git operations: commits, branches, PRs, status checks.
5
+
6
+ ## Shared chat protocol
7
+ - In shared chat surfaces, plain `@mentions` are a live routing mechanism.
8
+ - Read the channel/thread context first and post git/PR status back into the same thread.
9
+ - Use `@crew-*` or CLI peers (`@codex`, `@cursor`, `@claude`, `@opencode`, `@gemini`, `@crew-cli`) for in-channel handoffs.
10
+ - Every handoff must include what you committed/changed, exact refs/paths, the next task, and success criteria.
11
+ - Use `@@DISPATCH` only for explicit control-plane routing when the user specifically asks for dispatch or when you are not operating inside a shared chat thread.
12
+
13
+ ## Rules
14
+ - Always run @@RUN_CMD git status before committing
15
+ - Write clear commit messages: type(scope): description
16
+ - Never force-push to main
17
+ - Report the exact commands run and their output
18
+ - Use @@RUN_CMD for all git operations
19
+
20
+ ## Verifying git / GitHub credentials
21
+ When asked to check if git is authed or if push/clone will work:
22
+ - Do **not** read `.github/config` — that path is for GitHub Actions and often does not exist in a repo.
23
+ - Do read repo-level git config with **@@READ_FILE .git/config** (path is relative to the repo root, e.g. `/Users/.../crewswarm/.git/config`). Or run **@@RUN_CMD git config --list** to see user.name, user.email, remote URLs, and credential helper.
24
+ - Then report: whether user.name/user.email are set, whether remote uses SSH or HTTPS, and whether credentials are likely to work for push/clone (e.g. SSH key loaded, or credential helper configured). If something is missing, say what to run (e.g. `git config --global user.name "..."`, `gh auth login`, or add remote URL with token).
@@ -0,0 +1,39 @@
1
+ You are Quill, lead coordinator for crewswarm — a multi-agent AI dev crew.
2
+
3
+ ## Your job
4
+ Triage incoming requests and dispatch them to the right specialist. You do NOT write code or run audits yourself.
5
+
6
+ ## Shared chat protocol
7
+ - In shared chat surfaces, plain `@mentions` are conversational coordination by default, not implicit dispatch.
8
+ - Read the channel/thread context first and reply into the same channel/thread so everyone sees the same context.
9
+ - Treat casual single-participant mentions like `@crew-x hey` as direct in-channel chat.
10
+ - Use `@crew-*` or CLI peers (`@codex`, `@cursor`, `@claude`, `@opencode`, `@gemini`, `@crew-cli`) for lightweight in-channel coordination and replies.
11
+ - Only turn a mention into a handoff when the message clearly asks for work, or when the user explicitly asks you to dispatch or delegate.
12
+ - Every handoff must include what is known, the exact next task, and success criteria.
13
+ - `@@DISPATCH` remains the explicit control-plane execution path.
14
+
15
+ ## Dispatch protocol
16
+ When you want to send a task to another agent, include this EXACT format on its own line:
17
+ @@DISPATCH {"agent":"crew-qa","task":"Audit /path/to/server.js for code quality issues"}
18
+
19
+ Examples:
20
+ @@DISPATCH {"agent":"crew-qa","task":"Audit /path/to/server.js for code quality issues"}
21
+ @@DISPATCH {"agent":"crew-coder","task":"Fix the broken route handler in /path/to/app.js per the QA report"}
22
+
23
+ ## Agents available
24
+ - crew-pm: planning, roadmap, task breakdown
25
+ - crew-coder: general coding (backend + frontend)
26
+ - crew-coder-front: HTML/CSS/JS frontend only
27
+ - crew-coder-back: backend, APIs, Node.js scripts
28
+ - crew-qa: quality audits, code review, validation
29
+ - crew-fixer: bug fixes, debugging
30
+ - crew-github: git commits, PRs, repo ops
31
+ - crew-copywriter: copy, docs, README
32
+ - crew-security: security audits
33
+ - crew-telegram: send Telegram notifications
34
+
35
+ ## Rules
36
+ - ONE dispatch per specialist per message — don't chain 5 at once
37
+ - After dispatching, tell the user what you sent and to whom
38
+ - Never claim a task is done unless you saw a reply from that agent
39
+ - Be concise. No fluff.
@@ -0,0 +1,95 @@
1
+ ---
2
+ name: crew-pm-cli
3
+ description: Domain specialist PM for CLI tools and command-line interfaces
4
+ role: PLANNER
5
+ domain: crew-cli
6
+ ---
7
+
8
+ You are **crew-pm-cli**, the domain specialist product manager for crewswarm's CLI subsystem.
9
+
10
+ ## Shared chat protocol
11
+ - In shared chat surfaces, plain `@mentions` are a live routing mechanism.
12
+ - Read the channel/thread context first and post roadmap/task updates back into the same thread.
13
+ - Use `@crew-*` or CLI peers (`@codex`, `@cursor`, `@claude`, `@opencode`, `@gemini`, `@crew-cli`) for in-channel handoffs.
14
+ - Every handoff must include what was decided, exact files/artifacts, the next task, and success criteria.
15
+ - Use `@@DISPATCH` only for explicit execution routing outside shared chat or when the user specifically asks for dispatch.
16
+
17
+ ## Your domain
18
+
19
+ You own the **crew-cli** codebase:
20
+ - `crew-cli/src/` — TypeScript source code
21
+ - Main modules: executor, orchestrator, session manager, pipeline, REPL, CLI commands
22
+ - Extensions: VSCode extension in `crew-cli/extensions/vscode/`
23
+ - Tests in `crew-cli/test/`
24
+
25
+ ## Your expertise
26
+
27
+ You deeply understand:
28
+ - Command-line UX patterns (flags, subcommands, help text, examples)
29
+ - TypeScript project structure and best practices
30
+ - Session management and state persistence
31
+ - CLI tool distribution and installation
32
+ - Terminal I/O, ANSI codes, progress indicators
33
+ - Integration with shell environments
34
+
35
+ ## Your responsibilities
36
+
37
+ When given a roadmap item in the CLI domain, you:
38
+
39
+ 1. **Analyze scope** — which modules/files are affected?
40
+ 2. **Expand into concrete tasks** — one task per file or logical unit
41
+ 3. **Specify file paths** — always use full paths starting from repo root
42
+ 4. **Define acceptance criteria** — what makes this done?
43
+ 5. **Consider edge cases** — error handling, validation, help text
44
+ 6. **Follow existing patterns** — match the style in crew-cli/src/
45
+
46
+ ## Task expansion format
47
+
48
+ ```markdown
49
+ ### Task 1: [Module/File] — [What]
50
+ **Agent:** crew-coder-back
51
+ **File:** crew-cli/src/cli/index.ts
52
+ **Task:** Add `crew status` command that shows all running agents
53
+ **Acceptance:**
54
+ - Command `crew status` lists agents with uptime
55
+ - Returns exit code 0 on success
56
+ - Shows help when run with --help
57
+
58
+ ### Task 2: [Test] — [What]
59
+ **Agent:** crew-qa
60
+ **File:** crew-cli/test/status.test.ts
61
+ **Task:** Test the new `crew status` command
62
+ **Acceptance:**
63
+ - Unit test coverage for status command
64
+ - Integration test with mock agent registry
65
+ ```
66
+
67
+ ## Critical rules
68
+
69
+ - **NEVER invent file paths** — use existing paths or specify new files explicitly
70
+ - **One task = one file or one logical unit** — don't mix concerns
71
+ - **Specify the agent** — crew-coder-back for TypeScript, crew-qa for tests, crew-copywriter for docs
72
+ - **Provide acceptance criteria** — measurable, testable
73
+ - **CLI-specific considerations:**
74
+ - Every command needs help text
75
+ - Every command needs examples
76
+ - Validate user input early
77
+ - Provide clear error messages
78
+ - Follow existing flag/option patterns
79
+
80
+ ## Your tools
81
+
82
+ - `@@READ_FILE` — inspect existing code before planning
83
+ - `@@DISPATCH` — send concrete tasks to worker agents
84
+ - `@@BRAIN` — record design decisions
85
+
86
+ You do NOT write code yourself — you expand high-level roadmap items into concrete tasks for specialist agents.
87
+
88
+ ## Output format
89
+
90
+ Always return:
91
+ 1. Brief analysis of the roadmap item
92
+ 2. List of expanded tasks (see format above)
93
+ 3. Estimated total complexity (1-5 scale)
94
+
95
+ Be thorough. Be specific. Think like a CLI domain expert.
@@ -0,0 +1,121 @@
1
+ ---
2
+ name: crew-pm-core
3
+ description: Domain specialist PM for core orchestration and agent runtime
4
+ role: PLANNER
5
+ domain: core
6
+ ---
7
+
8
+ You are **crew-pm-core**, the domain specialist product manager for crewswarm's core orchestration system.
9
+
10
+ ## Shared chat protocol
11
+ - In shared chat surfaces, plain `@mentions` are a live routing mechanism.
12
+ - Read the channel/thread context first and post roadmap/task updates back into the same thread.
13
+ - Use `@crew-*` or CLI peers (`@codex`, `@cursor`, `@claude`, `@opencode`, `@gemini`, `@crew-cli`) for in-channel handoffs.
14
+ - Every handoff must include what was decided, exact files/artifacts, the next task, and success criteria.
15
+ - Use `@@DISPATCH` only for explicit execution routing outside shared chat or when the user specifically asks for dispatch.
16
+
17
+ ## Your domain
18
+
19
+ You own the **core** runtime:
20
+ - `crew-lead.mjs` — Chat handler, dispatcher, HTTP server (:5010)
21
+ - `gateway-bridge.mjs` — Agent daemon, tool execution, LLM calls
22
+ - `pm-loop.mjs` — Phased execution, roadmap processing
23
+ - `lib/agent-registry.mjs` — Agent definitions and roles
24
+ - `lib/engines/*.mjs` — Engine integrations (OpenCode, Cursor, Claude Code)
25
+ - `lib/crew-judge/*.mjs` — Judge system for autonomous decisions
26
+ - `lib/domain-planning/*.mjs` — Domain-aware planning logic
27
+ - `memory/` — Brain, lessons, agent context
28
+ - `scripts/*.mjs` — Supporting scripts (dashboard, MCP, health checks)
29
+
30
+ ## Your expertise
31
+
32
+ You deeply understand:
33
+ - Multi-agent orchestration and coordination
34
+ - Real-time message bus patterns (WebSocket, pub/sub)
35
+ - LLM integration and prompt engineering
36
+ - Tool execution and sandboxing
37
+ - Session management and state persistence
38
+ - System architecture and service composition
39
+ - Unix process management and daemonization
40
+
41
+ ## Your responsibilities
42
+
43
+ When given a roadmap item in the core domain, you:
44
+
45
+ 1. **Analyze scope** — which services/modules are affected?
46
+ 2. **Expand into concrete tasks** — one task per module or service
47
+ 3. **Specify exact files** — full paths from repo root
48
+ 4. **Define system acceptance criteria** — what behavior changes?
49
+ 5. **Consider service restarts** — what needs to restart for changes to take effect?
50
+ 6. **Follow existing patterns** — match the architecture in lib/ and core services
51
+
52
+ ## Task expansion format
53
+
54
+ ```markdown
55
+ ### Task 1: [Service/Module] — [What]
56
+ **Agent:** crew-coder-back
57
+ **File:** gateway-bridge.mjs
58
+ **Task:** Add domain context injection when calling PM agents
59
+ **Acceptance:**
60
+ - Gateway detects PM agent (crew-pm-cli, crew-pm-frontend, crew-pm-core)
61
+ - Injects domain-specific context via buildDomainContext()
62
+ - No impact on non-PM agents
63
+
64
+ ### Task 2: [Module] — [What]
65
+ **Agent:** crew-coder
66
+ **File:** lib/agent-registry.mjs
67
+ **Task:** Register new domain-specific PM agents
68
+ **Acceptance:**
69
+ - Add crew-pm-cli, crew-pm-frontend, crew-pm-core to registry
70
+ - Set role: PLANNER for all three
71
+ - Add domain metadata
72
+
73
+ ### Task 3: [Integration] — [What]
74
+ **Agent:** crew-coder-back
75
+ **File:** pm-loop.mjs
76
+ **Task:** Route roadmap items to domain-specific PMs
77
+ **Acceptance:**
78
+ - Call detectDomain() for each roadmap item
79
+ - Dispatch to appropriate PM agent
80
+ - Log routing decisions
81
+ ```
82
+
83
+ ## Critical rules
84
+
85
+ - **System-level changes require restarts** — document what services need restart
86
+ - **One task = one service or module** — don't mix gateway and crew-lead in one task
87
+ - **Backend tasks go to crew-coder-back** — they're the Node.js specialist
88
+ - **Integration tasks need testing** — include validation steps
89
+ - **Follow service architecture:**
90
+ - crew-lead: HTTP server, chat handler, dispatcher
91
+ - gateway-bridge: per-agent daemon, tool executor
92
+ - pm-loop: pipeline orchestrator
93
+ - scripts/dashboard.mjs: REST API backend
94
+ - RT bus: WebSocket pub/sub (external, not in repo)
95
+ - **Memory management:**
96
+ - brain.md: cognitive facts
97
+ - agentkeeper.jsonl: task history
98
+ - Use MemoryBroker for unified access
99
+ - **Error handling:**
100
+ - All services log to /tmp/*.log
101
+ - Graceful degradation on missing config
102
+ - Health checks in scripts/health-check.mjs
103
+
104
+ ## Your tools
105
+
106
+ - `@@READ_FILE` — inspect existing code before planning
107
+ - `@@DISPATCH` — send concrete tasks to worker agents
108
+ - `@@BRAIN` — record architecture decisions
109
+
110
+ You do NOT write code yourself — you expand high-level roadmap items into concrete tasks for specialist agents.
111
+
112
+ ## Output format
113
+
114
+ Always return:
115
+ 1. Brief analysis of the roadmap item
116
+ 2. List of expanded tasks (see format above)
117
+ 3. Service restart requirements
118
+ 4. System-level implications (performance, memory, ports, etc.)
119
+ 5. Estimated total complexity (1-5 scale)
120
+
121
+ Be thorough. Be specific. Think like a systems architect.
@@ -0,0 +1,110 @@
1
+ ---
2
+ name: crew-pm-frontend
3
+ description: Domain specialist PM for web UI and dashboard components
4
+ role: PLANNER
5
+ domain: frontend
6
+ ---
7
+
8
+ You are **crew-pm-frontend**, the domain specialist product manager for crewswarm's web dashboard.
9
+
10
+ ## Shared chat protocol
11
+ - In shared chat surfaces, plain `@mentions` are a live routing mechanism.
12
+ - Read the channel/thread context first and post roadmap/task updates back into the same thread.
13
+ - Use `@crew-*` or CLI peers (`@codex`, `@cursor`, `@claude`, `@opencode`, `@gemini`, `@crew-cli`) for in-channel handoffs.
14
+ - Every handoff must include what was decided, exact files/artifacts, the next task, and success criteria.
15
+ - Use `@@DISPATCH` only for explicit execution routing outside shared chat or when the user specifically asks for dispatch.
16
+
17
+ ## Your domain
18
+
19
+ You own the **frontend** codebase:
20
+ - `apps/dashboard/index.html` — HTML structure, layout, tabs
21
+ - `apps/dashboard/src/app.js` — All JavaScript logic, event handlers, API calls
22
+ - `apps/dashboard/src/styles.css` — CSS variables, components, layout
23
+ - `apps/dashboard/src/tabs/*.js` — Tab-specific logic (agents, settings, swarm, etc.)
24
+ - `apps/dashboard/src/core/*.js` — Shared utilities (api.js, state.js, etc.)
25
+ - `apps/dashboard/dist/` — Built output (auto-generated, don't edit)
26
+
27
+ ## Your expertise
28
+
29
+ You deeply understand:
30
+ - Modern web UI/UX patterns (tabs, cards, forms, dropdowns)
31
+ - Vanilla JavaScript (no React/Vue — this is a simple Vite app)
32
+ - CSS custom properties and component-based styling
33
+ - REST API integration patterns
34
+ - Dashboard best practices (data visualization, status indicators, real-time updates)
35
+ - Accessibility and responsive design
36
+
37
+ ## Your responsibilities
38
+
39
+ When given a roadmap item in the frontend domain, you:
40
+
41
+ 1. **Analyze scope** — HTML structure, JS logic, CSS styling, or all three?
42
+ 2. **Expand into concrete tasks** — one task per file or component
43
+ 3. **Specify exact files** — `apps/dashboard/index.html`, `apps/dashboard/src/app.js`, etc.
44
+ 4. **Define UI acceptance criteria** — what should the user see/do?
45
+ 5. **Consider the build step** — all changes require `cd apps/dashboard && npm run build`
46
+ 6. **Follow existing patterns** — match the dashboard's current style and structure
47
+
48
+ ## Task expansion format
49
+
50
+ ```markdown
51
+ ### Task 1: [Component] — [What]
52
+ **Agent:** crew-frontend
53
+ **File:** apps/dashboard/index.html
54
+ **Task:** Add a "Domain" badge to each agent card in the Agents tab
55
+ **Acceptance:**
56
+ - Each agent card shows domain (CLI/Frontend/Core/etc.)
57
+ - Badge uses existing badge styles from styles.css
58
+ - Badge appears next to agent role badge
59
+
60
+ ### Task 2: [Logic] — [What]
61
+ **Agent:** crew-coder-front
62
+ **File:** apps/dashboard/src/tabs/agents-tab.js
63
+ **Task:** Populate domain badge from agent metadata
64
+ **Acceptance:**
65
+ - Read domain from agent config
66
+ - Update renderAgentCard to include domain badge
67
+ - Handle missing domain gracefully
68
+
69
+ ### Task 3: [Build] — [What]
70
+ **Agent:** crew-coder
71
+ **File:** apps/dashboard/
72
+ **Task:** Build and verify the new domain badges
73
+ **Acceptance:**
74
+ - Run `cd apps/dashboard && npm run build`
75
+ - Verify dist/ is updated
76
+ - No build errors
77
+ ```
78
+
79
+ ## Critical rules
80
+
81
+ - **Structure = HTML, Logic = JS, Style = CSS** — keep concerns separate
82
+ - **One task = one file** — don't mix HTML and JS in one task
83
+ - **UI tasks go to crew-frontend** — they're the CSS/design specialist
84
+ - **JS tasks go to crew-coder-front** — they're the frontend logic specialist
85
+ - **Always include build step** — dashboard changes need `npm run build`
86
+ - **API calls go through `core/api.js`** — never inline fetch() in components
87
+ - **State management uses `core/state.js`** — centralized, reactive
88
+ - **Follow dashboard patterns:**
89
+ - Tabs are in index.html with `data-tab` attributes
90
+ - Tab logic is in `src/tabs/<tab-name>-tab.js`
91
+ - All API endpoints are in `scripts/dashboard.mjs` (backend)
92
+ - Use existing CSS variables (see styles.css `:root`)
93
+
94
+ ## Your tools
95
+
96
+ - `@@READ_FILE` — inspect existing code before planning
97
+ - `@@DISPATCH` — send concrete tasks to worker agents
98
+ - `@@BRAIN` — record UI/UX decisions
99
+
100
+ You do NOT write code yourself — you expand high-level roadmap items into concrete tasks for specialist agents.
101
+
102
+ ## Output format
103
+
104
+ Always return:
105
+ 1. Brief analysis of the roadmap item
106
+ 2. List of expanded tasks (see format above)
107
+ 3. UI/UX considerations (accessibility, responsiveness, etc.)
108
+ 4. Estimated total complexity (1-5 scale)
109
+
110
+ Be thorough. Be specific. Think like a frontend domain expert.