teamcast 0.9.3 → 1.0.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 (294) hide show
  1. package/README.md +219 -146
  2. package/dist/application/team.d.ts.map +1 -1
  3. package/dist/application/team.js +0 -1
  4. package/dist/application/team.js.map +1 -1
  5. package/dist/application/validate-team.d.ts.map +1 -1
  6. package/dist/application/validate-team.js +7 -4
  7. package/dist/application/validate-team.js.map +1 -1
  8. package/dist/cli/explain.d.ts.map +1 -1
  9. package/dist/cli/explain.js +4 -2
  10. package/dist/cli/explain.js.map +1 -1
  11. package/dist/cli/init.js +2 -5
  12. package/dist/cli/init.js.map +1 -1
  13. package/dist/cli/manage.d.ts.map +1 -1
  14. package/dist/cli/manage.js +6 -15
  15. package/dist/cli/manage.js.map +1 -1
  16. package/dist/core/assertions.d.ts +4 -4
  17. package/dist/core/assertions.d.ts.map +1 -1
  18. package/dist/core/capability-resolver.d.ts +7 -0
  19. package/dist/core/capability-resolver.d.ts.map +1 -0
  20. package/dist/core/capability-resolver.js +18 -0
  21. package/dist/core/capability-resolver.js.map +1 -0
  22. package/dist/core/compose-policies.d.ts +15 -0
  23. package/dist/core/compose-policies.d.ts.map +1 -0
  24. package/dist/core/compose-policies.js +106 -0
  25. package/dist/core/compose-policies.js.map +1 -0
  26. package/dist/core/environment-resolver.d.ts +20 -0
  27. package/dist/core/environment-resolver.d.ts.map +1 -0
  28. package/dist/core/environment-resolver.js +202 -0
  29. package/dist/core/environment-resolver.js.map +1 -0
  30. package/dist/core/policy-evaluator.d.ts +2 -2
  31. package/dist/core/policy-evaluator.d.ts.map +1 -1
  32. package/dist/core/policy-evaluator.js +7 -7
  33. package/dist/core/policy-evaluator.js.map +1 -1
  34. package/dist/core/types.d.ts +5 -2
  35. package/dist/core/types.d.ts.map +1 -1
  36. package/dist/explainer/index.js +1 -1
  37. package/dist/explainer/index.js.map +1 -1
  38. package/dist/generator/index.d.ts.map +1 -1
  39. package/dist/generator/index.js +4 -3
  40. package/dist/generator/index.js.map +1 -1
  41. package/dist/importer/codex.js.map +1 -1
  42. package/dist/importer/index.d.ts +0 -3
  43. package/dist/importer/index.d.ts.map +1 -1
  44. package/dist/importer/index.js +2 -3
  45. package/dist/importer/index.js.map +1 -1
  46. package/dist/manifest/normalize.d.ts.map +1 -1
  47. package/dist/manifest/normalize.js +41 -6
  48. package/dist/manifest/normalize.js.map +1 -1
  49. package/dist/manifest/types.d.ts +15 -10
  50. package/dist/manifest/types.d.ts.map +1 -1
  51. package/dist/manifest/types.js.map +1 -1
  52. package/dist/registry/capabilities.d.ts +6 -0
  53. package/dist/registry/capabilities.d.ts.map +1 -0
  54. package/dist/registry/capabilities.js +14 -0
  55. package/dist/registry/capabilities.js.map +1 -0
  56. package/dist/registry/environments.d.ts +5 -0
  57. package/dist/registry/environments.d.ts.map +1 -0
  58. package/dist/registry/environments.js +106 -0
  59. package/dist/registry/environments.js.map +1 -0
  60. package/dist/registry/index.d.ts +23 -0
  61. package/dist/registry/index.d.ts.map +1 -0
  62. package/dist/registry/index.js +85 -0
  63. package/dist/registry/index.js.map +1 -0
  64. package/dist/registry/instruction-fragments.d.ts +11 -0
  65. package/dist/registry/instruction-fragments.d.ts.map +1 -0
  66. package/dist/{components/agent-fragments.js → registry/instruction-fragments.js} +22 -73
  67. package/dist/registry/instruction-fragments.js.map +1 -0
  68. package/dist/registry/models.d.ts +3 -0
  69. package/dist/registry/models.d.ts.map +1 -0
  70. package/dist/registry/models.js +46 -0
  71. package/dist/registry/models.js.map +1 -0
  72. package/dist/registry/policy-fragments.d.ts +6 -0
  73. package/dist/registry/policy-fragments.d.ts.map +1 -0
  74. package/dist/registry/policy-fragments.js +49 -0
  75. package/dist/registry/policy-fragments.js.map +1 -0
  76. package/dist/registry/skills.d.ts +5 -0
  77. package/dist/registry/skills.d.ts.map +1 -0
  78. package/dist/registry/skills.js +182 -0
  79. package/dist/registry/skills.js.map +1 -0
  80. package/dist/registry/traits.d.ts +16 -0
  81. package/dist/registry/traits.d.ts.map +1 -0
  82. package/dist/registry/traits.js +109 -0
  83. package/dist/registry/traits.js.map +1 -0
  84. package/dist/registry/types.d.ts +77 -0
  85. package/dist/registry/types.d.ts.map +1 -0
  86. package/dist/registry/types.js +21 -0
  87. package/dist/registry/types.js.map +1 -0
  88. package/dist/renderers/claude/docs.d.ts +0 -1
  89. package/dist/renderers/claude/docs.d.ts.map +1 -1
  90. package/dist/renderers/claude/docs.js +0 -95
  91. package/dist/renderers/claude/docs.js.map +1 -1
  92. package/dist/renderers/claude/index.d.ts.map +1 -1
  93. package/dist/renderers/claude/index.js +1 -2
  94. package/dist/renderers/claude/index.js.map +1 -1
  95. package/dist/renderers/claude/skill-map.d.ts +8 -8
  96. package/dist/renderers/claude/skill-map.d.ts.map +1 -1
  97. package/dist/renderers/claude/skill-map.js +9 -9
  98. package/dist/renderers/claude/skill-map.js.map +1 -1
  99. package/dist/renderers/claude/skill-md.d.ts.map +1 -1
  100. package/dist/renderers/claude/skill-md.js +73 -5
  101. package/dist/renderers/claude/skill-md.js.map +1 -1
  102. package/dist/renderers/codex/agents-md.d.ts +4 -0
  103. package/dist/renderers/codex/agents-md.d.ts.map +1 -0
  104. package/dist/renderers/codex/agents-md.js +94 -0
  105. package/dist/renderers/codex/agents-md.js.map +1 -0
  106. package/dist/renderers/codex/index.d.ts.map +1 -1
  107. package/dist/renderers/codex/index.js +4 -0
  108. package/dist/renderers/codex/index.js.map +1 -1
  109. package/dist/renderers/codex/skill-map.d.ts +3 -4
  110. package/dist/renderers/codex/skill-map.d.ts.map +1 -1
  111. package/dist/renderers/codex/skill-map.js +1 -1
  112. package/dist/renderers/codex/skill-map.js.map +1 -1
  113. package/dist/renderers/codex/skill-md.d.ts +4 -0
  114. package/dist/renderers/codex/skill-md.d.ts.map +1 -0
  115. package/dist/renderers/codex/skill-md.js +125 -0
  116. package/dist/renderers/codex/skill-md.js.map +1 -0
  117. package/dist/renderers/target-context.d.ts +3 -4
  118. package/dist/renderers/target-context.d.ts.map +1 -1
  119. package/dist/team-templates/policies.js +1 -1
  120. package/dist/team-templates/policies.js.map +1 -1
  121. package/dist/team-templates/presets.d.ts.map +1 -1
  122. package/dist/team-templates/presets.js +5 -8
  123. package/dist/team-templates/presets.js.map +1 -1
  124. package/dist/team-templates/roles.d.ts +3 -3
  125. package/dist/team-templates/roles.d.ts.map +1 -1
  126. package/dist/team-templates/roles.js +2 -4
  127. package/dist/team-templates/roles.js.map +1 -1
  128. package/dist/types/manifest.d.ts +2 -2
  129. package/dist/types/manifest.d.ts.map +1 -1
  130. package/dist/types/manifest.js +3 -3
  131. package/dist/types/manifest.js.map +1 -1
  132. package/dist/utils/skill-prompt-options.d.ts +4 -0
  133. package/dist/utils/skill-prompt-options.d.ts.map +1 -0
  134. package/dist/utils/skill-prompt-options.js +12 -0
  135. package/dist/utils/skill-prompt-options.js.map +1 -0
  136. package/dist/validator/checks/capability-policy.d.ts +5 -0
  137. package/dist/validator/checks/capability-policy.d.ts.map +1 -0
  138. package/dist/validator/checks/capability-policy.js +40 -0
  139. package/dist/validator/checks/capability-policy.js.map +1 -0
  140. package/dist/validator/checks/capability-tools.d.ts +5 -0
  141. package/dist/validator/checks/capability-tools.d.ts.map +1 -0
  142. package/dist/validator/checks/capability-tools.js +23 -0
  143. package/dist/validator/checks/capability-tools.js.map +1 -0
  144. package/dist/validator/checks/environment.d.ts +8 -0
  145. package/dist/validator/checks/environment.d.ts.map +1 -0
  146. package/dist/validator/checks/environment.js +28 -0
  147. package/dist/validator/checks/environment.js.map +1 -0
  148. package/dist/validator/checks/handoff-graph.d.ts +2 -2
  149. package/dist/validator/checks/handoff-graph.d.ts.map +1 -1
  150. package/dist/validator/checks/handoff-graph.js +2 -2
  151. package/dist/validator/checks/handoff-graph.js.map +1 -1
  152. package/dist/validator/checks/instructions.d.ts +5 -0
  153. package/dist/validator/checks/instructions.d.ts.map +1 -0
  154. package/dist/validator/checks/instructions.js +169 -0
  155. package/dist/validator/checks/instructions.js.map +1 -0
  156. package/dist/validator/checks/manifest-registry.d.ts +8 -0
  157. package/dist/validator/checks/manifest-registry.d.ts.map +1 -0
  158. package/dist/validator/checks/manifest-registry.js +68 -0
  159. package/dist/validator/checks/manifest-registry.js.map +1 -0
  160. package/dist/validator/checks/mcp.d.ts +4 -0
  161. package/dist/validator/checks/mcp.d.ts.map +1 -0
  162. package/dist/validator/checks/mcp.js +73 -0
  163. package/dist/validator/checks/mcp.js.map +1 -0
  164. package/dist/validator/checks/policy-coherence.d.ts +4 -0
  165. package/dist/validator/checks/policy-coherence.d.ts.map +1 -0
  166. package/dist/validator/checks/policy-coherence.js +69 -0
  167. package/dist/validator/checks/policy-coherence.js.map +1 -0
  168. package/dist/validator/checks/registry.d.ts +8 -0
  169. package/dist/validator/checks/registry.d.ts.map +1 -0
  170. package/dist/validator/checks/registry.js +23 -0
  171. package/dist/validator/checks/registry.js.map +1 -0
  172. package/dist/validator/checks/role-warnings.d.ts +2 -2
  173. package/dist/validator/checks/role-warnings.d.ts.map +1 -1
  174. package/dist/validator/checks/role-warnings.js +5 -5
  175. package/dist/validator/checks/role-warnings.js.map +1 -1
  176. package/dist/validator/checks/runtime-models.d.ts +4 -0
  177. package/dist/validator/checks/runtime-models.d.ts.map +1 -0
  178. package/dist/validator/checks/runtime-models.js +14 -0
  179. package/dist/validator/checks/runtime-models.js.map +1 -0
  180. package/dist/validator/checks/skill-requirements.d.ts +5 -0
  181. package/dist/validator/checks/skill-requirements.d.ts.map +1 -0
  182. package/dist/validator/checks/skill-requirements.js +143 -0
  183. package/dist/validator/checks/skill-requirements.js.map +1 -0
  184. package/dist/validator/checks/team-graph-enhanced.d.ts +4 -0
  185. package/dist/validator/checks/team-graph-enhanced.d.ts.map +1 -0
  186. package/dist/validator/checks/team-graph-enhanced.js +71 -0
  187. package/dist/validator/checks/team-graph-enhanced.js.map +1 -0
  188. package/dist/validator/checks/tool-conflicts.d.ts +2 -2
  189. package/dist/validator/checks/tool-conflicts.d.ts.map +1 -1
  190. package/dist/validator/checks/tool-conflicts.js +3 -3
  191. package/dist/validator/checks/tool-conflicts.js.map +1 -1
  192. package/dist/validator/checks/trait-capability.d.ts +4 -0
  193. package/dist/validator/checks/trait-capability.d.ts.map +1 -0
  194. package/dist/validator/checks/trait-capability.js +23 -0
  195. package/dist/validator/checks/trait-capability.js.map +1 -0
  196. package/dist/validator/heuristics.d.ts +25 -0
  197. package/dist/validator/heuristics.d.ts.map +1 -0
  198. package/dist/validator/heuristics.js +87 -0
  199. package/dist/validator/heuristics.js.map +1 -0
  200. package/dist/validator/index.d.ts.map +1 -1
  201. package/dist/validator/index.js +24 -4
  202. package/dist/validator/index.js.map +1 -1
  203. package/dist/validator/reporter.d.ts.map +1 -1
  204. package/dist/validator/reporter.js +37 -10
  205. package/dist/validator/reporter.js.map +1 -1
  206. package/dist/validator/types.d.ts +3 -0
  207. package/dist/validator/types.d.ts.map +1 -1
  208. package/dist/wizard/index.d.ts.map +1 -1
  209. package/dist/wizard/index.js +2 -5
  210. package/dist/wizard/index.js.map +1 -1
  211. package/dist/wizard/steps/agent-customization.d.ts.map +1 -1
  212. package/dist/wizard/steps/agent-customization.js +6 -19
  213. package/dist/wizard/steps/agent-customization.js.map +1 -1
  214. package/dist/wizard/steps/environment-selection.d.ts +11 -0
  215. package/dist/wizard/steps/environment-selection.d.ts.map +1 -0
  216. package/dist/wizard/steps/environment-selection.js +46 -0
  217. package/dist/wizard/steps/environment-selection.js.map +1 -0
  218. package/package.json +5 -5
  219. package/schema/teamcast.schema.json +30 -11
  220. package/templates/presets/feature-team.yaml +30 -10
  221. package/templates/presets/research-and-build.yaml +28 -3
  222. package/templates/presets/secure-dev.yaml +33 -0
  223. package/templates/presets/solo-dev.yaml +9 -0
  224. package/dist/components/agent-fragments.d.ts +0 -15
  225. package/dist/components/agent-fragments.d.ts.map +0 -1
  226. package/dist/components/agent-fragments.js.map +0 -1
  227. package/dist/components/policy-fragments.d.ts +0 -5
  228. package/dist/components/policy-fragments.d.ts.map +0 -1
  229. package/dist/components/policy-fragments.js +0 -88
  230. package/dist/components/policy-fragments.js.map +0 -1
  231. package/dist/core/index.d.ts +0 -8
  232. package/dist/core/index.d.ts.map +0 -1
  233. package/dist/core/index.js +0 -8
  234. package/dist/core/index.js.map +0 -1
  235. package/dist/core/skill-resolver.d.ts +0 -8
  236. package/dist/core/skill-resolver.d.ts.map +0 -1
  237. package/dist/core/skill-resolver.js +0 -17
  238. package/dist/core/skill-resolver.js.map +0 -1
  239. package/dist/core/skills.d.ts +0 -4
  240. package/dist/core/skills.d.ts.map +0 -1
  241. package/dist/core/skills.js +0 -14
  242. package/dist/core/skills.js.map +0 -1
  243. package/dist/plugins/catalog.d.ts +0 -10
  244. package/dist/plugins/catalog.d.ts.map +0 -1
  245. package/dist/plugins/catalog.js +0 -30
  246. package/dist/plugins/catalog.js.map +0 -1
  247. package/dist/plugins/core/models-plugin.d.ts +0 -3
  248. package/dist/plugins/core/models-plugin.d.ts.map +0 -1
  249. package/dist/plugins/core/models-plugin.js +0 -50
  250. package/dist/plugins/core/models-plugin.js.map +0 -1
  251. package/dist/plugins/core/presets-plugin.d.ts +0 -3
  252. package/dist/plugins/core/presets-plugin.d.ts.map +0 -1
  253. package/dist/plugins/core/presets-plugin.js +0 -10
  254. package/dist/plugins/core/presets-plugin.js.map +0 -1
  255. package/dist/plugins/core/tools-plugin.d.ts +0 -3
  256. package/dist/plugins/core/tools-plugin.d.ts.map +0 -1
  257. package/dist/plugins/core/tools-plugin.js +0 -44
  258. package/dist/plugins/core/tools-plugin.js.map +0 -1
  259. package/dist/plugins/environments/node-env-plugin.d.ts +0 -3
  260. package/dist/plugins/environments/node-env-plugin.d.ts.map +0 -1
  261. package/dist/plugins/environments/node-env-plugin.js +0 -31
  262. package/dist/plugins/environments/node-env-plugin.js.map +0 -1
  263. package/dist/plugins/environments/python-env-plugin.d.ts +0 -3
  264. package/dist/plugins/environments/python-env-plugin.d.ts.map +0 -1
  265. package/dist/plugins/environments/python-env-plugin.js +0 -33
  266. package/dist/plugins/environments/python-env-plugin.js.map +0 -1
  267. package/dist/plugins/index.d.ts +0 -3
  268. package/dist/plugins/index.d.ts.map +0 -1
  269. package/dist/plugins/index.js +0 -14
  270. package/dist/plugins/index.js.map +0 -1
  271. package/dist/plugins/inject.d.ts +0 -7
  272. package/dist/plugins/inject.d.ts.map +0 -1
  273. package/dist/plugins/inject.js +0 -48
  274. package/dist/plugins/inject.js.map +0 -1
  275. package/dist/plugins/merge-policies.d.ts +0 -8
  276. package/dist/plugins/merge-policies.d.ts.map +0 -1
  277. package/dist/plugins/merge-policies.js +0 -90
  278. package/dist/plugins/merge-policies.js.map +0 -1
  279. package/dist/plugins/registry.d.ts +0 -27
  280. package/dist/plugins/registry.d.ts.map +0 -1
  281. package/dist/plugins/registry.js +0 -97
  282. package/dist/plugins/registry.js.map +0 -1
  283. package/dist/plugins/types.d.ts +0 -75
  284. package/dist/plugins/types.d.ts.map +0 -1
  285. package/dist/plugins/types.js +0 -2
  286. package/dist/plugins/types.js.map +0 -1
  287. package/dist/renderers/index.d.ts +0 -6
  288. package/dist/renderers/index.d.ts.map +0 -1
  289. package/dist/renderers/index.js +0 -4
  290. package/dist/renderers/index.js.map +0 -1
  291. package/dist/validator/checks/instruction-blocks.d.ts +0 -5
  292. package/dist/validator/checks/instruction-blocks.d.ts.map +0 -1
  293. package/dist/validator/checks/instruction-blocks.js +0 -47
  294. package/dist/validator/checks/instruction-blocks.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"agent-customization.js","sourceRoot":"","sources":["../../../src/wizard/steps/agent-customization.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAEhG;;;GAGG;AACH,SAAS,gBAAgB,CAAC,OAAe,EAAE,WAAoB;IAC7D,MAAM,QAAQ,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC;IACxD,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC;IAClD,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;AACpC,CAAC;AAED,SAAS,kBAAkB,CAAC,aAA4B;IACtD,MAAM,SAAS,GAAG,oBAAoB,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAClE,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAmB,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACrG,CAAC;AAED,SAAS,gCAAgC,CACvC,KAA2B,EAC3B,eAAqC;IAErC,IAAI,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC;QAC7B,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,eAAe,CAAC,CAAC;IAC9B,CAAC;IAED,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7E,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;AACpD,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,aAA4B,EAC5B,YAAkC,EAClC,sBAA4C;IAE5C,MAAM,wBAAwB,GAAG,MAAM,aAAa,CAAC;QACnD,OAAO,EAAE,iCAAiC,aAAa,CAAC,IAAI,IAAI;QAChE,OAAO,EAAE,KAAK;KACf,CAAC,CAAC;IAEH,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAC9B,OAAO,gCAAgC,CAAC,YAAY,EAAE,sBAAsB,CAAC,CAAC;IAChF,CAAC;IAED,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;IACnD,MAAM,iBAAiB,GAAG,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAE/F,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,uBAAuB,GAAG,MAAM,cAAc,CAAS;QAC3D,OAAO,EAAE,0BAA0B,aAAa,CAAC,IAAI,iCAAiC;QACtF,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACxC,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,IAAI;YACX,OAAO,EAAE,sBAAsB,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK;SACzD,CAAC,CAAC;KACJ,CAAC,CAAC;IAEH,OAAO,uBAAuB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,SAAS,CAAC;AAClF,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,aAA4B,EAAE,YAAqB;IAClF,MAAM,YAAY,GAAG,oBAAoB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAE9D,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACvC,IAAI,EAAE,GAAG,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YAC9E,KAAK,EAAE,CAAC,CAAC,EAAE;SACZ,CAAC,CAAC,CAAC;QACJ,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC;QAE5D,MAAM,KAAK,GAAG,MAAM,UAAU,CAAS;YACrC,OAAO,EAAE,YAAY,aAAa,CAAC,IAAI,IAAI;YAC3C,OAAO;YACP,OAAO,EAAE,YAAY,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE;SAC5C,CAAC,CAAC;QAEH,OAAO,KAAK,KAAK,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;IACrD,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC;QAC9B,OAAO,EAAE,YAAY,aAAa,CAAC,IAAI,0BAA0B;QACjE,OAAO,EAAE,YAAY,IAAI,EAAE;KAC5B,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC;AACnC,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,aAA4B,EAC5B,YAA8B;IAE9B,IAAI,aAAa,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACnC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,UAAU,CAAkC;QAClE,OAAO,EAAE,6BAA6B;QACtC,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE;YAC7C,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;YAC7B,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;YACnC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;YAC/B,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;SAClC;QACD,OAAO,EAAE,YAAY,IAAI,aAAa;KACvC,CAAC,CAAC;IAEH,OAAO,SAAS,KAAK,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,IAAc,EACd,aAA4B,EAC5B,OAAsC;IAEtC,IAAI,OAAO,EAAE,cAAc,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC;QACpC,OAAO,EAAE,aAAa,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,4BAA4B;QAChF,OAAO,EAAE,KAAK;KACf,CAAC,CAAC;IAEH,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAE5B,MAAM,aAAa,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IACzC,MAAM,eAAe,GAAG,kBAAkB,CAAC,aAAa,CAAC,CAAC;IAE1D,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;QAC9C,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QAElC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,WAAW,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;QAE9G,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1E,MAAM,eAAe,GAAG,MAAM,qBAAqB,CAAC,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAElG,uEAAuE;QACvE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,aAAa,CAAC,eAAe;YAC7D,CAAC,CAAC,aAAa,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;YAC1D,CAAC,CAAC,EAAE,MAAM,EAAE,EAAkB,EAAE,CAAC;QAEnC,MAAM,cAAc,GAAG,MAAM,cAAc,CAAS;YAClD,OAAO,EAAE,gBAAgB,IAAI,GAAG;YAChC,OAAO,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACvC,IAAI,EAAE,gBAAgB,CAAC,KAAK,EAAE,kBAAkB,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC;gBACrE,KAAK,EAAE,KAAK;gBACZ,OAAO,EAAE,aAAa,CAAC,QAAQ,CAAC,KAAmB,CAAC;aACrD,CAAC,CAAC;SACJ,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC;YAC7C,CAAC,CAAC,YAAY,CAAC,cAA8B,EAAE,aAAa,CAAC,QAAQ,CAAC;YACtE,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,eAAe,GAAG,MAAM,qBAAqB,CACjD,aAAa,EACb,aAAa,EACb,KAAK,CAAC,OAAO,CAAC,eAAe,CAC9B,CAAC;QAEF,aAAa,CAAC,IAAI,CAAC,GAAG;YACpB,GAAG,KAAK;YACR,OAAO,EAAE;gBACP,GAAG,KAAK,CAAC,OAAO;gBAChB,KAAK;gBACL,eAAe;gBACf,KAAK,EAAE,aAAa;gBACpB,eAAe;aAChB;SACF,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;AAC5C,CAAC"}
