@mindfoldhq/trellis 0.4.0 → 0.5.0-beta.2

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 (394) hide show
  1. package/dist/cli/index.js +0 -1
  2. package/dist/cli/index.js.map +1 -1
  3. package/dist/commands/init.d.ts +0 -1
  4. package/dist/commands/init.d.ts.map +1 -1
  5. package/dist/commands/init.js +2 -4
  6. package/dist/commands/init.js.map +1 -1
  7. package/dist/commands/update.d.ts +5 -0
  8. package/dist/commands/update.d.ts.map +1 -1
  9. package/dist/commands/update.js +100 -24
  10. package/dist/commands/update.js.map +1 -1
  11. package/dist/configurators/antigravity.d.ts +3 -4
  12. package/dist/configurators/antigravity.d.ts.map +1 -1
  13. package/dist/configurators/antigravity.js +17 -10
  14. package/dist/configurators/antigravity.js.map +1 -1
  15. package/dist/configurators/claude.d.ts +5 -28
  16. package/dist/configurators/claude.d.ts.map +1 -1
  17. package/dist/configurators/claude.js +30 -51
  18. package/dist/configurators/claude.js.map +1 -1
  19. package/dist/configurators/codebuddy.d.ts +6 -7
  20. package/dist/configurators/codebuddy.d.ts.map +1 -1
  21. package/dist/configurators/codebuddy.js +23 -51
  22. package/dist/configurators/codebuddy.js.map +1 -1
  23. package/dist/configurators/codex.d.ts +3 -6
  24. package/dist/configurators/codex.d.ts.map +1 -1
  25. package/dist/configurators/codex.js +29 -12
  26. package/dist/configurators/codex.js.map +1 -1
  27. package/dist/configurators/copilot.d.ts +6 -5
  28. package/dist/configurators/copilot.d.ts.map +1 -1
  29. package/dist/configurators/copilot.js +42 -13
  30. package/dist/configurators/copilot.js.map +1 -1
  31. package/dist/configurators/cursor.d.ts +6 -1
  32. package/dist/configurators/cursor.d.ts.map +1 -1
  33. package/dist/configurators/cursor.js +22 -45
  34. package/dist/configurators/cursor.js.map +1 -1
  35. package/dist/configurators/droid.d.ts +6 -1
  36. package/dist/configurators/droid.d.ts.map +1 -1
  37. package/dist/configurators/droid.js +23 -41
  38. package/dist/configurators/droid.js.map +1 -1
  39. package/dist/configurators/gemini.d.ts +8 -4
  40. package/dist/configurators/gemini.d.ts.map +1 -1
  41. package/dist/configurators/gemini.js +28 -47
  42. package/dist/configurators/gemini.js.map +1 -1
  43. package/dist/configurators/index.d.ts +1 -1
  44. package/dist/configurators/index.d.ts.map +1 -1
  45. package/dist/configurators/index.js +142 -98
  46. package/dist/configurators/index.js.map +1 -1
  47. package/dist/configurators/kilo.d.ts +3 -4
  48. package/dist/configurators/kilo.d.ts.map +1 -1
  49. package/dist/configurators/kilo.js +19 -46
  50. package/dist/configurators/kilo.js.map +1 -1
  51. package/dist/configurators/kiro.d.ts +4 -4
  52. package/dist/configurators/kiro.d.ts.map +1 -1
  53. package/dist/configurators/kiro.js +18 -14
  54. package/dist/configurators/kiro.js.map +1 -1
  55. package/dist/configurators/opencode.d.ts +3 -28
  56. package/dist/configurators/opencode.d.ts.map +1 -1
  57. package/dist/configurators/opencode.js +23 -48
  58. package/dist/configurators/opencode.js.map +1 -1
  59. package/dist/configurators/qoder.d.ts +6 -4
  60. package/dist/configurators/qoder.d.ts.map +1 -1
  61. package/dist/configurators/qoder.js +20 -47
  62. package/dist/configurators/qoder.js.map +1 -1
  63. package/dist/configurators/shared.d.ts +66 -3
  64. package/dist/configurators/shared.d.ts.map +1 -1
  65. package/dist/configurators/shared.js +251 -3
  66. package/dist/configurators/shared.js.map +1 -1
  67. package/dist/configurators/windsurf.d.ts +3 -4
  68. package/dist/configurators/windsurf.d.ts.map +1 -1
  69. package/dist/configurators/windsurf.js +17 -10
  70. package/dist/configurators/windsurf.js.map +1 -1
  71. package/dist/configurators/workflow.d.ts +0 -3
  72. package/dist/configurators/workflow.d.ts.map +1 -1
  73. package/dist/configurators/workflow.js +1 -7
  74. package/dist/configurators/workflow.js.map +1 -1
  75. package/dist/migrations/manifests/0.4.0.json +1 -1
  76. package/dist/migrations/manifests/0.5.0-beta.0.json +1644 -0
  77. package/dist/templates/claude/agents/check.md +2 -29
  78. package/dist/templates/claude/agents/research.md +70 -52
  79. package/dist/templates/claude/index.d.ts +5 -37
  80. package/dist/templates/claude/index.d.ts.map +1 -1
  81. package/dist/templates/claude/index.js +3 -42
  82. package/dist/templates/claude/index.js.map +1 -1
  83. package/dist/templates/claude/settings.json +3 -4
  84. package/dist/templates/{iflow → codebuddy}/agents/check.md +3 -30
  85. package/dist/templates/{iflow → codebuddy}/agents/implement.md +1 -1
  86. package/dist/templates/codebuddy/agents/research.md +138 -0
  87. package/dist/templates/codebuddy/index.d.ts +6 -16
  88. package/dist/templates/codebuddy/index.d.ts.map +1 -1
  89. package/dist/templates/codebuddy/index.js +6 -36
  90. package/dist/templates/codebuddy/index.js.map +1 -1
  91. package/dist/templates/codebuddy/settings.json +59 -0
  92. package/dist/templates/codex/agents/research.toml +50 -16
  93. package/dist/templates/codex/config.toml +10 -0
  94. package/dist/templates/codex/hooks/session-start.py +65 -29
  95. package/dist/templates/codex/hooks.json +11 -0
  96. package/dist/templates/codex/index.d.ts +0 -1
  97. package/dist/templates/codex/index.d.ts.map +1 -1
  98. package/dist/templates/codex/index.js +1 -8
  99. package/dist/templates/codex/index.js.map +1 -1
  100. package/dist/templates/common/commands/continue.md +51 -0
  101. package/dist/templates/common/commands/finish-work.md +32 -0
  102. package/dist/templates/common/commands/start.md +56 -0
  103. package/dist/templates/common/index.d.ts +28 -0
  104. package/dist/templates/common/index.d.ts.map +1 -0
  105. package/dist/templates/common/index.js +55 -0
  106. package/dist/templates/common/index.js.map +1 -0
  107. package/dist/templates/{codebuddy/commands/trellis → common/skills}/brainstorm.md +4 -4
  108. package/dist/templates/{opencode/commands/trellis → common/skills}/break-loop.md +4 -4
  109. package/dist/templates/common/skills/check.md +87 -0
  110. package/dist/templates/{codebuddy/commands/trellis → common/skills}/update-spec.md +18 -21
  111. package/dist/templates/copilot/hooks/session-start.py +65 -29
  112. package/dist/templates/copilot/hooks.json +8 -0
  113. package/dist/templates/cursor/agents/check.md +95 -0
  114. package/dist/templates/cursor/agents/implement.md +95 -0
  115. package/dist/templates/cursor/agents/research.md +138 -0
  116. package/dist/templates/cursor/hooks.json +24 -0
  117. package/dist/templates/cursor/index.d.ts +6 -17
  118. package/dist/templates/cursor/index.d.ts.map +1 -1
  119. package/dist/templates/cursor/index.js +6 -37
  120. package/dist/templates/cursor/index.js.map +1 -1
  121. package/dist/templates/droid/droids/check.md +95 -0
  122. package/dist/templates/droid/droids/implement.md +95 -0
  123. package/dist/templates/droid/droids/research.md +138 -0
  124. package/dist/templates/droid/index.d.ts +7 -19
  125. package/dist/templates/droid/index.d.ts.map +1 -1
  126. package/dist/templates/droid/index.js +7 -39
  127. package/dist/templates/droid/index.js.map +1 -1
  128. package/dist/templates/droid/settings.json +59 -0
  129. package/dist/templates/extract.d.ts +7 -193
  130. package/dist/templates/extract.d.ts.map +1 -1
  131. package/dist/templates/extract.js +7 -310
  132. package/dist/templates/extract.js.map +1 -1
  133. package/dist/templates/gemini/agents/check.md +95 -0
  134. package/dist/templates/gemini/agents/implement.md +95 -0
  135. package/dist/templates/gemini/agents/research.md +138 -0
  136. package/dist/templates/gemini/index.d.ts +6 -14
  137. package/dist/templates/gemini/index.d.ts.map +1 -1
  138. package/dist/templates/gemini/index.js +6 -37
  139. package/dist/templates/gemini/index.js.map +1 -1
  140. package/dist/templates/gemini/settings.json +28 -0
  141. package/dist/templates/kiro/agents/check.json +13 -0
  142. package/dist/templates/kiro/agents/implement.json +13 -0
  143. package/dist/templates/kiro/agents/research.json +21 -0
  144. package/dist/templates/kiro/index.d.ts +11 -11
  145. package/dist/templates/kiro/index.d.ts.map +1 -1
  146. package/dist/templates/kiro/index.js +11 -33
  147. package/dist/templates/kiro/index.js.map +1 -1
  148. package/dist/templates/opencode/agents/check.md +3 -30
  149. package/dist/templates/opencode/agents/implement.md +1 -1
  150. package/dist/templates/opencode/agents/research.md +1 -2
  151. package/dist/templates/opencode/plugins/inject-subagent-context.js +9 -183
  152. package/dist/templates/opencode/plugins/inject-workflow-state.js +160 -0
  153. package/dist/templates/opencode/plugins/session-start.js +71 -32
  154. package/dist/templates/qoder/agents/check.md +95 -0
  155. package/dist/templates/qoder/agents/implement.md +95 -0
  156. package/dist/templates/qoder/agents/research.md +138 -0
  157. package/dist/templates/qoder/index.d.ts +7 -10
  158. package/dist/templates/qoder/index.d.ts.map +1 -1
  159. package/dist/templates/qoder/index.js +7 -32
  160. package/dist/templates/qoder/index.js.map +1 -1
  161. package/dist/templates/qoder/settings.json +47 -0
  162. package/dist/templates/shared-hooks/index.d.ts +19 -0
  163. package/dist/templates/shared-hooks/index.d.ts.map +1 -0
  164. package/dist/templates/shared-hooks/index.js +30 -0
  165. package/dist/templates/shared-hooks/index.js.map +1 -0
  166. package/dist/templates/{iflow/hooks → shared-hooks}/inject-subagent-context.py +74 -263
  167. package/dist/templates/shared-hooks/inject-workflow-state.py +231 -0
  168. package/dist/templates/{claude/hooks → shared-hooks}/session-start.py +162 -55
  169. package/dist/templates/template-utils.d.ts +26 -0
  170. package/dist/templates/template-utils.d.ts.map +1 -0
  171. package/dist/templates/template-utils.js +60 -0
  172. package/dist/templates/template-utils.js.map +1 -0
  173. package/dist/templates/trellis/index.d.ts +1 -14
  174. package/dist/templates/trellis/index.d.ts.map +1 -1
  175. package/dist/templates/trellis/index.js +2 -27
  176. package/dist/templates/trellis/index.js.map +1 -1
  177. package/dist/templates/trellis/scripts/common/cli_adapter.py +2 -2
  178. package/dist/templates/trellis/scripts/common/config.py +126 -1
  179. package/dist/templates/trellis/scripts/common/git_context.py +25 -2
  180. package/dist/templates/trellis/scripts/common/task_context.py +3 -23
  181. package/dist/templates/trellis/scripts/common/task_store.py +0 -12
  182. package/dist/templates/trellis/scripts/common/workflow_phase.py +176 -0
  183. package/dist/templates/trellis/scripts/task.py +6 -35
  184. package/dist/templates/trellis/workflow.md +274 -297
  185. package/dist/types/ai-tools.d.ts +21 -3
  186. package/dist/types/ai-tools.d.ts.map +1 -1
  187. package/dist/types/ai-tools.js +106 -15
  188. package/dist/types/ai-tools.js.map +1 -1
  189. package/dist/types/migration.d.ts +8 -1
  190. package/dist/types/migration.d.ts.map +1 -1
  191. package/package.json +3 -2
  192. package/dist/configurators/iflow.d.ts +0 -33
  193. package/dist/configurators/iflow.d.ts.map +0 -1
  194. package/dist/configurators/iflow.js +0 -99
  195. package/dist/configurators/iflow.js.map +0 -1
  196. package/dist/templates/antigravity/index.d.ts +0 -12
  197. package/dist/templates/antigravity/index.d.ts.map +0 -1
  198. package/dist/templates/antigravity/index.js +0 -29
  199. package/dist/templates/antigravity/index.js.map +0 -1
  200. package/dist/templates/claude/agents/debug.md +0 -106
  201. package/dist/templates/claude/agents/dispatch.md +0 -213
  202. package/dist/templates/claude/agents/plan.md +0 -396
  203. package/dist/templates/claude/commands/trellis/brainstorm.md +0 -487
  204. package/dist/templates/claude/commands/trellis/break-loop.md +0 -125
  205. package/dist/templates/claude/commands/trellis/check-cross-layer.md +0 -153
  206. package/dist/templates/claude/commands/trellis/check.md +0 -25
  207. package/dist/templates/claude/commands/trellis/create-command.md +0 -154
  208. package/dist/templates/claude/commands/trellis/finish-work.md +0 -153
  209. package/dist/templates/claude/commands/trellis/integrate-skill.md +0 -219
  210. package/dist/templates/claude/commands/trellis/onboard.md +0 -358
  211. package/dist/templates/claude/commands/trellis/parallel.md +0 -192
  212. package/dist/templates/claude/commands/trellis/record-session.md +0 -62
  213. package/dist/templates/claude/commands/trellis/start.md +0 -393
  214. package/dist/templates/claude/commands/trellis/update-spec.md +0 -354
  215. package/dist/templates/claude/hooks/inject-subagent-context.py +0 -803
  216. package/dist/templates/claude/hooks/ralph-loop.py +0 -396
  217. package/dist/templates/codebuddy/commands/trellis/before-dev.md +0 -29
  218. package/dist/templates/codebuddy/commands/trellis/break-loop.md +0 -107
  219. package/dist/templates/codebuddy/commands/trellis/check-cross-layer.md +0 -153
  220. package/dist/templates/codebuddy/commands/trellis/check.md +0 -25
  221. package/dist/templates/codebuddy/commands/trellis/create-command.md +0 -154
  222. package/dist/templates/codebuddy/commands/trellis/finish-work.md +0 -143
  223. package/dist/templates/codebuddy/commands/trellis/integrate-skill.md +0 -219
  224. package/dist/templates/codebuddy/commands/trellis/onboard.md +0 -358
  225. package/dist/templates/codebuddy/commands/trellis/record-session.md +0 -61
  226. package/dist/templates/codebuddy/commands/trellis/start.md +0 -373
  227. package/dist/templates/codex/codex-skills/parallel/SKILL.md +0 -194
  228. package/dist/templates/cursor/commands/trellis-before-dev.md +0 -29
  229. package/dist/templates/cursor/commands/trellis-brainstorm.md +0 -487
  230. package/dist/templates/cursor/commands/trellis-break-loop.md +0 -107
  231. package/dist/templates/cursor/commands/trellis-check-cross-layer.md +0 -153
  232. package/dist/templates/cursor/commands/trellis-check.md +0 -25
  233. package/dist/templates/cursor/commands/trellis-create-command.md +0 -154
  234. package/dist/templates/cursor/commands/trellis-finish-work.md +0 -143
  235. package/dist/templates/cursor/commands/trellis-integrate-skill.md +0 -219
  236. package/dist/templates/cursor/commands/trellis-onboard.md +0 -358
  237. package/dist/templates/cursor/commands/trellis-record-session.md +0 -62
  238. package/dist/templates/cursor/commands/trellis-start.md +0 -373
  239. package/dist/templates/cursor/commands/trellis-update-spec.md +0 -354
  240. package/dist/templates/droid/commands/trellis/before-dev.md +0 -33
  241. package/dist/templates/droid/commands/trellis/brainstorm.md +0 -491
  242. package/dist/templates/droid/commands/trellis/break-loop.md +0 -111
  243. package/dist/templates/droid/commands/trellis/check-cross-layer.md +0 -157
  244. package/dist/templates/droid/commands/trellis/check.md +0 -29
  245. package/dist/templates/droid/commands/trellis/create-command.md +0 -158
  246. package/dist/templates/droid/commands/trellis/finish-work.md +0 -147
  247. package/dist/templates/droid/commands/trellis/integrate-skill.md +0 -223
  248. package/dist/templates/droid/commands/trellis/onboard.md +0 -362
  249. package/dist/templates/droid/commands/trellis/record-session.md +0 -66
  250. package/dist/templates/droid/commands/trellis/start.md +0 -377
  251. package/dist/templates/droid/commands/trellis/update-spec.md +0 -358
  252. package/dist/templates/gemini/commands/trellis/before-dev.toml +0 -33
  253. package/dist/templates/gemini/commands/trellis/brainstorm.toml +0 -435
  254. package/dist/templates/gemini/commands/trellis/break-loop.toml +0 -129
  255. package/dist/templates/gemini/commands/trellis/check-cross-layer.toml +0 -147
  256. package/dist/templates/gemini/commands/trellis/check.toml +0 -29
  257. package/dist/templates/gemini/commands/trellis/create-command.toml +0 -119
  258. package/dist/templates/gemini/commands/trellis/finish-work.toml +0 -133
  259. package/dist/templates/gemini/commands/trellis/integrate-skill.toml +0 -104
  260. package/dist/templates/gemini/commands/trellis/onboard.toml +0 -111
  261. package/dist/templates/gemini/commands/trellis/record-session.toml +0 -66
  262. package/dist/templates/gemini/commands/trellis/start.toml +0 -354
  263. package/dist/templates/gemini/commands/trellis/update-spec.toml +0 -132
  264. package/dist/templates/iflow/agents/debug.md +0 -106
  265. package/dist/templates/iflow/agents/dispatch.md +0 -213
  266. package/dist/templates/iflow/agents/plan.md +0 -396
  267. package/dist/templates/iflow/agents/research.md +0 -120
  268. package/dist/templates/iflow/commands/trellis/before-dev.md +0 -29
  269. package/dist/templates/iflow/commands/trellis/brainstorm.md +0 -487
  270. package/dist/templates/iflow/commands/trellis/break-loop.md +0 -125
  271. package/dist/templates/iflow/commands/trellis/check-cross-layer.md +0 -153
  272. package/dist/templates/iflow/commands/trellis/check.md +0 -25
  273. package/dist/templates/iflow/commands/trellis/create-command.md +0 -152
  274. package/dist/templates/iflow/commands/trellis/finish-work.md +0 -153
  275. package/dist/templates/iflow/commands/trellis/integrate-skill.md +0 -219
  276. package/dist/templates/iflow/commands/trellis/onboard.md +0 -358
  277. package/dist/templates/iflow/commands/trellis/parallel.md +0 -192
  278. package/dist/templates/iflow/commands/trellis/record-session.md +0 -62
  279. package/dist/templates/iflow/commands/trellis/start.md +0 -393
  280. package/dist/templates/iflow/commands/trellis/update-spec.md +0 -354
  281. package/dist/templates/iflow/hooks/ralph-loop.py +0 -395
  282. package/dist/templates/iflow/hooks/session-start.py +0 -403
  283. package/dist/templates/iflow/index.d.ts +0 -54
  284. package/dist/templates/iflow/index.d.ts.map +0 -1
  285. package/dist/templates/iflow/index.js +0 -85
  286. package/dist/templates/iflow/index.js.map +0 -1
  287. package/dist/templates/iflow/settings.json +0 -60
  288. package/dist/templates/kilo/index.d.ts +0 -16
  289. package/dist/templates/kilo/index.d.ts.map +0 -1
  290. package/dist/templates/kilo/index.js +0 -39
  291. package/dist/templates/kilo/index.js.map +0 -1
  292. package/dist/templates/kilo/workflows/before-dev.md +0 -29
  293. package/dist/templates/kilo/workflows/brainstorm.md +0 -487
  294. package/dist/templates/kilo/workflows/break-loop.md +0 -125
  295. package/dist/templates/kilo/workflows/check-cross-layer.md +0 -153
  296. package/dist/templates/kilo/workflows/check.md +0 -25
  297. package/dist/templates/kilo/workflows/create-command.md +0 -152
  298. package/dist/templates/kilo/workflows/finish-work.md +0 -129
  299. package/dist/templates/kilo/workflows/integrate-skill.md +0 -219
  300. package/dist/templates/kilo/workflows/onboard.md +0 -358
  301. package/dist/templates/kilo/workflows/parallel.md +0 -193
  302. package/dist/templates/kilo/workflows/record-session.md +0 -62
  303. package/dist/templates/kilo/workflows/start.md +0 -387
  304. package/dist/templates/kilo/workflows/update-spec.md +0 -285
  305. package/dist/templates/kiro/skills/before-dev/SKILL.md +0 -34
  306. package/dist/templates/kiro/skills/brainstorm/SKILL.md +0 -492
  307. package/dist/templates/kiro/skills/break-loop/SKILL.md +0 -130
  308. package/dist/templates/kiro/skills/check/SKILL.md +0 -30
  309. package/dist/templates/kiro/skills/check-cross-layer/SKILL.md +0 -158
  310. package/dist/templates/kiro/skills/create-command/SKILL.md +0 -101
  311. package/dist/templates/kiro/skills/finish-work/SKILL.md +0 -148
  312. package/dist/templates/kiro/skills/integrate-skill/SKILL.md +0 -221
  313. package/dist/templates/kiro/skills/onboard/SKILL.md +0 -363
  314. package/dist/templates/kiro/skills/record-session/SKILL.md +0 -67
  315. package/dist/templates/kiro/skills/start/SKILL.md +0 -351
  316. package/dist/templates/kiro/skills/update-spec/SKILL.md +0 -335
  317. package/dist/templates/opencode/agents/debug.md +0 -129
  318. package/dist/templates/opencode/agents/dispatch.md +0 -223
  319. package/dist/templates/opencode/agents/trellis-plan.md +0 -427
  320. package/dist/templates/opencode/commands/trellis/before-dev.md +0 -29
  321. package/dist/templates/opencode/commands/trellis/brainstorm.md +0 -487
  322. package/dist/templates/opencode/commands/trellis/check-cross-layer.md +0 -153
  323. package/dist/templates/opencode/commands/trellis/check.md +0 -25
  324. package/dist/templates/opencode/commands/trellis/create-command.md +0 -154
  325. package/dist/templates/opencode/commands/trellis/finish-work.md +0 -144
  326. package/dist/templates/opencode/commands/trellis/integrate-skill.md +0 -219
  327. package/dist/templates/opencode/commands/trellis/migrate-specs.md +0 -0
  328. package/dist/templates/opencode/commands/trellis/onboard.md +0 -358
  329. package/dist/templates/opencode/commands/trellis/parallel.md +0 -193
  330. package/dist/templates/opencode/commands/trellis/record-session.md +0 -62
  331. package/dist/templates/opencode/commands/trellis/start.md +0 -351
  332. package/dist/templates/opencode/commands/trellis/update-spec.md +0 -354
  333. package/dist/templates/qoder/skills/before-dev/SKILL.md +0 -34
  334. package/dist/templates/qoder/skills/brainstorm/SKILL.md +0 -492
  335. package/dist/templates/qoder/skills/break-loop/SKILL.md +0 -130
  336. package/dist/templates/qoder/skills/check/SKILL.md +0 -30
  337. package/dist/templates/qoder/skills/check-cross-layer/SKILL.md +0 -158
  338. package/dist/templates/qoder/skills/create-command/SKILL.md +0 -101
  339. package/dist/templates/qoder/skills/finish-work/SKILL.md +0 -134
  340. package/dist/templates/qoder/skills/integrate-skill/SKILL.md +0 -221
  341. package/dist/templates/qoder/skills/onboard/SKILL.md +0 -363
  342. package/dist/templates/qoder/skills/record-session/SKILL.md +0 -67
  343. package/dist/templates/qoder/skills/start/SKILL.md +0 -388
  344. package/dist/templates/qoder/skills/update-spec/SKILL.md +0 -290
  345. package/dist/templates/trellis/scripts/common/phase.py +0 -254
  346. package/dist/templates/trellis/scripts/common/registry.py +0 -335
  347. package/dist/templates/trellis/scripts/common/worktree.py +0 -305
  348. package/dist/templates/trellis/scripts/multi_agent/__init__.py +0 -5
  349. package/dist/templates/trellis/scripts/multi_agent/_bootstrap.py +0 -17
  350. package/dist/templates/trellis/scripts/multi_agent/cleanup.py +0 -398
  351. package/dist/templates/trellis/scripts/multi_agent/create_pr.py +0 -620
  352. package/dist/templates/trellis/scripts/multi_agent/plan.py +0 -213
  353. package/dist/templates/trellis/scripts/multi_agent/start.py +0 -539
  354. package/dist/templates/trellis/scripts/multi_agent/status.py +0 -76
  355. package/dist/templates/trellis/scripts/multi_agent/status_display.py +0 -542
  356. package/dist/templates/trellis/scripts/multi_agent/status_monitor.py +0 -225
  357. package/dist/templates/trellis/scripts-shell-archive/add-session.sh +0 -384
  358. package/dist/templates/trellis/scripts-shell-archive/common/developer.sh +0 -129
  359. package/dist/templates/trellis/scripts-shell-archive/common/git-context.sh +0 -263
  360. package/dist/templates/trellis/scripts-shell-archive/common/paths.sh +0 -208
  361. package/dist/templates/trellis/scripts-shell-archive/common/phase.sh +0 -150
  362. package/dist/templates/trellis/scripts-shell-archive/common/registry.sh +0 -247
  363. package/dist/templates/trellis/scripts-shell-archive/common/task-queue.sh +0 -142
  364. package/dist/templates/trellis/scripts-shell-archive/common/task-utils.sh +0 -151
  365. package/dist/templates/trellis/scripts-shell-archive/common/worktree.sh +0 -128
  366. package/dist/templates/trellis/scripts-shell-archive/create-bootstrap.sh +0 -299
  367. package/dist/templates/trellis/scripts-shell-archive/get-context.sh +0 -7
  368. package/dist/templates/trellis/scripts-shell-archive/get-developer.sh +0 -15
  369. package/dist/templates/trellis/scripts-shell-archive/init-developer.sh +0 -34
  370. package/dist/templates/trellis/scripts-shell-archive/multi-agent/cleanup.sh +0 -396
  371. package/dist/templates/trellis/scripts-shell-archive/multi-agent/create-pr.sh +0 -241
  372. package/dist/templates/trellis/scripts-shell-archive/multi-agent/plan.sh +0 -207
  373. package/dist/templates/trellis/scripts-shell-archive/multi-agent/start.sh +0 -317
  374. package/dist/templates/trellis/scripts-shell-archive/multi-agent/status.sh +0 -828
  375. package/dist/templates/trellis/scripts-shell-archive/task.sh +0 -1204
  376. package/dist/templates/trellis/worktree.yaml +0 -47
  377. package/dist/templates/windsurf/index.d.ts +0 -21
  378. package/dist/templates/windsurf/index.d.ts.map +0 -1
  379. package/dist/templates/windsurf/index.js +0 -44
  380. package/dist/templates/windsurf/index.js.map +0 -1
  381. package/dist/templates/windsurf/workflows/trellis-before-dev.md +0 -31
  382. package/dist/templates/windsurf/workflows/trellis-brainstorm.md +0 -491
  383. package/dist/templates/windsurf/workflows/trellis-break-loop.md +0 -111
  384. package/dist/templates/windsurf/workflows/trellis-check-cross-layer.md +0 -157
  385. package/dist/templates/windsurf/workflows/trellis-check.md +0 -27
  386. package/dist/templates/windsurf/workflows/trellis-create-command.md +0 -154
  387. package/dist/templates/windsurf/workflows/trellis-finish-work.md +0 -147
  388. package/dist/templates/windsurf/workflows/trellis-integrate-skill.md +0 -220
  389. package/dist/templates/windsurf/workflows/trellis-onboard.md +0 -362
  390. package/dist/templates/windsurf/workflows/trellis-record-session.md +0 -66
  391. package/dist/templates/windsurf/workflows/trellis-start.md +0 -373
  392. package/dist/templates/windsurf/workflows/trellis-update-spec.md +0 -358
  393. /package/dist/templates/{claude/commands/trellis → common/skills}/before-dev.md +0 -0
  394. /package/dist/templates/{claude/hooks → shared-hooks}/statusline.py +0 -0
