@desplega.ai/agent-swarm 1.10.8 → 1.49.0

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 (846) hide show
  1. package/.claude/settings.json +84 -0
  2. package/.claude/settings.local.json +17 -2
  3. package/.entire/settings.json +4 -0
  4. package/.env.docker.example +44 -21
  5. package/.env.example +53 -1
  6. package/.github/ISSUE_TEMPLATE/bug_report.yml +78 -0
  7. package/.github/ISSUE_TEMPLATE/community-template.yml +77 -0
  8. package/.github/ISSUE_TEMPLATE/config.yml +8 -0
  9. package/.github/ISSUE_TEMPLATE/feature_request.yml +60 -0
  10. package/.github/PULL_REQUEST_TEMPLATE/community-template.md +29 -0
  11. package/.github/workflows/ci.yml +3 -27
  12. package/.github/workflows/docker-and-deploy.yml +42 -27
  13. package/.github/workflows/merge-gate.yml +233 -0
  14. package/.opencode/plugins/entire.ts +133 -0
  15. package/.superset/config.json +6 -0
  16. package/.wts-config.json +4 -0
  17. package/.wts-setup.ts +171 -0
  18. package/CHANGELOG.md +447 -0
  19. package/CLAUDE.md +493 -83
  20. package/CONTRIBUTING.md +46 -1
  21. package/DEPLOYMENT.md +249 -18
  22. package/Dockerfile +15 -7
  23. package/Dockerfile.worker +99 -50
  24. package/MCP.md +594 -2
  25. package/README.md +288 -111
  26. package/api-entrypoint.sh +56 -0
  27. package/depot.json +1 -0
  28. package/docker-compose.example.yml +219 -5
  29. package/docker-compose.local.yml +119 -0
  30. package/docker-entrypoint.sh +407 -56
  31. package/docs-site/app/api/search/route.ts +4 -0
  32. package/docs-site/app/docs/[[...slug]]/page.tsx +87 -0
  33. package/docs-site/app/docs/layout.tsx +12 -0
  34. package/docs-site/app/globals.css +24 -0
  35. package/docs-site/app/layout.config.tsx +34 -0
  36. package/docs-site/app/layout.tsx +119 -0
  37. package/docs-site/app/llms-full.txt/route.ts +11 -0
  38. package/docs-site/app/llms.mdx/docs/[[...slug]]/route.ts +24 -0
  39. package/docs-site/app/llms.txt/route.ts +8 -0
  40. package/docs-site/app/page.tsx +5 -0
  41. package/docs-site/app/robots.ts +13 -0
  42. package/docs-site/app/sitemap.ts +37 -0
  43. package/docs-site/components/api-page.client.tsx +4 -0
  44. package/docs-site/components/api-page.tsx +7 -0
  45. package/docs-site/components/mdx/mermaid.tsx +55 -0
  46. package/docs-site/content/docs/(documentation)/architecture/agents.mdx +117 -0
  47. package/docs-site/content/docs/(documentation)/architecture/hooks.mdx +77 -0
  48. package/docs-site/content/docs/(documentation)/architecture/memory.mdx +96 -0
  49. package/docs-site/content/docs/(documentation)/architecture/meta.json +4 -0
  50. package/docs-site/content/docs/(documentation)/architecture/overview.mdx +172 -0
  51. package/docs-site/content/docs/(documentation)/concepts/epics.mdx +98 -0
  52. package/docs-site/content/docs/(documentation)/concepts/meta.json +4 -0
  53. package/docs-site/content/docs/(documentation)/concepts/scheduling.mdx +136 -0
  54. package/docs-site/content/docs/(documentation)/concepts/services.mdx +104 -0
  55. package/docs-site/content/docs/(documentation)/concepts/task-lifecycle.mdx +148 -0
  56. package/docs-site/content/docs/(documentation)/concepts/workflows.mdx +209 -0
  57. package/docs-site/content/docs/(documentation)/contributing.mdx +158 -0
  58. package/docs-site/content/docs/(documentation)/getting-started.mdx +157 -0
  59. package/docs-site/content/docs/(documentation)/guides/agentmail-integration.mdx +79 -0
  60. package/docs-site/content/docs/(documentation)/guides/deployment.mdx +171 -0
  61. package/docs-site/content/docs/(documentation)/guides/github-integration.mdx +81 -0
  62. package/docs-site/content/docs/(documentation)/guides/gitlab-integration.mdx +93 -0
  63. package/docs-site/content/docs/(documentation)/guides/linear-integration.mdx +98 -0
  64. package/docs-site/content/docs/(documentation)/guides/meta.json +13 -0
  65. package/docs-site/content/docs/(documentation)/guides/sentry-integration.mdx +52 -0
  66. package/docs-site/content/docs/(documentation)/guides/slack-integration.mdx +179 -0
  67. package/docs-site/content/docs/(documentation)/guides/x402-payments.mdx +154 -0
  68. package/docs-site/content/docs/(documentation)/index.mdx +65 -0
  69. package/docs-site/content/docs/(documentation)/meta.json +19 -0
  70. package/docs-site/content/docs/(documentation)/reference/cli.mdx +241 -0
  71. package/docs-site/content/docs/(documentation)/reference/environment-variables.mdx +205 -0
  72. package/docs-site/content/docs/(documentation)/reference/mcp-tools.mdx +449 -0
  73. package/docs-site/content/docs/(documentation)/reference/meta.json +4 -0
  74. package/docs-site/content/docs/api-reference/active-sessions.mdx +9 -0
  75. package/docs-site/content/docs/api-reference/agents.mdx +9 -0
  76. package/docs-site/content/docs/api-reference/channels.mdx +9 -0
  77. package/docs-site/content/docs/api-reference/config.mdx +9 -0
  78. package/docs-site/content/docs/api-reference/debug.mdx +9 -0
  79. package/docs-site/content/docs/api-reference/ecosystem.mdx +9 -0
  80. package/docs-site/content/docs/api-reference/epics.mdx +9 -0
  81. package/docs-site/content/docs/api-reference/index.mdx +32 -0
  82. package/docs-site/content/docs/api-reference/memory.mdx +9 -0
  83. package/docs-site/content/docs/api-reference/meta.json +25 -0
  84. package/docs-site/content/docs/api-reference/poll.mdx +9 -0
  85. package/docs-site/content/docs/api-reference/repos.mdx +9 -0
  86. package/docs-site/content/docs/api-reference/schedules.mdx +9 -0
  87. package/docs-site/content/docs/api-reference/session-data.mdx +9 -0
  88. package/docs-site/content/docs/api-reference/stats.mdx +9 -0
  89. package/docs-site/content/docs/api-reference/tasks.mdx +9 -0
  90. package/docs-site/content/docs/api-reference/trackers.mdx +9 -0
  91. package/docs-site/content/docs/api-reference/webhooks.mdx +9 -0
  92. package/docs-site/content/docs/api-reference/workflows.mdx +9 -0
  93. package/docs-site/content/docs/meta.json +3 -0
  94. package/docs-site/lib/get-llm-text.ts +10 -0
  95. package/docs-site/lib/openapi.ts +23 -0
  96. package/docs-site/lib/source.ts +8 -0
  97. package/docs-site/mdx-components.tsx +13 -0
  98. package/docs-site/next.config.mjs +29 -0
  99. package/docs-site/package.json +35 -0
  100. package/docs-site/pnpm-lock.yaml +5407 -0
  101. package/docs-site/postcss.config.mjs +8 -0
  102. package/docs-site/scripts/generate-docs.ts +171 -0
  103. package/docs-site/source.config.ts +17 -0
  104. package/docs-site/tsconfig.json +46 -0
  105. package/ecosystem.config.cjs +66 -0
  106. package/landing/next.config.ts +14 -0
  107. package/landing/package.json +31 -0
  108. package/landing/pnpm-lock.yaml +1091 -0
  109. package/landing/postcss.config.mjs +8 -0
  110. package/landing/public/apple-touch-icon.png +0 -0
  111. package/landing/public/favicon.ico +0 -0
  112. package/landing/public/logo.png +0 -0
  113. package/landing/public/og-image.png +0 -0
  114. package/landing/public/omghost-desplega.svg +30 -0
  115. package/landing/public/omghost-openfort.svg +9 -0
  116. package/landing/src/app/actions/waitlist.ts +25 -0
  117. package/landing/src/app/blog/openfort-hackathon/page.tsx +863 -0
  118. package/landing/src/app/blog/page.tsx +162 -0
  119. package/landing/src/app/blog/swarm-metrics/page.tsx +685 -0
  120. package/landing/src/app/examples/page.tsx +174 -0
  121. package/landing/src/app/examples/x402/page.tsx +456 -0
  122. package/landing/src/app/globals.css +122 -0
  123. package/landing/src/app/layout.tsx +134 -0
  124. package/landing/src/app/page.tsx +27 -0
  125. package/landing/src/app/robots.ts +13 -0
  126. package/landing/src/app/sitemap.ts +44 -0
  127. package/landing/src/components/architecture.tsx +163 -0
  128. package/landing/src/components/cta.tsx +52 -0
  129. package/landing/src/components/features.tsx +160 -0
  130. package/landing/src/components/footer.tsx +100 -0
  131. package/landing/src/components/hero.tsx +217 -0
  132. package/landing/src/components/how-it-works.tsx +165 -0
  133. package/landing/src/components/navbar.tsx +147 -0
  134. package/landing/src/components/waitlist.tsx +110 -0
  135. package/landing/src/components/why-choose.tsx +149 -0
  136. package/landing/src/components/workshops.tsx +328 -0
  137. package/landing/src/lib/utils.ts +6 -0
  138. package/landing/tsconfig.json +41 -0
  139. package/misc/transcripts/2026-03-09-pi-mono-e2e-verification.md +154 -0
  140. package/new-ui/CLAUDE.md +92 -0
  141. package/new-ui/README.md +73 -0
  142. package/new-ui/biome.json +42 -0
  143. package/new-ui/components.json +21 -0
  144. package/new-ui/index.html +25 -0
  145. package/new-ui/package.json +49 -0
  146. package/new-ui/pnpm-lock.yaml +4845 -0
  147. package/new-ui/public/logo.png +0 -0
  148. package/new-ui/src/api/client.ts +814 -0
  149. package/new-ui/src/api/hooks/index.ts +64 -0
  150. package/new-ui/src/api/hooks/use-agents.ts +58 -0
  151. package/new-ui/src/api/hooks/use-channels.ts +115 -0
  152. package/new-ui/src/api/hooks/use-config-api.ts +46 -0
  153. package/new-ui/src/api/hooks/use-costs.ts +122 -0
  154. package/new-ui/src/api/hooks/use-db-query.ts +29 -0
  155. package/new-ui/src/api/hooks/use-epics.ts +75 -0
  156. package/new-ui/src/api/hooks/use-repos.ts +61 -0
  157. package/new-ui/src/api/hooks/use-schedules.ts +81 -0
  158. package/new-ui/src/api/hooks/use-services.ts +16 -0
  159. package/new-ui/src/api/hooks/use-stats.ts +27 -0
  160. package/new-ui/src/api/hooks/use-tasks.ts +89 -0
  161. package/new-ui/src/api/hooks/use-workflows.ts +109 -0
  162. package/new-ui/src/api/types.ts +549 -0
  163. package/new-ui/src/app/App.tsx +13 -0
  164. package/new-ui/src/app/providers.tsx +32 -0
  165. package/new-ui/src/app/router.tsx +52 -0
  166. package/new-ui/src/components/layout/app-header.tsx +47 -0
  167. package/new-ui/src/components/layout/app-sidebar.tsx +128 -0
  168. package/new-ui/src/components/layout/breadcrumbs.tsx +57 -0
  169. package/new-ui/src/components/layout/config-guard.tsx +22 -0
  170. package/new-ui/src/components/layout/root-layout.tsx +40 -0
  171. package/new-ui/src/components/layout/swarm-switcher.tsx +85 -0
  172. package/new-ui/src/components/shared/command-menu.tsx +131 -0
  173. package/new-ui/src/components/shared/data-grid.tsx +141 -0
  174. package/new-ui/src/components/shared/empty-state.tsx +24 -0
  175. package/new-ui/src/components/shared/error-boundary.tsx +72 -0
  176. package/new-ui/src/components/shared/json-viewer.tsx +47 -0
  177. package/new-ui/src/components/shared/name-connection-modal.tsx +99 -0
  178. package/new-ui/src/components/shared/page-skeleton.tsx +16 -0
  179. package/new-ui/src/components/shared/session-log-viewer.tsx +364 -0
  180. package/new-ui/src/components/shared/stats-bar.tsx +132 -0
  181. package/new-ui/src/components/shared/status-badge.tsx +131 -0
  182. package/new-ui/src/components/shared/usage-summary.tsx +179 -0
  183. package/new-ui/src/components/ui/alert-dialog.tsx +176 -0
  184. package/new-ui/src/components/ui/alert.tsx +60 -0
  185. package/new-ui/src/components/ui/avatar.tsx +96 -0
  186. package/new-ui/src/components/ui/badge.tsx +46 -0
  187. package/new-ui/src/components/ui/button.tsx +62 -0
  188. package/new-ui/src/components/ui/card.tsx +75 -0
  189. package/new-ui/src/components/ui/command.tsx +160 -0
  190. package/new-ui/src/components/ui/dialog.tsx +143 -0
  191. package/new-ui/src/components/ui/dropdown-menu.tsx +226 -0
  192. package/new-ui/src/components/ui/input.tsx +21 -0
  193. package/new-ui/src/components/ui/label.tsx +19 -0
  194. package/new-ui/src/components/ui/progress.tsx +26 -0
  195. package/new-ui/src/components/ui/scroll-area.tsx +54 -0
  196. package/new-ui/src/components/ui/select.tsx +175 -0
  197. package/new-ui/src/components/ui/separator.tsx +28 -0
  198. package/new-ui/src/components/ui/sheet.tsx +132 -0
  199. package/new-ui/src/components/ui/sidebar.tsx +691 -0
  200. package/new-ui/src/components/ui/skeleton.tsx +13 -0
  201. package/new-ui/src/components/ui/sonner.tsx +35 -0
  202. package/new-ui/src/components/ui/switch.tsx +33 -0
  203. package/new-ui/src/components/ui/table.tsx +92 -0
  204. package/new-ui/src/components/ui/tabs.tsx +79 -0
  205. package/new-ui/src/components/ui/textarea.tsx +18 -0
  206. package/new-ui/src/components/ui/tooltip.tsx +51 -0
  207. package/new-ui/src/components/workflows/action-node.tsx +53 -0
  208. package/new-ui/src/components/workflows/condition-node.tsx +50 -0
  209. package/new-ui/src/components/workflows/graph-utils.ts +124 -0
  210. package/new-ui/src/components/workflows/json-tree.tsx +189 -0
  211. package/new-ui/src/components/workflows/node-styles.ts +10 -0
  212. package/new-ui/src/components/workflows/step-detail-sheet.tsx +87 -0
  213. package/new-ui/src/components/workflows/trigger-node.tsx +41 -0
  214. package/new-ui/src/components/workflows/workflow-graph.tsx +65 -0
  215. package/{ui/src/hooks/useAutoScroll.ts → new-ui/src/hooks/use-auto-scroll.ts} +37 -10
  216. package/new-ui/src/hooks/use-config.ts +203 -0
  217. package/new-ui/src/hooks/use-keyboard-shortcuts.ts +41 -0
  218. package/new-ui/src/hooks/use-mobile.ts +19 -0
  219. package/new-ui/src/hooks/use-theme.ts +60 -0
  220. package/new-ui/src/lib/config.ts +188 -0
  221. package/new-ui/src/lib/slugs.ts +71 -0
  222. package/new-ui/src/lib/utils.ts +120 -0
  223. package/new-ui/src/main.tsx +11 -0
  224. package/new-ui/src/pages/agents/[id]/page.tsx +492 -0
  225. package/new-ui/src/pages/agents/page.tsx +134 -0
  226. package/new-ui/src/pages/chat/page.tsx +674 -0
  227. package/new-ui/src/pages/config/page.tsx +1109 -0
  228. package/new-ui/src/pages/dashboard/page.tsx +454 -0
  229. package/new-ui/src/pages/debug/page.tsx +275 -0
  230. package/new-ui/src/pages/epics/[id]/page.tsx +809 -0
  231. package/new-ui/src/pages/epics/page.tsx +321 -0
  232. package/new-ui/src/pages/not-found/page.tsx +18 -0
  233. package/new-ui/src/pages/repos/page.tsx +369 -0
  234. package/new-ui/src/pages/schedules/[id]/page.tsx +664 -0
  235. package/new-ui/src/pages/schedules/page.tsx +477 -0
  236. package/new-ui/src/pages/services/page.tsx +128 -0
  237. package/new-ui/src/pages/tasks/[id]/page.tsx +670 -0
  238. package/new-ui/src/pages/tasks/page.tsx +592 -0
  239. package/new-ui/src/pages/usage/page.tsx +195 -0
  240. package/new-ui/src/pages/workflow-runs/[id]/page.tsx +363 -0
  241. package/new-ui/src/pages/workflows/[id]/page.tsx +417 -0
  242. package/new-ui/src/pages/workflows/page.tsx +266 -0
  243. package/new-ui/src/styles/ag-grid.css +36 -0
  244. package/new-ui/src/styles/globals.css +213 -0
  245. package/new-ui/test-results/.last-run.json +4 -0
  246. package/{ui/tsconfig.json → new-ui/tsconfig.app.json} +7 -4
  247. package/new-ui/tsconfig.json +4 -0
  248. package/new-ui/tsconfig.node.json +26 -0
  249. package/new-ui/vercel.json +4 -0
  250. package/new-ui/vite.config.ts +28 -0
  251. package/openapi.json +4436 -0
  252. package/package.json +41 -8
  253. package/plugin/build-pi-skills.ts +233 -0
  254. package/plugin/commands/close-issue.md +90 -0
  255. package/plugin/commands/create-pr.md +99 -0
  256. package/plugin/commands/implement-issue.md +135 -0
  257. package/plugin/commands/investigate-sentry-issue.md +138 -0
  258. package/plugin/commands/respond-github.md +98 -0
  259. package/plugin/commands/review-pr.md +261 -0
  260. package/plugin/commands/start-leader.md +33 -15
  261. package/plugin/commands/start-worker.md +1 -3
  262. package/plugin/commands/swarm-chat.md +4 -0
  263. package/plugin/commands/work-on-task.md +34 -6
  264. package/plugin/pi-skills/close-issue/SKILL.md +90 -0
  265. package/plugin/pi-skills/create-pr/SKILL.md +99 -0
  266. package/plugin/pi-skills/implement-issue/SKILL.md +135 -0
  267. package/plugin/pi-skills/investigate-sentry-issue/SKILL.md +138 -0
  268. package/plugin/pi-skills/respond-github/SKILL.md +98 -0
  269. package/plugin/pi-skills/review-offered-task/SKILL.md +45 -0
  270. package/plugin/pi-skills/review-pr/SKILL.md +261 -0
  271. package/plugin/pi-skills/start-leader/SKILL.md +121 -0
  272. package/plugin/pi-skills/start-worker/SKILL.md +60 -0
  273. package/plugin/pi-skills/swarm-chat/SKILL.md +82 -0
  274. package/plugin/pi-skills/todos/SKILL.md +66 -0
  275. package/plugin/pi-skills/work-on-task/SKILL.md +65 -0
  276. package/plugin/skills/artifacts/examples/approval-flow.ts +34 -0
  277. package/plugin/skills/artifacts/examples/hono-dashboard.ts +31 -0
  278. package/plugin/skills/artifacts/examples/multi-artifact.ts +20 -0
  279. package/plugin/skills/artifacts/examples/static-report.sh +17 -0
  280. package/plugin/skills/artifacts/skill.md +71 -0
  281. package/prek.toml +75 -0
  282. package/scripts/check-db-boundary.sh +60 -0
  283. package/scripts/e2e-docker-provider.ts +820 -0
  284. package/scripts/e2e-io-schemas-test.ts +807 -0
  285. package/scripts/e2e-provider-test.ts +220 -0
  286. package/scripts/e2e-workflow-redesign.sh +229 -0
  287. package/scripts/e2e-workflow-test.sh +285 -0
  288. package/scripts/e2e-workflow-test.ts +857 -0
  289. package/scripts/generate-mcp-docs.ts +4 -4
  290. package/scripts/generate-openapi.ts +26 -0
  291. package/scripts/measure-tool-tokens.ts +118 -0
  292. package/scripts/x402-e2e-test.ts +195 -0
  293. package/scripts/x402-test-server.ts +236 -0
  294. package/scripts/x402-testnet-e2e.ts +668 -0
  295. package/slack-manifest.json +19 -0
  296. package/src/agentmail/app.ts +65 -0
  297. package/src/agentmail/handlers.ts +207 -0
  298. package/src/agentmail/index.ts +9 -0
  299. package/src/agentmail/types.ts +51 -0
  300. package/src/artifact-sdk/browser-sdk.ts +30 -0
  301. package/src/artifact-sdk/index.ts +2 -0
  302. package/src/artifact-sdk/localtunnel.d.ts +20 -0
  303. package/src/artifact-sdk/port.ts +12 -0
  304. package/src/artifact-sdk/server.ts +156 -0
  305. package/src/artifact-sdk/tunnel.ts +19 -0
  306. package/src/be/chunking.ts +193 -0
  307. package/src/be/db-queries/oauth.ts +90 -0
  308. package/src/be/db-queries/tracker.ts +182 -0
  309. package/src/be/db.ts +4469 -381
  310. package/src/be/embedding.ts +80 -0
  311. package/src/be/migrations/001_initial.sql +409 -0
  312. package/src/be/migrations/002_one_time_schedules.sql +59 -0
  313. package/src/be/migrations/003_workflows.sql +51 -0
  314. package/src/be/migrations/004_workflow_source.sql +81 -0
  315. package/src/be/migrations/005_epic_next_steps.sql +2 -0
  316. package/src/be/migrations/006_vcs_provider.sql +94 -0
  317. package/src/be/migrations/007_task_dir.sql +2 -0
  318. package/src/be/migrations/008_workflow_redesign.sql +85 -0
  319. package/src/be/migrations/009_tracker_integration.sql +144 -0
  320. package/src/be/migrations/010_step_diagnostics.sql +1 -0
  321. package/src/be/migrations/011_step_next_port.sql +1 -0
  322. package/src/be/migrations/012_trigger_schema.sql +1 -0
  323. package/src/be/migrations/013_task_output_schema.sql +2 -0
  324. package/src/be/migrations/runner.ts +188 -0
  325. package/src/cli.tsx +231 -299
  326. package/src/commands/artifact.ts +241 -0
  327. package/src/commands/onboard/compose-generator.ts +169 -0
  328. package/src/commands/onboard/env-generator.ts +79 -0
  329. package/src/commands/onboard/manifest.ts +37 -0
  330. package/src/commands/onboard/presets.ts +85 -0
  331. package/src/commands/onboard/service-names.ts +47 -0
  332. package/src/commands/onboard/steps/core-credentials.tsx +111 -0
  333. package/src/commands/onboard/steps/custom-templates.tsx +168 -0
  334. package/src/commands/onboard/steps/generate.tsx +154 -0
  335. package/src/commands/onboard/steps/harness-credentials.tsx +195 -0
  336. package/src/commands/onboard/steps/harness.tsx +21 -0
  337. package/src/commands/onboard/steps/health-check.tsx +171 -0
  338. package/src/commands/onboard/steps/integration-github.tsx +105 -0
  339. package/src/commands/onboard/steps/integration-gitlab.tsx +79 -0
  340. package/src/commands/onboard/steps/integration-menu.tsx +58 -0
  341. package/src/commands/onboard/steps/integration-sentry.tsx +79 -0
  342. package/src/commands/onboard/steps/integration-slack.tsx +165 -0
  343. package/src/commands/onboard/steps/post-connect.tsx +145 -0
  344. package/src/commands/onboard/steps/post-dashboard.tsx +34 -0
  345. package/src/commands/onboard/steps/post-task.tsx +103 -0
  346. package/src/commands/onboard/steps/prereq-check.tsx +178 -0
  347. package/src/commands/onboard/steps/review.tsx +82 -0
  348. package/src/commands/onboard/steps/start.tsx +97 -0
  349. package/src/commands/onboard/templates.ts +34 -0
  350. package/src/commands/onboard/types.ts +259 -0
  351. package/src/commands/onboard.tsx +425 -0
  352. package/src/commands/runner.ts +2023 -278
  353. package/src/commands/setup.tsx +23 -38
  354. package/src/commands/shared/client-config.ts +41 -0
  355. package/src/github/app.ts +239 -0
  356. package/src/github/handlers.ts +936 -0
  357. package/src/github/index.ts +32 -0
  358. package/src/github/mentions.test.ts +104 -0
  359. package/src/github/mentions.ts +30 -0
  360. package/src/github/reactions.ts +153 -0
  361. package/src/github/types.ts +157 -0
  362. package/src/gitlab/auth.ts +63 -0
  363. package/src/gitlab/handlers.ts +327 -0
  364. package/src/gitlab/index.ts +19 -0
  365. package/src/gitlab/reactions.ts +104 -0
  366. package/src/gitlab/types.ts +130 -0
  367. package/src/heartbeat/heartbeat.ts +425 -0
  368. package/src/heartbeat/index.ts +1 -0
  369. package/src/hooks/hook.ts +867 -7
  370. package/src/hooks/tool-loop-detection.test.ts +158 -0
  371. package/src/hooks/tool-loop-detection.ts +167 -0
  372. package/src/http/active-sessions.ts +172 -0
  373. package/src/http/agents.ts +328 -0
  374. package/src/http/config.ts +191 -0
  375. package/src/http/core.ts +309 -0
  376. package/src/http/db-query.ts +91 -0
  377. package/src/http/ecosystem.ts +63 -0
  378. package/src/http/epics.ts +460 -0
  379. package/src/http/index.ts +213 -0
  380. package/src/http/mcp.ts +77 -0
  381. package/src/http/memory.ts +168 -0
  382. package/src/http/openapi.ts +109 -0
  383. package/src/http/poll.ts +178 -0
  384. package/src/http/repos.ts +195 -0
  385. package/src/http/route-def.ts +123 -0
  386. package/src/http/schedules.ts +391 -0
  387. package/src/http/session-data.ts +241 -0
  388. package/src/http/stats.ts +174 -0
  389. package/src/http/tasks.ts +468 -0
  390. package/src/http/trackers/index.ts +10 -0
  391. package/src/http/trackers/linear.ts +187 -0
  392. package/src/http/types.ts +12 -0
  393. package/src/http/utils.ts +87 -0
  394. package/src/http/webhooks.ts +432 -0
  395. package/src/http/workflows.ts +522 -0
  396. package/src/http.ts +1 -908
  397. package/src/linear/README.md +65 -0
  398. package/src/linear/app.ts +48 -0
  399. package/src/linear/client.ts +18 -0
  400. package/src/linear/index.ts +1 -0
  401. package/src/linear/oauth.ts +35 -0
  402. package/src/linear/outbound.ts +212 -0
  403. package/src/linear/sync.ts +543 -0
  404. package/src/linear/types.ts +7 -0
  405. package/src/linear/webhook.ts +104 -0
  406. package/src/oauth/README.md +66 -0
  407. package/src/oauth/index.ts +6 -0
  408. package/src/oauth/wrapper.ts +204 -0
  409. package/src/prompts/base-prompt.ts +521 -28
  410. package/src/prompts/defaults.ts +196 -0
  411. package/src/providers/claude-adapter.ts +429 -0
  412. package/src/providers/index.ts +24 -0
  413. package/src/providers/pi-mono-adapter.ts +442 -0
  414. package/src/providers/pi-mono-extension.ts +620 -0
  415. package/src/providers/pi-mono-mcp-client.ts +124 -0
  416. package/src/providers/types.ts +75 -0
  417. package/src/scheduler/index.ts +1 -0
  418. package/src/scheduler/scheduler.test.ts +151 -0
  419. package/src/scheduler/scheduler.ts +321 -0
  420. package/src/server.ts +136 -1
  421. package/src/slack/HEURISTICS.md +105 -0
  422. package/src/slack/actions.ts +133 -0
  423. package/src/slack/app.ts +7 -0
  424. package/src/slack/assistant.ts +115 -0
  425. package/src/slack/blocks.ts +233 -0
  426. package/src/slack/commands.ts +31 -17
  427. package/src/slack/files.ts +302 -0
  428. package/src/slack/handlers.test.ts +278 -0
  429. package/src/slack/handlers.ts +360 -46
  430. package/src/slack/index.ts +15 -0
  431. package/src/slack/responses.ts +120 -59
  432. package/src/slack/router.ts +17 -99
  433. package/src/slack/thread-buffer.ts +213 -0
  434. package/src/slack/watcher.ts +119 -4
  435. package/src/tests/agent-activity.test.ts +247 -0
  436. package/src/tests/agentmail-filters.test.ts +97 -0
  437. package/src/tests/artifact-sdk.test.ts +800 -0
  438. package/src/tests/base-prompt.test.ts +264 -0
  439. package/src/tests/build-pi-skills.test.ts +127 -0
  440. package/src/tests/claude-adapter.test.ts +126 -0
  441. package/src/tests/concurrency.test.ts +213 -0
  442. package/src/tests/context-versioning.test.ts +425 -0
  443. package/src/tests/db-capacity.test.ts +212 -0
  444. package/src/tests/db-queries-oauth.test.ts +197 -0
  445. package/src/tests/db-queries-tracker.test.ts +230 -0
  446. package/src/tests/epics.test.ts +370 -0
  447. package/src/tests/error-tracker.test.ts +368 -0
  448. package/src/tests/fetch-resolved-env.test.ts +167 -0
  449. package/src/tests/generate-default-claude-md.test.ts +98 -0
  450. package/src/tests/generate-identity-templates.test.ts +124 -0
  451. package/src/tests/gitlab-auth.test.ts +109 -0
  452. package/src/tests/gitlab-handlers.test.ts +691 -0
  453. package/src/tests/gitlab-vcs-db.test.ts +177 -0
  454. package/src/tests/heartbeat.test.ts +363 -0
  455. package/src/tests/http-api-integration.test.ts +1698 -0
  456. package/src/tests/linear-outbound-sync.test.ts +200 -0
  457. package/src/tests/linear-webhook.test.ts +402 -0
  458. package/src/tests/match-route.test.ts +187 -0
  459. package/src/tests/memory.test.ts +737 -0
  460. package/src/tests/migration-runner-regressions.test.ts +86 -0
  461. package/src/tests/model-control.test.ts +338 -0
  462. package/src/tests/oauth-wrapper.test.ts +147 -0
  463. package/src/tests/onboard-compose.test.ts +138 -0
  464. package/src/tests/onboard-env.test.ts +174 -0
  465. package/src/tests/onboard-manifest.test.ts +137 -0
  466. package/src/tests/pi-mono-adapter.test.ts +234 -0
  467. package/src/tests/progress-dedup.test.ts +98 -0
  468. package/src/tests/provider-adapter.test.ts +122 -0
  469. package/src/tests/provider-command-format.test.ts +98 -0
  470. package/src/tests/reload-config.test.ts +170 -0
  471. package/src/tests/rest-api.test.ts +91 -13
  472. package/src/tests/runner-polling-api.test.ts +108 -31
  473. package/src/tests/scheduled-tasks-api.test.ts +352 -0
  474. package/src/tests/scheduled-tasks.test.ts +605 -0
  475. package/src/tests/scheduler-backoff.test.ts +166 -0
  476. package/src/tests/self-improvement.test.ts +540 -0
  477. package/src/tests/session-attach.test.ts +536 -0
  478. package/src/tests/session-costs.test.ts +991 -0
  479. package/src/tests/slack-actions.test.ts +133 -0
  480. package/src/tests/slack-assistant.test.ts +136 -0
  481. package/src/tests/slack-blocks.test.ts +246 -0
  482. package/src/tests/slack-metadata-inheritance.test.ts +243 -0
  483. package/src/tests/slack-queue-offline.test.ts +174 -0
  484. package/src/tests/slack-router.test.ts +181 -0
  485. package/src/tests/slack-thread-buffer.test.ts +305 -0
  486. package/src/tests/slack-thread-followups.test.ts +298 -0
  487. package/src/tests/slack-watcher.test.ts +101 -0
  488. package/src/tests/store-progress-cost.test.ts +209 -0
  489. package/src/tests/structured-output.test.ts +311 -0
  490. package/src/tests/swarm-repos.test.ts +198 -0
  491. package/src/tests/task-cancellation.test.ts +513 -0
  492. package/src/tests/task-pause-resume.test.ts +737 -0
  493. package/src/tests/task-working-dir.test.ts +176 -0
  494. package/src/tests/template-fetch.test.ts +490 -0
  495. package/src/tests/tool-annotations.test.ts +371 -0
  496. package/src/tests/tracker-tools.test.ts +184 -0
  497. package/src/tests/trigger-claiming.test.ts +631 -0
  498. package/src/tests/update-profile-api.test.ts +701 -0
  499. package/src/tests/validation-adapters.test.ts +86 -0
  500. package/src/tests/vcs-provider.test.ts +27 -0
  501. package/src/tests/workflow-agent-task.test.ts +196 -0
  502. package/src/tests/workflow-async-v2.test.ts +386 -0
  503. package/src/tests/workflow-convergence.test.ts +541 -0
  504. package/src/tests/workflow-definition-validation.test.ts +290 -0
  505. package/src/tests/workflow-engine-v2.test.ts +691 -0
  506. package/src/tests/workflow-executors.test.ts +736 -0
  507. package/src/tests/workflow-http-v2.test.ts +599 -0
  508. package/src/tests/workflow-integration-io.test.ts +902 -0
  509. package/src/tests/workflow-io-schemas.test.ts +624 -0
  510. package/src/tests/workflow-registry.test.ts +592 -0
  511. package/src/tests/workflow-retry-v2.test.ts +401 -0
  512. package/src/tests/workflow-retry-validation.test.ts +282 -0
  513. package/src/tests/workflow-template.test.ts +288 -0
  514. package/src/tests/workflow-trigger-schema.test.ts +359 -0
  515. package/src/tests/workflow-triggers-v2.test.ts +264 -0
  516. package/src/tests/workflow-versions.test.ts +208 -0
  517. package/src/tests/x402-client.test.ts +117 -0
  518. package/src/tests/x402-config.test.ts +182 -0
  519. package/src/tests/x402-spending-tracker.test.ts +185 -0
  520. package/src/tools/cancel-task.ts +113 -0
  521. package/src/tools/context-diff.ts +171 -0
  522. package/src/tools/context-history.ts +138 -0
  523. package/src/tools/create-channel.ts +2 -0
  524. package/src/tools/db-query.ts +78 -0
  525. package/src/tools/delete-channel.ts +132 -0
  526. package/src/tools/epics/assign-task-to-epic.ts +129 -0
  527. package/src/tools/epics/create-epic.ts +112 -0
  528. package/src/tools/epics/delete-epic.ts +121 -0
  529. package/src/tools/epics/get-epic-details.ts +92 -0
  530. package/src/tools/epics/index.ts +7 -0
  531. package/src/tools/epics/list-epics.ts +85 -0
  532. package/src/tools/epics/unassign-task-from-epic.ts +109 -0
  533. package/src/tools/epics/update-epic.ts +174 -0
  534. package/src/tools/get-swarm.ts +3 -0
  535. package/src/tools/get-task-details.ts +3 -0
  536. package/src/tools/get-tasks.ts +36 -1
  537. package/src/tools/inject-learning.ts +106 -0
  538. package/src/tools/join-swarm.ts +33 -10
  539. package/src/tools/list-channels.ts +3 -0
  540. package/src/tools/list-services.ts +3 -0
  541. package/src/tools/memory-get.ts +56 -0
  542. package/src/tools/memory-search.ts +131 -0
  543. package/src/tools/my-agent-info.ts +5 -0
  544. package/src/tools/poll-task.ts +24 -2
  545. package/src/tools/post-message.ts +2 -0
  546. package/src/tools/read-messages.ts +6 -0
  547. package/src/tools/register-agentmail-inbox.ts +166 -0
  548. package/src/tools/register-service.ts +3 -0
  549. package/src/tools/schedules/create-schedule.ts +336 -0
  550. package/src/tools/schedules/delete-schedule.ts +127 -0
  551. package/src/tools/schedules/index.ts +5 -0
  552. package/src/tools/schedules/list-schedules.ts +120 -0
  553. package/src/tools/schedules/run-schedule-now.ts +124 -0
  554. package/src/tools/schedules/update-schedule.ts +275 -0
  555. package/src/tools/send-task.ts +167 -14
  556. package/src/tools/slack-download-file.ts +176 -0
  557. package/src/tools/slack-list-channels.ts +170 -0
  558. package/src/tools/slack-post.ts +105 -0
  559. package/src/tools/slack-read.ts +387 -0
  560. package/src/tools/slack-reply.ts +144 -0
  561. package/src/tools/slack-upload-file.ts +378 -0
  562. package/src/tools/store-progress.ts +231 -10
  563. package/src/tools/swarm-config/delete-config.ts +87 -0
  564. package/src/tools/swarm-config/get-config.ts +108 -0
  565. package/src/tools/swarm-config/index.ts +4 -0
  566. package/src/tools/swarm-config/list-config.ts +99 -0
  567. package/src/tools/swarm-config/set-config.ts +118 -0
  568. package/src/tools/task-action.ts +122 -7
  569. package/src/tools/task-dedup.ts +97 -0
  570. package/src/tools/tool-config.ts +117 -0
  571. package/src/tools/tracker/index.ts +6 -0
  572. package/src/tools/tracker/tracker-link-epic.ts +64 -0
  573. package/src/tools/tracker/tracker-link-task.ts +64 -0
  574. package/src/tools/tracker/tracker-map-agent.ts +57 -0
  575. package/src/tools/tracker/tracker-status.ts +56 -0
  576. package/src/tools/tracker/tracker-sync-status.ts +42 -0
  577. package/src/tools/tracker/tracker-unlink.ts +41 -0
  578. package/src/tools/unregister-service.ts +3 -0
  579. package/src/tools/update-profile.ts +132 -12
  580. package/src/tools/update-service-status.ts +3 -0
  581. package/src/tools/utils.ts +10 -1
  582. package/src/tools/workflows/create-workflow.ts +111 -0
  583. package/src/tools/workflows/delete-workflow.ts +42 -0
  584. package/src/tools/workflows/get-workflow-run.ts +59 -0
  585. package/src/tools/workflows/get-workflow.ts +53 -0
  586. package/src/tools/workflows/index.ts +9 -0
  587. package/src/tools/workflows/list-workflow-runs.ts +48 -0
  588. package/src/tools/workflows/list-workflows.ts +42 -0
  589. package/src/tools/workflows/retry-workflow-run.ts +40 -0
  590. package/src/tools/workflows/trigger-workflow.ts +96 -0
  591. package/src/tools/workflows/update-workflow.ts +118 -0
  592. package/src/tracker/types.ts +51 -0
  593. package/src/types.ts +632 -1
  594. package/src/utils/credentials.test.ts +156 -0
  595. package/src/utils/credentials.ts +50 -0
  596. package/src/utils/error-tracker.ts +190 -0
  597. package/src/vcs/index.ts +15 -0
  598. package/src/vcs/types.ts +5 -0
  599. package/src/workflows/checkpoint.ts +121 -0
  600. package/src/workflows/cooldown.ts +28 -0
  601. package/src/workflows/definition.ts +217 -0
  602. package/src/workflows/engine.ts +554 -0
  603. package/src/workflows/event-bus.ts +29 -0
  604. package/src/workflows/executors/agent-task.ts +92 -0
  605. package/src/workflows/executors/base.ts +86 -0
  606. package/src/workflows/executors/code-match.ts +88 -0
  607. package/src/workflows/executors/index.ts +16 -0
  608. package/src/workflows/executors/notify.ts +93 -0
  609. package/src/workflows/executors/property-match.ts +104 -0
  610. package/src/workflows/executors/raw-llm.ts +83 -0
  611. package/src/workflows/executors/registry.ts +76 -0
  612. package/src/workflows/executors/script.ts +103 -0
  613. package/src/workflows/executors/validate.ts +215 -0
  614. package/src/workflows/executors/vcs.ts +58 -0
  615. package/src/workflows/index.ts +61 -0
  616. package/src/workflows/input.ts +46 -0
  617. package/src/workflows/json-schema-validator.ts +118 -0
  618. package/src/workflows/recovery.ts +139 -0
  619. package/src/workflows/resume.ts +143 -0
  620. package/src/workflows/retry-poller.ts +216 -0
  621. package/src/workflows/template.ts +74 -0
  622. package/src/workflows/templates.ts +86 -0
  623. package/src/workflows/triggers.ts +95 -0
  624. package/src/workflows/validation.ts +104 -0
  625. package/src/workflows/version.ts +42 -0
  626. package/src/x402/cli.ts +140 -0
  627. package/src/x402/client.ts +192 -0
  628. package/src/x402/config.ts +131 -0
  629. package/src/x402/index.ts +37 -0
  630. package/src/x402/openfort-signer.ts +83 -0
  631. package/src/x402/spending-tracker.ts +109 -0
  632. package/templates/community/.gitkeep +0 -0
  633. package/templates/official/coder/CLAUDE.md +49 -0
  634. package/templates/official/coder/IDENTITY.md +28 -0
  635. package/templates/official/coder/SOUL.md +43 -0
  636. package/templates/official/coder/TOOLS.md +40 -0
  637. package/templates/official/coder/config.json +23 -0
  638. package/templates/official/coder/start-up.sh +23 -0
  639. package/templates/official/content-reviewer/CLAUDE.md +68 -0
  640. package/templates/official/content-reviewer/IDENTITY.md +28 -0
  641. package/templates/official/content-reviewer/SOUL.md +44 -0
  642. package/templates/official/content-reviewer/TOOLS.md +37 -0
  643. package/templates/official/content-reviewer/config.json +23 -0
  644. package/templates/official/content-reviewer/start-up.sh +23 -0
  645. package/templates/official/content-strategist/CLAUDE.md +63 -0
  646. package/templates/official/content-strategist/IDENTITY.md +33 -0
  647. package/templates/official/content-strategist/SOUL.md +48 -0
  648. package/templates/official/content-strategist/TOOLS.md +47 -0
  649. package/templates/official/content-strategist/config.json +23 -0
  650. package/templates/official/content-strategist/start-up.sh +23 -0
  651. package/templates/official/content-writer/CLAUDE.md +72 -0
  652. package/templates/official/content-writer/IDENTITY.md +30 -0
  653. package/templates/official/content-writer/SOUL.md +46 -0
  654. package/templates/official/content-writer/TOOLS.md +44 -0
  655. package/templates/official/content-writer/config.json +23 -0
  656. package/templates/official/content-writer/start-up.sh +23 -0
  657. package/templates/official/forward-deployed-engineer/CLAUDE.md +54 -0
  658. package/templates/official/forward-deployed-engineer/IDENTITY.md +37 -0
  659. package/templates/official/forward-deployed-engineer/SOUL.md +55 -0
  660. package/templates/official/forward-deployed-engineer/config.json +21 -0
  661. package/templates/official/lead/CLAUDE.md +33 -0
  662. package/templates/official/lead/IDENTITY.md +36 -0
  663. package/templates/official/lead/SOUL.md +51 -0
  664. package/templates/official/lead/config.json +22 -0
  665. package/templates/official/researcher/CLAUDE.md +46 -0
  666. package/templates/official/researcher/IDENTITY.md +28 -0
  667. package/templates/official/researcher/SOUL.md +43 -0
  668. package/templates/official/researcher/config.json +21 -0
  669. package/templates/official/reviewer/CLAUDE.md +63 -0
  670. package/templates/official/reviewer/IDENTITY.md +28 -0
  671. package/templates/official/reviewer/SOUL.md +45 -0
  672. package/templates/official/reviewer/config.json +21 -0
  673. package/templates/official/tester/CLAUDE.md +53 -0
  674. package/templates/official/tester/IDENTITY.md +28 -0
  675. package/templates/official/tester/SOUL.md +55 -0
  676. package/templates/official/tester/config.json +21 -0
  677. package/templates/schema.ts +35 -0
  678. package/templates-ui/README.md +46 -0
  679. package/templates-ui/components.json +17 -0
  680. package/templates-ui/eslint.config.mjs +18 -0
  681. package/templates-ui/next.config.ts +7 -0
  682. package/templates-ui/package.json +35 -0
  683. package/templates-ui/pnpm-lock.yaml +4571 -0
  684. package/templates-ui/postcss.config.mjs +7 -0
  685. package/templates-ui/public/file.svg +1 -0
  686. package/templates-ui/public/globe.svg +1 -0
  687. package/templates-ui/public/logo.png +0 -0
  688. package/templates-ui/public/next.svg +1 -0
  689. package/templates-ui/public/vercel.svg +1 -0
  690. package/templates-ui/public/window.svg +1 -0
  691. package/templates-ui/src/app/[category]/[name]/page.tsx +89 -0
  692. package/templates-ui/src/app/api/templates/[...slug]/route.ts +52 -0
  693. package/templates-ui/src/app/api/templates/route.ts +18 -0
  694. package/templates-ui/src/app/builder/page.tsx +37 -0
  695. package/templates-ui/src/app/globals.css +94 -0
  696. package/templates-ui/src/app/layout.tsx +79 -0
  697. package/templates-ui/src/app/page.tsx +38 -0
  698. package/templates-ui/src/app/robots.ts +11 -0
  699. package/templates-ui/src/app/sitemap.ts +31 -0
  700. package/templates-ui/src/components/compose-builder.tsx +442 -0
  701. package/templates-ui/src/components/compose-preview.tsx +117 -0
  702. package/templates-ui/src/components/file-preview.tsx +77 -0
  703. package/templates-ui/src/components/footer.tsx +40 -0
  704. package/templates-ui/src/components/header.tsx +41 -0
  705. package/templates-ui/src/components/template-card.tsx +87 -0
  706. package/templates-ui/src/components/template-detail.tsx +125 -0
  707. package/templates-ui/src/components/template-gallery.tsx +263 -0
  708. package/templates-ui/src/components/ui/badge.tsx +36 -0
  709. package/templates-ui/src/components/ui/button.tsx +57 -0
  710. package/templates-ui/src/components/ui/card.tsx +76 -0
  711. package/templates-ui/src/components/ui/separator.tsx +31 -0
  712. package/templates-ui/src/components/ui/tooltip.tsx +32 -0
  713. package/templates-ui/src/lib/compose-generator.ts +241 -0
  714. package/templates-ui/src/lib/templates.ts +137 -0
  715. package/templates-ui/src/lib/utils.ts +6 -0
  716. package/templates-ui/tsconfig.json +34 -0
  717. package/thoughts/research/2026-02-28-openfort-viem-x402-research.md +679 -0
  718. package/thoughts/research/2026-02-28-x402-payments-research.md +686 -0
  719. package/thoughts/researcher/plans/2026-02-20-agent-self-improvement-plan.md +282 -0
  720. package/thoughts/researcher/research/2026-02-20-agent-self-improvement.md +492 -0
  721. package/thoughts/shared/plans/{2025-12-18-inverse-teleport.md → 2026-01-09-inverse-teleport.md} +562 -188
  722. package/thoughts/shared/plans/2026-01-12-agent-rename-pm2-control.md +1133 -0
  723. package/thoughts/shared/plans/2026-01-12-github-app-integration.md +380 -0
  724. package/thoughts/shared/plans/2026-01-12-lead-inbox-model.md +876 -0
  725. package/thoughts/shared/plans/2026-01-12-ralph-wiggum-integration.md +463 -0
  726. package/thoughts/shared/plans/2026-01-13-agent-concurrency.md +691 -0
  727. package/thoughts/shared/plans/2026-01-13-github-assignment-handling.md +690 -0
  728. package/thoughts/shared/plans/2026-01-13-prevent-duplicate-trigger-processing.md +1071 -0
  729. package/thoughts/shared/plans/2026-01-14-fix-slack-thread-context.md +507 -0
  730. package/thoughts/shared/plans/2026-01-15-scheduled-tasks-implementation.md +565 -0
  731. package/thoughts/shared/plans/2026-01-15-usage-cost-tracking-ui.md +1479 -0
  732. package/thoughts/shared/plans/2026-01-16-epics-feature-implementation.md +1230 -0
  733. package/thoughts/shared/plans/2026-02-26-mcp-tool-context-reduction.md +282 -0
  734. package/thoughts/shared/plans/2026-03-02-claude-context-mode-integration.md +328 -0
  735. package/thoughts/shared/plans/2026-03-02-code-level-heartbeat.md +224 -0
  736. package/thoughts/shared/research/2025-01-09-inverse-teleport-plan-review.md +420 -0
  737. package/thoughts/shared/research/2026-01-13-lead-duplicate-trigger-processing.md +223 -0
  738. package/thoughts/shared/research/2026-01-14-lead-slack-thread-context.md +277 -0
  739. package/thoughts/shared/research/2026-01-15-ai-tracker-agent-swarm-integration.md +376 -0
  740. package/thoughts/shared/research/2026-01-15-auto-starting-processes-in-worker-containers.md +787 -0
  741. package/thoughts/shared/research/2026-01-15-scheduled-tasks.md +390 -0
  742. package/thoughts/shared/research/2026-01-16-epics-feature-research.md +437 -0
  743. package/thoughts/shared/research/2026-02-26-cliffy-mcp-tools.md +159 -0
  744. package/thoughts/shared/research/2026-03-03-database-migration-system-refactor.md +337 -0
  745. package/thoughts/swarm-researcher/plans/2026-02-23-openclaw-improvements-plan.md +778 -0
  746. package/thoughts/swarm-researcher/plans/2026-02-26-artifacts-localtunnel-plan.md +1269 -0
  747. package/thoughts/swarm-researcher/research/2026-02-23-openclaw-vs-agent-swarm-comparison.md +411 -0
  748. package/thoughts/swarm-researcher/research/2026-02-26-artifacts-localtunnel.md +724 -0
  749. package/thoughts/taras/brainstorms/2026-03-20-prompt-template-registry.md +443 -0
  750. package/thoughts/taras/brainstorms/2026-03-20-setup-cli-onboarding.md +307 -0
  751. package/thoughts/taras/plans/2026-01-22-agent-swarm-schemas.md +98 -0
  752. package/thoughts/taras/plans/2026-01-28-per-worker-claude-md.md +617 -0
  753. package/thoughts/taras/plans/2026-01-28-sentry-cli-integration.md +214 -0
  754. package/thoughts/taras/plans/2026-02-20-auto-improvement.md +803 -0
  755. package/thoughts/taras/plans/2026-02-20-env-management.md +538 -0
  756. package/thoughts/taras/plans/2026-02-20-memory-system.md +882 -0
  757. package/thoughts/taras/plans/2026-02-20-repos-knowledge.md +806 -0
  758. package/thoughts/taras/plans/2026-02-20-session-attach.md +647 -0
  759. package/thoughts/taras/plans/2026-02-20-worker-identity.md +820 -0
  760. package/thoughts/taras/plans/2026-02-25-feat-new-ui-visual-redesign-plan.md +768 -0
  761. package/thoughts/taras/plans/2026-03-04-fix-buildSystemPrompt-missing-fields.md +77 -0
  762. package/thoughts/taras/plans/2026-03-04-new-ui-missing-actions.md +543 -0
  763. package/thoughts/taras/plans/2026-03-06-one-time-scheduled-tasks.md +373 -0
  764. package/thoughts/taras/plans/2026-03-08-memory-self-improvement-enhancements.md +512 -0
  765. package/thoughts/taras/plans/2026-03-08-pi-mono-provider-implementation.md +919 -0
  766. package/thoughts/taras/plans/2026-03-09-templates-registry.md +723 -0
  767. package/thoughts/taras/plans/2026-03-10-task-working-directory.md +371 -0
  768. package/thoughts/taras/plans/2026-03-11-archil-per-agent-write-strategy.md +621 -0
  769. package/thoughts/taras/plans/2026-03-12-eliminate-inbox-route-to-tasks.md +61 -0
  770. package/thoughts/taras/plans/2026-03-12-slack-thread-followup-additive.md +488 -0
  771. package/thoughts/taras/plans/2026-03-13-slack-ai-improvements.md +644 -0
  772. package/thoughts/taras/plans/2026-03-16-route-wrapper-openapi.md +636 -0
  773. package/thoughts/taras/plans/2026-03-17-multi-api-config.md +444 -0
  774. package/thoughts/taras/plans/2026-03-18-agent-fs-integration.md +591 -0
  775. package/thoughts/taras/plans/2026-03-18-debug-db-explorer.md +446 -0
  776. package/thoughts/taras/plans/2026-03-18-workflow-redesign.md +987 -0
  777. package/thoughts/taras/plans/2026-03-19-compound-learnings.md +403 -0
  778. package/thoughts/taras/plans/2026-03-19-ticket-tracker-linear-integration.md +860 -0
  779. package/thoughts/taras/plans/2026-03-19-workflow-io-schemas-and-bugs.md +899 -0
  780. package/thoughts/taras/plans/2026-03-20-setup-cli-onboarding.md +874 -0
  781. package/thoughts/taras/plans/2026-03-20-workflow-structured-output-validation-workspace.md +723 -0
  782. package/thoughts/taras/research/2026-01-22-vercel-cli-integration.md +287 -0
  783. package/thoughts/taras/research/2026-01-27-excessive-polling-issue.md +311 -0
  784. package/thoughts/taras/research/2026-01-28-per-worker-claude-md.md +383 -0
  785. package/thoughts/taras/research/2026-01-28-sentry-cli-integration.md +240 -0
  786. package/thoughts/taras/research/2026-02-19-agent-native-swarm-architecture.md +390 -0
  787. package/thoughts/taras/research/2026-02-19-swarm-gaps-implementation.md +594 -0
  788. package/thoughts/taras/research/2026-02-25-dashboard-ui-design-best-practices.md +825 -0
  789. package/thoughts/taras/research/2026-02-26-task-detail-page-redesign.md +393 -0
  790. package/thoughts/taras/research/2026-03-03-new-ui-missing-actions.md +168 -0
  791. package/thoughts/taras/research/2026-03-05-pi-mono-provider-research.md +230 -0
  792. package/thoughts/taras/research/2026-03-06-workflow-engine-design.md +445 -0
  793. package/thoughts/taras/research/2026-03-08-drive-loop-concept.md +375 -0
  794. package/thoughts/taras/research/2026-03-08-pi-mono-deep-dive.md +869 -0
  795. package/thoughts/taras/research/2026-03-09-templates-registry.md +373 -0
  796. package/thoughts/taras/research/2026-03-10-agent-working-directory.md +223 -0
  797. package/thoughts/taras/research/2026-03-10-configurable-event-prompts.md +339 -0
  798. package/thoughts/taras/research/2026-03-11-archil-production-setup.md +181 -0
  799. package/thoughts/taras/research/2026-03-11-archil-shared-disk-write-strategies.md +437 -0
  800. package/thoughts/taras/research/2026-03-13-slack-ai-features.md +258 -0
  801. package/thoughts/taras/research/2026-03-16-openapi-docs-generation.md +335 -0
  802. package/thoughts/taras/research/2026-03-16-route-wrapper-openapi.md +670 -0
  803. package/thoughts/taras/research/2026-03-16-slack-thread-followups-e2e.md +54 -0
  804. package/thoughts/taras/research/2026-03-18-agent-fs-integration.md +558 -0
  805. package/thoughts/taras/research/2026-03-18-linear-integration-finalization.md +526 -0
  806. package/thoughts/taras/research/2026-03-18-workflow-redesign.md +797 -0
  807. package/thoughts/taras/research/2026-03-19-workflow-node-io-schemas-and-bugs.md +563 -0
  808. package/thoughts/taras/research/2026-03-19-workflow-structured-output-validation-workspace.md +486 -0
  809. package/thoughts/taras/research/2026-03-20-prompt-template-registry.md +469 -0
  810. package/tsconfig.json +1 -1
  811. package/FAQ.md +0 -19
  812. package/plugin/.claude-plugin/plugin.json +0 -13
  813. package/plugin/commands/create-plan.md +0 -415
  814. package/plugin/commands/implement-plan.md +0 -89
  815. package/plugin/commands/research.md +0 -200
  816. package/ui/bun.lock +0 -692
  817. package/ui/index.html +0 -22
  818. package/ui/package.json +0 -32
  819. package/ui/pnpm-lock.yaml +0 -3034
  820. package/ui/postcss.config.js +0 -6
  821. package/ui/src/App.tsx +0 -43
  822. package/ui/src/components/ActivityFeed.tsx +0 -415
  823. package/ui/src/components/AgentDetailPanel.tsx +0 -534
  824. package/ui/src/components/AgentsPanel.tsx +0 -549
  825. package/ui/src/components/ChatPanel.tsx +0 -1820
  826. package/ui/src/components/ConfigModal.tsx +0 -232
  827. package/ui/src/components/Dashboard.tsx +0 -534
  828. package/ui/src/components/Header.tsx +0 -168
  829. package/ui/src/components/ServicesPanel.tsx +0 -612
  830. package/ui/src/components/SessionLogPanel.tsx +0 -433
  831. package/ui/src/components/StatsBar.tsx +0 -288
  832. package/ui/src/components/StatusBadge.tsx +0 -124
  833. package/ui/src/components/TaskDetailPanel.tsx +0 -827
  834. package/ui/src/components/TasksPanel.tsx +0 -575
  835. package/ui/src/hooks/queries.ts +0 -179
  836. package/ui/src/index.css +0 -235
  837. package/ui/src/lib/api.ts +0 -171
  838. package/ui/src/lib/config.ts +0 -35
  839. package/ui/src/lib/theme.ts +0 -214
  840. package/ui/src/lib/utils.ts +0 -48
  841. package/ui/src/main.tsx +0 -32
  842. package/ui/src/types/api.ts +0 -179
  843. package/ui/src/vite-env.d.ts +0 -1
  844. package/ui/tailwind.config.js +0 -35
  845. package/ui/vite.config.ts +0 -22
  846. /package/{ui → docs-site}/public/logo.png +0 -0