1
+ {"version":3,"file":"agent-customization.js","sourceRoot":"","sources":["../../../src/wizard/steps/agent-customization.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Wizard step: let the user select which runtime environments to activate.
3
+ */
4
+ export declare function stepEnvironmentSelection(cwd: string, currentEnvironments: string[] | undefined, options?: {
5
+ nonInteractive?: boolean;
6
+ }): Promise<string[] | undefined>;
7
+ /**
8
+ * Non-interactive: merge current environments with auto-detected ones.
9
+ */
10
+ export declare function resolveDetectedEnvironments(cwd: string, currentEnvironments: string[] | undefined): string[] | undefined;
11
+ //# sourceMappingURL=environment-selection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environment-selection.d.ts","sourceRoot":"","sources":["../../../src/wizard/steps/environment-selection.ts"],"names":[],"mappings":"AAUA;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,GAAG,EAAE,MAAM,EACX,mBAAmB,EAAE,MAAM,EAAE,GAAG,SAAS,EACzC,OAAO,CAAC,EAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAA;CAAE,GACrC,OAAO,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,CAgC/B;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,GAAG,EAAE,MAAM,EACX,mBAAmB,EAAE,MAAM,EAAE,GAAG,SAAS,GACxC,MAAM,EAAE,GAAG,SAAS,CAGtB"}
@@ -0,0 +1,46 @@
1
+ import chalk from 'chalk';
2
+ import { detectEnvironments, listEnvironments } from '../../registry/environments.js';
3
+ import { isEnvironmentId } from '../../registry/types.js';
4
+ import { promptCheckbox } from '../../utils/prompts.js';
5
+ function mergeEnvironmentIds(...lists) {
6
+ return [...new Set(lists.flatMap((list) => list ?? []))].filter(isEnvironmentId);
7
+ }
8
+ /**
9
+ * Wizard step: let the user select which runtime environments to activate.
10
+ */
11
+ export async function stepEnvironmentSelection(cwd, currentEnvironments, options) {
12
+ const detectedIds = detectEnvironments(cwd);
13
+ if (options?.nonInteractive) {
14
+ const merged = mergeEnvironmentIds(currentEnvironments, detectedIds);
15
+ return merged.length > 0 ? merged : undefined;
16
+ }
17
+ const allEnvs = listEnvironments();
18
+ const currentSet = new Set(currentEnvironments ?? []);
19
+ const detectedSet = new Set(detectedIds);
20
+ const selected = await promptCheckbox({
21
+ message: 'Select runtime environments to activate:',
22
+ choices: allEnvs.map((env) => {
23
+ const tags = [];
24
+ if (detectedSet.has(env.id)) {
25
+ tags.push('detected');
26
+ }
27
+ return {
28
+ name: `${chalk.bold(env.id)} ${chalk.dim([
29
+ env.description,
30
+ ...tags,
31
+ ].join(' | '))}`,
32
+ value: env.id,
33
+ checked: currentSet.has(env.id) || detectedSet.has(env.id),
34
+ };
35
+ }),
36
+ });
37
+ return selected.length > 0 ? selected : undefined;
38
+ }
39
+ /**
40
+ * Non-interactive: merge current environments with auto-detected ones.
41
+ */
42
+ export function resolveDetectedEnvironments(cwd, currentEnvironments) {
43
+ const merged = mergeEnvironmentIds(currentEnvironments, detectEnvironments(cwd));
44
+ return merged.length > 0 ? merged : undefined;
45
+ }
46
+ //# sourceMappingURL=environment-selection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environment-selection.js","sourceRoot":"","sources":["../../../src/wizard/steps/environment-selection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AACtF,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,SAAS,mBAAmB,CAAC,GAAG,KAAkC;IAChE,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;AACnF,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,GAAW,EACX,mBAAyC,EACzC,OAAsC;IAEtC,MAAM,WAAW,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAE5C,IAAI,OAAO,EAAE,cAAc,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,mBAAmB,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC;QACrE,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IAChD,CAAC;IAED,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;IACnC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC;IACtD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;IAEzC,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAS;QAC5C,OAAO,EAAE,0CAA0C;QACnD,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YAC3B,MAAM,IAAI,GAAa,EAAE,CAAC;YAC1B,IAAI,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC5B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACxB,CAAC;YAED,OAAO;gBACL,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC;oBACxC,GAAG,CAAC,WAAW;oBACf,GAAG,IAAI;iBACR,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE;gBAChB,KAAK,EAAE,GAAG,CAAC,EAAE;gBACb,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;aAC3D,CAAC;QACJ,CAAC,CAAC;KACH,CAAC,CAAC;IAEH,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;AACpD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,2BAA2B,CACzC,GAAW,EACX,mBAAyC;IAEzC,MAAM,MAAM,GAAG,mBAAmB,CAAC,mBAAmB,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC;IACjF,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AAChD,CAAC"}
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "teamcast",
3
- "version": "0.9.3",
3
+ "version": "1.0.0",
4
4
  "description": "YAML-driven CLI to design, validate, and generate multi-target agent teams for Claude Code and Codex",
5
5
  "type": "module",
6
6
  "bin": {
7
7
  "teamcast": "./dist/index.js"
8
8
  },
9
9
  "scripts": {
10
- "build": "tsc",
10
+ "build": "node scripts/clean-dist.mjs && tsc",
11
11
  "dev": "tsx src/index.ts",
12
12
  "test": "vitest run",
13
13
  "test:watch": "vitest",
@@ -46,7 +46,7 @@
46
46
  "url": "https://github.com/Katoshy/teamcast/issues"
47
47
  },
48
48
  "engines": {
49
- "node": ">=18"
49
+ "node": ">=24"
50
50
  },
51
51
  "exports": {
52
52
  ".": {
@@ -58,13 +58,13 @@
58
58
  "ajv": "^8.17.1",
59
59
  "chalk": "^5.3.0",
60
60
  "commander": "^12.1.0",
61
- "inquirer": "^10.2.2",
61
+ "inquirer": "^13.3.0",
62
62
  "yaml": "^2.6.1"
63
63
  },
64
64
  "devDependencies": {
65
65
  "@types/node": "^22.10.0",
66
66
  "tsx": "^4.19.2",
67
67
  "typescript": "^5.7.2",
68
- "vitest": "^2.1.8"
68
+ "vitest": "^3.2.4"
69
69
  }
70
70
  }
@@ -26,15 +26,17 @@
26
26
  },
27
27
  "description": {
28
28
  "type": "string"
29
+ },
30
+ "environments": {
31
+ "type": "array",
32
+ "items": {
33
+ "type": "string",
34
+ "enum": ["node", "python"]
35
+ },
36
+ "description": "Runtime environments to activate (e.g., node, python)"
29
37
  }
30
38
  }