@@ -65,32 +65,6 @@ If failed, fix issues and re-run.
65
65
 
66
66
  ---
67
67
 
68
- ## Completion Markers (Ralph Loop)
69
-
70
- **CRITICAL**: You are in a loop controlled by the Ralph Loop system.
71
- The loop will NOT stop until you output ALL required completion markers.
72
-
73
- Completion markers are generated from `check.jsonl` in the task directory.
74
- Each entry's `reason` field becomes a marker: `{REASON}_FINISH`
75
-
76
- For example, if check.jsonl contains:
77
- ```json
78
- {"file": "...", "reason": "TypeCheck"}
79
- {"file": "...", "reason": "Lint"}
80
- {"file": "...", "reason": "CodeReview"}
81
- ```
82
-
83
- You MUST output these markers when each check passes:
84
- - `TYPECHECK_FINISH` - After typecheck passes
85
- - `LINT_FINISH` - After lint passes
86
- - `CODEREVIEW_FINISH` - After code review passes
87
-
88
- If check.jsonl doesn't exist or has no reasons, output: `ALL_CHECKS_FINISH`
89
-
90
- **The loop will block you from stopping until all markers are present in your output.**
91
-
92
- ---
93
-
94
68
  ## Report Format
95
69
 
96
70
  ```markdown
@@ -112,11 +86,10 @@ If check.jsonl doesn't exist or has no reasons, output: `ALL_CHECKS_FINISH`
112
86
 
113
87
  ### Verification Results
114
88
 
115
- - TypeCheck: Passed TYPECHECK_FINISH
116
- - Lint: Passed LINT_FINISH
89
+ - TypeCheck: Passed
90
+ - Lint: Passed
117
91
 
118
92
  ### Summary
119
93
 
120
94
  Checked X files, found Y issues, all fixed.
121
- ALL_CHECKS_FINISH
122
95
  ```
