@mindfoldhq/trellis 0.4.0 → 0.5.0-beta.10

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 (427) 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 +10 -1
  4. package/dist/commands/init.d.ts.map +1 -1
  5. package/dist/commands/init.js +382 -120
  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 +178 -61
  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 +146 -100
  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 +7 -25
  56. package/dist/configurators/opencode.d.ts.map +1 -1
  57. package/dist/configurators/opencode.js +57 -56
  58. package/dist/configurators/opencode.js.map +1 -1
  59. package/dist/configurators/qoder.d.ts +6 -3
  60. package/dist/configurators/qoder.d.ts.map +1 -1
  61. package/dist/configurators/qoder.js +27 -46
  62. package/dist/configurators/qoder.js.map +1 -1
  63. package/dist/configurators/shared.d.ts +68 -3
  64. package/dist/configurators/shared.d.ts.map +1 -1
  65. package/dist/configurators/shared.js +274 -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 +1646 -0
  77. package/dist/migrations/manifests/0.5.0-beta.1.json +9 -0
  78. package/dist/migrations/manifests/0.5.0-beta.2.json +9 -0
  79. package/dist/migrations/manifests/0.5.0-beta.3.json +9 -0
  80. package/dist/migrations/manifests/0.5.0-beta.4.json +9 -0
  81. package/dist/migrations/manifests/0.5.0-beta.5.json +222 -0
  82. package/dist/migrations/manifests/0.5.0-beta.6.json +9 -0
  83. package/dist/migrations/manifests/0.5.0-beta.7.json +9 -0
  84. package/dist/migrations/manifests/0.5.0-beta.8.json +9 -0
  85. package/dist/migrations/manifests/0.5.0-beta.9.json +48 -0
  86. package/dist/templates/claude/agents/{check.md → trellis-check.md} +3 -31
  87. package/dist/templates/claude/agents/{implement.md → trellis-implement.md} +1 -2
  88. package/dist/templates/claude/agents/trellis-research.md +137 -0
  89. package/dist/templates/claude/index.d.ts +5 -37
  90. package/dist/templates/claude/index.d.ts.map +1 -1
  91. package/dist/templates/claude/index.js +3 -42
  92. package/dist/templates/claude/index.js.map +1 -1
  93. package/dist/templates/claude/settings.json +6 -4
  94. package/dist/templates/{iflow/agents/check.md → codebuddy/agents/trellis-check.md} +3 -31
  95. package/dist/templates/{iflow/agents/implement.md → codebuddy/agents/trellis-implement.md} +1 -2
  96. package/dist/templates/codebuddy/agents/trellis-research.md +137 -0
  97. package/dist/templates/codebuddy/index.d.ts +6 -16
  98. package/dist/templates/codebuddy/index.d.ts.map +1 -1
  99. package/dist/templates/codebuddy/index.js +6 -36
  100. package/dist/templates/codebuddy/index.js.map +1 -1
  101. package/dist/templates/codebuddy/settings.json +59 -0
  102. package/dist/templates/codex/agents/trellis-check.toml +38 -0
  103. package/dist/templates/codex/agents/{implement.toml → trellis-implement.toml} +1 -1
  104. package/dist/templates/codex/agents/trellis-research.toml +60 -0
  105. package/dist/templates/codex/config.toml +10 -0
  106. package/dist/templates/codex/hooks/session-start.py +65 -29
  107. package/dist/templates/codex/hooks.json +11 -0
  108. package/dist/templates/codex/index.d.ts +0 -1
  109. package/dist/templates/codex/index.d.ts.map +1 -1
  110. package/dist/templates/codex/index.js +1 -8
  111. package/dist/templates/codex/index.js.map +1 -1
  112. package/dist/templates/codex/skills/start/SKILL.md +1 -1
  113. package/dist/templates/common/commands/continue.md +51 -0
  114. package/dist/templates/common/commands/finish-work.md +32 -0
  115. package/dist/templates/common/commands/start.md +56 -0
  116. package/dist/templates/common/index.d.ts +28 -0
  117. package/dist/templates/common/index.d.ts.map +1 -0
  118. package/dist/templates/common/index.js +55 -0
  119. package/dist/templates/common/index.js.map +1 -0
  120. package/dist/templates/{droid/commands/trellis → common/skills}/brainstorm.md +51 -12
  121. package/dist/templates/{iflow/commands/trellis → common/skills}/break-loop.md +4 -4
  122. package/dist/templates/common/skills/check.md +87 -0
  123. package/dist/templates/{codebuddy/commands/trellis → common/skills}/update-spec.md +18 -21
  124. package/dist/templates/copilot/hooks/session-start.py +65 -29
  125. package/dist/templates/copilot/hooks.json +8 -0
  126. package/dist/templates/copilot/prompts/start.prompt.md +13 -16
  127. package/dist/templates/cursor/agents/trellis-check.md +94 -0
  128. package/dist/templates/cursor/agents/trellis-implement.md +94 -0
  129. package/dist/templates/cursor/agents/trellis-research.md +137 -0
  130. package/dist/templates/cursor/hooks.json +24 -0
  131. package/dist/templates/cursor/index.d.ts +6 -17
  132. package/dist/templates/cursor/index.d.ts.map +1 -1
  133. package/dist/templates/cursor/index.js +6 -37
  134. package/dist/templates/cursor/index.js.map +1 -1
  135. package/dist/templates/droid/droids/trellis-check.md +94 -0
  136. package/dist/templates/droid/droids/trellis-implement.md +94 -0
  137. package/dist/templates/droid/droids/trellis-research.md +137 -0
  138. package/dist/templates/droid/index.d.ts +7 -19
  139. package/dist/templates/droid/index.d.ts.map +1 -1
  140. package/dist/templates/droid/index.js +7 -39
  141. package/dist/templates/droid/index.js.map +1 -1
  142. package/dist/templates/droid/settings.json +59 -0
  143. package/dist/templates/extract.d.ts +7 -193
  144. package/dist/templates/extract.d.ts.map +1 -1
  145. package/dist/templates/extract.js +7 -310
  146. package/dist/templates/extract.js.map +1 -1
  147. package/dist/templates/gemini/agents/trellis-check.md +94 -0
  148. package/dist/templates/gemini/agents/trellis-implement.md +94 -0
  149. package/dist/templates/gemini/agents/trellis-research.md +137 -0
  150. package/dist/templates/gemini/index.d.ts +6 -14
  151. package/dist/templates/gemini/index.d.ts.map +1 -1
  152. package/dist/templates/gemini/index.js +6 -37
  153. package/dist/templates/gemini/index.js.map +1 -1
  154. package/dist/templates/gemini/settings.json +28 -0
  155. package/dist/templates/kiro/agents/trellis-check.json +13 -0
  156. package/dist/templates/kiro/agents/trellis-implement.json +13 -0
  157. package/dist/templates/kiro/agents/trellis-research.json +21 -0
  158. package/dist/templates/kiro/index.d.ts +11 -11
  159. package/dist/templates/kiro/index.d.ts.map +1 -1
  160. package/dist/templates/kiro/index.js +11 -33
  161. package/dist/templates/kiro/index.js.map +1 -1
  162. package/dist/templates/opencode/agents/{check.md → trellis-check.md} +3 -30
  163. package/dist/templates/opencode/agents/{implement.md → trellis-implement.md} +1 -1
  164. package/dist/templates/opencode/agents/{research.md → trellis-research.md} +1 -2
  165. package/dist/templates/opencode/plugins/inject-subagent-context.js +18 -190
  166. package/dist/templates/opencode/plugins/inject-workflow-state.js +172 -0
  167. package/dist/templates/opencode/plugins/session-start.js +76 -39
  168. package/dist/templates/qoder/agents/trellis-check.md +94 -0
  169. package/dist/templates/qoder/agents/trellis-implement.md +94 -0
  170. package/dist/templates/qoder/agents/trellis-research.md +137 -0
  171. package/dist/templates/qoder/index.d.ts +7 -10
  172. package/dist/templates/qoder/index.d.ts.map +1 -1
  173. package/dist/templates/qoder/index.js +7 -32
  174. package/dist/templates/qoder/index.js.map +1 -1
  175. package/dist/templates/qoder/settings.json +47 -0
  176. package/dist/templates/shared-hooks/index.d.ts +19 -0
  177. package/dist/templates/shared-hooks/index.d.ts.map +1 -0
  178. package/dist/templates/shared-hooks/index.js +30 -0
  179. package/dist/templates/shared-hooks/index.js.map +1 -0
  180. package/dist/templates/{iflow/hooks → shared-hooks}/inject-subagent-context.py +77 -266
  181. package/dist/templates/shared-hooks/inject-workflow-state.py +244 -0
  182. package/dist/templates/{claude/hooks → shared-hooks}/session-start.py +172 -55
  183. package/dist/templates/template-utils.d.ts +26 -0
  184. package/dist/templates/template-utils.d.ts.map +1 -0
  185. package/dist/templates/template-utils.js +60 -0
  186. package/dist/templates/template-utils.js.map +1 -0
  187. package/dist/templates/trellis/config.yaml +6 -0
  188. package/dist/templates/trellis/index.d.ts +1 -15
  189. package/dist/templates/trellis/index.d.ts.map +1 -1
  190. package/dist/templates/trellis/index.js +2 -29
  191. package/dist/templates/trellis/index.js.map +1 -1
  192. package/dist/templates/trellis/scripts/common/cli_adapter.py +31 -8
  193. package/dist/templates/trellis/scripts/common/config.py +126 -1
  194. package/dist/templates/trellis/scripts/common/git_context.py +25 -2
  195. package/dist/templates/trellis/scripts/common/task_context.py +23 -28
  196. package/dist/templates/trellis/scripts/common/task_store.py +0 -12
  197. package/dist/templates/trellis/scripts/common/types.py +0 -2
  198. package/dist/templates/trellis/scripts/common/workflow_phase.py +176 -0
  199. package/dist/templates/trellis/scripts/task.py +13 -35
  200. package/dist/templates/trellis/workflow.md +283 -298
  201. package/dist/types/ai-tools.d.ts +30 -3
  202. package/dist/types/ai-tools.d.ts.map +1 -1
  203. package/dist/types/ai-tools.js +119 -15
  204. package/dist/types/ai-tools.js.map +1 -1
  205. package/dist/types/migration.d.ts +8 -1
  206. package/dist/types/migration.d.ts.map +1 -1
  207. package/dist/utils/project-detector.d.ts +2 -0
  208. package/dist/utils/project-detector.d.ts.map +1 -1
  209. package/dist/utils/project-detector.js +120 -11
  210. package/dist/utils/project-detector.js.map +1 -1
  211. package/dist/utils/task-json.d.ts +46 -0
  212. package/dist/utils/task-json.d.ts.map +1 -0
  213. package/dist/utils/task-json.js +49 -0
  214. package/dist/utils/task-json.js.map +1 -0
  215. package/package.json +3 -2
  216. package/dist/configurators/iflow.d.ts +0 -33
  217. package/dist/configurators/iflow.d.ts.map +0 -1
  218. package/dist/configurators/iflow.js +0 -99
  219. package/dist/configurators/iflow.js.map +0 -1
  220. package/dist/templates/antigravity/index.d.ts +0 -12
  221. package/dist/templates/antigravity/index.d.ts.map +0 -1
  222. package/dist/templates/antigravity/index.js +0 -29
  223. package/dist/templates/antigravity/index.js.map +0 -1
  224. package/dist/templates/claude/agents/debug.md +0 -106
  225. package/dist/templates/claude/agents/dispatch.md +0 -213
  226. package/dist/templates/claude/agents/plan.md +0 -396
  227. package/dist/templates/claude/agents/research.md +0 -120
  228. package/dist/templates/claude/commands/trellis/brainstorm.md +0 -487
  229. package/dist/templates/claude/commands/trellis/break-loop.md +0 -125
  230. package/dist/templates/claude/commands/trellis/check-cross-layer.md +0 -153
  231. package/dist/templates/claude/commands/trellis/check.md +0 -25
  232. package/dist/templates/claude/commands/trellis/create-command.md +0 -154
  233. package/dist/templates/claude/commands/trellis/finish-work.md +0 -153
  234. package/dist/templates/claude/commands/trellis/integrate-skill.md +0 -219
  235. package/dist/templates/claude/commands/trellis/onboard.md +0 -358
  236. package/dist/templates/claude/commands/trellis/parallel.md +0 -192
  237. package/dist/templates/claude/commands/trellis/record-session.md +0 -62
  238. package/dist/templates/claude/commands/trellis/start.md +0 -393
  239. package/dist/templates/claude/commands/trellis/update-spec.md +0 -354
  240. package/dist/templates/claude/hooks/inject-subagent-context.py +0 -803
  241. package/dist/templates/claude/hooks/ralph-loop.py +0 -396
  242. package/dist/templates/codebuddy/commands/trellis/before-dev.md +0 -29
  243. package/dist/templates/codebuddy/commands/trellis/brainstorm.md +0 -487
  244. package/dist/templates/codebuddy/commands/trellis/break-loop.md +0 -107
  245. package/dist/templates/codebuddy/commands/trellis/check-cross-layer.md +0 -153
  246. package/dist/templates/codebuddy/commands/trellis/check.md +0 -25
  247. package/dist/templates/codebuddy/commands/trellis/create-command.md +0 -154
  248. package/dist/templates/codebuddy/commands/trellis/finish-work.md +0 -143
  249. package/dist/templates/codebuddy/commands/trellis/integrate-skill.md +0 -219
  250. package/dist/templates/codebuddy/commands/trellis/onboard.md +0 -358
  251. package/dist/templates/codebuddy/commands/trellis/record-session.md +0 -61
  252. package/dist/templates/codebuddy/commands/trellis/start.md +0 -373
  253. package/dist/templates/codex/agents/check.toml +0 -23
  254. package/dist/templates/codex/agents/research.toml +0 -26
  255. package/dist/templates/codex/codex-skills/parallel/SKILL.md +0 -194
  256. package/dist/templates/cursor/commands/trellis-before-dev.md +0 -29
  257. package/dist/templates/cursor/commands/trellis-brainstorm.md +0 -487
  258. package/dist/templates/cursor/commands/trellis-break-loop.md +0 -107
  259. package/dist/templates/cursor/commands/trellis-check-cross-layer.md +0 -153
  260. package/dist/templates/cursor/commands/trellis-check.md +0 -25
  261. package/dist/templates/cursor/commands/trellis-create-command.md +0 -154
  262. package/dist/templates/cursor/commands/trellis-finish-work.md +0 -143
  263. package/dist/templates/cursor/commands/trellis-integrate-skill.md +0 -219
  264. package/dist/templates/cursor/commands/trellis-onboard.md +0 -358
  265. package/dist/templates/cursor/commands/trellis-record-session.md +0 -62
  266. package/dist/templates/cursor/commands/trellis-start.md +0 -373
  267. package/dist/templates/cursor/commands/trellis-update-spec.md +0 -354
  268. package/dist/templates/droid/commands/trellis/before-dev.md +0 -33
  269. package/dist/templates/droid/commands/trellis/break-loop.md +0 -111
  270. package/dist/templates/droid/commands/trellis/check-cross-layer.md +0 -157
  271. package/dist/templates/droid/commands/trellis/check.md +0 -29
  272. package/dist/templates/droid/commands/trellis/create-command.md +0 -158
  273. package/dist/templates/droid/commands/trellis/finish-work.md +0 -147
  274. package/dist/templates/droid/commands/trellis/integrate-skill.md +0 -223
  275. package/dist/templates/droid/commands/trellis/onboard.md +0 -362
  276. package/dist/templates/droid/commands/trellis/record-session.md +0 -66
  277. package/dist/templates/droid/commands/trellis/start.md +0 -377
  278. package/dist/templates/droid/commands/trellis/update-spec.md +0 -358
  279. package/dist/templates/gemini/commands/trellis/before-dev.toml +0 -33
  280. package/dist/templates/gemini/commands/trellis/brainstorm.toml +0 -435
  281. package/dist/templates/gemini/commands/trellis/break-loop.toml +0 -129
  282. package/dist/templates/gemini/commands/trellis/check-cross-layer.toml +0 -147
  283. package/dist/templates/gemini/commands/trellis/check.toml +0 -29
  284. package/dist/templates/gemini/commands/trellis/create-command.toml +0 -119
  285. package/dist/templates/gemini/commands/trellis/finish-work.toml +0 -133
  286. package/dist/templates/gemini/commands/trellis/integrate-skill.toml +0 -104
  287. package/dist/templates/gemini/commands/trellis/onboard.toml +0 -111
  288. package/dist/templates/gemini/commands/trellis/record-session.toml +0 -66
  289. package/dist/templates/gemini/commands/trellis/start.toml +0 -354
  290. package/dist/templates/gemini/commands/trellis/update-spec.toml +0 -132
  291. package/dist/templates/iflow/agents/debug.md +0 -106
  292. package/dist/templates/iflow/agents/dispatch.md +0 -213
  293. package/dist/templates/iflow/agents/plan.md +0 -396
  294. package/dist/templates/iflow/agents/research.md +0 -120
  295. package/dist/templates/iflow/commands/trellis/before-dev.md +0 -29
  296. package/dist/templates/iflow/commands/trellis/brainstorm.md +0 -487
  297. package/dist/templates/iflow/commands/trellis/check-cross-layer.md +0 -153
  298. package/dist/templates/iflow/commands/trellis/check.md +0 -25
  299. package/dist/templates/iflow/commands/trellis/create-command.md +0 -152
  300. package/dist/templates/iflow/commands/trellis/finish-work.md +0 -153
  301. package/dist/templates/iflow/commands/trellis/integrate-skill.md +0 -219
  302. package/dist/templates/iflow/commands/trellis/onboard.md +0 -358
  303. package/dist/templates/iflow/commands/trellis/parallel.md +0 -192
  304. package/dist/templates/iflow/commands/trellis/record-session.md +0 -62
  305. package/dist/templates/iflow/commands/trellis/start.md +0 -393
  306. package/dist/templates/iflow/commands/trellis/update-spec.md +0 -354
  307. package/dist/templates/iflow/hooks/ralph-loop.py +0 -395
  308. package/dist/templates/iflow/hooks/session-start.py +0 -403
  309. package/dist/templates/iflow/index.d.ts +0 -54
  310. package/dist/templates/iflow/index.d.ts.map +0 -1
  311. package/dist/templates/iflow/index.js +0 -85
  312. package/dist/templates/iflow/index.js.map +0 -1
  313. package/dist/templates/iflow/settings.json +0 -60
  314. package/dist/templates/kilo/index.d.ts +0 -16
  315. package/dist/templates/kilo/index.d.ts.map +0 -1
  316. package/dist/templates/kilo/index.js +0 -39
  317. package/dist/templates/kilo/index.js.map +0 -1
  318. package/dist/templates/kilo/workflows/before-dev.md +0 -29
  319. package/dist/templates/kilo/workflows/brainstorm.md +0 -487
  320. package/dist/templates/kilo/workflows/break-loop.md +0 -125
  321. package/dist/templates/kilo/workflows/check-cross-layer.md +0 -153
  322. package/dist/templates/kilo/workflows/check.md +0 -25
  323. package/dist/templates/kilo/workflows/create-command.md +0 -152
  324. package/dist/templates/kilo/workflows/finish-work.md +0 -129
  325. package/dist/templates/kilo/workflows/integrate-skill.md +0 -219
  326. package/dist/templates/kilo/workflows/onboard.md +0 -358
  327. package/dist/templates/kilo/workflows/parallel.md +0 -193
  328. package/dist/templates/kilo/workflows/record-session.md +0 -62
  329. package/dist/templates/kilo/workflows/start.md +0 -387
  330. package/dist/templates/kilo/workflows/update-spec.md +0 -285
  331. package/dist/templates/kiro/skills/before-dev/SKILL.md +0 -34
  332. package/dist/templates/kiro/skills/brainstorm/SKILL.md +0 -492
  333. package/dist/templates/kiro/skills/break-loop/SKILL.md +0 -130
  334. package/dist/templates/kiro/skills/check/SKILL.md +0 -30
  335. package/dist/templates/kiro/skills/check-cross-layer/SKILL.md +0 -158
  336. package/dist/templates/kiro/skills/create-command/SKILL.md +0 -101
  337. package/dist/templates/kiro/skills/finish-work/SKILL.md +0 -148
  338. package/dist/templates/kiro/skills/integrate-skill/SKILL.md +0 -221
  339. package/dist/templates/kiro/skills/onboard/SKILL.md +0 -363
  340. package/dist/templates/kiro/skills/record-session/SKILL.md +0 -67
  341. package/dist/templates/kiro/skills/start/SKILL.md +0 -351
  342. package/dist/templates/kiro/skills/update-spec/SKILL.md +0 -335
  343. package/dist/templates/markdown/spec/backend/directory-structure.md +0 -292
  344. package/dist/templates/markdown/spec/backend/index.md +0 -40
  345. package/dist/templates/markdown/spec/backend/script-conventions.md +0 -742
  346. package/dist/templates/markdown/spec/guides/code-reuse-thinking-guide.md +0 -118
  347. package/dist/templates/markdown/spec/guides/cross-platform-thinking-guide.md +0 -394
  348. package/dist/templates/opencode/agents/debug.md +0 -129
  349. package/dist/templates/opencode/agents/dispatch.md +0 -223
  350. package/dist/templates/opencode/agents/trellis-plan.md +0 -427
  351. package/dist/templates/opencode/commands/trellis/before-dev.md +0 -29
  352. package/dist/templates/opencode/commands/trellis/brainstorm.md +0 -487
  353. package/dist/templates/opencode/commands/trellis/break-loop.md +0 -125
  354. package/dist/templates/opencode/commands/trellis/check-cross-layer.md +0 -153
  355. package/dist/templates/opencode/commands/trellis/check.md +0 -25
  356. package/dist/templates/opencode/commands/trellis/create-command.md +0 -154
  357. package/dist/templates/opencode/commands/trellis/finish-work.md +0 -144
  358. package/dist/templates/opencode/commands/trellis/integrate-skill.md +0 -219
  359. package/dist/templates/opencode/commands/trellis/migrate-specs.md +0 -0
  360. package/dist/templates/opencode/commands/trellis/onboard.md +0 -358
  361. package/dist/templates/opencode/commands/trellis/parallel.md +0 -193
  362. package/dist/templates/opencode/commands/trellis/record-session.md +0 -62
  363. package/dist/templates/opencode/commands/trellis/start.md +0 -351
  364. package/dist/templates/opencode/commands/trellis/update-spec.md +0 -354
  365. package/dist/templates/qoder/skills/before-dev/SKILL.md +0 -34
  366. package/dist/templates/qoder/skills/brainstorm/SKILL.md +0 -492
  367. package/dist/templates/qoder/skills/break-loop/SKILL.md +0 -130
  368. package/dist/templates/qoder/skills/check/SKILL.md +0 -30
  369. package/dist/templates/qoder/skills/check-cross-layer/SKILL.md +0 -158
  370. package/dist/templates/qoder/skills/create-command/SKILL.md +0 -101
  371. package/dist/templates/qoder/skills/finish-work/SKILL.md +0 -134
  372. package/dist/templates/qoder/skills/integrate-skill/SKILL.md +0 -221
  373. package/dist/templates/qoder/skills/onboard/SKILL.md +0 -363
  374. package/dist/templates/qoder/skills/record-session/SKILL.md +0 -67
  375. package/dist/templates/qoder/skills/start/SKILL.md +0 -388
  376. package/dist/templates/qoder/skills/update-spec/SKILL.md +0 -290
  377. package/dist/templates/trellis/scripts/common/phase.py +0 -254
  378. package/dist/templates/trellis/scripts/common/registry.py +0 -335
  379. package/dist/templates/trellis/scripts/common/worktree.py +0 -305
  380. package/dist/templates/trellis/scripts/create_bootstrap.py +0 -298
  381. package/dist/templates/trellis/scripts/multi_agent/__init__.py +0 -5
  382. package/dist/templates/trellis/scripts/multi_agent/_bootstrap.py +0 -17
  383. package/dist/templates/trellis/scripts/multi_agent/cleanup.py +0 -398
  384. package/dist/templates/trellis/scripts/multi_agent/create_pr.py +0 -620
  385. package/dist/templates/trellis/scripts/multi_agent/plan.py +0 -213
  386. package/dist/templates/trellis/scripts/multi_agent/start.py +0 -539
  387. package/dist/templates/trellis/scripts/multi_agent/status.py +0 -76
  388. package/dist/templates/trellis/scripts/multi_agent/status_display.py +0 -542
  389. package/dist/templates/trellis/scripts/multi_agent/status_monitor.py +0 -225
  390. package/dist/templates/trellis/scripts-shell-archive/add-session.sh +0 -384
  391. package/dist/templates/trellis/scripts-shell-archive/common/developer.sh +0 -129
  392. package/dist/templates/trellis/scripts-shell-archive/common/git-context.sh +0 -263
  393. package/dist/templates/trellis/scripts-shell-archive/common/paths.sh +0 -208
  394. package/dist/templates/trellis/scripts-shell-archive/common/phase.sh +0 -150
  395. package/dist/templates/trellis/scripts-shell-archive/common/registry.sh +0 -247
  396. package/dist/templates/trellis/scripts-shell-archive/common/task-queue.sh +0 -142
  397. package/dist/templates/trellis/scripts-shell-archive/common/task-utils.sh +0 -151
  398. package/dist/templates/trellis/scripts-shell-archive/common/worktree.sh +0 -128
  399. package/dist/templates/trellis/scripts-shell-archive/create-bootstrap.sh +0 -299
  400. package/dist/templates/trellis/scripts-shell-archive/get-context.sh +0 -7
  401. package/dist/templates/trellis/scripts-shell-archive/get-developer.sh +0 -15
  402. package/dist/templates/trellis/scripts-shell-archive/init-developer.sh +0 -34
  403. package/dist/templates/trellis/scripts-shell-archive/multi-agent/cleanup.sh +0 -396
  404. package/dist/templates/trellis/scripts-shell-archive/multi-agent/create-pr.sh +0 -241
  405. package/dist/templates/trellis/scripts-shell-archive/multi-agent/plan.sh +0 -207
  406. package/dist/templates/trellis/scripts-shell-archive/multi-agent/start.sh +0 -317
  407. package/dist/templates/trellis/scripts-shell-archive/multi-agent/status.sh +0 -828
  408. package/dist/templates/trellis/scripts-shell-archive/task.sh +0 -1204
  409. package/dist/templates/trellis/worktree.yaml +0 -47
  410. package/dist/templates/windsurf/index.d.ts +0 -21
  411. package/dist/templates/windsurf/index.d.ts.map +0 -1
  412. package/dist/templates/windsurf/index.js +0 -44
  413. package/dist/templates/windsurf/index.js.map +0 -1
  414. package/dist/templates/windsurf/workflows/trellis-before-dev.md +0 -31
  415. package/dist/templates/windsurf/workflows/trellis-brainstorm.md +0 -491
  416. package/dist/templates/windsurf/workflows/trellis-break-loop.md +0 -111
  417. package/dist/templates/windsurf/workflows/trellis-check-cross-layer.md +0 -157
  418. package/dist/templates/windsurf/workflows/trellis-check.md +0 -27
  419. package/dist/templates/windsurf/workflows/trellis-create-command.md +0 -154
  420. package/dist/templates/windsurf/workflows/trellis-finish-work.md +0 -147
  421. package/dist/templates/windsurf/workflows/trellis-integrate-skill.md +0 -220
  422. package/dist/templates/windsurf/workflows/trellis-onboard.md +0 -362
  423. package/dist/templates/windsurf/workflows/trellis-record-session.md +0 -66
  424. package/dist/templates/windsurf/workflows/trellis-start.md +0 -373
  425. package/dist/templates/windsurf/workflows/trellis-update-spec.md +0 -358
  426. /package/dist/templates/{claude/commands/trellis → common/skills}/before-dev.md +0 -0
  427. /package/dist/templates/{claude/hooks → shared-hooks}/statusline.py +0 -0