@@ -0,0 +1,84 @@
1
+ {
2
+ "hooks": {
3
+ "PostToolUse": [
4
+ {
5
+ "matcher": "Task",
6
+ "hooks": [
7
+ {
8
+ "type": "command",
9
+ "command": "entire hooks claude-code post-task"
10
+ }
11
+ ]
12
+ },
13
+ {
14
+ "matcher": "TodoWrite",
15
+ "hooks": [
16
+ {
17
+ "type": "command",
18
+ "command": "entire hooks claude-code post-todo"
19
+ }
20
+ ]
21
+ }
22
+ ],
23
+ "PreToolUse": [
24
+ {
25
+ "matcher": "Task",
26
+ "hooks": [
27
+ {
28
+ "type": "command",
29
+ "command": "entire hooks claude-code pre-task"
30
+ }
31
+ ]
32
+ }
33
+ ],
34
+ "SessionEnd": [
35
+ {
36
+ "matcher": "",
37
+ "hooks": [
38
+ {
39
+ "type": "command",
40
+ "command": "entire hooks claude-code session-end"
41
+ }
42
+ ]
43
+ }
44
+ ],
45
+ "SessionStart": [
46
+ {
47
+ "matcher": "",
48
+ "hooks": [
49
+ {
50
+ "type": "command",
51
+ "command": "entire hooks claude-code session-start"
52
+ }
53
+ ]
54
+ }
55
+ ],
56
+ "Stop": [
57
+ {
58
+ "matcher": "",
59
+ "hooks": [
60
+ {
61
+ "type": "command",
62
+ "command": "entire hooks claude-code stop"
63
+ }
64
+ ]
65
+ }
66
+ ],
67
+ "UserPromptSubmit": [
68
+ {
69
+ "matcher": "",
70
+ "hooks": [
71
+ {
72
+ "type": "command",
73
+ "command": "entire hooks claude-code user-prompt-submit"
74
+ }
75
+ ]
76
+ }
77
+ ]
78
+ },
79
+ "permissions": {
80
+ "deny": [
81
+ "Read(./.entire/metadata/**)"
82
+ ]
83
+ }
84
+ }
@@ -24,7 +24,20 @@
24
24
  "WebFetch(domain:geminicli.com)",