@@ -1,8 +1,8 @@
1
1
  ---
2
2
  name: research
3
3
  description: |
4
- Code and tech search expert. Pure research, no code modifications. Finds files, patterns, and tech solutions.
5
- tools: Read, Glob, Grep, mcp__exa__web_search_exa, mcp__exa__get_code_context_exa, Skill, mcp__chrome-devtools__*
4
+ Code and tech search expert. Finds files, patterns, and tech solutions, and PERSISTS every finding to the current task's research/ directory. No code modifications outside that directory.
5
+ tools: Read, Write, Glob, Grep, Bash, mcp__exa__web_search_exa, mcp__exa__get_code_context_exa, Skill, mcp__chrome-devtools__*
6
6
  model: opus
7
7
  ---
8
8
  # Research Agent
@@ -11,94 +11,111 @@ You are the Research Agent in the Trellis workflow.
11
11
 
12
12
  ## Core Principle
13
13
 
14
- **You do one thing: find and explain information.**
14
+ **You do one thing: find, explain, and PERSIST information.**
15
15
 
16
- You are a documenter, not a reviewer. Your job is to help get the information needed.
16
+ Conversations get compacted; files don't. Every research output MUST end up as a file under `{TASK_DIR}/research/`. Returning findings only through the chat reply is a failure the caller cannot read them next session.
17
17
 