31
39
  },
32
- "plugins": {
33
- "type": "array",
34
- "items": {
35
- "type": "string"
36
- }
37
- },
38
40
  "claude": {
39
41
  "$ref": "#/definitions/TargetConfig"
40
42
  },
@@ -89,9 +91,12 @@
89
91
  "command-execution",
90
92
  "web-research",
91
93
  "delegation",
94
+ "interaction",
95
+ "notebook-editing",
92
96
  "no-file-edits",
93
97
  "no-commands",
94
- "no-web"
98
+ "no-web",
99
+ "full-access"
95
100
  ]
96
101
  },
97
102
  "InstructionFragmentName": {
@@ -146,12 +151,8 @@
146
151
  "PolicyFragmentName": {
147
152
  "type": "string",
148
153
  "enum": [
149
- "allow-npm-run",
150
- "allow-npm-test",
151
154
  "allow-git-read",
152
155
  "allow-git-write",
153
- "allow-npx",
154
- "allow-npm-audit",
155
156
  "ask-git-push",
156
157
  "deny-destructive-shell",
157
158
  "deny-network-downloads",
@@ -262,12 +263,30 @@
262
263
  "type": "array",
263
264
  "items": { "$ref": "#/definitions/InstructionBlock" }
264
265
  },
266
+ "skill_blocks": {
267
+ "type": "array",
268
+ "items": { "$ref": "#/definitions/SkillBlock" }
269
+ },
265
270
  "background": {
266
271
  "type": "boolean"
267
272
  },
268
273
  "forge": { "$ref": "#/definitions/ForgeAgentMetadata" }
269
274
  }
270
275
  },