25
25
  "Bash(bun run docs:mcp:*)",
26
26
  "Bash(bun test:*)",
27
- "Bash(curl:*)"
27
+ "Bash(curl:*)",
28
+ "WebFetch(domain:github.com)",
29
+ "Bash(gh pr checks:*)",
30
+ "Bash(gh run view:*)",
31
+ "Bash(timeout 5 bun run:*)",
32
+ "Bash(bun run typecheck:*)",
33
+ "Bash(npx tsc:*)",
34
+ "WebFetch(domain:docs.github.com)",
35
+ "Bash(bun run lint:fix:*)",
36
+ "Skill(desplega:research)",
37
+ "Bash(bun run check:*)",
38
+ "Bash(bun build:*)",
39
+ "WebFetch(domain:www.npmjs.com)",
40
+ "Bash(sentry-cli:*)"
28
41
  ]
29
42
  },
30
43
  "enableAllProjectMcpServers": true,
@@ -98,5 +111,7 @@
98
111
  ]
99
112
  }
100
113
  ]
101
- }
114
+ },
115
+ "spinnerTipsEnabled": false,
116
+ "prefersReducedMotion": true
102
117
  }
@@ -0,0 +1,4 @@
1
+ {
2
+ "enabled": true,
3
+ "telemetry": false
4
+ }
@@ -1,33 +1,56 @@
1
- # Docker Worker Environment Variables
1
+ # Docker Worker / Lead Agent Environment Variables
2
2
  # Copy this file to .env.docker and fill in your values