18
18
  ---
19
19
 
20
20
  ## Core Responsibilities
21
21
 
22
- ### 1. Internal Search (Project Code)
22
+ 1. **Internal Search** — locate files/components, understand code logic, discover patterns (Glob, Grep, Read)
23
+ 2. **External Search** — library docs, API references, best practices (web search)
24
+ 3. **Persist** — write each research topic to `{TASK_DIR}/research/<topic>.md`
25
+ 4. **Report** — return file paths + one-line summaries to the main agent (not full content)
23
26
 
24
- | Search Type | Goal | Tools |
25
- |-------------|------|-------|
26
- | **WHERE** | Locate files/components | Glob, Grep |
27
- | **HOW** | Understand code logic | Read, Grep |
28
- | **PATTERN** | Discover existing patterns | Grep, Read |
27
+ ---
28
+
29
+ ## Workflow
29
30
 
30
- ### 2. External Search (Tech Solutions)
31
+ ### Step 1: Resolve Current Task
31
32
 
32
- Use web search for best practices and code examples.
33
+ Read `.trellis/.current-task` task directory (e.g. `.trellis/tasks/04-17-foo/`). If empty or missing, ask the user where to write output; do NOT guess.
33
34
 
34
- ---
35
+ Ensure `{TASK_DIR}/research/` exists:
35
36
 
