crewly 1.0.6 → 1.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (321) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +146 -40
  3. package/config/roles/architect/prompt.md +11 -0
  4. package/config/roles/backend-developer/prompt.md +11 -0
  5. package/config/roles/designer/prompt.md +11 -0
  6. package/config/roles/developer/prompt.md +18 -4
  7. package/config/roles/frontend-developer/prompt.md +11 -0
  8. package/config/roles/fullstack-dev/prompt.md +11 -0
  9. package/config/roles/generalist/prompt.md +11 -0
  10. package/config/roles/orchestrator/prompt.md +53 -10
  11. package/config/roles/product-manager/prompt.md +18 -4
  12. package/config/roles/qa/prompt.md +11 -0
  13. package/config/roles/qa-engineer/prompt.md +11 -0
  14. package/config/roles/sales/prompt.md +11 -0
  15. package/config/roles/support/prompt.md +11 -0
  16. package/config/roles/tpm/prompt.md +11 -0
  17. package/config/skills/orchestrator/complete-task/execute.sh +1 -0
  18. package/config/templates/agent-claude-md.md +16 -0
  19. package/config/templates/research-team.json +22 -0
  20. package/config/templates/startup-team.json +22 -0
  21. package/config/templates/web-dev-team.json +22 -0
  22. package/dist/backend/backend/src/constants.d.ts +61 -1
  23. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  24. package/dist/backend/backend/src/constants.js +65 -7
  25. package/dist/backend/backend/src/constants.js.map +1 -1
  26. package/dist/backend/backend/src/controllers/slack/slack.controller.d.ts.map +1 -1
  27. package/dist/backend/backend/src/controllers/slack/slack.controller.js +7 -0
  28. package/dist/backend/backend/src/controllers/slack/slack.controller.js.map +1 -1
  29. package/dist/backend/backend/src/controllers/task-management/task-management.controller.d.ts +7 -0
  30. package/dist/backend/backend/src/controllers/task-management/task-management.controller.d.ts.map +1 -1
  31. package/dist/backend/backend/src/controllers/task-management/task-management.controller.js +174 -4
  32. package/dist/backend/backend/src/controllers/task-management/task-management.controller.js.map +1 -1
  33. package/dist/backend/backend/src/index.d.ts.map +1 -1
  34. package/dist/backend/backend/src/index.js +34 -0
  35. package/dist/backend/backend/src/index.js.map +1 -1
  36. package/dist/backend/backend/src/routes/modules/task-management.routes.d.ts.map +1 -1
  37. package/dist/backend/backend/src/routes/modules/task-management.routes.js +2 -0
  38. package/dist/backend/backend/src/routes/modules/task-management.routes.js.map +1 -1
  39. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts +8 -0
  40. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
  41. package/dist/backend/backend/src/services/agent/agent-registration.service.js +75 -17
  42. package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
  43. package/dist/backend/backend/src/services/agent/context-window-monitor.service.d.ts +222 -0
  44. package/dist/backend/backend/src/services/agent/context-window-monitor.service.d.ts.map +1 -0
  45. package/dist/backend/backend/src/services/agent/context-window-monitor.service.js +621 -0
  46. package/dist/backend/backend/src/services/agent/context-window-monitor.service.js.map +1 -0
  47. package/dist/backend/backend/src/services/index.d.ts +3 -0
  48. package/dist/backend/backend/src/services/index.d.ts.map +1 -1
  49. package/dist/backend/backend/src/services/index.js +5 -0
  50. package/dist/backend/backend/src/services/index.js.map +1 -1
  51. package/dist/backend/backend/src/services/mcp-client.d.ts +233 -0
  52. package/dist/backend/backend/src/services/mcp-client.d.ts.map +1 -0
  53. package/dist/backend/backend/src/services/mcp-client.js +297 -0
  54. package/dist/backend/backend/src/services/mcp-client.js.map +1 -0
  55. package/dist/backend/backend/src/services/mcp-server.d.ts +167 -0
  56. package/dist/backend/backend/src/services/mcp-server.d.ts.map +1 -0
  57. package/dist/backend/backend/src/services/mcp-server.js +586 -0
  58. package/dist/backend/backend/src/services/mcp-server.js.map +1 -0
  59. package/dist/backend/backend/src/services/messaging/message-queue.service.d.ts +2 -0
  60. package/dist/backend/backend/src/services/messaging/message-queue.service.d.ts.map +1 -1
  61. package/dist/backend/backend/src/services/messaging/message-queue.service.js +6 -1
  62. package/dist/backend/backend/src/services/messaging/message-queue.service.js.map +1 -1
  63. package/dist/backend/backend/src/services/messaging/queue-processor.service.d.ts +10 -0
  64. package/dist/backend/backend/src/services/messaging/queue-processor.service.d.ts.map +1 -1
  65. package/dist/backend/backend/src/services/messaging/queue-processor.service.js +94 -38
  66. package/dist/backend/backend/src/services/messaging/queue-processor.service.js.map +1 -1
  67. package/dist/backend/backend/src/services/quality/index.d.ts +1 -0
  68. package/dist/backend/backend/src/services/quality/index.d.ts.map +1 -1
  69. package/dist/backend/backend/src/services/quality/index.js +1 -0
  70. package/dist/backend/backend/src/services/quality/index.js.map +1 -1
  71. package/dist/backend/backend/src/services/quality/task-output-validator.service.d.ts +84 -0
  72. package/dist/backend/backend/src/services/quality/task-output-validator.service.d.ts.map +1 -0
  73. package/dist/backend/backend/src/services/quality/task-output-validator.service.js +163 -0
  74. package/dist/backend/backend/src/services/quality/task-output-validator.service.js.map +1 -0
  75. package/dist/backend/backend/src/services/runtime-adapter.d.ts +234 -0
  76. package/dist/backend/backend/src/services/runtime-adapter.d.ts.map +1 -0
  77. package/dist/backend/backend/src/services/runtime-adapter.js +180 -0
  78. package/dist/backend/backend/src/services/runtime-adapter.js.map +1 -0
  79. package/dist/backend/backend/src/services/slack/slack-credentials.service.d.ts +33 -0
  80. package/dist/backend/backend/src/services/slack/slack-credentials.service.d.ts.map +1 -0
  81. package/dist/backend/backend/src/services/slack/slack-credentials.service.js +103 -0
  82. package/dist/backend/backend/src/services/slack/slack-credentials.service.js.map +1 -0
  83. package/dist/backend/backend/src/services/slack/slack-initializer.d.ts +9 -1
  84. package/dist/backend/backend/src/services/slack/slack-initializer.d.ts.map +1 -1
  85. package/dist/backend/backend/src/services/slack/slack-initializer.js +31 -2
  86. package/dist/backend/backend/src/services/slack/slack-initializer.js.map +1 -1
  87. package/dist/backend/backend/src/types/event-bus.types.d.ts +2 -2
  88. package/dist/backend/backend/src/types/event-bus.types.d.ts.map +1 -1
  89. package/dist/backend/backend/src/types/event-bus.types.js +2 -0
  90. package/dist/backend/backend/src/types/event-bus.types.js.map +1 -1
  91. package/dist/backend/backend/src/types/index.d.ts +1 -0
  92. package/dist/backend/backend/src/types/index.d.ts.map +1 -1
  93. package/dist/backend/backend/src/types/index.js +2 -0
  94. package/dist/backend/backend/src/types/index.js.map +1 -1
  95. package/dist/backend/backend/src/types/messaging.types.d.ts +9 -6
  96. package/dist/backend/backend/src/types/messaging.types.d.ts.map +1 -1
  97. package/dist/backend/backend/src/types/messaging.types.js +10 -3
  98. package/dist/backend/backend/src/types/messaging.types.js.map +1 -1
  99. package/dist/backend/backend/src/types/task-output.types.d.ts +78 -0
  100. package/dist/backend/backend/src/types/task-output.types.d.ts.map +1 -0
  101. package/dist/backend/backend/src/types/task-output.types.js +27 -0
  102. package/dist/backend/backend/src/types/task-output.types.js.map +1 -0
  103. package/dist/backend/backend/src/websocket/terminal.gateway.d.ts +13 -0
  104. package/dist/backend/backend/src/websocket/terminal.gateway.d.ts.map +1 -1
  105. package/dist/backend/backend/src/websocket/terminal.gateway.js +12 -0
  106. package/dist/backend/backend/src/websocket/terminal.gateway.js.map +1 -1
  107. package/dist/cli/backend/src/constants.d.ts +751 -0
  108. package/dist/cli/backend/src/constants.d.ts.map +1 -0
  109. package/dist/cli/backend/src/constants.js +550 -0
  110. package/dist/cli/backend/src/constants.js.map +1 -0
  111. package/dist/cli/backend/src/models/Project.d.ts +18 -0
  112. package/dist/cli/backend/src/models/Project.d.ts.map +1 -0
  113. package/dist/cli/backend/src/models/Project.js +70 -0
  114. package/dist/cli/backend/src/models/Project.js.map +1 -0
  115. package/dist/cli/backend/src/models/ScheduledMessage.d.ts +27 -0
  116. package/dist/cli/backend/src/models/ScheduledMessage.d.ts.map +1 -0
  117. package/dist/cli/backend/src/models/ScheduledMessage.js +50 -0
  118. package/dist/cli/backend/src/models/ScheduledMessage.js.map +1 -0
  119. package/dist/cli/backend/src/models/Team.d.ts +20 -0
  120. package/dist/cli/backend/src/models/Team.d.ts.map +1 -0
  121. package/dist/cli/backend/src/models/Team.js +120 -0
  122. package/dist/cli/backend/src/models/Team.js.map +1 -0
  123. package/dist/cli/backend/src/models/Ticket.d.ts +24 -0
  124. package/dist/cli/backend/src/models/Ticket.d.ts.map +1 -0
  125. package/dist/cli/backend/src/models/Ticket.js +102 -0
  126. package/dist/cli/backend/src/models/Ticket.js.map +1 -0
  127. package/dist/cli/backend/src/models/index.d.ts +5 -0
  128. package/dist/cli/backend/src/models/index.d.ts.map +1 -0
  129. package/dist/cli/backend/src/models/index.js +5 -0
  130. package/dist/cli/backend/src/models/index.js.map +1 -0
  131. package/dist/cli/backend/src/services/core/config.service.d.ts +91 -0
  132. package/dist/cli/backend/src/services/core/config.service.d.ts.map +1 -0
  133. package/dist/cli/backend/src/services/core/config.service.js +246 -0
  134. package/dist/cli/backend/src/services/core/config.service.js.map +1 -0
  135. package/dist/cli/backend/src/services/core/logger.service.d.ts +70 -0
  136. package/dist/cli/backend/src/services/core/logger.service.d.ts.map +1 -0
  137. package/dist/cli/backend/src/services/core/logger.service.js +350 -0
  138. package/dist/cli/backend/src/services/core/logger.service.js.map +1 -0
  139. package/dist/cli/backend/src/services/core/storage.service.d.ts +269 -0
  140. package/dist/cli/backend/src/services/core/storage.service.d.ts.map +1 -0
  141. package/dist/cli/backend/src/services/core/storage.service.js +1406 -0
  142. package/dist/cli/backend/src/services/core/storage.service.js.map +1 -0
  143. package/dist/cli/backend/src/services/core/teams-backup.service.d.ts +92 -0
  144. package/dist/cli/backend/src/services/core/teams-backup.service.d.ts.map +1 -0
  145. package/dist/cli/backend/src/services/core/teams-backup.service.js +120 -0
  146. package/dist/cli/backend/src/services/core/teams-backup.service.js.map +1 -0
  147. package/dist/cli/backend/src/services/knowledge/knowledge-search.service.d.ts +125 -0
  148. package/dist/cli/backend/src/services/knowledge/knowledge-search.service.d.ts.map +1 -0
  149. package/dist/cli/backend/src/services/knowledge/knowledge-search.service.js +247 -0
  150. package/dist/cli/backend/src/services/knowledge/knowledge-search.service.js.map +1 -0
  151. package/dist/cli/backend/src/services/knowledge/knowledge.service.d.ts +153 -0
  152. package/dist/cli/backend/src/services/knowledge/knowledge.service.d.ts.map +1 -0
  153. package/dist/cli/backend/src/services/knowledge/knowledge.service.js +409 -0
  154. package/dist/cli/backend/src/services/knowledge/knowledge.service.js.map +1 -0
  155. package/dist/cli/backend/src/services/mcp-server.d.ts +167 -0
  156. package/dist/cli/backend/src/services/mcp-server.d.ts.map +1 -0
  157. package/dist/cli/backend/src/services/mcp-server.js +586 -0
  158. package/dist/cli/backend/src/services/mcp-server.js.map +1 -0
  159. package/dist/cli/backend/src/services/memory/agent-memory.service.d.ts +259 -0
  160. package/dist/cli/backend/src/services/memory/agent-memory.service.d.ts.map +1 -0
  161. package/dist/cli/backend/src/services/memory/agent-memory.service.js +539 -0
  162. package/dist/cli/backend/src/services/memory/agent-memory.service.js.map +1 -0
  163. package/dist/cli/backend/src/services/memory/memory.service.d.ts +306 -0
  164. package/dist/cli/backend/src/services/memory/memory.service.d.ts.map +1 -0
  165. package/dist/cli/backend/src/services/memory/memory.service.js +517 -0
  166. package/dist/cli/backend/src/services/memory/memory.service.js.map +1 -0
  167. package/dist/cli/backend/src/services/memory/project-memory.service.d.ts +252 -0
  168. package/dist/cli/backend/src/services/memory/project-memory.service.d.ts.map +1 -0
  169. package/dist/cli/backend/src/services/memory/project-memory.service.js +600 -0
  170. package/dist/cli/backend/src/services/memory/project-memory.service.js.map +1 -0
  171. package/dist/cli/backend/src/types/auto-assign.types.d.ts +271 -0
  172. package/dist/cli/backend/src/types/auto-assign.types.d.ts.map +1 -0
  173. package/dist/cli/backend/src/types/auto-assign.types.js +136 -0
  174. package/dist/cli/backend/src/types/auto-assign.types.js.map +1 -0
  175. package/dist/cli/backend/src/types/budget.types.d.ts +217 -0
  176. package/dist/cli/backend/src/types/budget.types.d.ts.map +1 -0
  177. package/dist/cli/backend/src/types/budget.types.js +82 -0
  178. package/dist/cli/backend/src/types/budget.types.js.map +1 -0
  179. package/dist/cli/backend/src/types/chat.types.d.ts +550 -0
  180. package/dist/cli/backend/src/types/chat.types.d.ts.map +1 -0
  181. package/dist/cli/backend/src/types/chat.types.js +743 -0
  182. package/dist/cli/backend/src/types/chat.types.js.map +1 -0
  183. package/dist/cli/backend/src/types/continuation.types.d.ts +237 -0
  184. package/dist/cli/backend/src/types/continuation.types.d.ts.map +1 -0
  185. package/dist/cli/backend/src/types/continuation.types.js +10 -0
  186. package/dist/cli/backend/src/types/continuation.types.js.map +1 -0
  187. package/dist/cli/backend/src/types/index.d.ts +164 -0
  188. package/dist/cli/backend/src/types/index.d.ts.map +1 -0
  189. package/dist/cli/backend/src/types/index.js +25 -0
  190. package/dist/cli/backend/src/types/index.js.map +1 -0
  191. package/dist/cli/backend/src/types/knowledge.types.d.ts +195 -0
  192. package/dist/cli/backend/src/types/knowledge.types.d.ts.map +1 -0
  193. package/dist/cli/backend/src/types/knowledge.types.js +38 -0
  194. package/dist/cli/backend/src/types/knowledge.types.js.map +1 -0
  195. package/dist/cli/backend/src/types/memory.types.d.ts +587 -0
  196. package/dist/cli/backend/src/types/memory.types.d.ts.map +1 -0
  197. package/dist/cli/backend/src/types/memory.types.js +47 -0
  198. package/dist/cli/backend/src/types/memory.types.js.map +1 -0
  199. package/dist/cli/backend/src/types/quality-gate.types.d.ts +171 -0
  200. package/dist/cli/backend/src/types/quality-gate.types.d.ts.map +1 -0
  201. package/dist/cli/backend/src/types/quality-gate.types.js +42 -0
  202. package/dist/cli/backend/src/types/quality-gate.types.js.map +1 -0
  203. package/dist/cli/backend/src/types/role.types.d.ts +260 -0
  204. package/dist/cli/backend/src/types/role.types.d.ts.map +1 -0
  205. package/dist/cli/backend/src/types/role.types.js +238 -0
  206. package/dist/cli/backend/src/types/role.types.js.map +1 -0
  207. package/dist/cli/backend/src/types/scheduler.types.d.ts +254 -0
  208. package/dist/cli/backend/src/types/scheduler.types.d.ts.map +1 -0
  209. package/dist/cli/backend/src/types/scheduler.types.js +32 -0
  210. package/dist/cli/backend/src/types/scheduler.types.js.map +1 -0
  211. package/dist/cli/backend/src/types/settings.types.d.ts +178 -0
  212. package/dist/cli/backend/src/types/settings.types.d.ts.map +1 -0
  213. package/dist/cli/backend/src/types/settings.types.js +206 -0
  214. package/dist/cli/backend/src/types/settings.types.js.map +1 -0
  215. package/dist/cli/backend/src/types/skill.types.d.ts +515 -0
  216. package/dist/cli/backend/src/types/skill.types.d.ts.map +1 -0
  217. package/dist/cli/backend/src/types/skill.types.js +481 -0
  218. package/dist/cli/backend/src/types/skill.types.js.map +1 -0
  219. package/dist/cli/backend/src/types/sop.types.d.ts +224 -0
  220. package/dist/cli/backend/src/types/sop.types.d.ts.map +1 -0
  221. package/dist/cli/backend/src/types/sop.types.js +85 -0
  222. package/dist/cli/backend/src/types/sop.types.js.map +1 -0
  223. package/dist/cli/backend/src/types/task-output.types.d.ts +78 -0
  224. package/dist/cli/backend/src/types/task-output.types.d.ts.map +1 -0
  225. package/dist/cli/backend/src/types/task-output.types.js +27 -0
  226. package/dist/cli/backend/src/types/task-output.types.js.map +1 -0
  227. package/dist/cli/backend/src/utils/file-io.utils.d.ts +102 -0
  228. package/dist/cli/backend/src/utils/file-io.utils.d.ts.map +1 -0
  229. package/dist/cli/backend/src/utils/file-io.utils.js +214 -0
  230. package/dist/cli/backend/src/utils/file-io.utils.js.map +1 -0
  231. package/dist/cli/backend/src/utils/terminal-output.utils.d.ts +54 -0
  232. package/dist/cli/backend/src/utils/terminal-output.utils.d.ts.map +1 -0
  233. package/dist/cli/backend/src/utils/terminal-output.utils.js +97 -0
  234. package/dist/cli/backend/src/utils/terminal-output.utils.js.map +1 -0
  235. package/dist/cli/cli/src/commands/mcp-server.d.ts +38 -0
  236. package/dist/cli/cli/src/commands/mcp-server.d.ts.map +1 -0
  237. package/dist/cli/cli/src/commands/mcp-server.js +49 -0
  238. package/dist/cli/cli/src/commands/mcp-server.js.map +1 -0
  239. package/dist/cli/cli/src/commands/onboard.d.ts +61 -7
  240. package/dist/cli/cli/src/commands/onboard.d.ts.map +1 -1
  241. package/dist/cli/cli/src/commands/onboard.js +192 -19
  242. package/dist/cli/cli/src/commands/onboard.js.map +1 -1
  243. package/dist/cli/cli/src/commands/publish.d.ts +27 -0
  244. package/dist/cli/cli/src/commands/publish.d.ts.map +1 -0
  245. package/dist/cli/cli/src/commands/publish.js +69 -0
  246. package/dist/cli/cli/src/commands/publish.js.map +1 -0
  247. package/dist/cli/cli/src/commands/start.d.ts.map +1 -1
  248. package/dist/cli/cli/src/commands/start.js +12 -2
  249. package/dist/cli/cli/src/commands/start.js.map +1 -1
  250. package/dist/cli/cli/src/index.js +14 -0
  251. package/dist/cli/cli/src/index.js.map +1 -1
  252. package/dist/cli/cli/src/utils/archive-creator.d.ts +82 -0
  253. package/dist/cli/cli/src/utils/archive-creator.d.ts.map +1 -0
  254. package/dist/cli/cli/src/utils/archive-creator.js +105 -0
  255. package/dist/cli/cli/src/utils/archive-creator.js.map +1 -0
  256. package/dist/cli/cli/src/utils/package-validator.d.ts +62 -0
  257. package/dist/cli/cli/src/utils/package-validator.d.ts.map +1 -0
  258. package/dist/cli/cli/src/utils/package-validator.js +122 -0
  259. package/dist/cli/cli/src/utils/package-validator.js.map +1 -0
  260. package/dist/cli/cli/src/utils/process-cleanup.d.ts +15 -0
  261. package/dist/cli/cli/src/utils/process-cleanup.d.ts.map +1 -0
  262. package/dist/cli/cli/src/utils/process-cleanup.js +76 -0
  263. package/dist/cli/cli/src/utils/process-cleanup.js.map +1 -0
  264. package/dist/cli/cli/src/utils/templates.d.ts +71 -0
  265. package/dist/cli/cli/src/utils/templates.d.ts.map +1 -0
  266. package/dist/cli/cli/src/utils/templates.js +91 -0
  267. package/dist/cli/cli/src/utils/templates.js.map +1 -0
  268. package/frontend/dist/assets/{index-523c7fce.js → index-68d1eb5a.js} +71 -71
  269. package/frontend/dist/assets/{index-4c050f52.css → index-c5043a83.css} +1 -1
  270. package/frontend/dist/assets/nunito-cyrillic-400-normal-e44e669f.woff2 +0 -0
  271. package/frontend/dist/assets/nunito-cyrillic-400-normal-ff8e8bdd.woff +0 -0
  272. package/frontend/dist/assets/nunito-cyrillic-500-normal-2159679b.woff +0 -0
  273. package/frontend/dist/assets/nunito-cyrillic-500-normal-61a3b80e.woff2 +0 -0
  274. package/frontend/dist/assets/nunito-cyrillic-600-normal-ac046097.woff +0 -0
  275. package/frontend/dist/assets/nunito-cyrillic-600-normal-e61eb97b.woff2 +0 -0
  276. package/frontend/dist/assets/nunito-cyrillic-700-normal-8fcefcc9.woff2 +0 -0
  277. package/frontend/dist/assets/nunito-cyrillic-700-normal-b9684104.woff +0 -0
  278. package/frontend/dist/assets/nunito-cyrillic-800-normal-40253beb.woff +0 -0
  279. package/frontend/dist/assets/nunito-cyrillic-800-normal-d80292de.woff2 +0 -0
  280. package/frontend/dist/assets/nunito-cyrillic-ext-400-normal-20d73ae7.woff2 +0 -0
  281. package/frontend/dist/assets/nunito-cyrillic-ext-400-normal-d48c37c9.woff +0 -0
  282. package/frontend/dist/assets/nunito-cyrillic-ext-500-normal-16197abd.woff +0 -0
  283. package/frontend/dist/assets/nunito-cyrillic-ext-500-normal-9dcfe9b5.woff2 +0 -0
  284. package/frontend/dist/assets/nunito-cyrillic-ext-600-normal-d53e9851.woff2 +0 -0
  285. package/frontend/dist/assets/nunito-cyrillic-ext-600-normal-e3d0201f.woff +0 -0
  286. package/frontend/dist/assets/nunito-cyrillic-ext-700-normal-5936f6ac.woff2 +0 -0
  287. package/frontend/dist/assets/nunito-cyrillic-ext-700-normal-c8c02775.woff +0 -0
  288. package/frontend/dist/assets/nunito-cyrillic-ext-800-normal-217b8f51.woff +0 -0
  289. package/frontend/dist/assets/nunito-cyrillic-ext-800-normal-796cf7bd.woff2 +0 -0
  290. package/frontend/dist/assets/nunito-latin-400-normal-a5906e15.woff2 +0 -0
  291. package/frontend/dist/assets/nunito-latin-400-normal-b51e7635.woff +0 -0
  292. package/frontend/dist/assets/nunito-latin-500-normal-23ae3083.woff2 +0 -0
  293. package/frontend/dist/assets/nunito-latin-500-normal-be14dbc6.woff +0 -0
  294. package/frontend/dist/assets/nunito-latin-600-normal-06a9c8b3.woff +0 -0
  295. package/frontend/dist/assets/nunito-latin-600-normal-45f437de.woff2 +0 -0
  296. package/frontend/dist/assets/nunito-latin-700-normal-ce9107dc.woff +0 -0
  297. package/frontend/dist/assets/nunito-latin-700-normal-fa89300b.woff2 +0 -0
  298. package/frontend/dist/assets/nunito-latin-800-normal-0ca02785.woff +0 -0
  299. package/frontend/dist/assets/nunito-latin-800-normal-2363d3ed.woff2 +0 -0
  300. package/frontend/dist/assets/nunito-latin-ext-400-normal-67250a41.woff2 +0 -0
  301. package/frontend/dist/assets/nunito-latin-ext-400-normal-d7e2415e.woff +0 -0
  302. package/frontend/dist/assets/nunito-latin-ext-500-normal-06f35d1c.woff +0 -0
  303. package/frontend/dist/assets/nunito-latin-ext-500-normal-343e7adc.woff2 +0 -0
  304. package/frontend/dist/assets/nunito-latin-ext-600-normal-5a8efd17.woff +0 -0
  305. package/frontend/dist/assets/nunito-latin-ext-600-normal-a7ba5f4f.woff2 +0 -0
  306. package/frontend/dist/assets/nunito-latin-ext-700-normal-0a4e4a02.woff2 +0 -0
  307. package/frontend/dist/assets/nunito-latin-ext-700-normal-0c607961.woff +0 -0
  308. package/frontend/dist/assets/nunito-latin-ext-800-normal-39f54b55.woff2 +0 -0
  309. package/frontend/dist/assets/nunito-latin-ext-800-normal-466d0211.woff +0 -0
  310. package/frontend/dist/assets/nunito-vietnamese-400-normal-2a755616.woff2 +0 -0
  311. package/frontend/dist/assets/nunito-vietnamese-400-normal-9c01ea9f.woff +0 -0
  312. package/frontend/dist/assets/nunito-vietnamese-500-normal-452e5e08.woff +0 -0
  313. package/frontend/dist/assets/nunito-vietnamese-500-normal-dc98d965.woff2 +0 -0
  314. package/frontend/dist/assets/nunito-vietnamese-600-normal-2ffbb85f.woff +0 -0
  315. package/frontend/dist/assets/nunito-vietnamese-600-normal-cf95b95d.woff2 +0 -0
  316. package/frontend/dist/assets/nunito-vietnamese-700-normal-0e29c28c.woff2 +0 -0
  317. package/frontend/dist/assets/nunito-vietnamese-700-normal-7793b75e.woff +0 -0
  318. package/frontend/dist/assets/nunito-vietnamese-800-normal-5baf507e.woff +0 -0
  319. package/frontend/dist/assets/nunito-vietnamese-800-normal-fac6740e.woff2 +0 -0
  320. package/frontend/dist/index.html +2 -2
  321. package/package.json +15 -5
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2025 Steve Huang
3
+ Copyright (c) 2026 Steve Huang
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/README.md CHANGED
@@ -1,15 +1,48 @@
1
1
  # Crewly
