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
package/AGENTS.md ADDED
@@ -0,0 +1,76 @@
1
+ # Agent Conventions — Squad Foundry
2
+
3
+ This file describes how agents are defined, how they behave, and what conventions apply across all squads on this platform.
4
+
5
+ ## Agent Identity
6
+
7
+ Every agent has a unique `id` within its squad. IDs are kebab-case slugs (e.g., `code-agent`, `publisher-agent`).
8
+
9
+ ## Agent Instructions Pattern
10
+
11
+ Agent instructions follow this structure:
12
+ 1. **Identity statement** — "You are the [Role]. [Short description]."
13
+ 2. **Core task** — What to do given the inputs
14
+ 3. **Output contract** — What to produce and in what format
15
+ 4. **Constraints** — What NOT to do
16
+ 5. **Handoff signal** — When and how to signal completion
17
+
18
+ ## Handoff Protocol
19
+
20
+ When an agent completes its step, it signals handoff via `HandoffSignal` in the `AgentResponse`:
21
+ ```json
22
+ {
23
+ "handoffSignal": {
24
+ "targetAgentId": "next-agent-id",
25
+ "condition": "step_completed_successfully",
26
+ "payload": { "summary": "..." }
27
+ }
28
+ }
29
+ ```
30
+
31
+ If no handoff signal is present, the runtime auto-generates one based on the workflow's `nextStepId`.
32
+
33
+ ## Artifact Protocol
34
+
35
+ Agents produce artifacts via `PendingArtifact[]` in the `AgentResponse`:
36
+ ```json
37
+ {
38
+ "artifacts": [
39
+ {
40
+ "name": "prd",
41
+ "content": "# PRD\n...",
42
+ "format": "markdown"
43
+ }
44
+ ]
45
+ }
46
+ ```
47
+
48
+ The ArtifactStore persists these and creates `ArtifactRef` entries in the job.
49
+
50
+ ## State Constraints
51
+
52
+ Each agent declares `allowedStates[]`. The guardrail `block_invalid_state_transition` enforces this — an agent cannot act outside its allowed states.
53
+
54
+ ## Approval Protocol
55
+
56
+ If an agent needs human approval, it sets `approvalNeeded: true` and `approvalReason: "..."` in the response. The ApprovalGate handles this — execution pauses until a human resolves it.
57
+
58
+ ## Prohibited Behaviors (All Agents)
59
+
60
+ - Never execute real side effects (deploy, publish, merge) without an explicit approval record
61
+ - Never fabricate metrics, test results, or compliance outcomes
62
+ - Never skip required artifacts
63
+ - Never act in disallowed states
64
+
65
+ ## Model Preferences
66
+
67
+ Agents may specify `modelPreference` to request a specific model or provider. If absent, the squad runtime uses the host adapter's default.
68
+
69
+ ## Adding a New Agent
70
+
71
+ 1. Define the agent in `squads/<squad_id>/config/squad.json` under `agents[]`
72
+ 2. Add a workflow step in `workflow.steps[]` that references the agent
73
+ 3. Document the agent in `squads/<squad_id>/AGENTS.md`
74
+ 4. Update `squads/<squad_id>/WORKFLOW.md` with the new step
75
+
76
+ See `docs/development/adding-agents.md` for full guide.
package/PROJECT.md ADDED
@@ -0,0 +1,79 @@
1
+ # Project: Squad Foundry
2
+
3
+ ## Overview
4
+
5
+ Squad Foundry is a local, extensible multi-agent squad orchestration platform. It enables the design, configuration, and execution of collaborative AI agent squads for any domain — from software development to social media content to documentation and research.
6
+
7
+ ## Domain
8
+
9
+ platform / meta-tooling
10
+
11
+ ## Stack / Technology
12
+
13
+ - **Language:** TypeScript (strict mode, ESM)
14
+ - **Runtime:** Node.js >= 20
15
+ - **Test runner:** Vitest
16
+ - **Package manager:** npm
17
+ - **Core dependencies:** `commander` (CLI), `glob` (file discovery), `zod` (schema validation)
18
+ - **No framework dependencies** in the core layer
19
+
20
+ ## Key Conventions
21
+
22
+ - **Naming:** kebab-case for files and folders, PascalCase for classes, camelCase for functions/variables
23
+ - **Modules:** ESM-only (`"type": "module"`)
24
+ - **Imports:** Always use `.js` extension in imports (required for ESM + TypeScript)
25
+ - **Adapter pattern:** Core never imports adapters. Always depend on interfaces.
26
+ - **No magic state:** All state transitions are explicit and logged
27
+ - **Artifacts:** All job outputs are human-readable files (JSON + Markdown)
28
+
29
+ ## Project Structure
30
+
31
+ ```
32
+ orchestrator/
33
+ core/ Types, state machine, guardrails (zero external deps)
34
+ adapters/ Pluggable interface implementations (host, model, vcs, etc.)
35
+ context/ Context discovery and loading
36
+ artifacts/ Job artifact persistence
37
+ runtime/ Squad execution engine
38
+ builder/ Squad design interview + generation
39
+ cli/ CLI entrypoint
40
+
41
+ squads/
42
+ examples/ Ready-to-use squad examples
43
+ templates/ Reusable squad template patterns
44
+
45
+ templates/ Document templates (PROJECT.md, TASKS.md, etc.)
46
+ docs/ Platform documentation
47
+ tests/ Unit and integration tests
48
+ ```
49
+
50
+ ## Goals for Current Phase
51
+
52
+ - [x] Core type system
53
+ - [x] Explicit state machine
54
+ - [x] Guardrail engine
55
+ - [x] All adapter interfaces
56
+ - [x] Adapter stubs (host, VCS, publishing, deploy, context)
57
+ - [x] Context loader + index
58
+ - [x] Artifact store
59
+ - [x] Squad runtime (full execution engine)
60
+ - [x] Squad builder (interview + generation)
61
+ - [x] CLI entrypoint
62
+ - [x] Software development squad example
63
+ - [x] Instagram content squad example
64
+ - [x] Templates
65
+ - [x] Tests (unit + integration)
66
+ - [ ] Activate real adapters (Anthropic, GitHub, Instagram)
67
+ - [ ] Dashboard / status UI
68
+ - [ ] Multi-squad job scheduler
69
+
70
+ ## Known Constraints / Non-Goals
71
+
72
+ - All external adapters are stubs — real API calls require configuration
73
+ - No persistent database — filesystem only
74
+ - No real-time collaboration between agents (sequential execution only in v0.1)
75
+ - No authentication layer (local use only)
76
+
77
+ ## Host Compatibility
78
+
79
+ Designed to work with: Claude Code, OpenCode, Cursor, Codex, Zed, Antigravity, any host that can invoke a Node.js CLI or import TypeScript modules.
package/README.md ADDED
@@ -0,0 +1,255 @@
1
+ # Squad Foundry
2
+
3
+ **Local extensible multi-agent squad orchestration platform.**
4
+
5
+ Model-agnostic. Host-agnostic. Tool-agnostic. Domain-agnostic.
6
+
7
+ ---
8
+
9
+ ## What is Squad Foundry?
10
+
11
+ Squad Foundry lets you design and run **collaborative multi-agent squads** for any domain:
12
+
13
+ - Software development (spec → code → review → test → PR → deploy)
14
+ - Instagram content (strategy → copy → review → approval → publish → analytics)
15
+ - Documentation, research, marketing, operations — anything task-and-handoff-oriented
16
+
17
+ Squads are **portable JSON configurations**. The same squad runs in Claude Code, OpenCode, Cursor, Codex, Zed, or any compatible host — just swap the adapter.
18
+
19
+ ---
20
+
21
+ ## Quickstart
22
+
23
+ ### Instalar como pacote npm
24
+
25
+ ```bash
26
+ npm install squad-foundry
27
+ ```
28
+
29
+ ### Usar no Claude Code / OpenCode / Cursor / Codex / Zed
30
+
31
+ Você não precisa de API key — a IDE já é o modelo. O `IDEHostAdapter` recebe um callback que a IDE executa:
32
+
33
+ ```typescript
34
+ import {
35
+ IDEHostAdapter,
36
+ createSquadRuntime,
37
+ createSquadBuilder,
38
+ } from 'squad-foundry'
39
+
40
+ // O callback que você fornece É o modelo — a IDE executa isso
41
+ const runtime = createSquadRuntime({
42
+ hostAdapter: new IDEHostAdapter(async (prompt) => {
43
+ // Aqui você integra com o modelo que já está rodando na sua IDE.
44
+ // Em Claude Code: use o agente atual para responder o prompt.
45
+ // Em OpenCode: use opencode.complete(prompt)
46
+ // Em Cursor: use cursor.chat(prompt)
47
+ return yourIDEModel.complete(prompt)
48
+ }),
49
+ })
50
+
51
+ // Carregar um squad e executar um job
52
+ import squadJson from './squads/examples/software-development/config/squad.json' assert { type: 'json' }
53
+ const job = await runtime.startJob(squadJson, 'Implement dark mode', 'Add toggle to settings page')
54
+ await runtime.runAll(squadJson, job)
55
+ ```
56
+
57
+ ### CLI (uso local)
58
+
59
+ ```bash
60
+ # Instalar globalmente
61
+ npm install -g squad-foundry
62
+
63
+ # Inicializar config host-native
64
+ squad-foundry init
65
+
66
+ # Criar um novo squad (entrevista guiada via host ativo)
67
+ squad-foundry create
68
+
69
+ # Editar um squad existente
70
+ squad-foundry edit software-development
71
+
72
+ # Executar um job
73
+ squad-foundry run software-development --objective "Implement dark mode"
74
+
75
+ # Ver status
76
+ squad-foundry status software-development <job-id>
77
+
78
+ # Listar squads
79
+ squad-foundry list
80
+
81
+ # Ver host resolvido e preferencia persistida
82
+ squad-foundry hosts
83
+ ```
84
+
85
+ ### Desenvolvimento local
86
+
87
+ ```bash
88
+ # Clonar e instalar
89
+ npm install
90
+
91
+ # Compilar
92
+ npm run build
93
+
94
+ # Testes
95
+ npm test
96
+ ```
97
+
98
+ ---
99
+
100
+ ## Architecture
101
+
102
+ ```
103
+ Squad Foundry
104
+ ├── Core Layer orchestrator/core/
105
+ │ ├── types.ts All portable type definitions
106
+ │ ├── state-machine.ts Explicit state transitions
107
+ │ └── guardrails.ts Policy enforcement engine
108
+
109
+ ├── Adapter Layer orchestrator/adapters/
110
+ │ ├── host/ IHostAdapter + stubs (Anthropic, OpenAI, Local)
111
+ │ ├── model/ IModelAdapter
112
+ │ ├── tools/ IToolAdapter
113
+ │ ├── vcs/ IVCSAdapter + GitHub stub
114
+ │ ├── publishing/ ISocialMediaAdapter + Instagram stub
115
+ │ ├── deploy/ IDeployAdapter + Vercel stub
116
+ │ └── context/ IContextAdapter + filesystem adapter
117
+
118
+ ├── Context Layer orchestrator/context/
119
+ │ ├── context-loader.ts Discovers and loads PROJECT.md, TASKS.md, docs/**
120
+ │ └── context-index.ts In-memory search index
121
+
122
+ ├── Artifact Store orchestrator/artifacts/
123
+ │ └── artifact-store.ts Persists all job state, handoffs, outputs
124
+
125
+ ├── Squad Runtime orchestrator/runtime/
126
+ │ ├── squad-runtime.ts Main execution engine
127
+ │ ├── job-manager.ts Job lifecycle
128
+ │ ├── agent-dispatcher.ts Step → Agent routing
129
+ │ ├── handoff-manager.ts Agent handoff records
130
+ │ └── approval-gate.ts Human-in-the-loop mechanism
131
+
132
+ ├── Squad Builder orchestrator/builder/
133
+ │ ├── squad-builder.ts Interview orchestrator
134
+ │ ├── interview-questions.ts Question bank
135
+ │ ├── domain-classifier.ts Domain detection
136
+ │ └── squad-generator.ts File generation
137
+
138
+ ├── CLI orchestrator/cli/index.ts
139
+
140
+ ├── Squad Examples squads/examples/
141
+ │ ├── software-development/
142
+ │ └── instagram-content/
143
+
144
+ ├── Templates templates/
145
+ └── Docs docs/
146
+ ```
147
+
148
+ ---
149
+
150
+ ## Key Concepts
151
+
152
+ ### Squad
153
+ A portable, reusable configuration defining: agents, workflow, policies, guardrails, expected artifacts. Stored as `squads/<squad_id>/config/squad.json`.
154
+
155
+ ### Job
156
+ A runtime instance of a squad. Has a unique ID, state machine status, history, artifacts, and approvals. Stored under `artifacts/<squad_id>/<job_id>/`.
157
+
158
+ ### Agent
159
+ A portable definition of an AI agent: role, instructions, allowed tools, handoff rules. Not tied to any specific model or host.
160
+
161
+ ### Workflow
162
+ Ordered steps with dependencies, loops, approval gates, and guardrails. Fully declarative — no hardcoded logic.
163
+
164
+ ### Guardrail
165
+ A programmatically enforced policy constraint. Examples: "no deploy without human approval", "no publish without compliance review".
166
+
167
+ ### Adapter
168
+ An implementation of a well-defined interface (host, model, VCS, publish, deploy). Swap adapters to change the execution environment without touching core logic.
169
+
170
+ ---
171
+
172
+ ## Squad Examples
173
+
174
+ | Squad | Domain | Agents |
175
+ |-------|--------|--------|
176
+ | `software-development` | software-development | Product, Code, Reviewer, Test, Commit, PR, Deploy |
177
+ | `instagram-content` | social-media | Strategy, Research, Copy, Creative Review, Brand, Approval, Publisher, Analytics |
178
+
179
+ ---
180
+
181
+ ## Adapter Status
182
+
183
+ | Adapter | Tipo | Status | Quando usar |
184
+ |---------|------|--------|-------------|
185
+ | `ClaudeCodeHostAdapter` | host | **real** | Bridge CLI nativa do Claude Code (sem API key) |
186
+ | `OpenCodeHostAdapter` | host | **real** | Bridge CLI nativa do OpenCode (sem API key) |
187
+ | `IDEHostAdapter` | host | **real** | Claude Code, OpenCode, Cursor, Codex, Zed — **a IDE é o modelo** |
188
+ | `LocalHostAdapter` | host | stub | Ollama, LM Studio, llama.cpp local |
189
+ | `AnthropicHostAdapter` | host | stub | API Anthropic direta (`ANTHROPIC_API_KEY`) |
190
+ | `OpenAIHostAdapter` | host | stub | API OpenAI direta (`OPENAI_API_KEY`) |
191
+ | `GitHubVCSAdapter` | vcs | stub | `GITHUB_TOKEN` + `GITHUB_REPO` |
192
+ | `InstagramAdapter` | publishing | stub | `INSTAGRAM_ACCESS_TOKEN` |
193
+ | `VercelDeployAdapter` | deploy | stub | `VERCEL_TOKEN` |
194
+ | `FilesystemContextAdapter` | context | **real** | Lê arquivos locais automaticamente |
195
+
196
+ > **Nota sobre IDEs AI-nativas:** Claude Code, OpenCode, Cursor, Codex e similares **já são o modelo**. Use `IDEHostAdapter` com um callback que delega para o mecanismo nativo da IDE. Nenhum API key adicional é necessário nesses ambientes.
197
+
198
+ ---
199
+
200
+ ## Context Files
201
+
202
+ Squad Foundry automatically reads:
203
+
204
+ | File | Priority | Purpose |
205
+ |------|----------|---------|
206
+ | `PROJECT.md` | 1 (highest) | Project overview, conventions |
207
+ | `TASKS.md` | 2 | Current task state |
208
+ | `AGENTS.md` | 3 | Agent conventions |
209
+ | `README.md` | 4 | General project info |
210
+ | `docs/**` | 5 | Documentation |
211
+ | `specs/**` | 6 | Specifications |
212
+ | `playbooks/**` | 7 | Playbooks |
213
+ | `policies/**` | 8 | Policies |
214
+
215
+ ---
216
+
217
+ ## Human-in-the-Loop
218
+
219
+ Approvals are always explicit. The system never auto-approves publishing or deployment.
220
+
221
+ Configure required approvals in the squad's `POLICIES.md` and `config/squad.json`.
222
+
223
+ ---
224
+
225
+ ## Host-native Resolution
226
+
227
+ Host resolution is CLI-first and explicit:
228
+
229
+ - Detector scores strong/medium/weak host signals.
230
+ - Resolver uses detected host when valid, then persisted host when still valid.
231
+ - If unresolved, interactive CLI asks for host selection.
232
+ - Runtime writes host provenance at `artifacts/<squad>/<job>/reports/runtime-metadata.json`.
233
+ - `status` prints `resolvedHost`, `confidence`, `reasons`, `activeModel`, and `fallbackPath`.
234
+
235
+ ---
236
+
237
+ ## Creating a New Squad
238
+
239
+ ```bash
240
+ # Interactive interview
241
+ node dist/cli/index.js build
242
+
243
+ # Or programmatically
244
+ import { createSquadBuilder } from './orchestrator/builder/squad-builder.js'
245
+ const builder = createSquadBuilder()
246
+ const result = await builder.build(answers)
247
+ ```
248
+
249
+ See [`docs/squads/how-to-create.md`](docs/squads/how-to-create.md) for full guide.
250
+
251
+ ---
252
+
253
+ ## License
254
+
255
+ MIT
@@ -0,0 +1,65 @@
1
+ /**
2
+ * IContextAdapter — Context/Documentation Adapter Interface
3
+ *
4
+ * Abstracts how context files are discovered and loaded.
5
+ * Default implementation reads from the local filesystem, but this
6
+ * interface allows future adapters to read from Notion, Confluence,
7
+ * GitHub wikis, or any other documentation source.
8
+ *
9
+ * STATUS: Interface defined. Concrete adapter: filesystem (real implementation)
10
+ */
11
+ import type { ContextDiscoveryResult, DiscoveredFile, LoadedContext, ContextFileCategory } from '../../core/types.js';
12
+ export interface ContextLoadOptions {
13
+ /** Root path to scan for context files */
14
+ rootPath: string;
15
+ /** Maximum file size in bytes to load (default: 500KB) */
16
+ maxFileSizeBytes?: number;
17
+ /** File categories to include (default: all) */
18
+ includeCategories?: ContextFileCategory[];
19
+ /** Glob patterns to explicitly exclude */
20
+ excludePatterns?: string[];
21
+ /** Whether to load recursively into subdirectories */
22
+ recursive?: boolean;
23
+ }
24
+ export interface ContextSummary {
25
+ totalFiles: number;
26
+ totalBytes: number;
27
+ categoryCounts: Record<ContextFileCategory, number>;
28
+ missingRecommended: string[];
29
+ hasProjectMd: boolean;
30
+ hasTasksMd: boolean;
31
+ hasAgentsMd: boolean;
32
+ }
33
+ /**
34
+ * Interface for context/documentation loading adapters.
35
+ * The context adapter is responsible for discovering and ingesting
36
+ * all human-authored documentation that informs agent behavior.
37
+ */
38
+ export interface IContextAdapter {
39
+ readonly id: string;
40
+ readonly name: string;
41
+ /**
42
+ * Discover all context files in the given root path.
43
+ * Returns metadata without loading file contents.
44
+ */
45
+ discover(options: ContextLoadOptions): Promise<ContextDiscoveryResult>;
46
+ /**
47
+ * Load and return the full structured context.
48
+ * This is what gets attached to a JobDefinition.loadedContext.
49
+ */
50
+ load(options: ContextLoadOptions): Promise<LoadedContext>;
51
+ /**
52
+ * Load a single file by path.
53
+ */
54
+ loadFile(path: string): Promise<string>;
55
+ /**
56
+ * Get a summary of what context is available.
57
+ */
58
+ summarize(rootPath: string): Promise<ContextSummary>;
59
+ /**
60
+ * List all files in a specific category.
61
+ */
62
+ listByCategory(rootPath: string, category: ContextFileCategory): Promise<DiscoveredFile[]>;
63
+ healthCheck(): Promise<boolean>;
64
+ }
65
+ //# sourceMappingURL=IContextAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IContextAdapter.d.ts","sourceRoot":"","sources":["../../../../orchestrator/adapters/context/IContextAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,cAAc,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAErH,MAAM,WAAW,kBAAkB;IACjC,0CAA0C;IAC1C,QAAQ,EAAE,MAAM,CAAA;IAChB,0DAA0D;IAC1D,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,gDAAgD;IAChD,iBAAiB,CAAC,EAAE,mBAAmB,EAAE,CAAA;IACzC,0CAA0C;IAC1C,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;IAC1B,sDAAsD;IACtD,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,MAAM,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAA;IACnD,kBAAkB,EAAE,MAAM,EAAE,CAAA;IAC5B,YAAY,EAAE,OAAO,CAAA;IACrB,UAAU,EAAE,OAAO,CAAA;IACnB,WAAW,EAAE,OAAO,CAAA;CACrB;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IAErB;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAA;IAEtE;;;OAGG;IACH,IAAI,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAA;IAEzD;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IAEvC;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAAA;IAEpD;;OAEG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,mBAAmB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAAA;IAE1F,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CAAA;CAChC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * IContextAdapter — Context/Documentation Adapter Interface
3
+ *
4
+ * Abstracts how context files are discovered and loaded.
5
+ * Default implementation reads from the local filesystem, but this
6
+ * interface allows future adapters to read from Notion, Confluence,
7
+ * GitHub wikis, or any other documentation source.
8
+ *
9
+ * STATUS: Interface defined. Concrete adapter: filesystem (real implementation)
10
+ */
11
+ export {};
12
+ //# sourceMappingURL=IContextAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IContextAdapter.js","sourceRoot":"","sources":["../../../../orchestrator/adapters/context/IContextAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * FilesystemContextAdapter — Real Implementation
3
+ *
4
+ * Discovers and loads context files from the local filesystem.
5
+ * This is the primary context adapter for local development.
6
+ *
7
+ * Priority order (highest to lowest):
8
+ * 1. PROJECT.md
9
+ * 2. TASKS.md
10
+ * 3. AGENTS.md
11
+ * 4. README.md
12
+ * 5. docs/**
13
+ * 6. specs/**
14
+ * 7. playbooks/**
15
+ * 8. policies/**
16
+ * 9. templates/**
17
+ * 10. workflows/**
18
+ * 11. brand/**
19
+ */
20
+ import type { IContextAdapter, ContextLoadOptions, ContextSummary } from './IContextAdapter.js';
21
+ import type { ContextDiscoveryResult, DiscoveredFile, LoadedContext, ContextFileCategory } from '../../core/types.js';
22
+ export declare class FilesystemContextAdapter implements IContextAdapter {
23
+ readonly id = "filesystem";
24
+ readonly name = "Filesystem Context Adapter";
25
+ initialize(): Promise<void>;
26
+ discover(options: ContextLoadOptions): Promise<ContextDiscoveryResult>;
27
+ load(options: ContextLoadOptions): Promise<LoadedContext>;
28
+ loadFile(path: string): Promise<string>;
29
+ summarize(rootPath: string): Promise<ContextSummary>;
30
+ listByCategory(rootPath: string, category: ContextFileCategory): Promise<DiscoveredFile[]>;
31
+ healthCheck(): Promise<boolean>;
32
+ }
33
+ //# sourceMappingURL=filesystem.context-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filesystem.context-adapter.d.ts","sourceRoot":"","sources":["../../../../orchestrator/adapters/context/filesystem.context-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAMH,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC/F,OAAO,KAAK,EACV,sBAAsB,EACtB,cAAc,EACd,aAAa,EACb,mBAAmB,EAEpB,MAAM,qBAAqB,CAAA;AAkC5B,qBAAa,wBAAyB,YAAW,eAAe;IAC9D,QAAQ,CAAC,EAAE,gBAAe;IAC1B,QAAQ,CAAC,IAAI,gCAA+B;IAEtC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,QAAQ,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAkEtE,IAAI,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC;IA6CzD,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIvC,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAqBpD,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,mBAAmB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAK1F,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;CAGtC"}