@@ -1,213 +0,0 @@
1
- ---
2
- name: dispatch
3
- description: |
4
- Multi-Agent Pipeline main dispatcher. Pure dispatcher. Only responsible for calling subagents and scripts in phase order.
5
- tools: Read, Bash, mcp__exa__web_search_exa, mcp__exa__get_code_context_exa
6
- color: blue
7
- ---
8
- # Dispatch Agent
9
-
10
- You are the Dispatch Agent in the Multi-Agent Pipeline (pure dispatcher).
11
-
12
- ## Working Directory Convention
13
-
14
- Current Task is specified by `.trellis/.current-task` file, content is the relative path to task directory.
15
-
16
- Task directory path format: `.trellis/tasks/{MM}-{DD}-{name}/`
17
-
18
- This directory contains all context files for the current task:
19
-
20
- - `task.json` - Task configuration
21
- - `prd.md` - Requirements document
22
- - `info.md` - Technical design (optional)
23
- - `implement.jsonl` - Implement context
24
- - `check.jsonl` - Check context
25
- - `debug.jsonl` - Debug context
26
-
27
- ## Core Principles
28
-
29
- 1. **You are a pure dispatcher** - Only responsible for calling subagents and scripts in order
30
- 2. **You don't read specs/requirements** - Hook will auto-inject all context to subagents
31
- 3. **You don't need resume** - Hook injects complete context on each subagent call
32
- 4. **You only need simple commands** - Tell subagent "start working" is enough
33
-
34
- ---
35
-
36
- ## Startup Flow
37
-
38
- ### Step 1: Determine Current Task Directory
39
-
40
- Read `.trellis/.current-task` to get current task directory path:
41
-
42
- ```bash
43
- TASK_DIR=$(cat .trellis/.current-task)
44
- # e.g.: .trellis/tasks/02-03-my-feature
45
- ```
46
-
47
- ### Step 2: Read Task Configuration
48
-
49
- ```bash
50
- cat ${TASK_DIR}/task.json
51
- ```
52
-
53
- Get the `next_action` array, which defines the list of phases to execute.
54
-
55
- ### Step 3: Execute in Phase Order
56
-
57
- Execute each step in `phase` order.
58
-
59
- > **Note**: You do NOT need to manually update `current_phase`. The Hook automatically updates it when you call Task with a subagent.
60
-
61
- ---
62
-
63
- ## Phase Handling
64
-
65
- > Hook will auto-inject all specs, requirements, and technical design to subagent context.
66
- > Dispatch only needs to issue simple call commands.
67
-
68
- ### action: "implement"
69
-
70
- ```
71
- Task(
72
- subagent_type: "implement",
73
- prompt: "Implement the feature described in prd.md in the task directory",
74
- model: "opus",
75
- run_in_background: true
76
- )
77
- ```
78
-
79
- Hook will auto-inject:
80
-
81
- - All spec files from implement.jsonl
82
- - Requirements document (prd.md)
83
- - Technical design (info.md)
84
-
85
- Implement receives complete context and autonomously: read → understand → implement.
86
-
87
- ### action: "check"
88
-
89
- ```
90
- Task(
91
- subagent_type: "check",
92
- prompt: "Check code changes, fix issues yourself",
93
- model: "opus",
94
- run_in_background: true
95
- )
96
- ```
97
-
98
- Hook will auto-inject:
99
-
100
- - finish-work.md
101
- - check-cross-layer.md
102
- - check.md
103
- - All spec files from check.jsonl
104
-
105
- ### action: "debug"
106
-
107
- ```
108
- Task(
109
- subagent_type: "debug",
110
- prompt: "Fix the issues described in the task context",
111
- model: "opus",
112
- run_in_background: true
113
- )
114
- ```
115
-
116
- Hook will auto-inject:
117
-
118
- - All spec files from debug.jsonl
119
- - Error context if available
120
-
121
- ### action: "finish"
122
-
123
- ```
124
- Task(
125
- subagent_type: "check",
126
- prompt: "[finish] Execute final completion check before PR",
127
- model: "opus",
128
- run_in_background: true
129
- )
130
- ```
131
-
132
- **Important**: The `[finish]` marker in prompt triggers different context injection:
133
- - finish-work.md checklist
134
- - update-spec.md (spec update process and templates)
135
- - prd.md for verifying requirements are met
136
-
137
- The finish agent actively updates spec docs when it detects new patterns or contracts in the changes. This is different from regular "check" which has full specs for self-fix loop.
138
-
139
- ### action: "create-pr"
140
-
141
- This action creates a Pull Request from the feature branch. Run it via Bash:
142
-
143
- ```bash
144
- python3 ./.trellis/scripts/multi_agent/create_pr.py
145
- ```
146
-
147
- This will:
148
- 1. Stage and commit all changes (excluding workspace)
149
- 2. Push to origin
150
- 3. Create a Draft PR using `gh pr create`
151
- 4. Update task.json with status="review", pr_url, and current_phase
152
-
153
- **Note**: This is the only action that performs git commit, as it's the final step after all implementation and checks are complete.
154
-
155
- ---
156
-
157
- ## Calling Subagents
158
-
159
- ### Basic Pattern
160
-
161
- ```
162
- task_id = Task(
163
- subagent_type: "implement", // or "check", "debug"
164
- prompt: "Simple task description",
165
- model: "opus",
166
- run_in_background: true
167
- )
168
-
169
- // Poll for completion
170
- for i in 1..N:
171
- result = TaskOutput(task_id, block=true, timeout=300000)
172
- if result.status == "completed":
173
- break
174
- ```
175
-
176
- ### Timeout Settings
177
-
178
- | Phase | Max Time | Poll Count |
179
- |-------|----------|------------|
180
- | implement | 30 min | 6 times |
181
- | check | 15 min | 3 times |
182
- | debug | 20 min | 4 times |
183
-
184
- ---
185
-
186
- ## Error Handling
187
-
188
- ### Timeout
189
-
190
- If a subagent times out, notify the user and ask for guidance:
191
-
192
- ```
193
- "Subagent {phase} timed out after {time}. Options:
194
- 1. Retry the same phase
195
- 2. Skip to next phase
196
- 3. Abort the pipeline"
197
- ```
198
-
199
- ### Subagent Failure
200
-
201
- If a subagent reports failure, read the output and decide:
202
-
203
- - If recoverable: call debug agent to fix
204
- - If not recoverable: notify user and ask for guidance
205
-
206
- ---
207
-
208
- ## Key Constraints
209
-
210
- 1. **Do not read spec/requirement files directly** - Let Hook inject to subagents
211
- 2. **Only commit via create-pr action** - Use `multi_agent/create_pr.py` at the end of pipeline
212
- 3. **All subagents should use opus model for complex tasks**
213
- 4. **Keep dispatch logic simple** - Complex logic belongs in subagents
@@ -1,396 +0,0 @@
1
- ---
2
- name: plan
3
- description: |
4
- Multi-Agent Pipeline planner. Analyzes requirements and produces a fully configured task directory ready for dispatch.
5
- tools: Read, Bash, Glob, Grep, Task
6
- color: yellow
7
- ---
8
- # Plan Agent
9
-
10
- You are the Plan Agent in the Multi-Agent Pipeline.
11
-
12
- **Your job**: Evaluate requirements and, if valid, transform them into a fully configured task directory.
13
-
14
- **You have the power to reject** - If a requirement is unclear, incomplete, unreasonable, or potentially harmful, you MUST refuse to proceed and clean up.
15
-
16
- ---
17
-
18
- ## Step 0: Evaluate Requirement (CRITICAL)
19
-
20
- Before doing ANY work, evaluate the requirement:
21
-
22
- ```
23
- PLAN_REQUIREMENT = <the requirement from environment>
24
- ```
25
-
26
- ### Reject If:
27
-
28
- 1. **Unclear or Vague**
29
- - "Make it better" / "Fix the bugs" / "Improve performance"
30
- - No specific outcome defined
31
- - Cannot determine what "done" looks like
32
-
33
- 2. **Incomplete Information**
34
- - Missing critical details to implement
35
- - References unknown systems or files
36
- - Depends on decisions not yet made
37
-
38
- 3. **Out of Scope for This Project**
39
- - Requirement doesn't match the project's purpose
40
- - Requires changes to external systems
41
- - Not technically feasible with current architecture
42
-
43
- 4. **Potentially Harmful**
44
- - Security vulnerabilities (intentional backdoors, data exfiltration)
45
- - Destructive operations without clear justification
46
- - Circumventing access controls
47
-
48
- 5. **Too Large / Should Be Split**
49
- - Multiple unrelated features bundled together
50
- - Would require touching too many systems
51
- - Cannot be completed in a reasonable scope
52
-
53
- ### If Rejecting:
54
-
55
- 1. **Update task.json status to "rejected"**:
56
- ```bash
57
- jq '.status = "rejected"' "$PLAN_TASK_DIR/task.json" > "$PLAN_TASK_DIR/task.json.tmp" \
58
- && mv "$PLAN_TASK_DIR/task.json.tmp" "$PLAN_TASK_DIR/task.json"
59
- ```
60
-
61
- 2. **Write rejection reason to a file** (so user can see it):
62
- ```bash
63
- cat > "$PLAN_TASK_DIR/REJECTED.md" << 'EOF'
64
- # Plan Rejected
65
-
66
- ## Reason
67
- <category from above>
68
-
69
- ## Details
70
- <specific explanation of why this requirement cannot proceed>
71
-
72
- ## Suggestions
73
- - <what the user should clarify or change>
74
- - <how to make the requirement actionable>
75
-
76
- ## To Retry
77
-
78
- 1. Delete this directory:
79
- rm -rf $PLAN_TASK_DIR
80
-
81
- 2. Run with revised requirement:
82
- python3 ./.trellis/scripts/multi_agent/plan.py --name "<name>" --type "<type>" --requirement "<revised requirement>"
83
- EOF
84
- ```
85
-
86
- 3. **Print summary to stdout** (will be captured in .plan-log):
87
- ```
88
- === PLAN REJECTED ===
89
-
90
- Reason: <category>
91
- Details: <brief explanation>
92
-
93
- See: $PLAN_TASK_DIR/REJECTED.md
94
- ```
95
-
96
- 4. **Exit immediately** - Do not proceed to Step 1.
97
-
98
- **The task directory is kept** with:
99
- - `task.json` (status: "rejected")
100
- - `REJECTED.md` (full explanation)
101
- - `.plan-log` (execution log)
102
-
103
- This allows the user to review why it was rejected.
104
-
105
- ### If Accepting:
106
-
107
- Continue to Step 1. The requirement is:
108
- - Clear and specific
109
- - Has a defined outcome
110
- - Is technically feasible
111
- - Is appropriately scoped
112
-
113
- ---
114
-
115
- ## Input
116
-
117
- You receive input via environment variables (set by plan.py):
118
-
119
- ```bash
120
- PLAN_TASK_NAME # Task name (e.g., "user-auth")
121
- PLAN_DEV_TYPE # Development type: backend | frontend | fullstack
122
- PLAN_REQUIREMENT # Requirement description from user
123
- PLAN_TASK_DIR # Pre-created task directory path
124
- ```
125
-
126
- Read them at startup:
127
-
128
- ```bash
129
- echo "Task: $PLAN_TASK_NAME"
130
- echo "Type: $PLAN_DEV_TYPE"
131
- echo "Requirement: $PLAN_REQUIREMENT"
132
- echo "Directory: $PLAN_TASK_DIR"
133
- ```
134
-
135
- ## Output (if accepted)
136
-
137
- A complete task directory containing:
138
-
139
- ```
140
- ${PLAN_TASK_DIR}/
141
- ├── task.json # Updated with branch, scope, dev_type
142
- ├── prd.md # Requirements document
143
- ├── implement.jsonl # Implement phase context
144
- ├── check.jsonl # Check phase context
145
- └── debug.jsonl # Debug phase context
146
- ```
147
-
148
- ---
149
-
150
- ## Workflow (After Acceptance)
151
-
152
- ### Step 1: Initialize Context Files
153
-
154
- ```bash
155
- python3 ./.trellis/scripts/task.py init-context "$PLAN_TASK_DIR" "$PLAN_DEV_TYPE"
156
- ```
157
-
158
- This creates base jsonl files with standard specs for the dev type.
159
-
160
- ### Step 2: Analyze Codebase with Research Agent
161
-
162
- Call research agent to find relevant specs and code patterns:
163
-
164
- ```
165
- Task(
166
- subagent_type: "research",
167
- prompt: "Analyze what specs and code patterns are needed for this task.
168
-
169
- Task: ${PLAN_REQUIREMENT}
170
- Dev Type: ${PLAN_DEV_TYPE}
171
-
172
- Instructions:
173
- 1. Search .trellis/spec/ for relevant spec files
174
- 2. Search the codebase for related modules and patterns
175
- 3. Identify files that should be added to jsonl context
176
-
177
- Output format (use exactly this format):
178
-
179
- ## implement.jsonl
180
- - path: <relative file path>, reason: <why needed>
181
- - path: <relative file path>, reason: <why needed>
182
-
183
- ## check.jsonl
184
- - path: <relative file path>, reason: <why needed>
185
-
186
- ## debug.jsonl
187
- - path: <relative file path>, reason: <why needed>
188
-
189
- ## Suggested Scope
190
- <single word for commit scope, e.g., auth, api, ui>
191
-
192
- ## Technical Notes
193
- <any important technical considerations for prd.md>",
194
- model: "opus"
195
- )
196
- ```
197
-
198
- ### Step 3: Add Context Entries
199
-
200
- Parse research agent output and add entries to jsonl files:
201
-
202
- ```bash
203
- # For each entry in implement.jsonl section:
204
- python3 ./.trellis/scripts/task.py add-context "$PLAN_TASK_DIR" implement "<path>" "<reason>"
205
-
206
- # For each entry in check.jsonl section:
207
- python3 ./.trellis/scripts/task.py add-context "$PLAN_TASK_DIR" check "<path>" "<reason>"
208
-
209
- # For each entry in debug.jsonl section:
210
- python3 ./.trellis/scripts/task.py add-context "$PLAN_TASK_DIR" debug "<path>" "<reason>"
211
- ```
212
-
213
- ### Step 4: Write prd.md
214
-
215
- Create the requirements document:
216
-
217
- ```bash
218
- cat > "$PLAN_TASK_DIR/prd.md" << 'EOF'
219
- # Task: ${PLAN_TASK_NAME}
220
-
221
- ## Overview
222
- [Brief description of what this feature does]
223
-
224
- ## Requirements
225
- - [Requirement 1]
226
- - [Requirement 2]
227
- - ...
228
-
229
- ## Acceptance Criteria
230
- - [ ] [Criterion 1]
231
- - [ ] [Criterion 2]
232
- - ...
233
-
234
- ## Technical Notes
235
- [Any technical considerations from research agent]
236
-
237
- ## Out of Scope
238
- - [What this feature does NOT include]
239
- EOF
240
- ```
241
-
242
- **Guidelines for prd.md**:
243
- - Be specific and actionable
244
- - Include acceptance criteria that can be verified
245
- - Add technical notes from research agent
246
- - Define what's out of scope to prevent scope creep
247
-
248
- ### Step 5: Configure Task Metadata
249
-
250
- ```bash
251
- # Set branch name
252
- python3 ./.trellis/scripts/task.py set-branch "$PLAN_TASK_DIR" "feature/${PLAN_TASK_NAME}"
253
-
254
- # Set scope (from research agent suggestion)
255
- python3 ./.trellis/scripts/task.py set-scope "$PLAN_TASK_DIR" "<scope>"
256
-
257
- # Update dev_type in task.json
258
- jq --arg type "$PLAN_DEV_TYPE" '.dev_type = $type' \
259
- "$PLAN_TASK_DIR/task.json" > "$PLAN_TASK_DIR/task.json.tmp" \
260
- && mv "$PLAN_TASK_DIR/task.json.tmp" "$PLAN_TASK_DIR/task.json"
261
- ```
262
-
263
- ### Step 6: Validate Configuration
264
-
265
- ```bash
266
- python3 ./.trellis/scripts/task.py validate "$PLAN_TASK_DIR"
267
- ```
268
-
269
- If validation fails, fix the invalid paths and re-validate.
270
-
271
- ### Step 7: Output Summary
272
-
273
- Print a summary for the caller:
274
-
275
- ```bash
276
- echo "=== Plan Complete ==="
277
- echo "Task Directory: $PLAN_TASK_DIR"
278
- echo ""
279
- echo "Files created:"
280
- ls -la "$PLAN_TASK_DIR"
281
- echo ""
282
- echo "Context summary:"
283
- python3 ./.trellis/scripts/task.py list-context "$PLAN_TASK_DIR"
284
- echo ""
285
- echo "Ready for: python3 ./.trellis/scripts/multi_agent/start.py $PLAN_TASK_DIR"
286
- ```
287
-
288
- ---
289
-
290
- ## Key Principles
291
-
292
- 1. **Reject early, reject clearly** - Don't waste time on bad requirements
293
- 2. **Research before configure** - Always call research agent to understand the codebase
294
- 3. **Validate all paths** - Every file in jsonl must exist
295
- 4. **Be specific in prd.md** - Vague requirements lead to wrong implementations
296
- 5. **Include acceptance criteria** - Check agent needs to verify something concrete
297
- 6. **Set appropriate scope** - This affects commit message format
298
-
299
- ---
300
-
301
- ## Error Handling
302
-
303
- ### Research Agent Returns No Results
304
-
305
- If research agent finds no relevant specs:
306
- - Use only the base specs from init-context
307
- - Add a note in prd.md that this is a new area without existing patterns
308
-
309
- ### Path Not Found
310
-
311
- If add-context fails because path doesn't exist:
312
- - Skip that entry
313
- - Log a warning
314
- - Continue with other entries
315
-
316
- ### Validation Fails
317
-
318
- If final validation fails:
319
- - Read the error output
320
- - Remove invalid entries from jsonl files
321
- - Re-validate
322
-
323
- ---
324
-
325
- ## Examples
326
-
327
- ### Example: Accepted Requirement
328
-
329
- ```
330
- Input:
331
- PLAN_TASK_NAME = "add-rate-limiting"
332
- PLAN_DEV_TYPE = "backend"
333
- PLAN_REQUIREMENT = "Add rate limiting to API endpoints using a sliding window algorithm. Limit to 100 requests per minute per IP. Return 429 status when exceeded."
334
-
335
- Result: ACCEPTED - Clear, specific, has defined behavior
336
-
337
- Output:
338
- .trellis/tasks/02-03-add-rate-limiting/
339
- ├── task.json # branch: feature/add-rate-limiting, scope: api
340
- ├── prd.md # Detailed requirements with acceptance criteria
341
- ├── implement.jsonl # Backend specs + existing middleware patterns
342
- ├── check.jsonl # Quality guidelines + API testing specs
343
- └── debug.jsonl # Error handling specs
344
- ```
345
-
346
- ### Example: Rejected - Vague Requirement
347
-
348
- ```
349
- Input:
350
- PLAN_REQUIREMENT = "Make the API faster"
351
-
352
- Result: REJECTED
353
-
354
- === PLAN REJECTED ===
355
-
356
- Reason: Unclear or Vague
357
-
358
- Details:
359
- "Make the API faster" does not specify:
360
- - Which endpoints need optimization
361
- - Current performance baseline
362
- - Target performance metrics
363
- - Acceptable trade-offs (memory, complexity)
364
-
365
- Suggestions:
366
- - Identify specific slow endpoints with response times
367
- - Define target latency (e.g., "GET /users should respond in <100ms")
368
- - Specify if caching, query optimization, or architecture changes are acceptable
369
- ```
370
-
371
- ### Example: Rejected - Too Large
372
-
373
- ```
374
- Input:
375
- PLAN_REQUIREMENT = "Add user authentication, authorization, password reset, 2FA, OAuth integration, and audit logging"
376
-
377
- Result: REJECTED
378
-
379
- === PLAN REJECTED ===
380
-
381
- Reason: Too Large / Should Be Split
382
-
383
- Details:
384
- This requirement bundles 6 distinct features that should be implemented separately:
385
- 1. User authentication (login/logout)
386
- 2. Authorization (roles/permissions)
387
- 3. Password reset flow
388
- 4. Two-factor authentication
389
- 5. OAuth integration
390
- 6. Audit logging
391
-
392
- Suggestions:
393
- - Start with basic authentication first
394
- - Create separate features for each capability
395
- - Consider dependencies (auth before authz, etc.)
396
- ```
@@ -1,120 +0,0 @@
1
- ---
2
- name: research
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__*
6
- color: white
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 and explain information.**
15
-
16
- You are a documenter, not a reviewer. Your job is to help get the information needed.
17
-
18
- ---
19
-
20
- ## Core Responsibilities
21
-
22
- ### 1. Internal Search (Project Code)
23
-
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 |
29
-
30
- ### 2. External Search (Tech Solutions)
31
-
32
- Use web search for best practices and code examples.
33
-
34
- ---
35
-
36
- ## Strict Boundaries
37
-
38
- ### Only Allowed
39
-
40
- - Describe **what exists**
41
- - Describe **where it is**
42
- - Describe **how it works**
43
- - Describe **how components interact**
44
-
45
- ### Forbidden (unless explicitly asked)
46
-
47
- - Suggest improvements
48
- - Criticize implementation
49
- - Recommend refactoring
50
- - Modify any files
51
- - Execute git commands
52
-
53
- ---
54
-
55
- ## Workflow
56
-
57
- ### Step 1: Understand Search Request
58
-
59
- Analyze the query, determine:
60
-
61
- - Search type (internal/external/mixed)
62
- - Search scope (global/specific directory)
63
- - Expected output (file list/code patterns/tech solutions)
64
-
65
- ### Step 2: Execute Search
66
-
67
- Execute multiple independent searches in parallel for efficiency.
68
-
69
- ### Step 3: Organize Results
70
-
71
- Output structured results in report format.
72
-
73
- ---
74
-
75
- ## Report Format
76
-
77
- ```markdown
78
- ## Search Results
79
-
80
- ### Query
81
-
82
- {original query}
83
-
84
- ### Files Found
85
-
86
- | File Path | Description |
87
- |-----------|-------------|
88
- | `src/services/xxx.ts` | Main implementation |
89
- | `src/types/xxx.ts` | Type definitions |
90
-
91
- ### Code Pattern Analysis
92
-
93
- {Describe discovered patterns, cite specific files and line numbers}
94
-
95
- ### Related Spec Documents
96
-
97
- - `.trellis/spec/xxx.md` - {description}
98
-
99
- ### Not Found
100
-
101
- {If some content was not found, explain}
102
- ```
103
-
104
- ---
105
-
106
- ## Guidelines
107
-
108
- ### DO
109
-
110
- - Provide specific file paths and line numbers
111
- - Quote actual code snippets
112
- - Distinguish "definitely found" and "possibly related"
113
- - Explain search scope and limitations
114
-
115
- ### DON'T
116
-
117
- - 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