squadfoundry 0.1.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 (309) hide show
  1. package/AGENTS.md +76 -0
  2. package/PROJECT.md +79 -0
  3. package/README.md +255 -0
  4. package/dist/orchestrator/adapters/context/IContextAdapter.d.ts +65 -0
  5. package/dist/orchestrator/adapters/context/IContextAdapter.d.ts.map +1 -0
  6. package/dist/orchestrator/adapters/context/IContextAdapter.js +12 -0
  7. package/dist/orchestrator/adapters/context/IContextAdapter.js.map +1 -0
  8. package/dist/orchestrator/adapters/context/filesystem.context-adapter.d.ts +33 -0
  9. package/dist/orchestrator/adapters/context/filesystem.context-adapter.d.ts.map +1 -0
  10. package/dist/orchestrator/adapters/context/filesystem.context-adapter.js +179 -0
  11. package/dist/orchestrator/adapters/context/filesystem.context-adapter.js.map +1 -0
  12. package/dist/orchestrator/adapters/deploy/IDeployAdapter.d.ts +78 -0
  13. package/dist/orchestrator/adapters/deploy/IDeployAdapter.d.ts.map +1 -0
  14. package/dist/orchestrator/adapters/deploy/IDeployAdapter.js +14 -0
  15. package/dist/orchestrator/adapters/deploy/IDeployAdapter.js.map +1 -0
  16. package/dist/orchestrator/adapters/deploy/vercel.adapter.d.ts +31 -0
  17. package/dist/orchestrator/adapters/deploy/vercel.adapter.d.ts.map +1 -0
  18. package/dist/orchestrator/adapters/deploy/vercel.adapter.js +83 -0
  19. package/dist/orchestrator/adapters/deploy/vercel.adapter.js.map +1 -0
  20. package/dist/orchestrator/adapters/host/IHostAdapter.d.ts +89 -0
  21. package/dist/orchestrator/adapters/host/IHostAdapter.d.ts.map +1 -0
  22. package/dist/orchestrator/adapters/host/IHostAdapter.js +10 -0
  23. package/dist/orchestrator/adapters/host/IHostAdapter.js.map +1 -0
  24. package/dist/orchestrator/adapters/host/anthropic.adapter.d.ts +27 -0
  25. package/dist/orchestrator/adapters/host/anthropic.adapter.d.ts.map +1 -0
  26. package/dist/orchestrator/adapters/host/anthropic.adapter.js +118 -0
  27. package/dist/orchestrator/adapters/host/anthropic.adapter.js.map +1 -0
  28. package/dist/orchestrator/adapters/host/antigravity.adapter.d.ts +53 -0
  29. package/dist/orchestrator/adapters/host/antigravity.adapter.d.ts.map +1 -0
  30. package/dist/orchestrator/adapters/host/antigravity.adapter.js +148 -0
  31. package/dist/orchestrator/adapters/host/antigravity.adapter.js.map +1 -0
  32. package/dist/orchestrator/adapters/host/claude-code.adapter.d.ts +13 -0
  33. package/dist/orchestrator/adapters/host/claude-code.adapter.d.ts.map +1 -0
  34. package/dist/orchestrator/adapters/host/claude-code.adapter.js +27 -0
  35. package/dist/orchestrator/adapters/host/claude-code.adapter.js.map +1 -0
  36. package/dist/orchestrator/adapters/host/command-model-invoker.d.ts +8 -0
  37. package/dist/orchestrator/adapters/host/command-model-invoker.d.ts.map +1 -0
  38. package/dist/orchestrator/adapters/host/command-model-invoker.js +46 -0
  39. package/dist/orchestrator/adapters/host/command-model-invoker.js.map +1 -0
  40. package/dist/orchestrator/adapters/host/ide.adapter.d.ts +61 -0
  41. package/dist/orchestrator/adapters/host/ide.adapter.d.ts.map +1 -0
  42. package/dist/orchestrator/adapters/host/ide.adapter.js +173 -0
  43. package/dist/orchestrator/adapters/host/ide.adapter.js.map +1 -0
  44. package/dist/orchestrator/adapters/host/local.adapter.d.ts +26 -0
  45. package/dist/orchestrator/adapters/host/local.adapter.d.ts.map +1 -0
  46. package/dist/orchestrator/adapters/host/local.adapter.js +82 -0
  47. package/dist/orchestrator/adapters/host/local.adapter.js.map +1 -0
  48. package/dist/orchestrator/adapters/host/openai.adapter.d.ts +26 -0
  49. package/dist/orchestrator/adapters/host/openai.adapter.d.ts.map +1 -0
  50. package/dist/orchestrator/adapters/host/openai.adapter.js +77 -0
  51. package/dist/orchestrator/adapters/host/openai.adapter.js.map +1 -0
  52. package/dist/orchestrator/adapters/host/opencode.adapter.d.ts +13 -0
  53. package/dist/orchestrator/adapters/host/opencode.adapter.d.ts.map +1 -0
  54. package/dist/orchestrator/adapters/host/opencode.adapter.js +27 -0
  55. package/dist/orchestrator/adapters/host/opencode.adapter.js.map +1 -0
  56. package/dist/orchestrator/adapters/model/IModelAdapter.d.ts +68 -0
  57. package/dist/orchestrator/adapters/model/IModelAdapter.d.ts.map +1 -0
  58. package/dist/orchestrator/adapters/model/IModelAdapter.js +11 -0
  59. package/dist/orchestrator/adapters/model/IModelAdapter.js.map +1 -0
  60. package/dist/orchestrator/adapters/publishing/ISocialMediaAdapter.d.ts +93 -0
  61. package/dist/orchestrator/adapters/publishing/ISocialMediaAdapter.d.ts.map +1 -0
  62. package/dist/orchestrator/adapters/publishing/ISocialMediaAdapter.js +10 -0
  63. package/dist/orchestrator/adapters/publishing/ISocialMediaAdapter.js.map +1 -0
  64. package/dist/orchestrator/adapters/publishing/instagram.adapter.d.ts +34 -0
  65. package/dist/orchestrator/adapters/publishing/instagram.adapter.d.ts.map +1 -0
  66. package/dist/orchestrator/adapters/publishing/instagram.adapter.js +105 -0
  67. package/dist/orchestrator/adapters/publishing/instagram.adapter.js.map +1 -0
  68. package/dist/orchestrator/adapters/tools/IToolAdapter.d.ts +52 -0
  69. package/dist/orchestrator/adapters/tools/IToolAdapter.d.ts.map +1 -0
  70. package/dist/orchestrator/adapters/tools/IToolAdapter.js +10 -0
  71. package/dist/orchestrator/adapters/tools/IToolAdapter.js.map +1 -0
  72. package/dist/orchestrator/adapters/vcs/IVCSAdapter.d.ts +89 -0
  73. package/dist/orchestrator/adapters/vcs/IVCSAdapter.d.ts.map +1 -0
  74. package/dist/orchestrator/adapters/vcs/IVCSAdapter.js +11 -0
  75. package/dist/orchestrator/adapters/vcs/IVCSAdapter.js.map +1 -0
  76. package/dist/orchestrator/adapters/vcs/github.adapter.d.ts +36 -0
  77. package/dist/orchestrator/adapters/vcs/github.adapter.d.ts.map +1 -0
  78. package/dist/orchestrator/adapters/vcs/github.adapter.js +110 -0
  79. package/dist/orchestrator/adapters/vcs/github.adapter.js.map +1 -0
  80. package/dist/orchestrator/artifacts/artifact-store.d.ts +47 -0
  81. package/dist/orchestrator/artifacts/artifact-store.d.ts.map +1 -0
  82. package/dist/orchestrator/artifacts/artifact-store.js +135 -0
  83. package/dist/orchestrator/artifacts/artifact-store.js.map +1 -0
  84. package/dist/orchestrator/builder/domain-classifier.d.ts +24 -0
  85. package/dist/orchestrator/builder/domain-classifier.d.ts.map +1 -0
  86. package/dist/orchestrator/builder/domain-classifier.js +156 -0
  87. package/dist/orchestrator/builder/domain-classifier.js.map +1 -0
  88. package/dist/orchestrator/builder/interview-questions.d.ts +13 -0
  89. package/dist/orchestrator/builder/interview-questions.d.ts.map +1 -0
  90. package/dist/orchestrator/builder/interview-questions.js +127 -0
  91. package/dist/orchestrator/builder/interview-questions.js.map +1 -0
  92. package/dist/orchestrator/builder/squad-builder.d.ts +53 -0
  93. package/dist/orchestrator/builder/squad-builder.d.ts.map +1 -0
  94. package/dist/orchestrator/builder/squad-builder.js +107 -0
  95. package/dist/orchestrator/builder/squad-builder.js.map +1 -0
  96. package/dist/orchestrator/builder/squad-generator.d.ts +33 -0
  97. package/dist/orchestrator/builder/squad-generator.d.ts.map +1 -0
  98. package/dist/orchestrator/builder/squad-generator.js +360 -0
  99. package/dist/orchestrator/builder/squad-generator.js.map +1 -0
  100. package/dist/orchestrator/cli/index.d.ts +3 -0
  101. package/dist/orchestrator/cli/index.d.ts.map +1 -0
  102. package/dist/orchestrator/cli/index.js +8 -0
  103. package/dist/orchestrator/cli/index.js.map +1 -0
  104. package/dist/orchestrator/context/context-index.d.ts +48 -0
  105. package/dist/orchestrator/context/context-index.d.ts.map +1 -0
  106. package/dist/orchestrator/context/context-index.js +116 -0
  107. package/dist/orchestrator/context/context-index.js.map +1 -0
  108. package/dist/orchestrator/context/context-loader.d.ts +49 -0
  109. package/dist/orchestrator/context/context-loader.d.ts.map +1 -0
  110. package/dist/orchestrator/context/context-loader.js +111 -0
  111. package/dist/orchestrator/context/context-loader.js.map +1 -0
  112. package/dist/orchestrator/core/guardrails.d.ts +33 -0
  113. package/dist/orchestrator/core/guardrails.d.ts.map +1 -0
  114. package/dist/orchestrator/core/guardrails.js +272 -0
  115. package/dist/orchestrator/core/guardrails.js.map +1 -0
  116. package/dist/orchestrator/core/state-machine.d.ts +65 -0
  117. package/dist/orchestrator/core/state-machine.d.ts.map +1 -0
  118. package/dist/orchestrator/core/state-machine.js +227 -0
  119. package/dist/orchestrator/core/state-machine.js.map +1 -0
  120. package/dist/orchestrator/core/types.d.ts +364 -0
  121. package/dist/orchestrator/core/types.d.ts.map +1 -0
  122. package/dist/orchestrator/core/types.js +10 -0
  123. package/dist/orchestrator/core/types.js.map +1 -0
  124. package/dist/orchestrator/index.d.ts +75 -0
  125. package/dist/orchestrator/index.d.ts.map +1 -0
  126. package/dist/orchestrator/index.js +64 -0
  127. package/dist/orchestrator/index.js.map +1 -0
  128. package/dist/orchestrator/mcp/server.d.ts +35 -0
  129. package/dist/orchestrator/mcp/server.d.ts.map +1 -0
  130. package/dist/orchestrator/mcp/server.js +378 -0
  131. package/dist/orchestrator/mcp/server.js.map +1 -0
  132. package/dist/orchestrator/runtime/agent-dispatcher.d.ts +25 -0
  133. package/dist/orchestrator/runtime/agent-dispatcher.d.ts.map +1 -0
  134. package/dist/orchestrator/runtime/agent-dispatcher.js +82 -0
  135. package/dist/orchestrator/runtime/agent-dispatcher.js.map +1 -0
  136. package/dist/orchestrator/runtime/approval-gate.d.ts +55 -0
  137. package/dist/orchestrator/runtime/approval-gate.d.ts.map +1 -0
  138. package/dist/orchestrator/runtime/approval-gate.js +104 -0
  139. package/dist/orchestrator/runtime/approval-gate.js.map +1 -0
  140. package/dist/orchestrator/runtime/handoff-manager.d.ts +29 -0
  141. package/dist/orchestrator/runtime/handoff-manager.d.ts.map +1 -0
  142. package/dist/orchestrator/runtime/handoff-manager.js +80 -0
  143. package/dist/orchestrator/runtime/handoff-manager.js.map +1 -0
  144. package/dist/orchestrator/runtime/job-manager.d.ts +39 -0
  145. package/dist/orchestrator/runtime/job-manager.d.ts.map +1 -0
  146. package/dist/orchestrator/runtime/job-manager.js +132 -0
  147. package/dist/orchestrator/runtime/job-manager.js.map +1 -0
  148. package/dist/orchestrator/runtime/squad-runtime.d.ts +70 -0
  149. package/dist/orchestrator/runtime/squad-runtime.d.ts.map +1 -0
  150. package/dist/orchestrator/runtime/squad-runtime.js +249 -0
  151. package/dist/orchestrator/runtime/squad-runtime.js.map +1 -0
  152. package/dist/orchestrator/shell/cli.d.ts +4 -0
  153. package/dist/orchestrator/shell/cli.d.ts.map +1 -0
  154. package/dist/orchestrator/shell/cli.js +27 -0
  155. package/dist/orchestrator/shell/cli.js.map +1 -0
  156. package/dist/orchestrator/shell/commands/create.command.d.ts +3 -0
  157. package/dist/orchestrator/shell/commands/create.command.d.ts.map +1 -0
  158. package/dist/orchestrator/shell/commands/create.command.js +41 -0
  159. package/dist/orchestrator/shell/commands/create.command.js.map +1 -0
  160. package/dist/orchestrator/shell/commands/edit.command.d.ts +3 -0
  161. package/dist/orchestrator/shell/commands/edit.command.d.ts.map +1 -0
  162. package/dist/orchestrator/shell/commands/edit.command.js +49 -0
  163. package/dist/orchestrator/shell/commands/edit.command.js.map +1 -0
  164. package/dist/orchestrator/shell/commands/hosts.command.d.ts +3 -0
  165. package/dist/orchestrator/shell/commands/hosts.command.d.ts.map +1 -0
  166. package/dist/orchestrator/shell/commands/hosts.command.js +27 -0
  167. package/dist/orchestrator/shell/commands/hosts.command.js.map +1 -0
  168. package/dist/orchestrator/shell/commands/init.command.d.ts +3 -0
  169. package/dist/orchestrator/shell/commands/init.command.d.ts.map +1 -0
  170. package/dist/orchestrator/shell/commands/init.command.js +13 -0
  171. package/dist/orchestrator/shell/commands/init.command.js.map +1 -0
  172. package/dist/orchestrator/shell/commands/list.command.d.ts +3 -0
  173. package/dist/orchestrator/shell/commands/list.command.d.ts.map +1 -0
  174. package/dist/orchestrator/shell/commands/list.command.js +18 -0
  175. package/dist/orchestrator/shell/commands/list.command.js.map +1 -0
  176. package/dist/orchestrator/shell/commands/run.command.d.ts +3 -0
  177. package/dist/orchestrator/shell/commands/run.command.d.ts.map +1 -0
  178. package/dist/orchestrator/shell/commands/run.command.js +71 -0
  179. package/dist/orchestrator/shell/commands/run.command.js.map +1 -0
  180. package/dist/orchestrator/shell/commands/status.command.d.ts +3 -0
  181. package/dist/orchestrator/shell/commands/status.command.d.ts.map +1 -0
  182. package/dist/orchestrator/shell/commands/status.command.js +29 -0
  183. package/dist/orchestrator/shell/commands/status.command.js.map +1 -0
  184. package/dist/orchestrator/shell/services/active-host-detector.service.d.ts +25 -0
  185. package/dist/orchestrator/shell/services/active-host-detector.service.d.ts.map +1 -0
  186. package/dist/orchestrator/shell/services/active-host-detector.service.js +128 -0
  187. package/dist/orchestrator/shell/services/active-host-detector.service.js.map +1 -0
  188. package/dist/orchestrator/shell/services/host-resolution.service.d.ts +42 -0
  189. package/dist/orchestrator/shell/services/host-resolution.service.d.ts.map +1 -0
  190. package/dist/orchestrator/shell/services/host-resolution.service.js +108 -0
  191. package/dist/orchestrator/shell/services/host-resolution.service.js.map +1 -0
  192. package/dist/orchestrator/shell/services/host-runtime.service.d.ts +23 -0
  193. package/dist/orchestrator/shell/services/host-runtime.service.d.ts.map +1 -0
  194. package/dist/orchestrator/shell/services/host-runtime.service.js +167 -0
  195. package/dist/orchestrator/shell/services/host-runtime.service.js.map +1 -0
  196. package/dist/orchestrator/shell/services/interview-host-bridge.service.d.ts +14 -0
  197. package/dist/orchestrator/shell/services/interview-host-bridge.service.d.ts.map +1 -0
  198. package/dist/orchestrator/shell/services/interview-host-bridge.service.js +16 -0
  199. package/dist/orchestrator/shell/services/interview-host-bridge.service.js.map +1 -0
  200. package/dist/orchestrator/shell/services/job-execution.service.d.ts +22 -0
  201. package/dist/orchestrator/shell/services/job-execution.service.d.ts.map +1 -0
  202. package/dist/orchestrator/shell/services/job-execution.service.js +39 -0
  203. package/dist/orchestrator/shell/services/job-execution.service.js.map +1 -0
  204. package/dist/orchestrator/shell/services/project-bootstrap.service.d.ts +6 -0
  205. package/dist/orchestrator/shell/services/project-bootstrap.service.d.ts.map +1 -0
  206. package/dist/orchestrator/shell/services/project-bootstrap.service.js +111 -0
  207. package/dist/orchestrator/shell/services/project-bootstrap.service.js.map +1 -0
  208. package/dist/orchestrator/shell/services/squad-scaffold.service.d.ts +3 -0
  209. package/dist/orchestrator/shell/services/squad-scaffold.service.d.ts.map +1 -0
  210. package/dist/orchestrator/shell/services/squad-scaffold.service.js +30 -0
  211. package/dist/orchestrator/shell/services/squad-scaffold.service.js.map +1 -0
  212. package/dist/tests/integration/instagram-squad.test.d.ts +8 -0
  213. package/dist/tests/integration/instagram-squad.test.d.ts.map +1 -0
  214. package/dist/tests/integration/instagram-squad.test.js +187 -0
  215. package/dist/tests/integration/instagram-squad.test.js.map +1 -0
  216. package/dist/tests/integration/shell/cli-run-host-native.test.d.ts +2 -0
  217. package/dist/tests/integration/shell/cli-run-host-native.test.d.ts.map +1 -0
  218. package/dist/tests/integration/shell/cli-run-host-native.test.js +42 -0
  219. package/dist/tests/integration/shell/cli-run-host-native.test.js.map +1 -0
  220. package/dist/tests/integration/software-squad.test.d.ts +8 -0
  221. package/dist/tests/integration/software-squad.test.d.ts.map +1 -0
  222. package/dist/tests/integration/software-squad.test.js +207 -0
  223. package/dist/tests/integration/software-squad.test.js.map +1 -0
  224. package/dist/tests/unit/artifact-store.test.d.ts +2 -0
  225. package/dist/tests/unit/artifact-store.test.d.ts.map +1 -0
  226. package/dist/tests/unit/artifact-store.test.js +137 -0
  227. package/dist/tests/unit/artifact-store.test.js.map +1 -0
  228. package/dist/tests/unit/context-loader.test.d.ts +2 -0
  229. package/dist/tests/unit/context-loader.test.d.ts.map +1 -0
  230. package/dist/tests/unit/context-loader.test.js +109 -0
  231. package/dist/tests/unit/context-loader.test.js.map +1 -0
  232. package/dist/tests/unit/docs/host-native-docs.test.d.ts +2 -0
  233. package/dist/tests/unit/docs/host-native-docs.test.d.ts.map +1 -0
  234. package/dist/tests/unit/docs/host-native-docs.test.js +18 -0
  235. package/dist/tests/unit/docs/host-native-docs.test.js.map +1 -0
  236. package/dist/tests/unit/guardrails.test.d.ts +2 -0
  237. package/dist/tests/unit/guardrails.test.d.ts.map +1 -0
  238. package/dist/tests/unit/guardrails.test.js +202 -0
  239. package/dist/tests/unit/guardrails.test.js.map +1 -0
  240. package/dist/tests/unit/host/host-adapter-contract.test.d.ts +2 -0
  241. package/dist/tests/unit/host/host-adapter-contract.test.d.ts.map +1 -0
  242. package/dist/tests/unit/host/host-adapter-contract.test.js +53 -0
  243. package/dist/tests/unit/host/host-adapter-contract.test.js.map +1 -0
  244. package/dist/tests/unit/host/ide.adapter.test.d.ts +2 -0
  245. package/dist/tests/unit/host/ide.adapter.test.d.ts.map +1 -0
  246. package/dist/tests/unit/host/ide.adapter.test.js +17 -0
  247. package/dist/tests/unit/host/ide.adapter.test.js.map +1 -0
  248. package/dist/tests/unit/host/native-ide-adapters.test.d.ts +2 -0
  249. package/dist/tests/unit/host/native-ide-adapters.test.d.ts.map +1 -0
  250. package/dist/tests/unit/host/native-ide-adapters.test.js +26 -0
  251. package/dist/tests/unit/host/native-ide-adapters.test.js.map +1 -0
  252. package/dist/tests/unit/runtime/squad-runtime-host-metadata.test.d.ts +2 -0
  253. package/dist/tests/unit/runtime/squad-runtime-host-metadata.test.d.ts.map +1 -0
  254. package/dist/tests/unit/runtime/squad-runtime-host-metadata.test.js +128 -0
  255. package/dist/tests/unit/runtime/squad-runtime-host-metadata.test.js.map +1 -0
  256. package/dist/tests/unit/shell/active-host-detector.test.d.ts +2 -0
  257. package/dist/tests/unit/shell/active-host-detector.test.d.ts.map +1 -0
  258. package/dist/tests/unit/shell/active-host-detector.test.js +85 -0
  259. package/dist/tests/unit/shell/active-host-detector.test.js.map +1 -0
  260. package/dist/tests/unit/shell/host-resolution.service.test.d.ts +2 -0
  261. package/dist/tests/unit/shell/host-resolution.service.test.d.ts.map +1 -0
  262. package/dist/tests/unit/shell/host-resolution.service.test.js +252 -0
  263. package/dist/tests/unit/shell/host-resolution.service.test.js.map +1 -0
  264. package/dist/tests/unit/shell/interview-host-bridge.test.d.ts +2 -0
  265. package/dist/tests/unit/shell/interview-host-bridge.test.d.ts.map +1 -0
  266. package/dist/tests/unit/shell/interview-host-bridge.test.js +58 -0
  267. package/dist/tests/unit/shell/interview-host-bridge.test.js.map +1 -0
  268. package/dist/tests/unit/shell/project-bootstrap.service.test.d.ts +2 -0
  269. package/dist/tests/unit/shell/project-bootstrap.service.test.d.ts.map +1 -0
  270. package/dist/tests/unit/shell/project-bootstrap.service.test.js +58 -0
  271. package/dist/tests/unit/shell/project-bootstrap.service.test.js.map +1 -0
  272. package/dist/tests/unit/shell/squad-scaffold.service.test.d.ts +2 -0
  273. package/dist/tests/unit/shell/squad-scaffold.service.test.d.ts.map +1 -0
  274. package/dist/tests/unit/shell/squad-scaffold.service.test.js +40 -0
  275. package/dist/tests/unit/shell/squad-scaffold.service.test.js.map +1 -0
  276. package/dist/tests/unit/squad-builder.test.d.ts +2 -0
  277. package/dist/tests/unit/squad-builder.test.d.ts.map +1 -0
  278. package/dist/tests/unit/squad-builder.test.js +126 -0
  279. package/dist/tests/unit/squad-builder.test.js.map +1 -0
  280. package/dist/tests/unit/state-machine.test.d.ts +2 -0
  281. package/dist/tests/unit/state-machine.test.d.ts.map +1 -0
  282. package/dist/tests/unit/state-machine.test.js +133 -0
  283. package/dist/tests/unit/state-machine.test.js.map +1 -0
  284. package/docs/architecture/overview.md +115 -0
  285. package/docs/development/adding-agents.md +75 -0
  286. package/docs/development/adding-hosts.md +104 -0
  287. package/docs/development/adding-integrations.md +83 -0
  288. package/docs/development/host-detection-and-resolution.md +59 -0
  289. package/docs/squads/how-to-create.md +85 -0
  290. package/docs/squads/how-to-execute.md +139 -0
  291. package/docs/superpowers/plans/2026-04-01-host-native-cli-shell-implementation.md +617 -0
  292. package/docs/superpowers/specs/2026-04-01-host-native-cli-shell-design.md +253 -0
  293. package/package.json +103 -0
  294. package/squads/examples/instagram-content/AGENTS.md +63 -0
  295. package/squads/examples/instagram-content/POLICIES.md +45 -0
  296. package/squads/examples/instagram-content/SQUAD.md +63 -0
  297. package/squads/examples/instagram-content/WORKFLOW.md +58 -0
  298. package/squads/examples/instagram-content/config/squad.json +474 -0
  299. package/squads/examples/software-development/AGENTS.md +88 -0
  300. package/squads/examples/software-development/POLICIES.md +44 -0
  301. package/squads/examples/software-development/SQUAD.md +65 -0
  302. package/squads/examples/software-development/WORKFLOW.md +78 -0
  303. package/squads/examples/software-development/config/squad.json +442 -0
  304. package/templates/AGENTS.md +46 -0
  305. package/templates/POLICIES.md +24 -0
  306. package/templates/PROJECT.md +52 -0
  307. package/templates/SQUAD.md +52 -0
  308. package/templates/TASKS.md +31 -0
  309. package/templates/WORKFLOW.md +35 -0