36
- ## Strict Boundaries
37
+ ```bash
38
+ mkdir -p <TASK_DIR>/research
39
+ ```
37
40
 
38
- ### Only Allowed
41
+ ### Step 2: Understand Search Request
39
42
 
40
- - Describe **what exists**
41
- - Describe **where it is**
42
- - Describe **how it works**
43
- - Describe **how components interact**
43
+ Classify: internal / external / mixed. Determine scope (global / specific directory) and expected shape (file list / pattern notes / tech comparison).
44
44
 
45
- ### Forbidden (unless explicitly asked)
45
+ ### Step 3: Execute Search
46
46
 
47
- - Suggest improvements
48
- - Criticize implementation
49
- - Recommend refactoring
50
- - Modify any files
51
- - Execute git commands
47
+ Run independent searches in parallel (Glob + Grep + web) for efficiency.
52
48
 
53
- ---
49
+ ### Step 4: Persist Each Topic
54
50
 
55
- ## Workflow
51
+ For each distinct research topic, Write a markdown file at `{TASK_DIR}/research/<topic-slug>.md`. Use the File Format below.
56
52
 
57
- ### Step 1: Understand Search Request
53
+ ### Step 5: Report to Main Agent
58
54
 
59
- Analyze the query, determine:
55
+ Reply with ONLY:
60
56
 
