@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,403 +0,0 @@
1
- #!/usr/bin/env python3
2
- # -*- coding: utf-8 -*-
3
- """
4
- Session Start Hook - Inject structured context
5
- """
6
-
7
- # IMPORTANT: Suppress all warnings FIRST
8
- import warnings
9
- warnings.filterwarnings("ignore")
10
-
11
- import json
12
- import os
13
- import subprocess
14
- import sys
15
- from io import StringIO
16
- from pathlib import Path
17
-
18
- # IMPORTANT: Force stdout to use UTF-8 on Windows
19
- # This fixes UnicodeEncodeError when outputting non-ASCII characters
20
- if sys.platform == "win32":
21
- import io as _io
22
- if hasattr(sys.stdout, "reconfigure"):
23
- sys.stdout.reconfigure(encoding="utf-8", errors="replace") # type: ignore[union-attr]
24
- elif hasattr(sys.stdout, "detach"):
25
- sys.stdout = _io.TextIOWrapper(sys.stdout.detach(), encoding="utf-8", errors="replace") # type: ignore[union-attr]
26
-
27
-
28
- def should_skip_injection() -> bool:
29
- return (
30
- os.environ.get("CLAUDE_NON_INTERACTIVE") == "1"
31
- or os.environ.get("OPENCODE_NON_INTERACTIVE") == "1"
32
- or os.environ.get("IFLOW_NON_INTERACTIVE") == "1"
33
- )
34
-
35
-
36
- def read_file(path: Path, fallback: str = "") -> str:
37
- try:
38
- return path.read_text(encoding="utf-8")
39
- except (FileNotFoundError, PermissionError):
40
- return fallback
41
-
42
-
43
- def run_script(script_path: Path) -> str:
44
- try:
45
- if script_path.suffix == ".py":
46
- # Add PYTHONIOENCODING to force UTF-8 in subprocess
47
- env = os.environ.copy()
48
- env["PYTHONIOENCODING"] = "utf-8"
49
- cmd = [sys.executable, "-W", "ignore", str(script_path)]
50
- else:
51
- env = os.environ
52
- cmd = [str(script_path)]
53
-
54
- result = subprocess.run(
55
- cmd,
56
- capture_output=True,
57
- text=True,
58
- encoding="utf-8",
59
- errors="replace",
60
- timeout=5,
61
- cwd=script_path.parent.parent.parent,
62
- env=env,
63
- )
64
- return result.stdout if result.returncode == 0 else "No context available"
65
- except (subprocess.TimeoutExpired, FileNotFoundError, PermissionError):
66
- return "No context available"
67
-
68
-
69
- def _normalize_task_ref(task_ref: str) -> str:
70
- normalized = task_ref.strip()
71
- if not normalized:
72
- return ""
73
-
74
- path_obj = Path(normalized)
75
- if path_obj.is_absolute():
76
- return str(path_obj)
77
-
78
- normalized = normalized.replace("\\", "/")
79
- while normalized.startswith("./"):
80
- normalized = normalized[2:]
81
-
82
- if normalized.startswith("tasks/"):
83
- return f".trellis/{normalized}"
84
-
85
- return normalized
86
-
87
-
88
- def _resolve_task_dir(trellis_dir: Path, task_ref: str) -> Path:
89
- normalized = _normalize_task_ref(task_ref)
90
- path_obj = Path(normalized)
91
- if path_obj.is_absolute():
92
- return path_obj
93
- if normalized.startswith(".trellis/"):
94
- return trellis_dir.parent / path_obj
95
- return trellis_dir / "tasks" / path_obj
96
-
97
-
98
- def _get_task_status(trellis_dir: Path) -> str:
99
- """Check current task status and return structured status string."""
100
- current_task_file = trellis_dir / ".current-task"
101
- if not current_task_file.is_file():
102
- return "Status: NO ACTIVE TASK\nNext: Describe what you want to work on"
103
-
104
- task_ref = _normalize_task_ref(current_task_file.read_text(encoding="utf-8").strip())
105
- if not task_ref:
106
- return "Status: NO ACTIVE TASK\nNext: Describe what you want to work on"
107
-
108
- # Resolve task directory
109
- task_dir = _resolve_task_dir(trellis_dir, task_ref)
110
- if not task_dir.is_dir():
111
- return f"Status: STALE POINTER\nTask: {task_ref}\nNext: Task directory not found. Run: python3 ./.trellis/scripts/task.py finish"
112
-
113
- # Read task.json
114
- task_json_path = task_dir / "task.json"
115
- task_data = {}
116
- if task_json_path.is_file():
117
- try:
118
- task_data = json.loads(task_json_path.read_text(encoding="utf-8"))
119
- except (json.JSONDecodeError, PermissionError):
120
- pass
121
-
122
- task_title = task_data.get("title", task_ref)
123
- task_status = task_data.get("status", "unknown")
124
-
125
- if task_status == "completed":
126
- return f"Status: COMPLETED\nTask: {task_title}\nNext: Archive with `python3 ./.trellis/scripts/task.py archive {task_dir.name}` or start a new task"
127
-
128
- # Check if context is configured (jsonl files exist and non-empty)
129
- has_context = False
130
- for jsonl_name in ("implement.jsonl", "check.jsonl", "spec.jsonl"):
131
- jsonl_path = task_dir / jsonl_name
132
- if jsonl_path.is_file() and jsonl_path.stat().st_size > 0:
133
- has_context = True
134
- break
135
-
136
- has_prd = (task_dir / "prd.md").is_file()
137
-
138
- if not has_prd:
139
- return f"Status: NOT READY\nTask: {task_title}\nMissing: prd.md not created\nNext: Write PRD, then research → init-context → start"
140
-
141
- if not has_context:
142
- return f"Status: NOT READY\nTask: {task_title}\nMissing: Context not configured (no jsonl files)\nNext: Complete Phase 2 (research → init-context → start) before implementing"
143
-
144
- return f"Status: READY\nTask: {task_title}\nNext: Continue with implement or check"
145
-
146
-
147
- def _load_trellis_config(trellis_dir: Path) -> tuple:
148
- """Load Trellis config for session-start decisions.
149
-
150
- Returns:
151
- (is_mono, packages_dict, spec_scope, task_pkg, default_pkg)
152
- """
153
- scripts_dir = trellis_dir / "scripts"
154
- if str(scripts_dir) not in sys.path:
155
- sys.path.insert(0, str(scripts_dir))
156
-
157
- try:
158
- from common.config import get_default_package, get_packages, get_spec_scope, is_monorepo # type: ignore[import-not-found]
159
- from common.paths import get_current_task # type: ignore[import-not-found]
160
-
161
- repo_root = trellis_dir.parent
162
- is_mono = is_monorepo(repo_root)
163
- packages = get_packages(repo_root) or {}
164
- scope = get_spec_scope(repo_root)
165
-
166
- # Get active task's package
167
- task_pkg = None
168
- current = get_current_task(repo_root)
169
- if current:
170
- task_json = repo_root / current / "task.json"
171
- if task_json.is_file():
172
- try:
173
- data = json.loads(task_json.read_text(encoding="utf-8"))
174
- if isinstance(data, dict):
175
- tp = data.get("package")
176
- if isinstance(tp, str) and tp:
177
- task_pkg = tp
178
- except (json.JSONDecodeError, OSError):
179
- pass
180
-
181
- default_pkg = get_default_package(repo_root)
182
- return is_mono, packages, scope, task_pkg, default_pkg
183
- except Exception:
184
- return False, {}, None, None, None
185
-
186
-
187
- def _check_legacy_spec(trellis_dir: Path, is_mono: bool, packages: dict) -> str | None:
188
- """Check for legacy spec directory structure in monorepo."""
189
- if not is_mono or not packages:
190
- return None
191
-
192
- spec_dir = trellis_dir / "spec"
193
- if not spec_dir.is_dir():
194
- return None
195
-
196
- has_legacy = False
197
- for legacy_name in ("backend", "frontend"):
198
- legacy_dir = spec_dir / legacy_name
199
- if legacy_dir.is_dir() and (legacy_dir / "index.md").is_file():
200
- has_legacy = True
201
- break
202
-
203
- if not has_legacy:
204
- return None
205
-
206
- missing = [
207
- name for name in sorted(packages.keys())
208
- if not (spec_dir / name).is_dir()
209
- ]
210
-
211
- if not missing:
212
- return None
213
-
214
- if len(missing) == len(packages):
215
- return (
216
- f"[!] Legacy spec structure detected: found `spec/backend/` or `spec/frontend/` "
217
- f"but no package-scoped `spec/<package>/` directories.\n"
218
- f"Monorepo packages: {', '.join(sorted(packages.keys()))}\n"
219
- f"Please reorganize: `spec/backend/` -> `spec/<package>/backend/`"
220
- )
221
- return (
222
- f"[!] Partial spec migration detected: packages {', '.join(missing)} "
223
- f"still missing `spec/<pkg>/` directory.\n"
224
- f"Please complete migration for all packages."
225
- )
226
-
227
-
228
- def _resolve_spec_scope(
229
- is_mono: bool,
230
- packages: dict,
231
- scope,
232
- task_pkg: str | None,
233
- default_pkg: str | None,
234
- ) -> set | None:
235
- """Resolve which packages should have their specs injected."""
236
- if not is_mono or not packages:
237
- return None
238
-
239
- if scope is None:
240
- return None
241
-
242
- if isinstance(scope, str) and scope == "active_task":
243
- if task_pkg and task_pkg in packages:
244
- return {task_pkg}
245
- if default_pkg and default_pkg in packages:
246
- return {default_pkg}
247
- return None
248
-
249
- if isinstance(scope, list):
250
- valid = set()
251
- for entry in scope:
252
- if entry in packages:
253
- valid.add(entry)
254
- else:
255
- print(
256
- f"Warning: spec_scope contains unknown package: {entry}, ignoring",
257
- file=sys.stderr,
258
- )
259
-
260
- if valid:
261
- if task_pkg and task_pkg not in valid:
262
- print(
263
- f"Warning: active task package '{task_pkg}' is out of configured spec_scope",
264
- file=sys.stderr,
265
- )
266
- return valid
267
-
268
- print(
269
- "Warning: all spec_scope entries invalid, falling back to task/default/full",
270
- file=sys.stderr,
271
- )
272
- if task_pkg and task_pkg in packages:
273
- return {task_pkg}
274
- if default_pkg and default_pkg in packages:
275
- return {default_pkg}
276
- return None
277
-
278
- return None
279
-
280
-
281
- def _build_workflow_toc(workflow_path: Path) -> str:
282
- """Build a compact section index for workflow.md (lazy-load the full file on demand).
283
-
284
- Replaces full-file injection to keep additionalContext payload small.
285
- The full file is accessible via: Read tool on .trellis/workflow.md
286
- """
287
- content = read_file(workflow_path)
288
- if not content:
289
- return "No workflow.md found"
290
-
291
- toc_lines = [
292
- "# Development Workflow — Section Index",
293
- "Full guide: .trellis/workflow.md (read on demand)",
294
- "",
295
- ]
296
- for line in content.splitlines():
297
- if line.startswith("## "):
298
- toc_lines.append(line)
299
-
300
- toc_lines += [
301
- "",
302
- "To read a section: use the Read tool on .trellis/workflow.md",
303
- ]
304
- return "\n".join(toc_lines)
305
-
306
-
307
- def main():
308
- if should_skip_injection():
309
- sys.exit(0)
310
-
311
- # iFlow don't have an env for project, use `.` instead
312
- project_dir = Path(".").resolve()
313
- trellis_dir = project_dir / ".trellis"
314
-
315
- # Load config for scope filtering and legacy detection
316
- is_mono, packages, scope_config, task_pkg, default_pkg = _load_trellis_config(trellis_dir)
317
- allowed_pkgs = _resolve_spec_scope(is_mono, packages, scope_config, task_pkg, default_pkg)
318
-
319
- output = StringIO()
320
-
321
- output.write("""<session-context>
322
- You are starting a new session in a Trellis-managed project.
323
- Read and follow all instructions below carefully.
324
- </session-context>
325
-
326
- """)
327
-
328
- # Legacy migration warning
329
- legacy_warning = _check_legacy_spec(trellis_dir, is_mono, packages)
330
- if legacy_warning:
331
- output.write(f"<migration-warning>\n{legacy_warning}\n</migration-warning>\n\n")
332
-
333
- output.write("<current-state>\n")
334
- context_script = trellis_dir / "scripts" / "get_context.py"
335
- output.write(run_script(context_script))
336
- output.write("\n</current-state>\n\n")
337
-
338
- output.write("<workflow>\n")
339
- output.write(_build_workflow_toc(trellis_dir / "workflow.md"))
340
- output.write("\n</workflow>\n\n")
341
-
342
- output.write("<guidelines>\n")
343
- output.write("**Note**: The guidelines below are index files — they list available guideline documents and their locations.\n")
344
- output.write("During actual development, you MUST read the specific guideline files listed in each index's Pre-Development Checklist.\n\n")
345
-
346
- spec_dir = trellis_dir / "spec"
347
- if spec_dir.is_dir():
348
- for sub in sorted(spec_dir.iterdir()):
349
- if not sub.is_dir() or sub.name.startswith("."):
350
- continue
351
-
352
- # Always include guides/ regardless of scope
353
- if sub.name == "guides":
354
- index_file = sub / "index.md"
355
- if index_file.is_file():
356
- output.write(f"## {sub.name}\n")
357
- output.write(read_file(index_file))
358
- output.write("\n\n")
359
- continue
360
-
361
- index_file = sub / "index.md"
362
- if index_file.is_file():
363
- output.write(f"## {sub.name}\n")
364
- output.write(read_file(index_file))
365
- output.write("\n\n")
366
- else:
367
- # Apply scope filter for monorepo packages
368
- if allowed_pkgs is not None and sub.name not in allowed_pkgs:
369
- continue
370
- for nested in sorted(sub.iterdir()):
371
- if not nested.is_dir():
372
- continue
373
- nested_index = nested / "index.md"
374
- if nested_index.is_file():
375
- output.write(f"## {sub.name}/{nested.name}\n")
376
- output.write(read_file(nested_index))
377
- output.write("\n\n")
378
-
379
- output.write("</guidelines>\n\n")
380
-
381
- # R2: Check task status and inject structured tag
382
- task_status = _get_task_status(trellis_dir)
383
- output.write(f"<task-status>\n{task_status}\n</task-status>\n\n")
384
-
385
- output.write("""<ready>
386
- Context loaded. Workflow index, project state, and guidelines are already injected above — do NOT re-read them.
387
- Wait for the user's first message, then handle it following the workflow guide.
388
- If there is an active task, ask whether to continue it.
389
- </ready>""")
390
-
391
- result = {
392
- "hookSpecificOutput": {
393
- "hookEventName": "SessionStart",
394
- "additionalContext": output.getvalue(),
395
- }
396
- }
397
-
398
- # Output JSON - stdout is already configured for UTF-8
399
- print(json.dumps(result, ensure_ascii=False), flush=True)
400
-
401
-
402
- if __name__ == "__main__":
403
- main()
@@ -1,54 +0,0 @@
1
- /**
2
- * iFlow CLI templates
3
- *
4
- * These are GENERIC templates for user projects.
5
- * Do NOT use Trellis project's own .iflow/ directory (which may be customized).
6
- *
7
- * Directory structure:
8
- * iflow/
9
- * ├── commands/ # Slash commands
10
- * ├── agents/ # Multi-agent pipeline agents
11
- * ├── hooks/ # Context injection hooks
12
- * └── settings.json # Settings configuration
13
- */
14
- export declare const settingsTemplate: string;
15
- /**
16
- * Command template with name and content
17
- */
18
- export interface CommandTemplate {
19
- name: string;
20
- content: string;
21
- }
22
- /**
23
- * Agent template with name and content
24
- */
25
- export interface AgentTemplate {
26
- name: string;
27
- content: string;
28
- }
29
- /**
30
- * Hook template with target path and content
31
- */
32
- export interface HookTemplate {
33
- targetPath: string;
34
- content: string;
35
- }
36
- /**
37
- * Get all command templates
38
- * Commands are stored in commands/trellis/ subdirectory
39
- * This creates commands like /trellis:start, /trellis:finish-work, etc.
40
- */
41
- export declare function getAllCommands(): CommandTemplate[];
42
- /**
43
- * Get all agent templates
44
- */
45
- export declare function getAllAgents(): AgentTemplate[];
46
- /**
47
- * Get all hook templates
48
- */
49
- export declare function getAllHooks(): HookTemplate[];
50
- /**
51
- * Get settings template
52
- */
53
- export declare function getSettingsTemplate(): HookTemplate;
54
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/templates/iflow/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAsBH,eAAO,MAAM,gBAAgB,QAAgC,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,eAAe,EAAE,CAalD;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,aAAa,EAAE,CAa9C;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,YAAY,EAAE,CAU5C;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,YAAY,CAKlD"}
@@ -1,85 +0,0 @@
1
- /**
2
- * iFlow CLI templates
3
- *
4
- * These are GENERIC templates for user projects.
5
- * Do NOT use Trellis project's own .iflow/ directory (which may be customized).
6
- *
7
- * Directory structure:
8
- * iflow/
9
- * ├── commands/ # Slash commands
10
- * ├── agents/ # Multi-agent pipeline agents
11
- * ├── hooks/ # Context injection hooks
12
- * └── settings.json # Settings configuration
13
- */
14
- import { readdirSync, readFileSync } from "node:fs";
15
- import { dirname, join } from "node:path";
16
- import { fileURLToPath } from "node:url";
17
- const __filename = fileURLToPath(import.meta.url);
18
- const __dirname = dirname(__filename);
19
- function readTemplate(relativePath) {
20
- return readFileSync(join(__dirname, relativePath), "utf-8");
21
- }
22
- function listFiles(dir) {
23
- try {
24
- return readdirSync(join(__dirname, dir));
25
- }
26
- catch {
27
- return [];
28
- }
29
- }
30
- // Settings
31
- export const settingsTemplate = readTemplate("settings.json");
32
- /**
33
- * Get all command templates
34
- * Commands are stored in commands/trellis/ subdirectory
35
- * This creates commands like /trellis:start, /trellis:finish-work, etc.
36
- */
37
- export function getAllCommands() {
38
- const commands = [];
39
- const files = listFiles("commands/trellis");
40
- for (const file of files) {
41
- if (file.endsWith(".md")) {
42
- const name = file.replace(".md", "");
43
- const content = readTemplate(`commands/trellis/${file}`);
44
- commands.push({ name, content });
45
- }
46
- }
47
- return commands;
48
- }
49
- /**
50
- * Get all agent templates
51
- */
52
- export function getAllAgents() {
53
- const agents = [];
54
- const files = listFiles("agents");
55
- for (const file of files) {
56
- if (file.endsWith(".md")) {
57
- const name = file.replace(".md", "");
58
- const content = readTemplate(`agents/${file}`);
59
- agents.push({ name, content });
60
- }
61
- }
62
- return agents;
63
- }
64
- /**
65
- * Get all hook templates
66
- */
67
- export function getAllHooks() {
68
- const hooks = [];
69
- const files = listFiles("hooks");
70
- for (const file of files) {
71
- const content = readTemplate(`hooks/${file}`);
72
- hooks.push({ targetPath: `hooks/${file}`, content });
73
- }
74
- return hooks;
75
- }
76
- /**
77
- * Get settings template
78
- */
79
- export function getSettingsTemplate() {
80
- return {
81
- targetPath: "settings.json",
82
- content: settingsTemplate,
83
- };
84
- }
85
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/templates/iflow/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC,SAAS,YAAY,CAAC,YAAoB;IACxC,OAAO,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,SAAS,CAAC,GAAW;IAC5B,IAAI,CAAC;QACH,OAAO,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,WAAW;AACX,MAAM,CAAC,MAAM,gBAAgB,GAAG,YAAY,CAAC,eAAe,CAAC,CAAC;AA0B9D;;;;GAIG;AACH,MAAM,UAAU,cAAc;IAC5B,MAAM,QAAQ,GAAsB,EAAE,CAAC;IACvC,MAAM,KAAK,GAAG,SAAS,CAAC,kBAAkB,CAAC,CAAC;IAE5C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACrC,MAAM,OAAO,GAAG,YAAY,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC;YACzD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY;IAC1B,MAAM,MAAM,GAAoB,EAAE,CAAC;IACnC,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IAElC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACrC,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;YAC/C,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW;IACzB,MAAM,KAAK,GAAmB,EAAE,CAAC;IACjC,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAEjC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,YAAY,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;QAC9C,KAAK,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,SAAS,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO;QACL,UAAU,EAAE,eAAe;QAC3B,OAAO,EAAE,gBAAgB;KAC1B,CAAC;AACJ,CAAC"}
@@ -1,60 +0,0 @@
1
- {
2
- "hooks": {
3
- "SessionStart": [
4
- {
5
- "matcher": "startup",
6
- "hooks": [
7
- {
8
- "type": "command",
9
- "command": "{{PYTHON_CMD}} .iflow/hooks/session-start.py",
10
- "timeout": 10
11
- }
12
- ]
13
- },
14
- {
15
- "matcher": "clear",
16
- "hooks": [
17
- {
18
- "type": "command",
19
- "command": "{{PYTHON_CMD}} .iflow/hooks/session-start.py",
20
- "timeout": 10
21
- }
22
- ]
23
- },
24
- {
25
- "matcher": "compress",
26
- "hooks": [
27
- {
28
- "type": "command",
29
- "command": "{{PYTHON_CMD}} .iflow/hooks/session-start.py",
30
- "timeout": 10
31
- }
32
- ]
33
- }
34
- ],
35
- "PreToolUse": [
36
- {
37
- "matcher": "task",
38
- "hooks": [
39
- {
40
- "type": "command",
41
- "command": "{{PYTHON_CMD}} .iflow/hooks/inject-subagent-context.py",
42
- "timeout": 30
43
- }
44
- ]
45
- }
46
- ],
47
- "SubagentStop": [
48
- {
49
- "hooks": [
50
- {
51
- "type": "command",
52
- "command": "{{PYTHON_CMD}} .iflow/hooks/ralph-loop.py",
53
- "timeout": 10
54
- }
55
- ]
56
- }
57
- ]
58
- },
59
- "enabledPlugins": {}
60
- }
@@ -1,16 +0,0 @@
1
- /**
2
- * Kilo CLI templates
3
- *
4
- * These are GENERIC templates for user projects.
5
- * Do NOT use Trellis project's own .kilocode/ directory (which may be customized).
6
- *
7
- * Directory structure:
8
- * kilo/
9
- * └── workflows/ # Workflow files
10
- */
11
- export interface WorkflowTemplate {
12
- name: string;
13
- content: string;
14
- }
15
- export declare function getAllWorkflows(): WorkflowTemplate[];
16
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/templates/kilo/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAqBH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,eAAe,IAAI,gBAAgB,EAAE,CAapD"}
@@ -1,39 +0,0 @@
1
- /**
2
- * Kilo CLI templates
3
- *
4
- * These are GENERIC templates for user projects.
5
- * Do NOT use Trellis project's own .kilocode/ directory (which may be customized).
6
- *
7
- * Directory structure:
8
- * kilo/
9
- * └── workflows/ # Workflow files
10
- */
11
- import { readdirSync, readFileSync } from "node:fs";
12
- import { dirname, join } from "node:path";
13
- import { fileURLToPath } from "node:url";
14
- const __filename = fileURLToPath(import.meta.url);
15
- const __dirname = dirname(__filename);
16
- function readTemplate(relativePath) {
17
- return readFileSync(join(__dirname, relativePath), "utf-8");
18
- }
19
- function listFiles(dir) {
20
- try {
21
- return readdirSync(join(__dirname, dir));
22
- }
23
- catch {
24
- return [];
25
- }
26
- }
27
- export function getAllWorkflows() {
28
- const workflows = [];
29
- const files = listFiles("workflows");
30
- for (const file of files) {
31
- if (file.endsWith(".md")) {
32
- const name = file.replace(".md", "");
33
- const content = readTemplate(`workflows/${file}`);
34
- workflows.push({ name, content });
35
- }
36
- }
37
- return workflows;
38
- }
39
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/templates/kilo/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC,SAAS,YAAY,CAAC,YAAoB;IACxC,OAAO,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,SAAS,CAAC,GAAW;IAC5B,IAAI,CAAC;QACH,OAAO,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAOD,MAAM,UAAU,eAAe;IAC7B,MAAM,SAAS,GAAuB,EAAE,CAAC;IACzC,MAAM,KAAK,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;IAErC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACrC,MAAM,OAAO,GAAG,YAAY,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC;YAClD,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}