@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,223 +0,0 @@
1
- ---
2
- description: |
3
- Multi-Agent Pipeline main dispatcher. Pure dispatcher. Only responsible for calling subagents and scripts in phase order.
4
- mode: primary
5
- permission:
6
- read: allow
7
- write: deny
8
- edit: deny
9
- bash: allow
10
- glob: deny
11
- grep: deny
12
- task: allow
13
- mcp__exa__*: allow
14
- ---
15
- # Dispatch Agent
16
-
17
- You are the Dispatch Agent in the Multi-Agent Pipeline (pure dispatcher).
18
-
19
- ## Working Directory Convention
20
-
21
- Current Task is specified by `.trellis/.current-task` file, content is the relative path to task directory.
22
-
23
- Task directory path format: `.trellis/tasks/{MM}-{DD}-{name}/`
24
-
25
- This directory contains all context files for the current task:
26
-
27
- - `task.json` - Task configuration
28
- - `prd.md` - Requirements document
29
- - `info.md` - Technical design (optional)
30
- - `implement.jsonl` - Implement context
31
- - `check.jsonl` - Check context
32
- - `debug.jsonl` - Debug context
33
-
34
- ## Core Principles
35
-
36
- 1. **You are a pure dispatcher** - Only responsible for calling subagents and scripts in order
37
- 2. **You don't read specs/requirements** - Hook will auto-inject all context to subagents
38
- 3. **You don't need resume** - Hook injects complete context on each subagent call
39
- 4. **You only need simple commands** - Tell subagent "start working" is enough
40
-
41
- ---
42
-
43
- ## Startup Flow
44
-
45
- ### Step 1: Determine Current Task Directory
46
-
47
- Read `.trellis/.current-task` to get current task directory path:
48
-
49
- ```bash
50
- TASK_DIR=$(cat .trellis/.current-task)
51
- # e.g.: .trellis/tasks/02-03-my-feature
52
- ```
53
-
54
- ### Step 2: Read Task Configuration
55
-
56
- ```bash
57
- cat ${TASK_DIR}/task.json
58
- ```
59
-
60
- Get the `next_action` array, which defines the list of phases to execute.
61
-
62
- ### Step 3: Execute in Phase Order
63
-
64
- Execute each step in `phase` order.
65
-
66
- > **Note**: You do NOT need to manually update `current_phase`. The Hook automatically updates it when you call Task with a subagent.
67
-
68
- ---
69
-
70
- ## Phase Handling
71
-
72
- > Hook will auto-inject all specs, requirements, and technical design to subagent context.
73
- > Dispatch only needs to issue simple call commands.
74
- >
75
- > **OpenCode dispatch rule**: Call subagents synchronously (`run_in_background: false`).
76
- > Do NOT use `TaskOutput` or background polling as the completion signal for child phases.
77
- > The background wrapper can finish before the real subagent session is actually done.
78
-
79
- ### action: "implement"
80
-
81
- ```
82
- Task(
83
- subagent_type: "implement",
84
- prompt: "Implement the feature described in prd.md in the task directory",
85
- model: "opus",
86
- run_in_background: false
87
- )
88
- ```
89
-
90
- Hook will auto-inject:
91
-
92
- - All spec files from implement.jsonl
93
- - Requirements document (prd.md)
94
- - Technical design (info.md)
95
-
96
- Implement receives complete context and autonomously: read → understand → implement.
97
-
98
- ### action: "check"
99
-
100
- ```
101
- Task(
102
- subagent_type: "check",
103
- prompt: "Check code changes, fix issues yourself",
104
- model: "opus",
105
- run_in_background: false
106
- )
107
- ```
108
-
109
- Hook will auto-inject:
110
-
111
- - finish-work.md
112
- - check-cross-layer.md
113
- - check.md
114
- - All spec files from check.jsonl
115
-
116
- ### action: "debug"
117
-
118
- ```
119
- Task(
120
- subagent_type: "debug",
121
- prompt: "Fix the issues described in the task context",
122
- model: "opus",
123
- run_in_background: false
124
- )
125
- ```
126
-
127
- Hook will auto-inject:
128
-
129
- - All spec files from debug.jsonl
130
- - Error context if available
131
-
132
- ### action: "finish"
133
-
134
- ```
135
- Task(
136
- subagent_type: "check",
137
- prompt: "[finish] Execute final completion check before PR",
138
- model: "opus",
139
- run_in_background: false
140
- )
141
- ```
142
-
143
- **Important**: The `[finish]` marker in prompt triggers different context injection:
144
- - finish-work.md checklist
145
- - update-spec.md (spec update process and templates)
146
- - prd.md for verifying requirements are met
147
-
148
- The finish agent actively updates spec docs when it detects new patterns or contracts in the changes.
149
-
150
- This is different from regular "check" which has full specs for self-fix loop.
151
-
152
- ### action: "create-pr"
153
-
154
- This action creates a Pull Request from the feature branch. Run it via Bash:
155
-
156
- ```bash
157
- python3 ./.trellis/scripts/multi_agent/create_pr.py
158
- ```
159
-
160
- This will:
161
- 1. Stage and commit all changes (excluding workspace)
162
- 2. Push to origin
163
- 3. Create a Draft PR using `gh pr create`
164
- 4. Update task.json with status="review", pr_url, and current_phase
165
-
166
- **Note**: This is the only action that performs git commit, as it's the final step after all implementation and checks are complete.
167
-
168
- ---
169
-
170
- ## Calling Subagents
171
-
172
- ### Basic Pattern
173
-
174
- ```
175
- result = Task(
176
- subagent_type: "implement", // or "check", "debug"
177
- prompt: "Simple task description",
178
- model: "opus",
179
- run_in_background: false
180
- )
181
-
182
- // Wait for the Task call to return before starting the next phase.
183
- // Do NOT call TaskOutput or use background polling inside OpenCode dispatch.
184
- ```
185
-
186
- ### Execution Rule
187
-
188
- - Run one phase at a time
189
- - Start the next phase only after the current `Task(...)` call returns
190
- - If a phase returns a clear timeout or failure, handle that result explicitly
191
- - Do **not** simulate completion by polling a background task wrapper
192
-
193
- ---
194
-
195
- ## Error Handling
196
-
197
- ### Timeout
198
-
199
- If a synchronous subagent call times out, notify the user and ask for guidance:
200
-
201
- ```
202
- "Subagent {phase} timed out after {time}. Options:
203
- 1. Retry the same phase
204
- 2. Skip to next phase
205
- 3. Abort the pipeline"
206
- ```
207
-
208
- ### Subagent Failure
209
-
210
- If a synchronous subagent call reports failure, read the output and decide:
211
-
212
- - If recoverable: call debug agent to fix
213
- - If not recoverable: notify user and ask for guidance
214
- - Do not switch back to `TaskOutput` polling for the same phase
215
-
216
- ---
217
-
218
- ## Key Constraints
219
-
220
- 1. **Do not read spec/requirement files directly** - Let Hook inject to subagents
221
- 2. **Only commit via create-pr action** - Use `multi_agent/create_pr.py` at the end of pipeline
222
- 3. **All subagents should use opus model for complex tasks**
223
- 4. **Keep dispatch logic simple** - Complex logic belongs in subagents
@@ -1,427 +0,0 @@
1
- ---
2
- description: |
3
- Multi-Agent Pipeline planner. Analyzes requirements and produces a fully configured task directory ready for dispatch.
4
- mode: primary
5
- permission:
6
- read: allow
7
- write: allow
8
- edit: allow
9
- bash: allow
10
- glob: allow
11
- grep: allow
12
- task: allow
13
- ---
14
- # Plan Agent
15
-
16
- You are the Plan Agent in the Multi-Agent Pipeline.
17
-
18
- **Your job**: Evaluate requirements and, if valid, transform them into a fully configured task directory.
19
-
20
- **You have the power to reject** - If a requirement is unclear, incomplete, unreasonable, or potentially harmful, you MUST refuse to proceed and clean up.
21
-
22
- ---
23
-
24
- ## CRITICAL: You MUST Execute Tools
25
-
26
- **DO NOT just output text descriptions of what you would do.**
27
- **You MUST actually execute bash commands and use tools to perform actions.**
28
-
29
- When this prompt says "run this command", you must use the bash tool to execute it.
30
- When this prompt says "write this file", you must use the write tool to create it.
31
-
32
- ---
33
-
34
- ## Step 0: Read Environment Variables (REQUIRED FIRST STEP)
35
-
36
- **IMMEDIATELY execute this bash command to read your input:**
37
-
38
- ```bash
39
- echo "PLAN_TASK_NAME=$PLAN_TASK_NAME"
40
- echo "PLAN_DEV_TYPE=$PLAN_DEV_TYPE"
41
- echo "PLAN_REQUIREMENT=$PLAN_REQUIREMENT"
42
- echo "PLAN_TASK_DIR=$PLAN_TASK_DIR"
43
- ```
44
-
45
- This gives you the task configuration. Store these values for use in subsequent steps.
46
-
47
- ---
48
-
49
- ## Step 1: Evaluate Requirement (CRITICAL)
50
-
51
- Now evaluate the requirement from `$PLAN_REQUIREMENT`:
52
-
53
- ### Reject If:
54
-
55
- 1. **Unclear or Vague**
56
- - "Make it better" / "Fix the bugs" / "Improve performance"
57
- - No specific outcome defined
58
- - Cannot determine what "done" looks like
59
-
60
- 2. **Incomplete Information**
61
- - Missing critical details to implement
62
- - References unknown systems or files
63
- - Depends on decisions not yet made
64
-
65
- 3. **Out of Scope for This Project**
66
- - Requirement doesn't match the project's purpose
67
- - Requires changes to external systems
68
- - Not technically feasible with current architecture
69
-
70
- 4. **Potentially Harmful**
71
- - Security vulnerabilities (intentional backdoors, data exfiltration)
72
- - Destructive operations without clear justification
73
- - Circumventing access controls
74
-
75
- 5. **Too Large / Should Be Split**
76
- - Multiple unrelated features bundled together
77
- - Would require touching too many systems
78
- - Cannot be completed in a reasonable scope
79
-
80
- ### If Rejecting:
81
-
82
- **You MUST execute these commands using the bash tool. Do not just describe them.**
83
-
84
- **Step R1: Update task.json status** - Execute this bash command:
85
- ```bash
86
- jq '.status = "rejected"' "$PLAN_TASK_DIR/task.json" > "$PLAN_TASK_DIR/task.json.tmp" \
87
- && mv "$PLAN_TASK_DIR/task.json.tmp" "$PLAN_TASK_DIR/task.json"
88
- ```
89
-
90
- **Step R2: Write REJECTED.md** - Use the write tool to create `$PLAN_TASK_DIR/REJECTED.md` with this content:
91
- ```markdown
92
- # Plan Rejected
93
-
94
- ## Reason
95
- <category from above>
96
-
97
- ## Details
98
- <specific explanation of why this requirement cannot proceed>
99
-
100
- ## Suggestions
101
- - <what the user should clarify or change>
102
- - <how to make the requirement actionable>
103
-
104
- ## To Retry
105
-
106
- 1. Delete this directory:
107
- ```bash
108
- rm -rf <task_dir>
109
- ```
110
-
111
- 2. Run with revised requirement:
112
- ```bash
113
- python3 ./.trellis/scripts/multi_agent/plan.py --name "<name>" --type "<type>" --requirement "<revised requirement>"
114
- ```
115
- ```
116
-
117
- **Step R3: Print summary** - Execute:
118
- ```bash
119
- echo "=== PLAN REJECTED ==="
120
- echo ""
121
- echo "Reason: <category>"
122
- echo "Details: <brief explanation>"
123
- echo ""
124
- echo "See: $PLAN_TASK_DIR/REJECTED.md"
125
- ```
126
-
127
- **Step R4: Stop** - Do not proceed to acceptance workflow.
128
-
129
- **The task directory is kept** with:
130
- - `task.json` (status: "rejected")
131
- - `REJECTED.md` (full explanation)
132
- - `.plan-log` (execution log)
133
-
134
- This allows the user to review why it was rejected.
135
-
136
- ### If Accepting:
137
-
138
- Continue to Step 1. The requirement is:
139
- - Clear and specific
140
- - Has a defined outcome
141
- - Is technically feasible
142
- - Is appropriately scoped
143
-
144
- ---
145
-
146
- ## Input
147
-
148
- You receive input via environment variables (set by plan.py):
149
-
150
- ```bash
151
- PLAN_TASK_NAME # Task name (e.g., "user-auth")
152
- PLAN_DEV_TYPE # Development type: backend | frontend | fullstack
153
- PLAN_REQUIREMENT # Requirement description from user
154
- PLAN_TASK_DIR # Pre-created task directory path
155
- ```
156
-
157
- Read them at startup:
158
-
159
- ```bash
160
- echo "Task: $PLAN_TASK_NAME"
161
- echo "Type: $PLAN_DEV_TYPE"
162
- echo "Requirement: $PLAN_REQUIREMENT"
163
- echo "Directory: $PLAN_TASK_DIR"
164
- ```
165
-
166
- ## Output (if accepted)
167
-
168
- A complete task directory containing:
169
-
170
- ```
171
- ${PLAN_TASK_DIR}/
172
- ├── task.json # Updated with branch, scope, dev_type
173
- ├── prd.md # Requirements document
174
- ├── implement.jsonl # Implement phase context
175
- ├── check.jsonl # Check phase context
176
- └── debug.jsonl # Debug phase context
177
- ```
178
-
179
- ---
180
-
181
- ## Workflow (After Acceptance)
182
-
183
- ### Step 1: Initialize Context Files
184
-
185
- ```bash
186
- python3 ./.trellis/scripts/task.py init-context "$PLAN_TASK_DIR" "$PLAN_DEV_TYPE"
187
- ```
188
-
189
- This creates base jsonl files with standard specs for the dev type.
190
-
191
- ### Step 2: Analyze Codebase with Research Agent
192
-
193
- Call research agent to find relevant specs and code patterns:
194
-
195
- ```
196
- Task(
197
- subagent_type: "research",
198
- prompt: "Analyze what specs and code patterns are needed for this task.
199
-
200
- Task: ${PLAN_REQUIREMENT}
201
- Dev Type: ${PLAN_DEV_TYPE}
202
-
203
- Instructions:
204
- 1. Search .trellis/spec/ for relevant spec files
205
- 2. Search the codebase for related modules and patterns
206
- 3. Identify files that should be added to jsonl context
207
-
208
- Output format (use exactly this format):
209
-
210
- ## implement.jsonl
211
- - path: <relative file path>, reason: <why needed>
212
- - path: <relative file path>, reason: <why needed>
213
-
214
- ## check.jsonl
215
- - path: <relative file path>, reason: <why needed>
216
-
217
- ## debug.jsonl
218
- - path: <relative file path>, reason: <why needed>
219
-
220
- ## Suggested Scope
221
- <single word for commit scope, e.g., auth, api, ui>
222
-
223
- ## Technical Notes
224
- <any important technical considerations for prd.md>",
225
- model: "opus"
226
- )
227
- ```
228
-
229
- ### Step 3: Add Context Entries
230
-
231
- Parse research agent output and add entries to jsonl files:
232
-
233
- ```bash
234
- # For each entry in implement.jsonl section:
235
- python3 ./.trellis/scripts/task.py add-context "$PLAN_TASK_DIR" implement "<path>" "<reason>"
236
-
237
- # For each entry in check.jsonl section:
238
- python3 ./.trellis/scripts/task.py add-context "$PLAN_TASK_DIR" check "<path>" "<reason>"
239
-
240
- # For each entry in debug.jsonl section:
241
- python3 ./.trellis/scripts/task.py add-context "$PLAN_TASK_DIR" debug "<path>" "<reason>"
242
- ```
243
-
244
- ### Step 4: Write prd.md
245
-
246
- Create the requirements document:
247
-
248
- ```bash
249
- cat > "$PLAN_TASK_DIR/prd.md" << 'EOF'
250
- # Task: ${PLAN_TASK_NAME}
251
-
252
- ## Overview
253
- [Brief description of what this feature does]
254
-
255
- ## Requirements
256
- - [Requirement 1]
257
- - [Requirement 2]
258
- - ...
259
-
260
- ## Acceptance Criteria
261
- - [ ] [Criterion 1]
262
- - [ ] [Criterion 2]
263
- - ...
264
-
265
- ## Technical Notes
266
- [Any technical considerations from research agent]
267
-
268
- ## Out of Scope
269
- - [What this feature does NOT include]
270
- EOF
271
- ```
272
-
273
- **Guidelines for prd.md**:
274
- - Be specific and actionable
275
- - Include acceptance criteria that can be verified
276
- - Add technical notes from research agent
277
- - Define what's out of scope to prevent scope creep
278
-
279
- ### Step 5: Configure Task Metadata
280
-
281
- ```bash
282
- # Set branch name
283
- python3 ./.trellis/scripts/task.py set-branch "$PLAN_TASK_DIR" "feature/${PLAN_TASK_NAME}"
284
-
285
- # Set scope (from research agent suggestion)
286
- python3 ./.trellis/scripts/task.py set-scope "$PLAN_TASK_DIR" "<scope>"
287
-
288
- # Update dev_type in task.json
289
- jq --arg type "$PLAN_DEV_TYPE" '.dev_type = $type' \
290
- "$PLAN_TASK_DIR/task.json" > "$PLAN_TASK_DIR/task.json.tmp" \
291
- && mv "$PLAN_TASK_DIR/task.json.tmp" "$PLAN_TASK_DIR/task.json"
292
- ```
293
-
294
- ### Step 6: Validate Configuration
295
-
296
- ```bash
297
- python3 ./.trellis/scripts/task.py validate "$PLAN_TASK_DIR"
298
- ```
299
-
300
- If validation fails, fix the invalid paths and re-validate.
301
-
302
- ### Step 7: Output Summary
303
-
304
- Print a summary for the caller:
305
-
306
- ```bash
307
- echo "=== Plan Complete ==="
308
- echo "Task Directory: $PLAN_TASK_DIR"
309
- echo ""
310
- echo "Files created:"
311
- ls -la "$PLAN_TASK_DIR"
312
- echo ""
313
- echo "Context summary:"
314
- python3 ./.trellis/scripts/task.py list-context "$PLAN_TASK_DIR"
315
- echo ""
316
- echo "Ready for: python3 ./.trellis/scripts/multi_agent/start.py $PLAN_TASK_DIR"
317
- ```
318
-
319
- ---
320
-
321
- ## Key Principles
322
-
323
- 1. **Reject early, reject clearly** - Don't waste time on bad requirements
324
- 2. **Research before configure** - Always call research agent to understand the codebase
325
- 3. **Validate all paths** - Every file in jsonl must exist
326
- 4. **Be specific in prd.md** - Vague requirements lead to wrong implementations
327
- 5. **Include acceptance criteria** - Check agent needs to verify something concrete
328
- 6. **Set appropriate scope** - This affects commit message format
329
-
330
- ---
331
-
332
- ## Error Handling
333
-
334
- ### Research Agent Returns No Results
335
-
336
- If research agent finds no relevant specs:
337
- - Use only the base specs from init-context
338
- - Add a note in prd.md that this is a new area without existing patterns
339
-
340
- ### Path Not Found
341
-
342
- If add-context fails because path doesn't exist:
343
- - Skip that entry
344
- - Log a warning
345
- - Continue with other entries
346
-
347
- ### Validation Fails
348
-
349
- If final validation fails:
350
- - Read the error output
351
- - Remove invalid entries from jsonl files
352
- - Re-validate
353
-
354
- ---
355
-
356
- ## Examples
357
-
358
- ### Example: Accepted Requirement
359
-
360
- ```
361
- Input:
362
- PLAN_TASK_NAME = "add-rate-limiting"
363
- PLAN_DEV_TYPE = "backend"
364
- 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."
365
-
366
- Result: ACCEPTED - Clear, specific, has defined behavior
367
-
368
- Output:
369
- .trellis/tasks/02-03-add-rate-limiting/
370
- ├── task.json # branch: feature/add-rate-limiting, scope: api
371
- ├── prd.md # Detailed requirements with acceptance criteria
372
- ├── implement.jsonl # Backend specs + existing middleware patterns
373
- ├── check.jsonl # Quality guidelines + API testing specs
374
- └── debug.jsonl # Error handling specs
375
- ```
376
-
377
- ### Example: Rejected - Vague Requirement
378
-
379
- ```
380
- Input:
381
- PLAN_REQUIREMENT = "Make the API faster"
382
-
383
- Result: REJECTED
384
-
385
- === PLAN REJECTED ===
386
-
387
- Reason: Unclear or Vague
388
-
389
- Details:
390
- "Make the API faster" does not specify:
391
- - Which endpoints need optimization
392
- - Current performance baseline
393
- - Target performance metrics
394
- - Acceptable trade-offs (memory, complexity)
395
-
396
- Suggestions:
397
- - Identify specific slow endpoints with response times
398
- - Define target latency (e.g., "GET /users should respond in <100ms")
399
- - Specify if caching, query optimization, or architecture changes are acceptable
400
- ```
401
-
402
- ### Example: Rejected - Too Large
403
-
404
- ```
405
- Input:
406
- PLAN_REQUIREMENT = "Add user authentication, authorization, password reset, 2FA, OAuth integration, and audit logging"
407
-
408
- Result: REJECTED
409
-
410
- === PLAN REJECTED ===
411
-
412
- Reason: Too Large / Should Be Split
413
-
414
- Details:
415
- This requirement bundles 6 distinct features that should be implemented separately:
416
- 1. User authentication (login/logout)
417
- 2. Authorization (roles/permissions)
418
- 3. Password reset flow
419
- 4. Two-factor authentication
420
- 5. OAuth integration
421
- 6. Audit logging
422
-
423
- Suggestions:
424
- - Start with basic authentication first
425
- - Create separate features for each capability
426
- - Consider dependencies (auth before authz, etc.)
427
- ```
@@ -1,29 +0,0 @@
1
- Read the relevant development guidelines before starting your task.
2
-
3
- Execute these steps:
4
-
5
- 1. **Discover packages and their spec layers**:
6
- ```bash
7
- python3 ./.trellis/scripts/get_context.py --mode packages
8
- ```
9
-
10
- 2. **Identify which specs apply** to your task based on:
11
- - Which package you're modifying (e.g., `cli/`, `docs-site/`)
12
- - What type of work (backend, frontend, unit-test, docs, etc.)
13
-
14
- 3. **Read the spec index** for each relevant module:
15
- ```bash
16
- cat .trellis/spec/<package>/<layer>/index.md
17
- ```
18
- Follow the **"Pre-Development Checklist"** section in the index.
19
-
20
- 4. **Read the specific guideline files** listed in the Pre-Development Checklist that are relevant to your task. The index is NOT the goal — it points you to the actual guideline files (e.g., `error-handling.md`, `conventions.md`, `mock-strategies.md`). Read those files to understand the coding standards and patterns.
21
-
22
- 5. **Always read shared guides**:
23
- ```bash
24
- cat .trellis/spec/guides/index.md
25
- ```
26
-
27
- 6. Understand the coding standards and patterns you need to follow, then proceed with your development plan.
28
-
29
- This step is **mandatory** before writing any code.