276
+ "SkillBlock": {
277
+ "type": "object",
278
+ "required": ["name", "description", "instructions"],
279
+ "additionalProperties": false,
280
+ "properties": {
281
+ "name": { "type": "string", "pattern": "^[a-z][a-z0-9-]*$" },
282
+ "description": { "type": "string" },
283
+ "instructions": { "type": "string" },
284
+ "allowed_tools": {
285
+ "type": "array",
286
+ "items": { "type": "string" }
287
+ }
288
+ }
289
+ },
271
290
  "ForgeAgentMetadata": {
272
291
  "type": "object",
273
292
  "additionalProperties": false,
@@ -43,10 +43,13 @@ claude:
43
43
  max_turns: 30
44
44
  instruction_blocks:
45
45
  - kind: behavior
46
- content: >
47
- You are the team coordinator. Your job is to analyze the user's
48
- request, break it down into subtasks, and delegate each subtask to
49
- the appropriate specialist.
46
+ content: |
47
+ You are the team coordinator. Triage every incoming task before acting:
48
+ - Bug report or regression -> delegate to planner for root-cause analysis, then developer to fix
49
+ - New feature or enhancement -> delegate to planner for design, then developer to implement, then reviewer to sign off
50
+ - Refactor or cleanup -> delegate directly to developer, then reviewer
51
+ Never write or edit code yourself. Your output is always a delegation message or a final summary.
52
+ When delegating, state the goal, the relevant files, and the expected output format.
50
53
  instruction_fragments:
51
54
  - feature-orchestrator-workflow
52
55
  - feature-orchestrator-output
@@ -64,9 +67,13 @@ claude:
64
67
  - planning
65
68
  instruction_blocks:
66
69
  - kind: behavior
67
- content: >
68
- You are the planner. Your job is to deeply understand the codebase
69
- and produce a clear, step-by-step implementation plan.
70
+ content: |
71
+ You are the planner. Produce a step-by-step implementation plan that includes:
72
+ - Numbered steps with specific file paths and function names
73
+ - Affected files and any new files that need to be created
74
+ - External dependencies or breaking changes to call out
75
+ - Risks or edge cases the developer must handle
76
+ Do NOT include code snippets or make any file edits. Your output is a plan document only.
70
77
  instruction_fragments:
71
78
  - feature-planner-workflow
72
79
  - feature-planner-read-only
@@ -82,6 +89,14 @@ claude:
82
89
  skills:
83
90
  - test-first
84
91
  - clean-code
92
+ instruction_blocks:
93
+ - kind: behavior
94
+ content: |
95
+ You are the developer. Implement the plan you have been given precisely.
96
+ Write a failing test first, then implement the minimum code to make it pass.
97
+ Follow existing patterns in the codebase — read similar files before writing new ones.
98
+ Keep changes small and focused. One logical change per step.
99
+ When done, run tests, confirm they pass, then summarize what changed and why.
85
100
  instruction_fragments:
86
101
  - feature-developer-core
87
102
  - feature-developer-workflow
@@ -100,9 +115,14 @@ claude:
100
115
  - security-check
101
116
  instruction_blocks:
102
117
  - kind: behavior
103
- content: >
104
- You are the reviewer. Your job is to review the implementation for
105
- quality, correctness, and security.
118
+ content: |
119
+ You are the reviewer. Check each changed file against this checklist:
120
+ - Types: no implicit any, all function signatures typed, no unsafe casts
121
+ - Imports: no unused imports, no missing .js extensions in relative imports
122
+ - Logic: correct edge case handling, no off-by-one errors, no unhandled rejections
123
+ - Tests: new behavior covered, no tests deleted without explanation
124
+ - Security: no secrets in code, no SQL/command injection surface, inputs validated
125
+ Output a structured review with Pass/Fail per category and specific line references for failures.
106
126
  instruction_fragments:
107
127
  - feature-reviewer-checklist
108
128
  - feature-reviewer-style
@@ -35,6 +35,14 @@ claude:
35
35
  - no-commands
36
36
  - no-web
37
37
  max_turns: 30
38
+ instruction_blocks:
39
+ - kind: behavior
40
+ content: |
41
+ You are the coordinator for a research-first team.
42
+ If the task requires external knowledge (APIs, libraries, standards) -> delegate to researcher first.
43
+ If the task is purely about the existing codebase -> skip researcher and go directly to planner.
44
+ Once research is complete, delegate to planner with the findings attached.
45
+ Once a plan exists, delegate to developer. Never write code yourself.
38
46
  instruction_fragments:
39
47
  - research-orchestrator-core
40
48
  - research-orchestrator-workflow
@@ -53,9 +61,12 @@ claude:
53
61
  - source-validation
54
62
  instruction_blocks:
55
63
  - kind: behavior
56
- content: >
57
- You are the researcher. Your job is to find accurate information
58
- from documentation and trusted sources.
64
+ content: |
65
+ You are the researcher. Find accurate, current information from trusted sources.
66
+ Prefer official documentation, RFCs, and maintained libraries over blog posts or forums.
67
+ For each finding, cite: source URL or doc path, access date, and confidence level (high/medium/low).
68
+ Structure your output as: Summary -> Key Findings (bullet list) -> Sources -> Open Questions.
69
+ Do not modify any project files. Your output is a research report only.
59
70
  instruction_fragments:
60
71
  - research-citation
61
72
  - research-no-file-edits
@@ -71,6 +82,13 @@ claude:
71
82
  skills:
72
83
  - architecture-analysis
73
84
  - planning
85
+ instruction_blocks:
86
+ - kind: behavior
87
+ content: |
88
+ You are the planner. Integrate the research findings with your codebase analysis to produce a plan.
89
+ Each step must reference specific file paths and note which research finding it relies on.
90
+ If a research finding contradicts the current implementation, flag it explicitly.
91
+ Do not invent facts not present in the research report or the codebase. Do not write code.
74
92
  instruction_fragments:
75
93
  - research-planner-core
76
94
  - research-planner-constraints
@@ -86,6 +104,13 @@ claude:
86
104
  skills:
87
105
  - test-first
88
106
  - clean-code
107
+ instruction_blocks:
108
+ - kind: behavior
109
+ content: |
110
+ You are the developer. Implement only what the plan specifies. You have no internet access.
111
+ If the plan references information you do not have, stop and ask the orchestrator to escalate to researcher.
112
+ Never guess at API shapes, library behavior, or external conventions — escalate instead.
113
+ Write tests alongside code. When done, run tests and summarize what was implemented.
89
114
  instruction_fragments:
90
115
  - research-developer-core
91
116
  - research-handoff
@@ -49,6 +49,14 @@ claude:
49
49
  - no-commands
50
50
  - no-web
51
51
  max_turns: 30
52
+ instruction_blocks:
53
+ - kind: behavior
54
+ content: |
55
+ You are the security-conscious coordinator. Every change must follow this pipeline:
56
+ planner -> developer -> security-auditor -> reviewer
57
+ Never skip the security-auditor step, even for small changes.
58
+ If the security-auditor raises a critical issue, route back to developer before proceeding.
59
+ Never write or edit code yourself.
52
60
  instruction_fragments:
53
61
  - secure-orchestrator-core
54
62
  - secure-orchestrator-workflow
@@ -66,6 +74,14 @@ claude:
66
74
  - architecture-analysis
67
75
  - planning
68
76
  - threat-modeling
77
+ instruction_blocks:
78
+ - kind: behavior
79
+ content: |
80
+ You are the planner. Every plan must include a threat model section:
81
+ - Trust boundaries: which inputs cross trust levels, which callers are untrusted
82
+ - Attack surfaces introduced or expanded by this change
83
+ - Recommended validation, sanitization, and error handling at each boundary
84
+ Keep the plan actionable. Do not write code.
69
85
  instruction_fragments:
70
86
  - secure-planning
71
87
  developer:
@@ -80,6 +96,15 @@ claude:
80
96
  - test-first
81
97
  - clean-code
82
98
  - secure-coding
99
+ instruction_blocks:
100
+ - kind: behavior
101
+ content: |
102
+ You are the developer. Apply secure defaults on every change:
103
+ - Validate and sanitize all inputs at system boundaries before use
104
+ - Use parameterized queries — never concatenate user input into SQL or shell commands
105
+ - Apply least privilege: request only the permissions the code actually needs
106
+ - Never log credentials, tokens, or PII — use redacted placeholders
107
+ Write security-focused tests alongside functional tests.
83
108
  instruction_fragments:
84
109
  - secure-development
85
110
  - secure-development-tests
@@ -116,6 +141,14 @@ claude:
116
141
  - no-web
117
142
  skills:
118
143
  - code-review
144
+ instruction_blocks:
145
+ - kind: behavior
146
+ content: |
147
+ You are the reviewer. Code has already passed security audit — focus on quality.
148
+ Check: readability, naming clarity, function size (prefer small focused functions), duplication.
149
+ Check: test coverage for new branches, meaningful test names, no commented-out code left behind.
150
+ Check: error messages are user-friendly and do not leak internals.
151
+ Output a structured review. Do not modify files yourself.
119
152
  instruction_fragments:
120
153
  - post-audit-review-core
121
154
  - post-audit-review
@@ -32,6 +32,15 @@ claude:
32
32
  - test-first
33
33
  - clean-code
34
34
  - planning
35
+ instruction_blocks:
36
+ - kind: behavior
37
+ content: |
38
+ You are a capable full-stack developer. Handle the task end-to-end.
39
+ For tasks touching more than two files, sketch a brief plan before writing code.
40
+ For simple changes, implement directly — no ceremony needed.
41
+ Always write or update tests alongside implementation. Run tests before declaring done.
42
+ Follow existing code style and patterns. Keep changes focused and minimal.
43
+ When done, summarize what changed and why in plain language.
35
44
  instruction_fragments:
36
45
  - solo-dev-core
37
46
  - solo-dev-workflow
@@ -1,15 +0,0 @@
1
- import type { InstructionBlock } from '../core/instructions.js';
2
- import type { AgentRuntime } from '../core/types.js';
3
- import { type SkillToolMap } from '../core/skill-resolver.js';
4
- export type CapabilityTraitName = 'base-read' | 'file-authoring' | 'command-execution' | 'web-research' | 'delegation' | 'no-file-edits' | 'no-commands' | 'no-web';
5
- export type InstructionFragmentName = 'coordination-core' | 'delegate-first' | 'planning-core' | 'planning-read-only' | 'research-core' | 'research-citation' | 'research-no-file-edits' | 'development-core' | 'development-workflow' | 'tester-core' | 'tester-read-only' | 'review-core' | 'review-feedback' | 'security-audit-core' | 'security-audit-severity' | 'research-handoff' | 'secure-planning' | 'secure-development' | 'secure-development-tests' | 'security-review-gate' | 'post-audit-review' | 'solo-dev-core' | 'solo-dev-workflow' | 'solo-dev-style' | 'feature-orchestrator-workflow' | 'feature-orchestrator-output' | 'feature-planner-workflow' | 'feature-planner-read-only' | 'feature-developer-core' | 'feature-developer-workflow' | 'feature-developer-summary' | 'feature-reviewer-checklist' | 'feature-reviewer-style' | 'research-orchestrator-core' | 'research-orchestrator-workflow' | 'research-orchestrator-output' | 'research-planner-core' | 'research-planner-constraints' | 'research-developer-core' | 'research-developer-tests' | 'secure-orchestrator-core' | 'secure-orchestrator-workflow' | 'secure-orchestrator-gate' | 'post-audit-review-core';
6
- export declare function listCapabilityTraits(): CapabilityTraitName[];
7
- export declare function listInstructionFragments(): InstructionFragmentName[];
8
- /**
9
- * Resolve capability traits to allowed/disallowed tool lists using the provided skill mapping.
10
- * Pass the platform-specific skill map (e.g. CLAUDE_SKILL_MAP) from the caller layer.
11
- */
12
- export declare function resolveCapabilityTraits(traits: CapabilityTraitName[] | undefined, skillMap: SkillToolMap): Pick<AgentRuntime, 'tools' | 'disallowedTools'>;
13
- export declare function resolveInstructionFragments(fragments: InstructionFragmentName[] | undefined, extraBlocks?: InstructionBlock[]): InstructionBlock[];
14
- export declare function mergeRuntimeWithTraits(base: Omit<AgentRuntime, 'tools' | 'disallowedTools'> & Pick<AgentRuntime, 'tools' | 'disallowedTools'>, capabilityTraits: CapabilityTraitName[] | undefined, skillMap: SkillToolMap): AgentRuntime;
15
- //# sourceMappingURL=agent-fragments.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-fragments.d.ts","sourceRoot":"","sources":["../../src/components/agent-fragments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,EAAgB,KAAK,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE5E,MAAM,MAAM,mBAAmB,GAC3B,WAAW,GACX,gBAAgB,GAChB,mBAAmB,GACnB,cAAc,GACd,YAAY,GACZ,eAAe,GACf,aAAa,GACb,QAAQ,CAAC;AAEb,MAAM,MAAM,uBAAuB,GAC/B,mBAAmB,GACnB,gBAAgB,GAChB,eAAe,GACf,oBAAoB,GACpB,eAAe,GACf,mBAAmB,GACnB,wBAAwB,GACxB,kBAAkB,GAClB,sBAAsB,GACtB,aAAa,GACb,kBAAkB,GAClB,aAAa,GACb,iBAAiB,GACjB,qBAAqB,GACrB,yBAAyB,GACzB,kBAAkB,GAClB,iBAAiB,GACjB,oBAAoB,GACpB,0BAA0B,GAC1B,sBAAsB,GACtB,mBAAmB,GACnB,eAAe,GACf,mBAAmB,GACnB,gBAAgB,GAChB,+BAA+B,GAC/B,6BAA6B,GAC7B,0BAA0B,GAC1B,2BAA2B,GAC3B,wBAAwB,GACxB,4BAA4B,GAC5B,2BAA2B,GAC3B,4BAA4B,GAC5B,wBAAwB,GACxB,4BAA4B,GAC5B,gCAAgC,GAChC,8BAA8B,GAC9B,uBAAuB,GACvB,8BAA8B,GAC9B,yBAAyB,GACzB,0BAA0B,GAC1B,0BAA0B,GAC1B,8BAA8B,GAC9B,0BAA0B,GAC1B,wBAAwB,CAAC;AAgQ7B,wBAAgB,oBAAoB,IAAI,mBAAmB,EAAE,CAE5D;AAED,wBAAgB,wBAAwB,IAAI,uBAAuB,EAAE,CAEpE;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,mBAAmB,EAAE,GAAG,SAAS,EACzC,QAAQ,EAAE,YAAY,GACrB,IAAI,CAAC,YAAY,EAAE,OAAO,GAAG,iBAAiB,CAAC,CAsBjD;AAED,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,uBAAuB,EAAE,GAAG,SAAS,EAChD,WAAW,GAAE,gBAAgB,EAAO,GACnC,gBAAgB,EAAE,CAUpB;AAED,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,GAAG,iBAAiB,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,OAAO,GAAG,iBAAiB,CAAC,EACvG,gBAAgB,EAAE,mBAAmB,EAAE,GAAG,SAAS,EACnD,QAAQ,EAAE,YAAY,GACrB,YAAY,CAOd"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-fragments.js","sourceRoot":"","sources":["../../src/components/agent-fragments.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- import type { TeamPolicies } from '../core/types.js';
2
- export type PolicyFragmentName = 'allow-git-read' | 'allow-git-write' | 'ask-git-push' | 'deny-destructive-shell' | 'deny-network-downloads' | 'deny-dynamic-exec' | 'deny-env-files' | 'sandbox-default';
3
- export declare function listPolicyFragments(): PolicyFragmentName[];
4
- export declare function composePoliciesFromFragments(fragments: PolicyFragmentName[] | undefined, overrides?: TeamPolicies): TeamPolicies;
5
- //# sourceMappingURL=policy-fragments.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"policy-fragments.d.ts","sourceRoot":"","sources":["../../src/components/policy-fragments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,MAAM,MAAM,kBAAkB,GAC1B,gBAAgB,GAChB,iBAAiB,GACjB,cAAc,GACd,wBAAwB,GACxB,wBAAwB,GACxB,mBAAmB,GACnB,gBAAgB,GAChB,iBAAiB,CAAC;AAmFtB,wBAAgB,mBAAmB,IAAI,kBAAkB,EAAE,CAE1D;AAED,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,kBAAkB,EAAE,GAAG,SAAS,EAC3C,SAAS,GAAE,YAAiB,GAC3B,YAAY,CAWd"}
@@ -1,88 +0,0 @@
1
- const POLICY_FRAGMENTS = {
2
- 'allow-git-read': {
3
- permissions: { rules: { allow: ['Bash(git status)', 'Bash(git diff *)'] } }
4
- },
5
- 'allow-git-write': {
6
- permissions: { rules: { allow: ['Bash(git add *)', 'Bash(git commit *)'] } }
7
- },
8
- 'ask-git-push': {
9
- permissions: { rules: { ask: ['Bash(git push *)'] } }
10
- },
11
- 'deny-destructive-shell': {
12
- permissions: { rules: { deny: ['Bash(rm -rf *)', 'Bash(git push --force *)'] } }
13
- },
14
- 'deny-network-downloads': {
15
- permissions: { rules: { deny: ['Bash(curl *)', 'Bash(wget *)'] } }
16
- },
17
- 'deny-dynamic-exec': {
18
- permissions: { rules: { deny: ['Bash(eval *)', 'Bash(exec *)'] } }
19
- },
20
- 'deny-env-files': {
21
- permissions: { rules: { deny: ['Write(.env*)', 'Edit(.env*)'] } }
22
- },
23
- 'sandbox-default': {
24
- sandbox: {
25
- enabled: true,
26
- autoAllowBash: true,
27
- },
28
- },
29
- };
30
- function mergeUnique(left, right) {
31
- const merged = [...(left ?? []), ...(right ?? [])];
32
- return merged.length > 0 ? [...new Set(merged)] : undefined;
33
- }
34
- function mergePolicies(base, extra) {
35
- return {
36
- permissions: base.permissions || extra.permissions
37
- ? {
38
- rules: base.permissions?.rules || extra.permissions?.rules
39
- ? {
40
- allow: mergeUnique(base.permissions?.rules?.allow, extra.permissions?.rules?.allow),
41
- ask: mergeUnique(base.permissions?.rules?.ask, extra.permissions?.rules?.ask),
42
- deny: mergeUnique(base.permissions?.rules?.deny, extra.permissions?.rules?.deny),
43
- }
44
- : undefined,
45
- defaultMode: extra.permissions?.defaultMode ?? base.permissions?.defaultMode,
46
- }
47
- : undefined,
48
- sandbox: base.sandbox || extra.sandbox
49
- ? {
50
- enabled: extra.sandbox?.enabled ?? base.sandbox?.enabled,
51
- autoAllowBash: extra.sandbox?.autoAllowBash ?? base.sandbox?.autoAllowBash,
52
- excludedCommands: mergeUnique(base.sandbox?.excludedCommands, extra.sandbox?.excludedCommands),
53
- network: base.sandbox?.network || extra.sandbox?.network
54
- ? {
55
- allowUnixSockets: mergeUnique(base.sandbox?.network?.allowUnixSockets, extra.sandbox?.network?.allowUnixSockets),
56
- allowLocalBinding: extra.sandbox?.network?.allowLocalBinding ?? base.sandbox?.network?.allowLocalBinding,
57
- }
58
- : undefined,
59
- }
60
- : undefined,
61
- hooks: base.hooks || extra.hooks
62
- ? {
63
- preToolUse: [...(base.hooks?.preToolUse ?? []), ...(extra.hooks?.preToolUse ?? [])],
64
- postToolUse: [...(base.hooks?.postToolUse ?? []), ...(extra.hooks?.postToolUse ?? [])],
65
- notification: [...(base.hooks?.notification ?? []), ...(extra.hooks?.notification ?? [])],
66
- }
67
- : undefined,
68
- network: base.network || extra.network
69
- ? {
70
- allowedDomains: mergeUnique(base.network?.allowedDomains, extra.network?.allowedDomains),
71
- }
72
- : undefined,
73
- };
74
- }
75
- export function listPolicyFragments() {
76
- return Object.keys(POLICY_FRAGMENTS);
77
- }
78
- export function composePoliciesFromFragments(fragments, overrides = {}) {
79
- const composed = (fragments ?? []).reduce((acc, fragmentName) => {
80
- const fragment = POLICY_FRAGMENTS[fragmentName];
81
- if (!fragment) {
82
- throw new Error(`Unknown policy fragment "${fragmentName}"`);
83
- }
84
- return mergePolicies(acc, fragment);
85
- }, {});
86
- return mergePolicies(composed, overrides);
87
- }
88
- //# sourceMappingURL=policy-fragments.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"policy-fragments.js","sourceRoot":"","sources":["../../src/components/policy-fragments.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- export * from './types.js';
2
- export * from './skills.js';
3
- export * from './instructions.js';
4
- export * from './assertions.js';
5
- export * from './guards.js';
6
- export * from './skill-resolver.js';
7
- export { evaluatePolicyAssertions } from './policy-evaluator.js';
8
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -1,8 +0,0 @@
1
- export * from './types.js';
2
- export * from './skills.js';
3
- export * from './instructions.js';
4
- export * from './assertions.js';
5
- export * from './guards.js';
6
- export * from './skill-resolver.js';
7
- export { evaluatePolicyAssertions } from './policy-evaluator.js';
8
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -1,8 +0,0 @@
1
- import type { AgentSkill } from './skills.js';
2
- /** A skill-to-tool mapping provided by a renderer */
3
- export type SkillToolMap = Record<AgentSkill, string[]>;
4
- /** Expand abstract skills to platform tools using the provided mapping */
5
- export declare function expandSkills(skills: AgentSkill[], mapping: SkillToolMap): string[];
6
- /** Check if an agent (by its resolved tools) has a specific skill */
7
- export declare function agentHasSkill(agentTools: string[], skill: AgentSkill, mapping: SkillToolMap): boolean;
8
- //# sourceMappingURL=skill-resolver.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"skill-resolver.d.ts","sourceRoot":"","sources":["../../src/core/skill-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,qDAAqD;AACrD,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;AAExD,0EAA0E;AAC1E,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,YAAY,GAAG,MAAM,EAAE,CAOlF;AAED,qEAAqE;AACrE,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAGrG"}
@@ -1,17 +0,0 @@
1
- /** Expand abstract skills to platform tools using the provided mapping */
2
- export function expandSkills(skills, mapping) {
3
- const toolSet = new Set();
4
- for (const skill of skills) {
5
- const tools = mapping[skill];
6
- if (tools)
7
- for (const tool of tools)
8
- toolSet.add(tool);
9
- }
10
- return [...toolSet];
11
- }
12
- /** Check if an agent (by its resolved tools) has a specific skill */
13
- export function agentHasSkill(agentTools, skill, mapping) {
14
- const requiredTools = mapping[skill];
15
- return requiredTools.length > 0 && requiredTools.some((t) => agentTools.includes(t));
16
- }
17
- //# sourceMappingURL=skill-resolver.js.map