3
+ # Full reference: docs/ENVS.md
3
4
 
4
- # Required
5
+ # ---- Required ----
5
6
  # Run `claude setup-token` to get your OAuth token
6
7
  CLAUDE_CODE_OAUTH_TOKEN=your-oauth-token-here
7
8
  API_KEY=your-api-key-here
8
9
 
9
- # Optional (auto-generated if not provided)
10
+ # ---- Agent Identity ----
11
+ # Keep AGENT_ID stable across restarts for task resume and identity persistence
10
12
  AGENT_ID=
11
- MCP_BASE_URL=http://host.docker.internal:3013
12
-
13
- # Service Registry (PM2 background services)
14
- # Port mapping for exposed services (default: 3000)
15
- SERVICE_PORT=3000
13
+ AGENT_NAME=
14
+ AGENT_ROLE=worker # "worker" or "lead"
16
15
 
17
- # To re-use an existing session, set SESSION_ID to the desired value
18
- # Will be used for log directory paths
19
- SESSION_ID=
16
+ # ---- Networking ----
17
+ MCP_BASE_URL=http://host.docker.internal:3013
18
+ SWARM_URL=swarm.example.com # Base domain for service discovery
19
+ # Host ports for exposed services (used in docker-compose.example.yml).
20
+ # These names and defaults are examples — adjust to fit your setup.
21
+ # In isolated environments (each container in its own network namespace),
22
+ # you can map all services to the same port (e.g. 3000:3000).
23
+ # LEAD_PORT=3020
24
+ # WORKER1_PORT=3021
25
+ # WORKER2_PORT=3022
26
+
27
+ # ---- Behavior ----
28
+ YOLO=false # Keep spawning sessions even if one fails
29
+ # MAX_CONCURRENT_TASKS=1 # Parallel tasks (default: 1 for worker, 2 for lead)
30
+ # SHUTDOWN_TIMEOUT=30000 # Grace period (ms) before pausing tasks on shutdown
31
+
32
+ # ---- Logging ----
33
+ # SESSION_ID= # Reuse to continue logging to the same folder
34
+ # LOG_DIR=/logs # Base directory for session logs
35
+
36
+ # ---- System Prompt (optional) ----
37
+ SYSTEM_PROMPT=
38
+ SYSTEM_PROMPT_FILE=
20
39
 