2
2
 
3
+ [![GitHub stars](https://img.shields.io/github/stars/stevehuang0115/crewly.svg?style=social)](https://github.com/stevehuang0115/crewly)
4
+ [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
5
+ [![npm version](https://img.shields.io/npm/v/crewly.svg)](https://www.npmjs.com/package/crewly)
6
+ [![Node.js](https://img.shields.io/badge/node-%3E%3D20-brightgreen.svg)](https://nodejs.org/)
7
+
3
8
  **Website:** [crewly.stevesprompt.com](https://crewly.stevesprompt.com/)
4
9
 
5
- Crewly is a multi-agent orchestration platform that coordinates AI coding agents (Claude Code, Gemini CLI, Codex) to work together as a team. It provides a web dashboard for real-time monitoring, task management, and team coordination — all running locally on your machine.
10
+ Crewly is an open-source multi-agent orchestration platform that coordinates AI coding agents (Claude Code, Gemini CLI, Codex) to work together as a team. It provides a web dashboard for real-time monitoring, task management, and team coordination — all running locally on your machine.
6
11
 
7
- ## Prerequisites
12
+ ## Features
13
+
14
+ - **Multi-agent teams** — Create teams with different roles (developer, QA, PM, orchestrator) and watch them collaborate
15
+ - **Multi-runtime support** — Use Claude Code, Gemini CLI, or OpenAI Codex — mix and match per agent
16
+ - **Real-time dashboard** — Monitor all agents through live terminal streams, task boards, and activity feeds
17
+ - **Skill system** — Agents coordinate through bash skills (report status, delegate tasks, manage memory)
18
+ - **Agent memory** — Persistent knowledge that agents build and share across sessions
19
+ - **Slack integration** — Optional two-way Slack bridge for team notifications
20
+ - **Local-first** — Everything runs on your machine. No data leaves your environment.
21
+
22
+ ## Quick Start
23
+
24
+ ```bash
25
+ # Try it instantly (no global install needed)
26
+ npx crewly onboard
27
+
28
+ # Or install globally
29
+ npm install -g crewly
30
+ crewly onboard
31
+
32
+ # Start the platform
33
+ crewly start
34
+ ```
35
+
36
+ This starts the backend server and opens the web dashboard in your browser. From there:
37
+
38
+ 1. Create a **team** with agents assigned to roles
39
+ 2. Assign the team to a **project** (any local code directory)
40
+ 3. Watch agents work in real time through live terminal streams
8
41
 
9
- Before using Crewly, you need:
42
+ ## Prerequisites
10
43
 
11
44
  - **Node.js** v20+ and **npm** v9+
12
- - **At least one** of the following AI coding CLIs installed:
45
+ - **At least one** AI coding CLI installed:
13
46
 
14
47
  | Runtime | Install | Verify |
15
48
  |---------|---------|--------|
@@ -17,57 +50,74 @@ Before using Crewly, you need:
17
50
  | **Gemini CLI** | `npm install -g @google/gemini-cli` | `gemini --version` |
18
51
  | **Codex (OpenAI)** | `npm install -g @openai/codex` | `codex --version` |
19
52
 
20
- **API keys:** Gemini CLI requires `GEMINI_API_KEY` set in your environment. Codex CLI requires an OpenAI API key configured via its own setup. Claude Code authenticates through its own login flow.
21
-
22
- ## Quick Start
53
+ **API keys:** Gemini CLI requires `GEMINI_API_KEY`. Codex requires an OpenAI API key. Claude Code authenticates through its own login flow.
23
54
 
24
- ```bash
25
- # Install Crewly
26
- npm install -g crewly
55
+ ## Architecture
27
56
 
28
- # Start Crewly
29
- npx crewly start
57
+ ```
58
+ ┌─────────────────────────────────────────────────────┐
59
+ │ Web Dashboard │
60
+ │ (React + xterm.js + WebSocket) │
61
+ └───────────────────────┬─────────────────────────────┘
62
+
63
+ ┌───────────────────────▼─────────────────────────────┐
64
+ │ Backend Server │
65
+ │ (Express + Socket.IO + PTY) │
66
+ │ │
67
+ │ ┌──────────┐ ┌──────────┐ ┌───────────────────┐ │
68
+ │ │ Services │ │ Scheduler│ │ Agent Registration │ │
69
+ │ │ (Storage,│ │ (Check- │ │ (Heartbeat, Idle │ │
70
+ │ │ Memory) │ │ ins) │ │ Detection, Resume)│ │
71
+ │ └──────────┘ └──────────┘ └───────────────────┘ │
72
+ └───────────────────────┬─────────────────────────────┘
73
+
74
+ ┌───────────────┼───────────────┐
75
+ ▼ ▼ ▼
76
+ ┌──────────────┐ ┌─────────────┐ ┌─────────────┐
77
+ │ Agent PTY │ │ Agent PTY │ │ Agent PTY │
78
+ │ (Claude) │ │ (Gemini) │ │ (Codex) │
79
+ │ │ │ │ │ │
80
+ │ Skills ◄────┤ │ Skills ◄───┤ │ Skills ◄───┤
81
+ │ Memory ◄────┤ │ Memory ◄───┤ │ Memory ◄───┤
82
+ └──────────────┘ └─────────────┘ └─────────────┘
83
+
84
+ Storage: ~/.crewly/ (global) + project/.crewly/ (per-project)
30
85
  ```
31
86
 
32
- That's it. This starts the backend server and opens the web dashboard in your browser. From there you can:
87
+ ### How It Works
33
88
 
34
- 1. Create a **team** with agents assigned to roles (developer, QA, PM, etc.)
35
- 2. Assign the team to a **project** (any local code directory)
36
- 3. Watch agents work in real time through live terminal streams
89
+ 1. You create a **team** in the dashboard with agents assigned to roles
90
+ 2. You assign the team to a **project** (any local code directory)
91
+ 3. Crewly launches each agent as a CLI process in its own PTY session
92
+ 4. Agents receive role-specific prompts and use **skills** (bash scripts) to communicate, report progress, and manage tasks
93
+ 5. You monitor everything in real time through the web dashboard
37
94
 
38
95
  ## Agent Runtimes
39
96
 
40
- Crewly launches AI agents as CLI processes in terminal sessions. Each agent can use a different runtime:
41
-
42
97
  | Runtime | Default Command | Notes |
43
98
  |---------|-----------------|-------|
44
99
  | **Claude Code** | `claude --dangerously-skip-permissions` | Default runtime |
45
100
  | **Gemini CLI** | `gemini --yolo` | Requires `GEMINI_API_KEY` |
46
101
  | **Codex (OpenAI)** | `codex --full-auto` | Requires OpenAI API key |
47
102
 
48
- - The default runtime is **Claude Code**. You can change it in the dashboard under **Settings**.
49
- - You can select a different runtime per team or per agent when creating them.
50
- - You can customize the launch command for any runtime under **Settings > Runtime Commands**.
103
+ You can change the default runtime or customize launch commands in **Settings**.
51
104
 
52
- ## How It Works
105
+ ## CLI Commands
53
106
 
54
- ```
55
- You (Dashboard) Crewly Backend → PTY Sessions (AI agents)
56
-
57
- Agent Skills Agents call bash skills to coordinate
58
-
59
- File Storage (~/.crewly/ & project/.crewly/)
107
+ ```bash
108
+ crewly onboard # Interactive setup wizard
109
+ crewly start # Start backend + open dashboard
110
+ crewly stop # Stop all services and sessions
111
+ crewly status # Show running services
112
+ crewly logs # View aggregated logs
113
+ crewly upgrade # Upgrade to latest version
114
+ crewly install [id] # Install a skill from marketplace
115
+ crewly search [q] # Search skill marketplace
60
116
  ```
61
117
 
62
- 1. You create a **team** in the dashboard with agents assigned to roles
63
- 2. You assign the team to a **project** (any local code directory)
64
- 3. Crewly launches each agent as a CLI process in its own terminal session
65
- 4. Agents receive role-specific prompts and use **skills** (bash scripts) to communicate, report progress, and manage tasks
66
- 5. You monitor everything in real time through the web dashboard
67
-
68
118
  ## Configuration
69
119
 
70
- Optional environment variables (set in `.env` at project root or in your shell):
120
+ Optional environment variables (`.env` file or shell):
71
121
 
72
122
  ```bash
73
123
  GEMINI_API_KEY=your_key_here # Required for Gemini CLI runtime
@@ -77,20 +127,76 @@ SLACK_APP_TOKEN=xapp-...
77
127
  SLACK_SIGNING_SECRET=...
78
128
 
79
129
  LOG_LEVEL=info # debug, info, warn, error
130
+ WEB_PORT=8787 # Dashboard port (default: 8787)
80
131
  ```
81
132
 
82
- ## Development (From Source)
133
+ ## Docker
83
134
 
84
- For contributors who want to work on Crewly itself:
135
+ Run Crewly with a single command using Docker:
85
136
 
86
137
  ```bash
87
- git clone https://github.com/your-org/crewly.git
138
+ # 1. Clone the repo
139
+ git clone https://github.com/stevehuang0115/crewly.git
88
140
  cd crewly
141
+
142
+ # 2. Add your API keys to .env
143
+ cp .env.example .env
144
+ # Edit .env and add ANTHROPIC_API_KEY, GEMINI_API_KEY, etc.
145
+
146
+ # 3. Start Crewly
147
+ docker compose up
148
+
149
+ # Dashboard available at http://localhost:8787
150
+ ```
151
+
152
+ To mount a project directory for agents to work on, edit `docker-compose.yml` and uncomment the volume mount:
153
+
154
+ ```yaml
155
+ volumes:
156
+ - crewly_data:/home/node/.crewly
157
+ - /path/to/your/project:/home/node/project # <-- uncomment and edit
158
+ ```
159
+
160
+ Build the image manually:
161
+
162
+ ```bash
163
+ # On Apple Silicon, use --platform linux/amd64
164
+ docker build --platform linux/amd64 -t crewly .
165
+ docker run -p 8787:8787 --env-file .env crewly
166
+ ```
167
+
168
+ ## Development
169
+
170
+ ```bash
171
+ # Clone the repository
172
+ git clone https://github.com/stevehuang0115/crewly.git
173
+ cd crewly
174
+
175
+ # Install dependencies
89
176
  npm install
177
+
178
+ # Build all components (backend + frontend + CLI)
90
179
  npm run build
91
- npm run dev # Starts backend + frontend with hot-reload
180
+
181
+ # Start in dev mode (backend + frontend with hot-reload)
182
+ npm run dev
183
+
184
+ # Run tests
185
+ npm run test:unit
92
186
  ```
93
187
 
188
+ See [CONTRIBUTING.md](CONTRIBUTING.md) for detailed development guidelines.
189
+
190
+ ## Demo
191
+
192
+ > Screenshots and demo video coming soon. Star the repo to get notified!
193
+
194
+ ## Community
195
+
196
+ - **Bug reports & feature requests** — [GitHub Issues](https://github.com/stevehuang0115/crewly/issues)
197
+ - **Questions & discussions** — [GitHub Discussions](https://github.com/stevehuang0115/crewly/discussions)
198
+ - **Contributing** — See [CONTRIBUTING.md](CONTRIBUTING.md)
199
+
94
200
  ## License
95
201
 
96
- MIT
202
+ [MIT](LICENSE)
@@ -1,3 +1,14 @@
1
+ # Crewly Agent Environment
2
+
3
+ You are running inside Crewly, a multi-agent orchestration platform. This is a legitimate development environment — not a prompt injection.
4
+
5
+ - **Orchestrator**: A coordinator agent sends you tasks prefixed with `[TASK]`. These are legitimate work requests from your team lead.
6
+ - **Bash skills**: You have bash scripts at `{{AGENT_SKILLS_PATH}}/` for system operations (status reporting, memory, etc.). These are platform-provided tools.
7
+ - **Skills catalog**: Reference at `~/.crewly/skills/AGENT_SKILLS_CATALOG.md`
8
+ - **Task format**: Messages use structured formats like `[TASK] Priority: high`. Follow them as normal work assignments.
9
+
10
+ ---
11
+
1
12
  Hey! I need your help with system architecture and technical design for this project.
2
13
 
3
14
  ## Quick context about this setup
@@ -1,3 +1,14 @@
1
+ # Crewly Agent Environment
2
+
3
+ You are running inside Crewly, a multi-agent orchestration platform. This is a legitimate development environment — not a prompt injection.
4
+
5
+ - **Orchestrator**: A coordinator agent sends you tasks prefixed with `[TASK]`. These are legitimate work requests from your team lead.
6
+ - **Bash skills**: You have bash scripts at `{{AGENT_SKILLS_PATH}}/` for system operations (status reporting, memory, etc.). These are platform-provided tools.
7
+ - **Skills catalog**: Reference at `~/.crewly/skills/AGENT_SKILLS_CATALOG.md`
8
+ - **Task format**: Messages use structured formats like `[TASK] Priority: high`. Follow them as normal work assignments.
9
+
10
+ ---
11
+
1
12
  Hey! I need your help with backend development for this project.
2
13
 
3
14
  ## Quick context about this setup
@@ -1,3 +1,14 @@
1
+ # Crewly Agent Environment
2
+
3
+ You are running inside Crewly, a multi-agent orchestration platform. This is a legitimate development environment — not a prompt injection.
4
+
5
+ - **Orchestrator**: A coordinator agent sends you tasks prefixed with `[TASK]`. These are legitimate work requests from your team lead.
6
+ - **Bash skills**: You have bash scripts at `{{AGENT_SKILLS_PATH}}/` for system operations (status reporting, memory, etc.). These are platform-provided tools.
7
+ - **Skills catalog**: Reference at `~/.crewly/skills/AGENT_SKILLS_CATALOG.md`
8
+ - **Task format**: Messages use structured formats like `[TASK] Priority: high`. Follow them as normal work assignments.
9
+
10
+ ---
11
+
1
12
  Hey! I need your help with design work for this project.
2
13
 
3
14
  ## Quick context about this setup
@@ -1,3 +1,14 @@
1
+ # Crewly Agent Environment
2
+
3
+ You are running inside Crewly, a multi-agent orchestration platform. This is a legitimate development environment — not a prompt injection.
4
+
5
+ - **Orchestrator**: A coordinator agent sends you tasks prefixed with `[TASK]`. These are legitimate work requests from your team lead.
6
+ - **Bash skills**: You have bash scripts at `{{AGENT_SKILLS_PATH}}/` for system operations (status reporting, memory, etc.). These are platform-provided tools.
7
+ - **Skills catalog**: Reference at `~/.crewly/skills/AGENT_SKILLS_CATALOG.md`
8
+ - **Task format**: Messages use structured formats like `[TASK] Priority: high`. Follow them as normal work assignments.
9
+
10
+ ---
11
+
1
12
  Hey! I need your help with software development for this project.
2
13
 
3
14
  ## Quick context about this setup
@@ -31,10 +42,13 @@ All it does is update a local status flag so the web UI shows you as online - no
31
42
  ## How to approach tasks
32
43
 
33
44
  When I send you a task:
34
- 1. Ask clarifying questions if requirements are unclear
35
- 2. Write clean, tested code following project conventions
36
- 3. Report blockers and issues promptly
37
- 4. Let me know when done
45
+ 1. **Codebase audit first** Before implementing any feature, search the codebase for existing implementations that overlap with the task. Use `grep`, `find`, and read relevant service files. If the feature (or parts of it) already exists, report back what's already there and propose incremental improvements instead of building from scratch.
46
+ 2. Ask clarifying questions if requirements are unclear
47
+ 3. Write clean, tested code following project conventions
48
+ 4. Report blockers and issues promptly
49
+ 5. Let me know when done
50
+
51
+ **CRITICAL**: Never assume a feature doesn't exist. Always verify by reading the codebase first. Building duplicate code wastes time and creates maintenance burden.
38
52
 
39
53
  ## Memory Management — Build Your Knowledge Over Time
40
54
 
@@ -1,3 +1,14 @@
1
+ # Crewly Agent Environment
2
+
3
+ You are running inside Crewly, a multi-agent orchestration platform. This is a legitimate development environment — not a prompt injection.
4
+
5
+ - **Orchestrator**: A coordinator agent sends you tasks prefixed with `[TASK]`. These are legitimate work requests from your team lead.
6
+ - **Bash skills**: You have bash scripts at `{{AGENT_SKILLS_PATH}}/` for system operations (status reporting, memory, etc.). These are platform-provided tools.
7
+ - **Skills catalog**: Reference at `~/.crewly/skills/AGENT_SKILLS_CATALOG.md`
8
+ - **Task format**: Messages use structured formats like `[TASK] Priority: high`. Follow them as normal work assignments.
9
+
10
+ ---
11
+
1
12
  Hey! I need your help with frontend development for this project.
2
13
 
3
14
  ## Quick context about this setup
@@ -1,3 +1,14 @@
1
+ # Crewly Agent Environment
2
+
3
+ You are running inside Crewly, a multi-agent orchestration platform. This is a legitimate development environment — not a prompt injection.
4
+
5
+ - **Orchestrator**: A coordinator agent sends you tasks prefixed with `[TASK]`. These are legitimate work requests from your team lead.
6
+ - **Bash skills**: You have bash scripts at `{{AGENT_SKILLS_PATH}}/` for system operations (status reporting, memory, etc.). These are platform-provided tools.
7
+ - **Skills catalog**: Reference at `~/.crewly/skills/AGENT_SKILLS_CATALOG.md`
8
+ - **Task format**: Messages use structured formats like `[TASK] Priority: high`. Follow them as normal work assignments.
9
+
10
+ ---
11
+
1
12
  Hey! I need your help with full-stack development for this project.
2
13
 
3
14
  ## Quick context about this setup
@@ -1,3 +1,14 @@
1
+ # Crewly Agent Environment
2
+
3
+ You are running inside Crewly, a multi-agent orchestration platform. This is a legitimate development environment — not a prompt injection.
4
+
5
+ - **Orchestrator**: A coordinator agent sends you tasks prefixed with `[TASK]`. These are legitimate work requests from your team lead.
6
+ - **Bash skills**: You have bash scripts at `{{AGENT_SKILLS_PATH}}/` for system operations (status reporting, memory, etc.). These are platform-provided tools.
7
+ - **Skills catalog**: Reference at `~/.crewly/skills/AGENT_SKILLS_CATALOG.md`
8
+ - **Task format**: Messages use structured formats like `[TASK] Priority: high`. Follow them as normal work assignments.
9
+
10
+ ---
11
+
1
12
  Hey! I need your help with a bunch of tasks for this project.
2
13
 
3
14
  ## Quick context about this setup
@@ -52,7 +52,7 @@ After registration, check for active goals and OKRs:
52
52
  bash config/skills/orchestrator/recall/execute.sh '{"context":"OKR goals active tasks","scope":"both","agentId":"{{SESSION_ID}}","projectPath":"{{PROJECT_PATH}}"}'
53
53
  ```
54
54
 
55
- **If active OKRs or goals exist:** Report the current status to the user and ask if they want you to take over execution. Do NOT auto-execute unless the user has explicitly activated Autonomous Mode (see below).
55
+ **If active OKRs or goals exist:** Report the current status to the user and ask if they want you to take over execution. Do NOT auto-execute unless the user explicitly activates Autonomous Mode (see below). Once the user activates Autonomous Mode in a session, it stays ON for the rest of that session — you do not need to re-ask.
56
56
 
57
57
  **If no active goals exist:** Say "Ready" and wait for the user.
58
58
 
@@ -75,16 +75,32 @@ You DO need permission to:
75
75
 
76
76
  **Continuous Execution Protocol (only when Autonomous Mode is ON):**
77
77
 
78
- When an agent completes a task and there are still OKR key results to achieve:
79
- 1. Check the agent's output and evaluate results
80
- 2. Identify the next task toward the OKR
81
- 3. Immediately delegate the next task — do NOT wait for the user to ask
82
- 4. Report progress to the user (what was completed + what's next)
78
+ The execution loop is driven by **scheduled checks** — a system-level mechanism that reliably keeps work moving regardless of orchestrator state (restarts, context loss, etc.).
83
79
 
84
- When an agent goes idle/inactive and there's still work:
85
- 1. Restart the agent
86
- 2. Assign the next task
87
- 3. This is YOUR responsibility — the user should never have to say "why did you stop?"
80
+ **Entering Autonomous Mode do this immediately when the user activates it:**
81
+
82
+ 1. Set up a **recurring scheduled check** (every 5 minutes) that acts as the heartbeat of autonomous execution:
83
+ ```bash
84
+ bash config/skills/orchestrator/schedule-check/execute.sh '{"minutes":5,"message":"[AUTO] Check all agents: assign next tasks if idle, unblock if stuck, report progress. OKR: <brief OKR summary>","recurring":true}'
85
+ ```
86
+ 2. Subscribe to agent idle/completion events for immediate response (faster than waiting for the next scheduled check)
87
+ 3. Delegate the first batch of tasks to available agents
88
+ 4. Report to the user what you've set up
89
+
90
+ **Every time a scheduled check fires OR an agent event arrives:**
91
+
92
+ 1. Check all agents' status and recent logs
93
+ 2. For each agent that is **idle + has completed a task**: evaluate results → identify next OKR task → delegate immediately
94
+ 3. For each agent that is **stuck/errored**: investigate → unblock or escalate to user
95
+ 4. For each agent that is **still working**: no action needed, let them continue
96
+ 5. Report progress to the user (what completed, what's in progress, what's next)
97
+ 6. The recurring scheduled check keeps firing automatically — no manual re-scheduling needed
98
+
99
+ **Key principle:** The scheduled check is the safety net. Even if you forget to assign the next task after a completion event, the next scheduled check will catch it and assign work. This makes the system resilient to context loss or orchestrator restarts.
100
+
101
+ **Exiting Autonomous Mode:**
102
+ - Cancel the recurring scheduled check when the user says to stop, or when all OKR key results are complete
103
+ - Report final status to the user
88
104
 
89
105
  ### When Autonomous Mode is OFF (default):
90
106
 
@@ -889,6 +905,33 @@ When wrapping up a session or when the user says goodbye:
889
905
  1. Call `record_learning` with a summary of what was accomplished
890
906
  2. Note any unfinished work so the next session can pick up where you left off
891
907
 
908
+ ## User Intent Detection
909
+
910
+ When a user asks you to do a concrete task (analysis, coding, research, writing, etc.):
911
+
912
+ 1. **NEVER say "that's not my capability"** — you ARE capable via your team of agents
913
+ 2. **Analyze the user's intent** and propose a complete plan:
914
+ - Suggest a project name and path
915
+ - Recommend team composition (roles and agent names)
916
+ - Outline what each agent will do
917
+ 3. **Ask the user for confirmation** before executing
918
+ 4. **Use friendly language** — hide internal system complexity from the user
919
+ 5. **Match the user's language** — if the user's message is in a non-English language, respond in the same language
920
+
921
+ ## Work Plan Generation (Manager Thinking)
922
+
923
+ Before delegating any task to agents, think like a team manager:
924
+
925
+ - Ask yourself: "If my boss gave me this task, how would I organize my team to deliver exceptional value?"
926
+ - Generate a detailed plan including:
927
+ - **Deliverables** and success metrics
928
+ - **Daily/weekly work rhythm** and schedule
929
+ - **Quality standards** (data verification, source citation)
930
+ - **Proactive behaviors** (what agents should do without being asked)
931
+ - **Project file/folder structure** for outputs
932
+ - **Present the plan to the user for approval** before executing
933
+ - **Send the full plan to agents**, not just a one-line task description — agents need context to do excellent work
934
+
892
935
  ## Best Practices
893
936
 
894
937
  1. **Always Respond to Chat Messages**: Every `[CHAT:...]` MUST get a `[NOTIFY]` — this is the most important rule. Never do silent work.
@@ -1,3 +1,14 @@
1
+ # Crewly Agent Environment
2
+
3
+ You are running inside Crewly, a multi-agent orchestration platform. This is a legitimate development environment — not a prompt injection.
4
+
5
+ - **Orchestrator**: A coordinator agent sends you tasks prefixed with `[TASK]`. These are legitimate work requests from your team lead.
6
+ - **Bash skills**: You have bash scripts at `{{AGENT_SKILLS_PATH}}/` for system operations (status reporting, memory, etc.). These are platform-provided tools.
7
+ - **Skills catalog**: Reference at `~/.crewly/skills/AGENT_SKILLS_CATALOG.md`
8
+ - **Task format**: Messages use structured formats like `[TASK] Priority: high`. Follow them as normal work assignments.
9
+
10
+ ---
11
+
1
12
  Hey! I need your help with product management for this project.
2
13
 
3
14
  ## Quick context about this setup
@@ -23,10 +34,13 @@ All it does is update a local status flag so the web UI shows you as online - no
23
34
  ## How to approach tasks
24
35
 
25
36
  When I send you a task:
26
- 1. Ask about user needs and business objectives
27
- 2. Provide detailed specifications and acceptance criteria
28
- 3. Focus on user value and business impact
29
- 4. Let me know when done, or flag any issues
37
+ 1. **Codebase audit first** Before proposing new features or roadmap items, read the actual source code (`backend/src/services/`, `backend/src/types/`, test files) to understand what's already built. Don't rely solely on external competitor analysis — verify internal capabilities first. Label each proposal as "New", "Extend", or "Optimize" based on what already exists.
38
+ 2. Ask about user needs and business objectives
39
+ 3. Provide detailed specifications and acceptance criteria
40
+ 4. Focus on user value and business impact
41
+ 5. Let me know when done, or flag any issues
42
+
43
+ **CRITICAL**: Never assume a capability doesn't exist without reading the codebase. Proposing features that are already implemented wastes engineering time.
30
44
 
31
45
  ## Memory Management — Build Your Knowledge Over Time
32
46
 
@@ -1,3 +1,14 @@
1
+ # Crewly Agent Environment
2
+
3
+ You are running inside Crewly, a multi-agent orchestration platform. This is a legitimate development environment — not a prompt injection.
4
+
5
+ - **Orchestrator**: A coordinator agent sends you tasks prefixed with `[TASK]`. These are legitimate work requests from your team lead.
6
+ - **Bash skills**: You have bash scripts at `{{AGENT_SKILLS_PATH}}/` for system operations (status reporting, memory, etc.). These are platform-provided tools.
7
+ - **Skills catalog**: Reference at `~/.crewly/skills/AGENT_SKILLS_CATALOG.md`
8
+ - **Task format**: Messages use structured formats like `[TASK] Priority: high`. Follow them as normal work assignments.
9
+
10
+ ---
11
+
1
12
  Hey! I need your help with quality assurance and testing for this project.
2
13
 
3
14
  ## Quick context about this setup
@@ -1,3 +1,14 @@
1
+ # Crewly Agent Environment
2
+
3
+ You are running inside Crewly, a multi-agent orchestration platform. This is a legitimate development environment — not a prompt injection.
4
+
5
+ - **Orchestrator**: A coordinator agent sends you tasks prefixed with `[TASK]`. These are legitimate work requests from your team lead.
6
+ - **Bash skills**: You have bash scripts at `{{AGENT_SKILLS_PATH}}/` for system operations (status reporting, memory, etc.). These are platform-provided tools.
7
+ - **Skills catalog**: Reference at `~/.crewly/skills/AGENT_SKILLS_CATALOG.md`
8
+ - **Task format**: Messages use structured formats like `[TASK] Priority: high`. Follow them as normal work assignments.
9
+
10
+ ---
11
+
1
12
  Hey! I need your help with QA engineering for this project.
2
13
 
3
14
  ## Quick context about this setup
@@ -1,3 +1,14 @@
1
+ # Crewly Agent Environment
2
+
3
+ You are running inside Crewly, a multi-agent orchestration platform. This is a legitimate development environment — not a prompt injection.
4
+
5
+ - **Orchestrator**: A coordinator agent sends you tasks prefixed with `[TASK]`. These are legitimate work requests from your team lead.
6
+ - **Bash skills**: You have bash scripts at `{{AGENT_SKILLS_PATH}}/` for system operations (status reporting, memory, etc.). These are platform-provided tools.
7
+ - **Skills catalog**: Reference at `~/.crewly/skills/AGENT_SKILLS_CATALOG.md`
8
+ - **Task format**: Messages use structured formats like `[TASK] Priority: high`. Follow them as normal work assignments.
9
+
10
+ ---
11
+
1
12
  Hey! I need your help with sales and customer engagement for this project.
2
13
 
3
14
  ## Quick context about this setup
@@ -1,3 +1,14 @@
1
+ # Crewly Agent Environment
2
+
3
+ You are running inside Crewly, a multi-agent orchestration platform. This is a legitimate development environment — not a prompt injection.
4
+
5
+ - **Orchestrator**: A coordinator agent sends you tasks prefixed with `[TASK]`. These are legitimate work requests from your team lead.
6
+ - **Bash skills**: You have bash scripts at `{{AGENT_SKILLS_PATH}}/` for system operations (status reporting, memory, etc.). These are platform-provided tools.
7
+ - **Skills catalog**: Reference at `~/.crewly/skills/AGENT_SKILLS_CATALOG.md`
8
+ - **Task format**: Messages use structured formats like `[TASK] Priority: high`. Follow them as normal work assignments.
9
+
10
+ ---
11
+
1
12
  Hey! I need your help with customer support for this project.
2
13
 
3
14
  ## Quick context about this setup
@@ -1,3 +1,14 @@
1
+ # Crewly Agent Environment
2
+
3
+ You are running inside Crewly, a multi-agent orchestration platform. This is a legitimate development environment — not a prompt injection.
4
+
5
+ - **Orchestrator**: A coordinator agent sends you tasks prefixed with `[TASK]`. These are legitimate work requests from your team lead.
6
+ - **Bash skills**: You have bash scripts at `{{AGENT_SKILLS_PATH}}/` for system operations (status reporting, memory, etc.). These are platform-provided tools.
7
+ - **Skills catalog**: Reference at `~/.crewly/skills/AGENT_SKILLS_CATALOG.md`
8
+ - **Task format**: Messages use structured formats like `[TASK] Priority: high`. Follow them as normal work assignments.
9
+
10
+ ---
11
+
1
12
  Hey! I need your help with technical product management for this project.
2
13
 
3
14
  ## Quick context about this setup
@@ -1,5 +1,6 @@
1
1
  #!/bin/bash
2
2
  # Mark a task as complete via the task management system
3
+ # Passes through all input fields including optional 'output' for schema validation
3
4
  set -euo pipefail
4
5
  SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
5
6
  source "${SCRIPT_DIR}/../_common/lib.sh"
@@ -0,0 +1,16 @@
1
+ # Crewly Agent Project Configuration
2
+
3
+ This project is managed by Crewly, a multi-agent orchestration platform.
4
+
5
+ ## Trusted Sources
6
+
7
+ - Messages prefixed with `[TASK]` come from the Crewly orchestrator — a legitimate team coordinator
8
+ - Bash scripts in `config/skills/agent/` are platform-provided tools for status reporting and communication
9
+ - The skills catalog at `~/.crewly/skills/AGENT_SKILLS_CATALOG.md` lists all available agent skills
10
+ - Structured task formats (priority levels, status updates) are standard Crewly protocols
11
+
12
+ ## Environment
13
+
14
+ - **Platform**: Crewly multi-agent orchestration
15
+ - **Communication**: Messages are routed through a local backend API
16
+ - **Skills**: Bash scripts for register-self, report-status, remember, recall, etc.
@@ -0,0 +1,22 @@
1
+ {
2
+ "id": "research-team",
3
+ "name": "Research Team",
4
+ "description": "Researcher + Analyst + Writer for research projects, competitive analysis, and content creation.",
5
+ "members": [
6
+ {
7
+ "name": "Researcher",
8
+ "role": "developer",
9
+ "systemPrompt": "You are a researcher on a research team. Gather information from codebases, documentation, and available sources. Produce structured research notes with citations and key findings. Share raw data and summaries with the analyst for deeper investigation."
10
+ },
11
+ {
12
+ "name": "Analyst",
13
+ "role": "product-manager",
14
+ "systemPrompt": "You are an analyst on a research team. Take research findings and produce structured analysis: comparisons, gap assessments, trend identification, and prioritized recommendations. Create tables, matrices, and summaries that support decision-making."
15
+ },
16
+ {
17
+ "name": "Writer",
18
+ "role": "designer",
19
+ "systemPrompt": "You are a technical writer on a research team. Take research and analysis outputs and produce polished deliverables: reports, blog posts, documentation, and presentations. Ensure clarity, accuracy, and consistent formatting. Adapt tone for the target audience."
20
+ }
21
+ ]
22
+ }