61
- - Search type (internal/external/mixed)
62
- - Search scope (global/specific directory)
63
- - Expected output (file list/code patterns/tech solutions)
57
+ - List of files written (paths relative to repo root)
58
+ - One-line summary per file
59
+ - Any critical caveats that the main agent needs to know right now
64
60
 
65
- ### Step 2: Execute Search
61
+ Do NOT paste full research content into the reply. The files are the contract.
66
62
 
67
- Execute multiple independent searches in parallel for efficiency.
63
+ ---
68
64
 
69
- ### Step 3: Organize Results
65
+ ## Scope Limits (Strict)
70
66
 
71
- Output structured results in report format.
67
+ ### Write ALLOWED
68
+
69
+ - `{TASK_DIR}/research/*.md` — your own output
70
+ - Creating `{TASK_DIR}/research/` if it doesn't exist (via `mkdir -p`)
71
+
72
+ ### Write FORBIDDEN
73
+
74
+ - Code files (`src/`, `lib/`, …)
75
+ - Spec files (`.trellis/spec/`) — main agent should use `update-spec` skill instead
76
+ - `.trellis/scripts/`, `.trellis/workflow.md`, platform config (`.claude/`, `.cursor/`, etc.)
77
+ - Other task directories
78
+ - Any git operation (commit / push / branch / merge)
79
+
80
+ If the user asks you to edit code, decline and suggest spawning `implement` instead.
72
81
 
73
82
  ---
74
83
 
75
- ## Report Format
84
+ ## File Format
85
+
86
+ Each `{TASK_DIR}/research/<topic>.md` should follow:
76
87
 
77
88
  ```markdown
78
- ## Search Results
89
+ # Research: <topic>
79
90
 
80
- ### Query
91
+ - **Query**: <original query>
92
+ - **Scope**: <internal / external / mixed>
93
+ - **Date**: <YYYY-MM-DD>
81
94
 
82
- {original query}
95
+ ## Findings
83
96
 
84
97
  ### Files Found
85
98
 
86
99
  | File Path | Description |
87
- |-----------|-------------|
100
+ |---|---|
88
101
  | `src/services/xxx.ts` | Main implementation |
89
102
  | `src/types/xxx.ts` | Type definitions |
90
103
 
91
- ### Code Pattern Analysis
104
+ ### Code Patterns
105
+
106
+ <describe patterns, cite file:line>
107
+
108
+ ### External References
92
109
 
93
- {Describe discovered patterns, cite specific files and line numbers}
110
+ - [Library X docs](url) <why relevant, version constraints>
94
111
 
95
- ### Related Spec Documents
112
+ ### Related Specs
96
113
 
97
- - `.trellis/spec/xxx.md` - {description}
114
+ - `.trellis/spec/xxx.md` <description>
98
115
 
99
- ### Not Found
116
+ ## Caveats / Not Found
100
117
 
101
- {If some content was not found, explain}
118
+ <anything incomplete or uncertain>
102
119
  ```
103
120
 
104
121
  ---
@@ -109,12 +126,13 @@ Output structured results in report format.
109
126
 
110
127
  - Provide specific file paths and line numbers
111
128
  - Quote actual code snippets
112
- - Distinguish "definitely found" and "possibly related"
113
- - Explain search scope and limitations
129
+ - Persist every topic to its own file
130
+ - Return file paths in your reply, not the full content
131
+ - Mark "not found" explicitly when searches come up empty
114
132
 
115
133
  ### DON'T
116
134
 
135
+ - Don't write code or modify files outside `{TASK_DIR}/research/`
117
136
  - Don't guess uncertain info
118
- - Don't omit important search results
119
- - Don't add improvement suggestions in report (unless explicitly asked)
120
- - Don't modify any files
137
+ - Don't paste full research text into the reply (files are the deliverable)
138
+ - Don't propose improvements or critique implementation (that's not your role)
@@ -1,54 +1,22 @@
1
1
  /**
2
2
  * Claude Code templates
3
3
  *
4
- * These are GENERIC templates for user projects.
5
- * Do NOT use Trellis project's own .claude/ directory (which may be customized).
6
- *
7
4
  * Directory structure:
8
5
  * claude/
9
- * ├── commands/ # Slash commands
10
- * ├── agents/ # Multi-agent pipeline agents
11
- * ├── hooks/ # Context injection hooks
6
+ * ├── agents/ # Sub-agent definitions
12
7
  * └── settings.json # Settings configuration
8
+ *
9
+ * Hooks come from shared-hooks/ (unified with other platforms).
13
10
  */
14
11
  export declare const settingsTemplate: string;
15
- /**
16
- * Command template with name and content
17
- */
18
- export interface CommandTemplate {
19
- name: string;
20
- content: string;
21
- }
22
- /**
23
- * Agent template with name and content
24
- */
25
12
  export interface AgentTemplate {
26
13
  name: string;
27
14
  content: string;
28
15
  }
29
- /**
30
- * Hook template with target path and content
31
- */
32
- export interface HookTemplate {
16
+ export interface SettingsTemplate {
33
17
  targetPath: string;
34
18
  content: string;
35
19
  }
36
- /**
37
- * Get all command templates
38
- * Commands are stored in commands/trellis/ subdirectory
39
- * This creates commands like /trellis:start, /trellis:finish-work, etc.
40
- */
41
- export declare function getAllCommands(): CommandTemplate[];
42
- /**
43
- * Get all agent templates
44
- */
45
20
  export declare function getAllAgents(): AgentTemplate[];
46
- /**
47
- * Get all hook templates
48
- */
49
- export declare function getAllHooks(): HookTemplate[];
50
- /**
51
- * Get settings template
52
- */
53
- export declare function getSettingsTemplate(): HookTemplate;
21
+ export declare function getSettingsTemplate(): SettingsTemplate;
54
22
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/templates/claude/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAsBH,eAAO,MAAM,gBAAgB,QAAgC,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,eAAe,EAAE,CAalD;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,aAAa,EAAE,CAa9C;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,YAAY,EAAE,CAU5C;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,YAAY,CAKlD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/templates/claude/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAqBH,eAAO,MAAM,gBAAgB,QAAgC,CAAC;AAE9D,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,YAAY,IAAI,aAAa,EAAE,CAa9C;AAED,wBAAgB,mBAAmB,IAAI,gBAAgB,CAKtD"}
@@ -1,15 +1,12 @@
1
1
  /**
2
2
  * Claude Code templates
3
3
  *
4
- * These are GENERIC templates for user projects.
5
- * Do NOT use Trellis project's own .claude/ directory (which may be customized).
6
- *
7
4
  * Directory structure:
8
5
  * claude/
9
- * ├── commands/ # Slash commands
10
- * ├── agents/ # Multi-agent pipeline agents
11
- * ├── hooks/ # Context injection hooks
6
+ * ├── agents/ # Sub-agent definitions
12
7
  * └── settings.json # Settings configuration
8
+ *
9
+ * Hooks come from shared-hooks/ (unified with other platforms).
13
10
  */
14
11
  import { readdirSync, readFileSync } from "node:fs";
15
12
  import { dirname, join } from "node:path";
@@ -27,28 +24,7 @@ function listFiles(dir) {
27
24
  return [];
28
25
  }
29
26
  }