21
- # If true, enables YOLO mode for the agent (default: false)
22
- # which will keep spawning claudes even if an iteration fails
23
- YOLO=false
40
+ # ---- Templates (optional) ----
41
+ # TEMPLATE_ID=official/coder # Template for initial profile (fetched on first boot)
42
+ # TEMPLATE_REGISTRY_URL=https://templates.agent-swarm.dev
24
43
 
25
- # If true, the worker will exit if the startup script fails (default: true)
26
- STARTUP_SCRIPT_STRICT=true
44
+ # ---- Startup ----
45
+ STARTUP_SCRIPT_STRICT=true # Exit if startup script fails
27
46
 
28
- # System Prompt (optional - customize agent behavior)
29
- SYSTEM_PROMPT=
30
- SYSTEM_PROMPT_FILE=
47
+ # ---- GitHub (for git operations) ----
48
+ GITHUB_TOKEN= # Personal access token for gh CLI and git push
49
+ GITHUB_EMAIL=worker-agent@desplega.ai # Git commit email
50
+ GITHUB_NAME=Worker Agent # Git commit name
31
51
 
32
- # For the agent exposed services (optional)
33
- SWARM_URL=swarm.example.com
52
+ # ---- Sentry (optional) ----
53
+ # Create an Organization Auth Token at https://sentry.io/settings/{org}/auth-tokens/
54
+ # Required scopes: event:read, project:read, org:read
55
+ SENTRY_AUTH_TOKEN=
56
+ SENTRY_ORG=
package/.env.example CHANGED
@@ -1,9 +1,19 @@
1
1
  # Define your API key or leave empty for no auth