@@ -0,0 +1,78 @@
1
+ # Workflow: Software Development Pipeline
2
+
3
+ Sequential pipeline with review and test loops.
4
+
5
+ ## Steps
6
+
7
+ ### 1. Requirements & Design (`step-product`)
8
+ - **Agent:** Product Agent
9
+ - **Input:** Task description / feature request
10
+ - **Output:** PRD.md, SDD.md
11
+ - **Approval:** None required
12
+
13
+ ### 2. Implementation (`step-code`)
14
+ - **Agent:** Code Agent
15
+ - **Input:** PRD, SDD
16
+ - **Output:** Implementation files
17
+ - **Approval:** None required
18
+ - **Requires:** PRD must be present (guardrail)
19
+
20
+ ### 3. Code Review (`step-review`)
21
+ - **Agent:** Reviewer Agent
22
+ - **Input:** Implementation, PRD
23
+ - **Output:** Review Findings (PASS or FAIL with details)
24
+ - **Approval:** None required
25
+ - **Loop:** If FAIL → returns to Code Agent
26
+
27
+ ### 4. Testing (`step-test`)
28
+ - **Agent:** Test Agent
29
+ - **Input:** Implementation, Review Findings
30
+ - **Output:** Test Results
31
+ - **Approval:** None required
32
+ - **Loop:** If tests fail → returns to Code Agent
33
+
34
+ ### 5. Commit (`step-commit`)
35
+ - **Agent:** Commit Agent
36
+ - **Input:** Implementation, Test Results
37
+ - **Output:** Branch name + Commit SHA
38
+ - **Approval:** None required
39
+
40
+ ### 6. Pull Request (`step-pr`)
41
+ - **Agent:** PR Agent
42
+ - **Input:** Commit Info, Review Findings, Test Results
43
+ - **Output:** PR URL and metadata
44
+ - **Approval:** None required before; human should review the PR
45
+ - **Requires:** Review artifacts + test artifacts (guardrail)
46
+
47
+ ### 7. Deploy (`step-deploy`)
48
+ - **Agent:** Deploy Agent
49
+ - **Input:** PR Info
50
+ - **Output:** Deploy result and URL
51
+ - **Approval:** **REQUIRED BEFORE execution**
52
+ - **Guardrail:** `require_human_before_deploy` — always blocks without explicit confirmation
53
+
54
+ ## Transition Diagram
55
+
56
+ ```
57
+ INTAKE_PENDING
58
+ → CONTEXT_LOADING
59
+ → JOB_CREATED
60
+ → READY_FOR_EXECUTION
61
+ → RUNNING_STEP (Product Agent)
62
+ → READY_FOR_EXECUTION
63
+ → RUNNING_STEP (Code Agent)
64
+ → READY_FOR_EXECUTION
65
+ → RUNNING_STEP (Reviewer Agent)
66
+ ↳ if FAIL → back to Code Agent
67
+ → READY_FOR_EXECUTION
68
+ → RUNNING_STEP (Test Agent)
69
+ ↳ if fail → back to Code Agent
70
+ → READY_FOR_EXECUTION
71
+ → RUNNING_STEP (Commit Agent)
72
+ → READY_FOR_EXECUTION
73
+ → RUNNING_STEP (PR Agent)
74
+ → WAITING_APPROVAL (human confirms deploy)
75
+ → READY_FOR_EXECUTION
76
+ → RUNNING_STEP (Deploy Agent)
77
+ → COMPLETED
78
+ ```
@@ -0,0 +1,442 @@
1
+ {
2
+ "id": "software-development",
3
+ "name": "Software Development Squad",
4
+ "domain": "software-development",
5
+ "objective": "Implement software features from requirements through to deployed code with full review, testing, and traceability",
6
+ "description": "A full-cycle software development squad that takes a task or feature request, generates a spec, writes code, reviews it, runs tests, creates a commit, opens a PR, and deploys when approved.",
7
+ "context": "This squad is designed for codebases managed with Git and hosted on GitHub. It integrates with CI/CD via GitHub Actions and can deploy to any cloud provider via the deploy adapter.",
8
+ "agents": [
9
+ {
10
+ "id": "product-agent",
11
+ "name": "Product Agent",
12
+ "role": "Product Manager / Requirements Author",
13
+ "domain": "software-development",
14
+ "objective": "Transform the task input into a concise PRD (Product Requirements Document) and SDD (Solution Design Document)",
15
+ "instructions": "You are the Product Agent. Given a task or feature request, produce a clear and concise PRD and SDD. Focus on what needs to be built, not how. Keep it actionable. Include: objective, acceptance criteria, edge cases, and a brief technical approach. Output as Markdown.",
16
+ "inputs": [
17
+ { "name": "task_input", "description": "The feature request or task description", "required": true }
18
+ ],
19
+ "outputs": [
20
+ { "name": "prd", "description": "Product Requirements Document", "required": true, "format": "markdown" },
21
+ { "name": "sdd", "description": "Solution Design Document", "required": true, "format": "markdown" }
22
+ ],
23
+ "allowedTools": ["filesystem", "context"],
24
+ "constraints": [
25
+ "Do not write code",
26
+ "Do not make technical implementation decisions without flagging them in the SDD",
27
+ "Always include acceptance criteria"
28
+ ],
29
+ "successCriteria": ["PRD produced", "SDD produced", "Acceptance criteria defined"],
30
+ "failureCriteria": ["Cannot understand the task", "Task is ambiguous and needs human clarification"],
31
+ "allowedStates": ["READY_FOR_EXECUTION", "RUNNING_STEP"],
32
+ "blockingConditions": [],
33
+ "handoffRules": [
34
+ {
35
+ "condition": "prd_and_sdd_produced",
36
+ "targetAgentId": "code-agent",
37
+ "description": "Pass PRD and SDD to Code Agent for implementation",
38
+ "requiresApproval": false
39
+ }
40
+ ],
41
+ "responseFormat": "markdown"
42
+ },
43
+ {
44
+ "id": "code-agent",
45
+ "name": "Code Agent",
46
+ "role": "Software Engineer / Implementor",
47
+ "domain": "software-development",
48
+ "objective": "Implement the feature as described in the PRD and SDD",
49
+ "instructions": "You are the Code Agent. Given a PRD and SDD, implement the feature. Follow the project's coding conventions (read from PROJECT.md and existing code). Write clean, readable, tested code. Do not over-engineer. Output the implementation as code files.",
50
+ "inputs": [
51
+ { "name": "prd", "description": "Product Requirements Document", "required": true },
52
+ { "name": "sdd", "description": "Solution Design Document", "required": true }
53
+ ],
54
+ "outputs": [
55
+ { "name": "implementation", "description": "The implemented code files", "required": true }
56
+ ],
57
+ "allowedTools": ["filesystem", "git", "context"],
58
+ "constraints": [
59
+ "Do not deploy",
60
+ "Do not merge PRs",
61
+ "Follow existing coding conventions",
62
+ "Do not add unused code or speculative abstractions"
63
+ ],
64
+ "successCriteria": ["Code implemented", "Follows project conventions", "No obvious bugs"],
65
+ "failureCriteria": ["Cannot implement without more information", "Conflicting requirements"],
66
+ "allowedStates": ["READY_FOR_EXECUTION", "RUNNING_STEP"],
67
+ "blockingConditions": ["prd_not_present", "sdd_not_present"],
68
+ "handoffRules": [
69
+ {
70
+ "condition": "implementation_complete",
71
+ "targetAgentId": "reviewer-agent",
72
+ "description": "Pass implementation to Reviewer Agent",
73
+ "requiresApproval": false
74
+ }
75
+ ],
76
+ "responseFormat": "markdown"
77
+ },
78
+ {
79
+ "id": "reviewer-agent",
80
+ "name": "Reviewer Agent",
81
+ "role": "Code Reviewer",
82
+ "domain": "software-development",
83
+ "objective": "Review the implementation and return structured findings",
84
+ "instructions": "You are the Reviewer Agent. Review the implementation against the PRD, SDD, and project conventions. Check for: correctness, edge cases, security issues, performance concerns, style violations, missing tests. Output a structured review with PASS/FAIL and a list of findings. If FAIL, the Code Agent must revise.",
85
+ "inputs": [
86
+ { "name": "implementation", "description": "Code to review", "required": true },
87
+ { "name": "prd", "description": "Requirements for comparison", "required": true }
88
+ ],
89
+ "outputs": [
90
+ { "name": "review_findings", "description": "Structured code review findings", "required": true }
91
+ ],
92
+ "allowedTools": ["filesystem", "context"],
93
+ "constraints": [
94
+ "Do not write code",
95
+ "Always provide actionable feedback",
96
+ "Always output PASS or FAIL verdict clearly"
97
+ ],
98
+ "successCriteria": ["Review completed", "Verdict issued", "All findings documented"],
99
+ "failureCriteria": ["Cannot access code", "Insufficient context to review"],
100
+ "allowedStates": ["READY_FOR_EXECUTION", "RUNNING_STEP"],
101
+ "blockingConditions": [],
102
+ "handoffRules": [
103
+ {
104
+ "condition": "review_passed",
105
+ "targetAgentId": "test-agent",
106
+ "description": "Pass to Test Agent on PASS verdict",
107
+ "requiresApproval": false
108
+ },
109
+ {
110
+ "condition": "review_failed",
111
+ "targetAgentId": "code-agent",
112
+ "description": "Return to Code Agent for revisions on FAIL verdict",
113
+ "requiresApproval": false
114
+ }
115
+ ],
116
+ "responseFormat": "structured",
117
+ "allowsLoop": true
118
+ },
119
+ {
120
+ "id": "test-agent",
121
+ "name": "Test Agent",
122
+ "role": "QA Engineer / Test Runner",
123
+ "domain": "software-development",
124
+ "objective": "Write and execute tests for the implementation",
125
+ "instructions": "You are the Test Agent. Write unit and integration tests for the implemented code. Run the test suite. Report results. Output a test report with: tests written, tests passed, tests failed, coverage estimate.",
126
+ "inputs": [
127
+ { "name": "implementation", "description": "Code to test", "required": true },
128
+ { "name": "review_findings", "description": "Review findings to guide test focus", "required": false }
129
+ ],
130
+ "outputs": [
131
+ { "name": "test_results", "description": "Test execution report", "required": true }
132
+ ],
133
+ "allowedTools": ["filesystem", "test-runner", "context"],
134
+ "constraints": [
135
+ "Do not modify production code",
136
+ "Only write tests",
137
+ "Report honestly — do not hide failures"
138
+ ],
139
+ "successCriteria": ["Tests written", "Tests executed", "Results reported"],
140
+ "failureCriteria": ["Cannot run tests", "Test environment broken"],
141
+ "allowedStates": ["READY_FOR_EXECUTION", "RUNNING_STEP"],
142
+ "blockingConditions": [],
143
+ "handoffRules": [
144
+ {
145
+ "condition": "tests_passed",
146
+ "targetAgentId": "commit-agent",
147
+ "description": "Pass to Commit Agent on test success",
148
+ "requiresApproval": false
149
+ },
150
+ {
151
+ "condition": "tests_failed",
152
+ "targetAgentId": "code-agent",
153
+ "description": "Return to Code Agent if tests fail",
154
+ "requiresApproval": false
155
+ }
156
+ ],
157
+ "responseFormat": "structured"
158
+ },
159
+ {
160
+ "id": "commit-agent",
161
+ "name": "Commit Agent",
162
+ "role": "VCS / Branch Manager",
163
+ "domain": "software-development",
164
+ "objective": "Create a branch, stage files, and produce a well-formed commit",
165
+ "instructions": "You are the Commit Agent. Create a feature branch with a descriptive name. Stage all modified files. Write a clear, conventional commit message (format: type(scope): description). Output the branch name and commit SHA.",
166
+ "inputs": [
167
+ { "name": "implementation", "description": "Files to commit", "required": true },
168
+ { "name": "test_results", "description": "Test results for commit message context", "required": false }
169
+ ],
170
+ "outputs": [
171
+ { "name": "commit_info", "description": "Branch name, commit SHA, and message", "required": true }
172
+ ],
173
+ "allowedTools": ["git", "filesystem"],
174
+ "constraints": [
175
+ "Do not push to main or master directly",
176
+ "Always create a feature branch",
177
+ "Follow conventional commit format",
178
+ "Do not force-push"
179
+ ],
180
+ "successCriteria": ["Branch created", "Files committed", "Commit message is conventional"],
181
+ "failureCriteria": ["Git not available", "No files to commit"],
182
+ "allowedStates": ["READY_FOR_EXECUTION", "RUNNING_STEP"],
183
+ "blockingConditions": [],
184
+ "handoffRules": [
185
+ {
186
+ "condition": "commit_created",
187
+ "targetAgentId": "pr-agent",
188
+ "description": "Pass to PR Agent after commit",
189
+ "requiresApproval": false
190
+ }
191
+ ],
192
+ "responseFormat": "structured"
193
+ },
194
+ {
195
+ "id": "pr-agent",
196
+ "name": "PR Agent",
197
+ "role": "Pull Request Manager",
198
+ "domain": "software-development",
199
+ "objective": "Create, review, and manage pull requests",
200
+ "instructions": "You are the PR Agent. Using the commit info, review findings, and test results, create a well-structured PR. Include: title, summary of changes, test evidence, related issues. Do NOT auto-merge. Do NOT approve your own PRs. Output the PR URL.",
201
+ "inputs": [
202
+ { "name": "commit_info", "description": "Branch and commit details", "required": true },
203
+ { "name": "review_findings", "description": "Code review for PR description", "required": false },
204
+ { "name": "test_results", "description": "Test results for PR description", "required": false }
205
+ ],
206
+ "outputs": [
207
+ { "name": "pr_info", "description": "PR URL and number", "required": true }
208
+ ],
209
+ "allowedTools": ["git", "github"],
210
+ "constraints": [
211
+ "Do not auto-merge PRs",
212
+ "Do not approve your own PR",
213
+ "Always include test evidence in PR description",
214
+ "Always link to related issues if known"
215
+ ],
216
+ "successCriteria": ["PR created", "PR description is complete", "CI checks triggered"],
217
+ "failureCriteria": ["Branch not found", "GitHub not accessible"],
218
+ "allowedStates": ["READY_FOR_EXECUTION", "RUNNING_STEP"],
219
+ "blockingConditions": ["review_not_passed", "tests_not_passed"],
220
+ "handoffRules": [
221
+ {
222
+ "condition": "pr_created",
223
+ "targetAgentId": "deploy-agent",
224
+ "description": "Pass to Deploy Agent after PR is created (deploy to staging/preview)",
225
+ "requiresApproval": true
226
+ }
227
+ ],
228
+ "responseFormat": "structured"
229
+ },
230
+ {
231
+ "id": "deploy-agent",
232
+ "name": "Deploy Agent",
233
+ "role": "Deployment Manager",
234
+ "domain": "software-development",
235
+ "objective": "Deploy the feature to the target environment",
236
+ "instructions": "You are the Deploy Agent. ALWAYS ask the user to confirm: target environment (staging/production) and branch/PR before deploying. Never deploy to production automatically. Always report the deploy URL and status. If deployment fails, report the failure clearly.",
237
+ "inputs": [
238
+ { "name": "pr_info", "description": "PR details for deployment", "required": true }
239
+ ],
240
+ "outputs": [
241
+ { "name": "deploy_result", "description": "Deployment status and URL", "required": true }
242
+ ],
243
+ "allowedTools": ["deploy", "github"],
244
+ "constraints": [
245
+ "NEVER deploy to production without explicit human confirmation",
246
+ "ALWAYS ask for environment before deploying",
247
+ "ALWAYS ask for branch/ref before deploying",
248
+ "Do not rollback without human confirmation"
249
+ ],
250
+ "successCriteria": ["Deployment completed", "Deploy URL returned", "Health check passed"],
251
+ "failureCriteria": ["Deploy failed", "Health check failed after deploy"],
252
+ "allowedStates": ["READY_FOR_EXECUTION", "RUNNING_STEP", "WAITING_APPROVAL"],
253
+ "blockingConditions": ["no_human_approval"],
254
+ "handoffRules": [],
255
+ "responseFormat": "structured"
256
+ }
257
+ ],
258
+ "workflow": {
259
+ "id": "workflow-software-development",
260
+ "name": "Software Development Pipeline",
261
+ "description": "Full-cycle software development pipeline: spec → code → review → test → commit → PR → deploy",
262
+ "entryStepId": "step-product",
263
+ "steps": [
264
+ {
265
+ "id": "step-product",
266
+ "name": "Requirements & Design",
267
+ "agentId": "product-agent",
268
+ "description": "Generate PRD and SDD from task input",
269
+ "dependsOn": [],
270
+ "guardrails": ["grail-min-context"],
271
+ "requiresApprovalBefore": false,
272
+ "requiresApprovalAfter": false,
273
+ "requiredArtifacts": [],
274
+ "producedArtifacts": ["prd", "sdd"],
275
+ "nextStepId": "step-code"
276
+ },
277
+ {
278
+ "id": "step-code",
279
+ "name": "Implementation",
280
+ "agentId": "code-agent",
281
+ "description": "Implement the feature",
282
+ "dependsOn": ["step-product"],
283
+ "guardrails": ["grail-artifact-prd"],
284
+ "requiresApprovalBefore": false,
285
+ "requiresApprovalAfter": false,
286
+ "requiredArtifacts": ["prd", "sdd"],
287
+ "producedArtifacts": ["implementation"],
288
+ "nextStepId": "step-review"
289
+ },
290
+ {
291
+ "id": "step-review",
292
+ "name": "Code Review",
293
+ "agentId": "reviewer-agent",
294
+ "description": "Review the implementation",
295
+ "dependsOn": ["step-code"],
296
+ "guardrails": ["grail-artifact-impl"],
297
+ "requiresApprovalBefore": false,
298
+ "requiresApprovalAfter": false,
299
+ "requiredArtifacts": ["implementation"],
300
+ "producedArtifacts": ["review_findings"],
301
+ "allowsLoop": true,
302
+ "nextStepId": "step-test"
303
+ },
304
+ {
305
+ "id": "step-test",
306
+ "name": "Testing",
307
+ "agentId": "test-agent",
308
+ "description": "Write and execute tests",
309
+ "dependsOn": ["step-review"],
310
+ "guardrails": ["grail-pr-criteria"],
311
+ "requiresApprovalBefore": false,
312
+ "requiresApprovalAfter": false,
313
+ "requiredArtifacts": ["implementation", "review_findings"],
314
+ "producedArtifacts": ["test_results"],
315
+ "nextStepId": "step-commit"
316
+ },
317
+ {
318
+ "id": "step-commit",
319
+ "name": "Commit",
320
+ "agentId": "commit-agent",
321
+ "description": "Create branch and commit",
322
+ "dependsOn": ["step-test"],
323
+ "guardrails": [],
324
+ "requiresApprovalBefore": false,
325
+ "requiresApprovalAfter": false,
326
+ "requiredArtifacts": ["implementation", "test_results"],
327
+ "producedArtifacts": ["commit_info"],
328
+ "nextStepId": "step-pr"
329
+ },
330
+ {
331
+ "id": "step-pr",
332
+ "name": "Pull Request",
333
+ "agentId": "pr-agent",
334
+ "description": "Create and document the PR",
335
+ "dependsOn": ["step-commit"],
336
+ "guardrails": ["grail-pr-criteria"],
337
+ "requiresApprovalBefore": false,
338
+ "requiresApprovalAfter": false,
339
+ "requiredArtifacts": ["commit_info"],
340
+ "producedArtifacts": ["pr_info"],
341
+ "nextStepId": "step-deploy"
342
+ },
343
+ {
344
+ "id": "step-deploy",
345
+ "name": "Deploy",
346
+ "agentId": "deploy-agent",
347
+ "description": "Deploy to target environment",
348
+ "dependsOn": ["step-pr"],
349
+ "guardrails": ["grail-human-deploy"],
350
+ "requiresApprovalBefore": true,
351
+ "requiresApprovalAfter": false,
352
+ "requiredArtifacts": ["pr_info"],
353
+ "producedArtifacts": ["deploy_result"]
354
+ }
355
+ ]
356
+ },
357
+ "policy": {
358
+ "id": "policy-software-dev",
359
+ "name": "Software Development Policies",
360
+ "description": "Policies governing the software development squad",
361
+ "guardrails": [
362
+ {
363
+ "id": "grail-min-context",
364
+ "name": "Require Minimum Context",
365
+ "description": "PROJECT.md should be present",
366
+ "severity": "warn",
367
+ "ruleKey": "require_minimum_context",
368
+ "params": { "requiredFields": ["projectMd"] }
369
+ },
370
+ {
371
+ "id": "grail-artifact-prd",
372
+ "name": "Require PRD Before Code",
373
+ "description": "Code Agent cannot run without PRD",
374
+ "severity": "block",
375
+ "ruleKey": "require_artifact_before_step",
376
+ "params": { "artifactNames": ["prd"] }
377
+ },
378
+ {
379
+ "id": "grail-artifact-impl",
380
+ "name": "Require Implementation Before Review",
381
+ "description": "Reviewer Agent cannot run without implementation",
382
+ "severity": "block",
383
+ "ruleKey": "require_artifact_before_step",
384
+ "params": { "artifactNames": ["implementation"] }
385
+ },
386
+ {
387
+ "id": "grail-pr-criteria",
388
+ "name": "PR Criteria",
389
+ "description": "PR requires review and test artifacts",
390
+ "severity": "block",
391
+ "ruleKey": "require_pr_criteria"
392
+ },
393
+ {
394
+ "id": "grail-human-deploy",
395
+ "name": "Human Before Deploy",
396
+ "description": "All deploys require explicit human approval",
397
+ "severity": "block",
398
+ "ruleKey": "require_human_before_deploy"
399
+ }
400
+ ],
401
+ "prohibitedActions": [
402
+ "Auto-merge PRs",
403
+ "Deploy to production without human confirmation",
404
+ "Push directly to main or master",
405
+ "Approve own PRs",
406
+ "Force push to any branch"
407
+ ],
408
+ "requiredApprovals": [
409
+ { "action": "deploy", "description": "Human must confirm environment and branch before deploy" }
410
+ ]
411
+ },
412
+ "expectedArtifacts": [
413
+ { "id": "artifact-prd", "name": "PRD", "description": "Product Requirements Document", "path": "outputs/prd.md", "required": true, "format": "markdown" },
414
+ { "id": "artifact-sdd", "name": "SDD", "description": "Solution Design Document", "path": "outputs/sdd.md", "required": true, "format": "markdown" },
415
+ { "id": "artifact-review", "name": "Review Findings", "description": "Code review output", "path": "outputs/review_findings.md", "required": true, "format": "markdown" },
416
+ { "id": "artifact-tests", "name": "Test Results", "description": "Test execution report", "path": "outputs/test_results.md", "required": true, "format": "markdown" },
417
+ { "id": "artifact-pr", "name": "PR Info", "description": "PR URL and metadata", "path": "outputs/pr_info.json", "required": true, "format": "json" }
418
+ ],
419
+ "allowedIntegrations": [
420
+ { "id": "github", "type": "vcs", "name": "GitHub", "required": false, "status": "stub" },
421
+ { "id": "vercel", "type": "deploy", "name": "Vercel", "required": false, "status": "stub" }
422
+ ],
423
+ "templates": ["prd-template", "sdd-template", "pr-template"],
424
+ "successCriteria": [
425
+ "Feature implemented and passes review",
426
+ "All tests pass",
427
+ "PR created with full documentation",
428
+ "Deployment completed to target environment"
429
+ ],
430
+ "failureCriteria": [
431
+ "Code review fails repeatedly (more than 3 loops)",
432
+ "Tests fail and cannot be fixed",
433
+ "Deploy fails and cannot be resolved"
434
+ ],
435
+ "metadata": {
436
+ "version": "1.0.0",
437
+ "createdAt": "2026-04-01T00:00:00.000Z",
438
+ "updatedAt": "2026-04-01T00:00:00.000Z",
439
+ "tags": ["software-development", "full-cycle", "github", "ci-cd"],
440
+ "hostCompatibility": ["claude-code", "opencode", "cursor", "codex", "zed", "any"]
441
+ }
442
+ }
@@ -0,0 +1,46 @@
1
+ # Agents: [Squad Name]
2
+
3
+ ## [Agent Name]
4
+
5
+ **ID:** `[agent-id]`
6
+ **Role:** [Role title]
7
+ **Domain:** [domain]
8
+
9
+ ### Objective
10
+
11
+ [What this agent is responsible for achieving]
12
+
13
+ ### Instructions
14
+
15
+ [Full system prompt / operating instructions for this agent]
16
+
17
+ ### Inputs
18
+
19
+ | Name | Description | Required |
20
+ |------|-------------|----------|
21
+ | [input_name] | [description] | yes/no |
22
+
23
+ ### Outputs
24
+
25
+ | Name | Description | Format |
26
+ |------|-------------|--------|
27
+ | [output_name] | [description] | markdown/json/text |
28
+
29
+ ### Allowed Tools
30
+
31
+ - [tool-id]
32
+
33
+ ### Constraints
34
+
35
+ - [Constraint 1]
36
+ - [Constraint 2]
37
+
38
+ ### Handoff Rules
39
+
40
+ | Condition | Next Agent | Requires Approval |
41
+ |-----------|-----------|-------------------|
42
+ | [condition] | [agent-id] | yes/no |
43
+
44
+ ---
45
+
46
+ [Repeat for each agent]
@@ -0,0 +1,24 @@
1
+ # Policies: [Squad Name]
2
+
3
+ ## Guardrails
4
+
5
+ ### [Guardrail Name] (`guardrail-id`)
6
+ - **Severity:** block | warn
7
+ - **Rule:** `[builtin_rule_key]`
8
+ - **Description:** [What this guardrail enforces]
9
+ - **Applies to steps:** [step IDs]
10
+
11
+ ## Prohibited Actions
12
+
13
+ - [Action that is never allowed]
14
+ - [Action that requires human confirmation instead]
15
+
16
+ ## Required Approvals
17
+
18
+ | Action | Description |
19
+ |--------|-------------|
20
+ | [action] | [Why and who must approve] |
21
+
22
+ ## Compliance Notes
23
+
24
+ [Any regulatory, brand, or legal compliance requirements]
@@ -0,0 +1,52 @@
1
+ # Project: [Project Name]
2
+
3
+ ## Overview
4
+
5
+ [1–3 sentence description of what this project is and why it exists.]
6
+
7
+ ## Domain
8
+
9
+ [e.g. software-development, social-media, documentation, research]
10
+
11
+ ## Stack / Technology
12
+
13
+ [List main technologies, frameworks, languages, platforms]
14
+
15
+ ## Key Conventions
16
+
17
+ - [Coding style / naming convention]
18
+ - [Branch naming: e.g. `feat/`, `fix/`, `chore/`]
19
+ - [Commit format: e.g. Conventional Commits]
20
+ - [PR process]
21
+
22
+ ## Project Structure
23
+
24
+ ```
25
+ [Describe the main directories and their purpose]
26
+ ```
27
+
28
+ ## External Systems
29
+
30
+ | System | Purpose | Status |
31
+ |--------|---------|--------|
32
+ | [GitHub] | VCS + PRs | active |
33
+ | [CI/CD] | Automated builds | active |
34
+
35
+ ## Contacts
36
+
37
+ | Role | Contact |
38
+ |------|---------|
39
+ | [Owner] | [name/email] |
40
+
41
+ ## Goals for Current Phase
42
+
43
+ - [ ] [Goal 1]
44
+ - [ ] [Goal 2]
45
+
46
+ ## Known Constraints / Non-Goals
47
+
48
+ - [Constraint 1]
49
+ - [Not in scope: X]
50
+
51
+ ---
52
+ _This file is read by Squad Foundry agents as primary project context._