30
- // Settings
31
27
  export const settingsTemplate = readTemplate("settings.json");
32
- /**
33
- * Get all command templates
34
- * Commands are stored in commands/trellis/ subdirectory
35
- * This creates commands like /trellis:start, /trellis:finish-work, etc.
36
- */
37
- export function getAllCommands() {
38
- const commands = [];
39
- const files = listFiles("commands/trellis");
40
- for (const file of files) {
41
- if (file.endsWith(".md")) {
42
- const name = file.replace(".md", "");
43
- const content = readTemplate(`commands/trellis/${file}`);
44
- commands.push({ name, content });
45
- }
46
- }
47
- return commands;
48
- }
49
- /**
50
- * Get all agent templates
51
- */
52
28
  export function getAllAgents() {
53
29
  const agents = [];
54
30
  const files = listFiles("agents");
@@ -61,21 +37,6 @@ export function getAllAgents() {
61
37
  }
62
38
  return agents;
63
39
  }
64
- /**
65
- * Get all hook templates
66
- */
67
- export function getAllHooks() {
68
- const hooks = [];
69
- const files = listFiles("hooks");
70
- for (const file of files) {
71
- const content = readTemplate(`hooks/${file}`);
72
- hooks.push({ targetPath: `hooks/${file}`, content });
73
- }
74
- return hooks;
75
- }
76
- /**
77
- * Get settings template
78
- */
79
40
  export function getSettingsTemplate() {
80
41
  return {
81
42
  targetPath: "settings.json",
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/templates/claude/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC,SAAS,YAAY,CAAC,YAAoB;IACxC,OAAO,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,SAAS,CAAC,GAAW;IAC5B,IAAI,CAAC;QACH,OAAO,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,WAAW;AACX,MAAM,CAAC,MAAM,gBAAgB,GAAG,YAAY,CAAC,eAAe,CAAC,CAAC;AA0B9D;;;;GAIG;AACH,MAAM,UAAU,cAAc;IAC5B,MAAM,QAAQ,GAAsB,EAAE,CAAC;IACvC,MAAM,KAAK,GAAG,SAAS,CAAC,kBAAkB,CAAC,CAAC;IAE5C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACrC,MAAM,OAAO,GAAG,YAAY,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC;YACzD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY;IAC1B,MAAM,MAAM,GAAoB,EAAE,CAAC;IACnC,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IAElC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACrC,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;YAC/C,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW;IACzB,MAAM,KAAK,GAAmB,EAAE,CAAC;IACjC,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAEjC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,YAAY,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;QAC9C,KAAK,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,SAAS,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO;QACL,UAAU,EAAE,eAAe;QAC3B,OAAO,EAAE,gBAAgB;KAC1B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/templates/claude/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC,SAAS,YAAY,CAAC,YAAoB;IACxC,OAAO,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,SAAS,CAAC,GAAW;IAC5B,IAAI,CAAC;QACH,OAAO,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,YAAY,CAAC,eAAe,CAAC,CAAC;AAY9D,MAAM,UAAU,YAAY;IAC1B,MAAM,MAAM,GAAoB,EAAE,CAAC;IACnC,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IAElC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACrC,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;YAC/C,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,OAAO;QACL,UAAU,EAAE,eAAe;QAC3B,OAAO,EAAE,gBAAgB;KAC1B,CAAC;AACJ,CAAC"}
@@ -58,14 +58,13 @@
58
58
  ]
59
59
  }
60
60
  ],