2
2
  API_KEY=
3
3
 
4
- # Server port (default: 3013)
4
+ # Server port (default: 3013, worktrees get a random port in 3100-3999)
5
5
  PORT=3013
6
6
 
7
+ # ── Portless (local dev with friendly URLs) ─────────────────────────────
8
+ # Replaces port-based URLs with domain names. See CONTRIBUTING.md.
9
+ # Install: bun add -g portless
10
+ # HTTPS: portless trust && portless proxy start --https
11
+ #
12
+ # When using portless, set these in your .env:
13
+ # MCP_BASE_URL=https://api.swarm.localhost:1355
14
+ # APP_URL=https://ui.swarm.localhost:1355
15
+ # ────────────────────────────────────────────────────────────────────────
16
+
7
17
  # Swarm URL for service discovery (e.g., swarm.example.com)
8
18
  # Services are accessible at https://{AGENT_ID}.{SWARM_URL}
9
19
  SWARM_URL=localhost
@@ -19,8 +29,50 @@ SLACK_APP_TOKEN=xapp-... # App-Level Token (for Socket Mode)
19
29
  SLACK_SIGNING_SECRET=... # Signing Secret (optional for Socket Mode)
20
30
  SLACK_DISABLE=true # Set to "true" to disable Slack integration
21
31
 