61
- "SubagentStop": [
61
+ "UserPromptSubmit": [
62
62
  {
63
- "matcher": "check",
64
63
  "hooks": [
65
64
  {
66
65
  "type": "command",
67
- "command": "{{PYTHON_CMD}} .claude/hooks/ralph-loop.py",
68
- "timeout": 10
66
+ "command": "{{PYTHON_CMD}} .claude/hooks/inject-workflow-state.py",
67
+ "timeout": 5
69
68
  }
70
69
  ]
71
70
  }
@@ -3,7 +3,7 @@ name: check
3
3
  description: |
4
4
  Code quality check expert. Reviews code changes against specs and self-fixes issues.
5
5
  tools: Read, Write, Edit, Bash, Glob, Grep, mcp__exa__web_search_exa, mcp__exa__get_code_context_exa
6
- color: orange
6
+ model: opus
7
7
  ---
8
8
  # Check Agent
9
9
 
@@ -65,32 +65,6 @@ If failed, fix issues and re-run.
65
65
 
66
66
  ---
67
67
 
68
- ## Completion Markers (Ralph Loop)
69
-
70
- **CRITICAL**: You are in a loop controlled by the Ralph Loop system.
71
- The loop will NOT stop until you output ALL required completion markers.
72
-
73
- Completion markers are generated from `check.jsonl` in the task directory.
74
- Each entry's `reason` field becomes a marker: `{REASON}_FINISH`
75
-
76
- For example, if check.jsonl contains:
77
- ```json
78
- {"file": "...", "reason": "TypeCheck"}
79
- {"file": "...", "reason": "Lint"}
80
- {"file": "...", "reason": "CodeReview"}
81
- ```
82
-
83
- You MUST output these markers when each check passes:
84
- - `TYPECHECK_FINISH` - After typecheck passes
85
- - `LINT_FINISH` - After lint passes
86
- - `CODEREVIEW_FINISH` - After code review passes
87
-
88
- If check.jsonl doesn't exist or has no reasons, output: `ALL_CHECKS_FINISH`
89
-
90
- **The loop will block you from stopping until all markers are present in your output.**
91
-
92
- ---
93
-
94
68
  ## Report Format
95
69
 
96
70
  ```markdown
@@ -112,11 +86,10 @@ If check.jsonl doesn't exist or has no reasons, output: `ALL_CHECKS_FINISH`
112
86
 
113
87
  ### Verification Results
114
88
 
115
- - TypeCheck: Passed TYPECHECK_FINISH
116
- - Lint: Passed LINT_FINISH
89
+ - TypeCheck: Passed
90
+ - Lint: Passed
117
91
 
118
92
  ### Summary
119
93
 
120
94
  Checked X files, found Y issues, all fixed.
121
- ALL_CHECKS_FINISH
122
95
  ```
@@ -3,7 +3,7 @@ name: implement
3
3
  description: |
4
4
  Code implementation expert. Understands specs and requirements, then implements features. No git commit allowed.
5
5
  tools: Read, Write, Edit, Bash, Glob, Grep, mcp__exa__web_search_exa, mcp__exa__get_code_context_exa
6
- color: green
6
+ model: opus
7
7
  ---
8
8
  # Implement Agent
9
9
 
@@ -0,0 +1,138 @@
1
+ ---
2
+ name: research
3
+ description: |
4
+ Code and tech search expert. Finds files, patterns, and tech solutions, and PERSISTS every finding to the current task's research/ directory. No code modifications outside that directory.
5
+ tools: Read, Write, Glob, Grep, Bash, mcp__exa__web_search_exa, mcp__exa__get_code_context_exa, Skill, mcp__chrome-devtools__*
6
+ model: opus
7
+ ---
8
+ # Research Agent
9
+
10
+ You are the Research Agent in the Trellis workflow.
11
+
12
+ ## Core Principle
13
+
14
+ **You do one thing: find, explain, and PERSIST information.**
15
+
16
+ Conversations get compacted; files don't. Every research output MUST end up as a file under `{TASK_DIR}/research/`. Returning findings only through the chat reply is a failure — the caller cannot read them next session.
17
+
18
+ ---
19
+
20
+ ## Core Responsibilities
21
+
22
+ 1. **Internal Search** — locate files/components, understand code logic, discover patterns (Glob, Grep, Read)
23
+ 2. **External Search** — library docs, API references, best practices (web search)
24
+ 3. **Persist** — write each research topic to `{TASK_DIR}/research/<topic>.md`
25
+ 4. **Report** — return file paths + one-line summaries to the main agent (not full content)
26
+
27
+ ---
28
+
29
+ ## Workflow
30
+
31
+ ### Step 1: Resolve Current Task
32
+
33
+ Read `.trellis/.current-task` → task directory (e.g. `.trellis/tasks/04-17-foo/`). If empty or missing, ask the user where to write output; do NOT guess.
34
+
35
+ Ensure `{TASK_DIR}/research/` exists:
36
+
37
+ ```bash
38
+ mkdir -p <TASK_DIR>/research
39
+ ```
40
+
41
+ ### Step 2: Understand Search Request
42
+
43
+ Classify: internal / external / mixed. Determine scope (global / specific directory) and expected shape (file list / pattern notes / tech comparison).
44
+
45
+ ### Step 3: Execute Search
46
+
47
+ Run independent searches in parallel (Glob + Grep + web) for efficiency.
48
+
49
+ ### Step 4: Persist Each Topic
50
+
51
+ For each distinct research topic, Write a markdown file at `{TASK_DIR}/research/<topic-slug>.md`. Use the File Format below.
52
+
53
+ ### Step 5: Report to Main Agent
54
+
55
+ Reply with ONLY:
56
+
57
+ - List of files written (paths relative to repo root)
58
+ - One-line summary per file
59
+ - Any critical caveats that the main agent needs to know right now
60
+
61
+ Do NOT paste full research content into the reply. The files are the contract.
62
+
63
+ ---
64
+
65
+ ## Scope Limits (Strict)
66
+
67
+ ### Write ALLOWED
68
+
69
+ - `{TASK_DIR}/research/*.md` — your own output
70
+ - Creating `{TASK_DIR}/research/` if it doesn't exist (via `mkdir -p`)
71
+
72
+ ### Write FORBIDDEN
73
+
74
+ - Code files (`src/`, `lib/`, …)
75
+ - Spec files (`.trellis/spec/`) — main agent should use `update-spec` skill instead
76
+ - `.trellis/scripts/`, `.trellis/workflow.md`, platform config (`.claude/`, `.cursor/`, etc.)
77
+ - Other task directories
78
+ - Any git operation (commit / push / branch / merge)
79
+
80
+ If the user asks you to edit code, decline and suggest spawning `implement` instead.
81
+
82
+ ---
83
+
84
+ ## File Format
85
+
86
+ Each `{TASK_DIR}/research/<topic>.md` should follow:
87
+
88
+ ```markdown
89
+ # Research: <topic>
90
+
91
+ - **Query**: <original query>
92
+ - **Scope**: <internal / external / mixed>
93
+ - **Date**: <YYYY-MM-DD>
94
+
95
+ ## Findings
96
+
97
+ ### Files Found
98
+
99
+ | File Path | Description |
100
+ |---|---|
101
+ | `src/services/xxx.ts` | Main implementation |
102
+ | `src/types/xxx.ts` | Type definitions |
103
+
104
+ ### Code Patterns
105
+
106
+ <describe patterns, cite file:line>
107
+
108
+ ### External References
109
+
110
+ - [Library X docs](url) — <why relevant, version constraints>
111
+
112
+ ### Related Specs
113
+
114
+ - `.trellis/spec/xxx.md` — <description>
115
+
116
+ ## Caveats / Not Found
117
+
118
+ <anything incomplete or uncertain>
119
+ ```
120
+
121
+ ---
122
+
123
+ ## Guidelines
124
+
125
+ ### DO
126
+
127
+ - Provide specific file paths and line numbers
128
+ - Quote actual code snippets
129
+ - Persist every topic to its own file
130
+ - Return file paths in your reply, not the full content
131
+ - Mark "not found" explicitly when searches come up empty
132
+
133
+ ### DON'T
134
+
135
+ - Don't write code or modify files outside `{TASK_DIR}/research/`
136
+ - Don't guess uncertain info
137
+ - Don't paste full research text into the reply (files are the deliverable)
138
+ - Don't propose improvements or critique implementation (that's not your role)
@@ -2,24 +2,14 @@
2
2
  * CodeBuddy templates
3
3
  *
4
4
  * These are GENERIC templates for user projects.
5
- * Do NOT use Trellis project's own .codebuddy/ directory (which may be customized).
6
5
  *
7
6
  * Directory structure:
8
7
  * codebuddy/
9
- * └── commands/
10
- * └── trellis/ # Nested subdirectory for namespace
11
- * └── *.md
8
+ * ├── agents/ # Multi-agent pipeline agents
9
+ * └── settings.json # Settings configuration
12
10
  */
13
- /**
14
- * Command template with name and content
15
- */
16
- export interface CommandTemplate {
17
- name: string;
18
- content: string;
19
- }
20
- /**
21
- * Get all command templates
22
- * CodeBuddy uses nested directories: commands/trellis/<name>.md → /trellis:<name>
23
- */
24
- export declare function getAllCommands(): CommandTemplate[];
11
+ import { type AgentTemplate, type HookTemplate } from "../template-utils.js";
12
+ export type { AgentTemplate, HookTemplate };
13
+ export declare const getAllAgents: () => AgentTemplate[];
14
+ export declare const getSettingsTemplate: () => HookTemplate;
25
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/templates/codebuddy/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAqBH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAgB,cAAc,IAAI,eAAe,EAAE,CAalD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/templates/codebuddy/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,YAAY,EAClB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC;AAI5C,eAAO,MAAM,YAAY,QAAO,aAAa,EAAoB,CAAC;AAClE,eAAO,MAAM,mBAAmB,QAAO,YAA6B,CAAC"}