32
+ # Additive Slack — buffer non-mention thread replies and batch into follow-up tasks
33
+ # ADDITIVE_SLACK=true # Enable thread message buffering (default: false)
34
+ # ADDITIVE_SLACK_BUFFER_MS=10000 # Debounce window in ms (default: 10000)
35
+
36
+ # Slack User Filtering (optional - leave empty to allow all users)
37
+ # SLACK_ALLOWED_EMAIL_DOMAINS=desplega.ai,partner.com # Comma-separated email domains
38
+ # SLACK_ALLOWED_USER_IDS=U12345678,U87654321 # Comma-separated Slack user IDs to always allow
39
+
22
40
  # App URL for Slack message links (e.g., https://your-dashboard.com)
23
41
  APP_URL=
24
42
 
25
43
  # Environment mode - set to "development" to add (dev) prefix to agent names in Slack
26
44
  ENV=
45
+
46
+ # GitHub App Integration (optional)
47
+ # GITHUB_DISABLE=true # Set to skip GitHub integration
48
+ GITHUB_WEBHOOK_SECRET= # Webhook secret from GitHub App settings
49
+ GITHUB_BOT_NAME=agent-swarm-bot # Bot name for @mentions (default: agent-swarm-bot)
50
+ GITHUB_APP_ID= # GitHub App ID (from app settings)
51
+ GITHUB_APP_PRIVATE_KEY= # Private key: raw PEM with \n escapes, OR base64-encoded
52
+
53
+ # Scheduler configuration
54
+ SCHEDULER_INTERVAL_MS=10000 # Polling interval for scheduled tasks (default: 10 seconds)
55
+
56
+ # AgentMail Integration (optional)
57
+ # AGENTMAIL_DISABLE=true # Set to skip AgentMail integration
58
+ AGENTMAIL_WEBHOOK_SECRET= # Svix signing secret for webhook verification
59
+
60
+ # ── Linear Integration ──
61
+ # Create an OAuth app at: https://linear.app/settings/api/applications
62
+ # 1. Set Actor to "Application"
63
+ # 2. Set Callback URL to your /api/trackers/linear/callback endpoint
64
+ # 3. Enable "Agent session events" in webhook settings
65
+ # 4. Set Webhook URL to your /api/trackers/linear/webhook endpoint
66
+ # 5. Copy Client ID, Client Secret, and Webhook Signing Secret below
67
+ # 6. Start server, then visit /api/trackers/linear/authorize to complete OAuth
68
+ #
69
+ # LINEAR_DISABLE=true # Set to disable Linear integration
70
+ # LINEAR_CLIENT_ID= # OAuth app client ID
71
+ # LINEAR_CLIENT_SECRET= # OAuth app client secret (shown once on creation)
72
+ # LINEAR_REDIRECT_URI=http://localhost:3013/api/trackers/linear/callback
73
+ # With portless: LINEAR_REDIRECT_URI=https://api.swarm.localhost:1355/api/trackers/linear/callback
74
+ # LINEAR_SIGNING_SECRET= # Webhook signing secret (from app settings)
75
+
76
+ # Memory system - OpenAI embeddings (API server only, NOT needed in workers)
77
+ # Optional: system works without it but memory search degrades to recency-based
78
+ OPENAI_API_KEY=
@@ -0,0 +1,78 @@
1
+ name: Bug Report
2
+ description: Report a bug or unexpected behavior
3
+ labels: ["bug"]
4
+ body:
5
+ - type: markdown
6
+ attributes:
7
+ value: |
8
+ Thanks for reporting a bug! Please fill out the sections below.
9
+
10
+ - type: textarea
11
+ id: description
12
+ attributes:
13
+ label: What happened?
14
+ description: A clear description of the bug.
15
+ placeholder: "When I do X, Y happens instead of Z."
16
+ validations:
17
+ required: true
18
+
19
+ - type: textarea
20
+ id: steps
21
+ attributes:
22
+ label: Steps to reproduce
23
+ description: How can we reproduce this?
24
+ placeholder: |
25
+ 1. Start the API server with `bun run start:http`
26
+ 2. Send a task via ...
27
+ 3. See error in ...
28
+ validations:
29
+ required: true
30
+
31
+ - type: textarea
32
+ id: expected
33
+ attributes:
34
+ label: Expected behavior
35
+ description: What did you expect to happen?
36
+ validations:
37
+ required: true
38
+
39
+ - type: dropdown
40
+ id: component
41
+ attributes:
42
+ label: Component
43
+ description: Which part of Agent Swarm is affected?
44
+ options:
45
+ - API Server
46
+ - Worker / Runner
47
+ - Lead Agent
48
+ - Dashboard UI
49
+ - CLI (`bunx @desplega.ai/agent-swarm`)
50
+ - Slack Integration
51
+ - GitHub Integration
52
+ - AgentMail Integration
53
+ - Memory System
54
+ - Docker / Deployment
55
+ - Other
56
+ validations:
57
+ required: true
58
+
59
+ - type: textarea
60
+ id: environment
61
+ attributes:
62
+ label: Environment
63
+ description: Any relevant environment details.
64
+ placeholder: |
65
+ - OS: Ubuntu 22.04
66
+ - Bun version: 1.x
67
+ - Deployment: Docker Compose / Local
68
+ validations:
69
+ required: false
70
+
71
+ - type: textarea
72
+ id: logs
73
+ attributes:
74
+ label: Logs / Screenshots
75
+ description: Paste any relevant log output or screenshots.
76
+ render: shell
77
+ validations:
78
+ required: false
@@ -0,0 +1,77 @@
1
+ name: Community Template Submission
2
+ description: Submit a new worker template for the Agent Swarm Templates Registry
3
+ title: "[Template] "
4
+ labels: ["template", "community"]
5
+ body:
6
+ - type: input
7
+ id: template-name
8
+ attributes:
9
+ label: Template Name
10
+ description: A short, lowercase name for your template (e.g., "devops", "writer")
11
+ placeholder: my-template
12
+ validations:
13
+ required: true
14
+
15
+ - type: input
16
+ id: display-name
17
+ attributes:
18
+ label: Display Name
19
+ description: Human-readable name shown in the gallery
20
+ placeholder: DevOps Engineer
21
+ validations:
22
+ required: true
23
+
24
+ - type: textarea
25
+ id: description
26
+ attributes:
27
+ label: Description
28
+ description: What does this template do? What kind of agent does it configure?
29
+ placeholder: A DevOps-focused agent that manages CI/CD pipelines, infrastructure, and deployments
30
+ validations:
31
+ required: true
32
+
33
+ - type: dropdown
34
+ id: category
35
+ attributes:
36
+ label: Agent Type
37
+ options:
38
+ - Worker
39
+ - Lead
40
+ validations:
41
+ required: true
42
+
43
+ - type: input
44
+ id: role
45
+ attributes:
46
+ label: Role
47
+ description: The agent role (e.g., "worker", "lead")
48
+ placeholder: worker
49
+ validations:
50
+ required: true
51
+
52
+ - type: textarea
53
+ id: capabilities
54
+ attributes:
55
+ label: Capabilities
56
+ description: List the agent's capabilities (one per line)
57
+ placeholder: |
58
+ devops
59
+ ci-cd
60
+ infrastructure
61
+ monitoring
62
+ validations:
63
+ required: true
64
+
65
+ - type: textarea
66
+ id: use-case
67
+ attributes:
68
+ label: Why is this template useful?
69
+ description: Describe the use case and how this template helps users
70
+ validations:
71
+ required: true
72
+
73
+ - type: textarea
74
+ id: additional-context
75
+ attributes:
76
+ label: Additional Context
77
+ description: Any additional information, links, or examples
@@ -0,0 +1,8 @@
1
+ blank_issues_enabled: true
2
+ contact_links:
3
+ - name: Questions & Discussion
4
+ url: https://discord.gg/KZgfyyDVZa
5
+ about: Ask questions and discuss ideas on Discord
6
+ - name: Documentation
7
+ url: https://docs.agent-swarm.dev
8
+ about: Check the docs for setup guides and reference
@@ -0,0 +1,60 @@
1
+ name: Feature Request
2
+ description: Suggest a new feature or improvement
3
+ labels: ["enhancement"]
4
+ body:
5
+ - type: markdown
6
+ attributes:
7
+ value: |
8
+ Have an idea to make Agent Swarm better? We'd love to hear it!
9
+
10
+ - type: textarea
11
+ id: problem
12
+ attributes:
13
+ label: Problem or motivation
14
+ description: What problem does this solve, or what would it enable?
15
+ placeholder: "I'm always frustrated when..."
16
+ validations:
17
+ required: true
18
+
19
+ - type: textarea
20
+ id: solution
21
+ attributes:
22
+ label: Proposed solution
23
+ description: How do you think this should work?
24
+ validations:
25
+ required: true
26
+
27
+ - type: textarea
28
+ id: alternatives
29
+ attributes:
30
+ label: Alternatives considered
31
+ description: Any other approaches you've thought about?
32
+ validations:
33
+ required: false
34
+
35
+ - type: dropdown
36
+ id: component
37
+ attributes:
38
+ label: Component
39
+ description: Which part of Agent Swarm would this affect?
40
+ options:
41
+ - API Server
42
+ - Worker / Runner
43
+ - Lead Agent
44
+ - Dashboard UI
45
+ - CLI
46
+ - Integrations (Slack, GitHub, Email)
47
+ - Memory System
48
+ - Docker / Deployment
49
+ - Documentation
50
+ - Other
51
+ validations:
52
+ required: false
53
+
54
+ - type: textarea
55
+ id: context
56
+ attributes:
57
+ label: Additional context
58
+ description: Any other context, mockups, or references.
59
+ validations:
60
+ required: false
@@ -0,0 +1,29 @@
1
+ ## Community Template Submission
2
+
3
+ ### Template Info
4
+
5
+ - **Name**: <!-- e.g., devops -->
6
+ - **Display Name**: <!-- e.g., DevOps Engineer -->
7
+ - **Category**: community
8
+ - **Role**: <!-- worker or lead -->
9
+
10
+ ### Checklist
11
+
12
+ - [ ] `config.json` is present and valid JSON
13
+ - [ ] All 5 profile files are present (CLAUDE.md, SOUL.md, IDENTITY.md, TOOLS.md, start-up.sh)
14
+ - [ ] Template uses `{{agent.name}}` and `{{agent.role}}` placeholders where appropriate
15
+ - [ ] `start-up.sh` is executable and starts with `#!/bin/bash`
16
+ - [ ] Tested locally with `TEMPLATE_ID=community/<name>`
17
+ - [ ] Template follows the structure of existing official templates
18
+
19
+ ### Description
20
+
21
+ <!-- Describe what this template does and why it's useful -->
22
+
23
+ ### Testing
24
+
25
+ <!-- How did you test this template? -->
26
+
27
+ ---
28
+
29
+ Questions? Contact us at contact@agent-swarm.dev
@@ -1,12 +1,12 @@
1
1
  name: CI
2
2
 
3
3
  on:
4
- pull_request:
5
- branches:
6
- - main
7
4
  push:
8
5
  branches:
9
6
  - main
7
+ paths-ignore:
8
+ - "docs-site/**"
9
+ - "landing/**"
10
10
  workflow_dispatch:
11
11
 
12
12
  jobs:
@@ -50,27 +50,3 @@ jobs:
50
50
 
51
51
  - name: Run tests
52
52
  run: bun test
53
-
54
- docker-build:
55
- name: Docker Build Test
56
- runs-on: ubuntu-latest
57
- if: github.event_name == 'pull_request'
58
-
59
- strategy:
60
- matrix:
61
- dockerfile: [Dockerfile, Dockerfile.worker]
62
-
63
- steps:
64
- - name: Checkout repository
65
- uses: actions/checkout@v4
66
-
67
- - name: Set up Docker Buildx
68
- uses: docker/setup-buildx-action@v3
69
-
70
- - name: Build Docker image
71
- uses: docker/build-push-action@v5
72
- with:
73
- context: .
74
- file: ./${{ matrix.dockerfile }}
75
- push: false
76
- tags: test-image:latest
@@ -4,15 +4,22 @@ on:
4
4
  push:
5
5
  branches:
6
6
  - main
7
+ paths-ignore:
8
+ - "docs-site/**"
9
+ - "landing/**"
7
10
  workflow_dispatch:
8
11
 
12
+ concurrency:
13
+ group: docker-and-deploy
14
+ cancel-in-progress: true
15
+
9
16
  env:
10
17
  REGISTRY: ghcr.io
11
18
  IMAGE_NAME: ${{ github.repository }}
12
19
 
13
20
  jobs:
14
21
  build-and-push-server:
15
- runs-on: ubuntu-latest
22
+ runs-on: self-hosted
16
23
  permissions:
17
24
  contents: read
18
25
  packages: write
@@ -42,6 +49,11 @@ jobs:
42
49
  type=raw,value=${{ steps.version.outputs.version }}
43
50
  type=sha
44
51
 
52
+ - name: Set up Docker Buildx
53
+ uses: docker/setup-buildx-action@v3
54
+ with:
55
+ driver: docker
56
+
45
57
  - name: Build and push Docker image
46
58
  uses: docker/build-push-action@v5
47
59
  with:
@@ -50,10 +62,9 @@ jobs:
50
62
  push: true
51
63
  tags: ${{ steps.meta.outputs.tags }}
52
64
  labels: ${{ steps.meta.outputs.labels }}
53
- no-cache: true
54
65
 
55
66
  build-and-push-worker:
56
- runs-on: ubuntu-latest
67
+ runs-on: self-hosted
57
68
  permissions:
58
69
  contents: read
59
70
  packages: write
@@ -83,6 +94,11 @@ jobs:
83
94
  type=raw,value=${{ steps.version.outputs.version }}
84
95
  type=sha
85
96
 
97
+ - name: Set up Docker Buildx
98
+ uses: docker/setup-buildx-action@v3
99
+ with:
100
+ driver: docker
101
+
86
102
  - name: Build and push Docker image
87
103
  uses: docker/build-push-action@v5
88
104
  with:
@@ -91,27 +107,26 @@ jobs:
91
107
  push: true
92
108
  tags: ${{ steps.meta.outputs.tags }}
93
109
  labels: ${{ steps.meta.outputs.labels }}
94
- no-cache: true
95
-
96
- # deploy:
97
- # name: Deploy
98
- # runs-on: ubuntu-latest
99
- #
100
- # needs:
101
- # - build-and-push-server
102
- # - build-and-push-worker
103
- #
104
- # steps:
105
- # - name: Checkout
106
- # id: checkout
107
- # uses: actions/checkout@v4
108
- #
109
- # - name: Deploy Agent Swarm
110
- # uses: tarasyarema/dokploy-deploy-action@main
111
- # with:
112
- # application_id: h4or-knfw2HWkTzjLmrn8
113
- # application_name: agent-swarm-nrz8v0
114
- # dokploy_url: https://app.dokploy.com
115
- # auth_token: ${{ secrets.DOKPLOY_TOKEN }}
116
- # wait_for_completion: true
117
- # restart: true
110
+
111
+ deploy:
112
+ name: Deploy
113
+ runs-on: self-hosted
114
+
115
+ needs:
116
+ - build-and-push-server
117
+ - build-and-push-worker
118
+
119
+ steps:
120
+ - name: Checkout
121
+ id: checkout
122
+ uses: actions/checkout@v4
123
+
124
+ - name: Deploy Agent Swarm
125
+ uses: tarasyarema/dokploy-deploy-action@main
126
+ with:
127
+ deployment_type: compose
128
+ compose_id: h4or-knfw2HWkTzjLmrn8
129
+ compose_name: agent-swarm-nrz8v0
130
+ dokploy_url: https://app.dokploy.com
131
+ auth_token: ${{ secrets.DOKPLOY_TOKEN }}
132
+ wait_for_completion: true