@mindfoldhq/trellis 0.4.0 → 0.5.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (394) hide show
  1. package/dist/cli/index.js +0 -1
  2. package/dist/cli/index.js.map +1 -1
  3. package/dist/commands/init.d.ts +0 -1
  4. package/dist/commands/init.d.ts.map +1 -1
  5. package/dist/commands/init.js +2 -4
  6. package/dist/commands/init.js.map +1 -1
  7. package/dist/commands/update.d.ts +5 -0
  8. package/dist/commands/update.d.ts.map +1 -1
  9. package/dist/commands/update.js +83 -22
  10. package/dist/commands/update.js.map +1 -1
  11. package/dist/configurators/antigravity.d.ts +3 -4
  12. package/dist/configurators/antigravity.d.ts.map +1 -1
  13. package/dist/configurators/antigravity.js +17 -10
  14. package/dist/configurators/antigravity.js.map +1 -1
  15. package/dist/configurators/claude.d.ts +5 -28
  16. package/dist/configurators/claude.d.ts.map +1 -1
  17. package/dist/configurators/claude.js +30 -51
  18. package/dist/configurators/claude.js.map +1 -1
  19. package/dist/configurators/codebuddy.d.ts +6 -7
  20. package/dist/configurators/codebuddy.d.ts.map +1 -1
  21. package/dist/configurators/codebuddy.js +23 -51
  22. package/dist/configurators/codebuddy.js.map +1 -1
  23. package/dist/configurators/codex.d.ts +3 -6
  24. package/dist/configurators/codex.d.ts.map +1 -1
  25. package/dist/configurators/codex.js +29 -12
  26. package/dist/configurators/codex.js.map +1 -1
  27. package/dist/configurators/copilot.d.ts +6 -5
  28. package/dist/configurators/copilot.d.ts.map +1 -1
  29. package/dist/configurators/copilot.js +42 -13
  30. package/dist/configurators/copilot.js.map +1 -1
  31. package/dist/configurators/cursor.d.ts +6 -1
  32. package/dist/configurators/cursor.d.ts.map +1 -1
  33. package/dist/configurators/cursor.js +22 -45
  34. package/dist/configurators/cursor.js.map +1 -1
  35. package/dist/configurators/droid.d.ts +6 -1
  36. package/dist/configurators/droid.d.ts.map +1 -1
  37. package/dist/configurators/droid.js +23 -41
  38. package/dist/configurators/droid.js.map +1 -1
  39. package/dist/configurators/gemini.d.ts +8 -4
  40. package/dist/configurators/gemini.d.ts.map +1 -1
  41. package/dist/configurators/gemini.js +28 -47
  42. package/dist/configurators/gemini.js.map +1 -1
  43. package/dist/configurators/index.d.ts +1 -1
  44. package/dist/configurators/index.d.ts.map +1 -1
  45. package/dist/configurators/index.js +142 -98
  46. package/dist/configurators/index.js.map +1 -1
  47. package/dist/configurators/kilo.d.ts +3 -4
  48. package/dist/configurators/kilo.d.ts.map +1 -1
  49. package/dist/configurators/kilo.js +19 -46
  50. package/dist/configurators/kilo.js.map +1 -1
  51. package/dist/configurators/kiro.d.ts +4 -4
  52. package/dist/configurators/kiro.d.ts.map +1 -1
  53. package/dist/configurators/kiro.js +18 -14
  54. package/dist/configurators/kiro.js.map +1 -1
  55. package/dist/configurators/opencode.d.ts +3 -28
  56. package/dist/configurators/opencode.d.ts.map +1 -1
  57. package/dist/configurators/opencode.js +23 -48
  58. package/dist/configurators/opencode.js.map +1 -1
  59. package/dist/configurators/qoder.d.ts +6 -4
  60. package/dist/configurators/qoder.d.ts.map +1 -1
  61. package/dist/configurators/qoder.js +20 -47
  62. package/dist/configurators/qoder.js.map +1 -1
  63. package/dist/configurators/shared.d.ts +66 -3
  64. package/dist/configurators/shared.d.ts.map +1 -1
  65. package/dist/configurators/shared.js +251 -3
  66. package/dist/configurators/shared.js.map +1 -1
  67. package/dist/configurators/windsurf.d.ts +3 -4
  68. package/dist/configurators/windsurf.d.ts.map +1 -1
  69. package/dist/configurators/windsurf.js +17 -10
  70. package/dist/configurators/windsurf.js.map +1 -1
  71. package/dist/configurators/workflow.d.ts +0 -3
  72. package/dist/configurators/workflow.d.ts.map +1 -1
  73. package/dist/configurators/workflow.js +1 -7
  74. package/dist/configurators/workflow.js.map +1 -1
  75. package/dist/migrations/manifests/0.4.0.json +1 -1
  76. package/dist/migrations/manifests/0.5.0-beta.0.json +1644 -0
  77. package/dist/templates/claude/agents/check.md +2 -29
  78. package/dist/templates/claude/agents/research.md +70 -52
  79. package/dist/templates/claude/index.d.ts +5 -37
  80. package/dist/templates/claude/index.d.ts.map +1 -1
  81. package/dist/templates/claude/index.js +3 -42
  82. package/dist/templates/claude/index.js.map +1 -1
  83. package/dist/templates/claude/settings.json +3 -4
  84. package/dist/templates/{iflow → codebuddy}/agents/check.md +3 -30
  85. package/dist/templates/{iflow → codebuddy}/agents/implement.md +1 -1
  86. package/dist/templates/codebuddy/agents/research.md +138 -0
  87. package/dist/templates/codebuddy/index.d.ts +6 -16
  88. package/dist/templates/codebuddy/index.d.ts.map +1 -1
  89. package/dist/templates/codebuddy/index.js +6 -36
  90. package/dist/templates/codebuddy/index.js.map +1 -1
  91. package/dist/templates/codebuddy/settings.json +59 -0
  92. package/dist/templates/codex/agents/research.toml +50 -16
  93. package/dist/templates/codex/config.toml +10 -0
  94. package/dist/templates/codex/hooks/session-start.py +65 -29
  95. package/dist/templates/codex/hooks.json +11 -0
  96. package/dist/templates/codex/index.d.ts +0 -1
  97. package/dist/templates/codex/index.d.ts.map +1 -1
  98. package/dist/templates/codex/index.js +1 -8
  99. package/dist/templates/codex/index.js.map +1 -1
  100. package/dist/templates/common/commands/continue.md +51 -0
  101. package/dist/templates/common/commands/finish-work.md +32 -0
  102. package/dist/templates/common/commands/start.md +56 -0
  103. package/dist/templates/common/index.d.ts +28 -0
  104. package/dist/templates/common/index.d.ts.map +1 -0
  105. package/dist/templates/common/index.js +55 -0
  106. package/dist/templates/common/index.js.map +1 -0
  107. package/dist/templates/{codebuddy/commands/trellis → common/skills}/brainstorm.md +4 -4
  108. package/dist/templates/{opencode/commands/trellis → common/skills}/break-loop.md +4 -4
  109. package/dist/templates/common/skills/check.md +87 -0
  110. package/dist/templates/{codebuddy/commands/trellis → common/skills}/update-spec.md +18 -21
  111. package/dist/templates/copilot/hooks/session-start.py +65 -29
  112. package/dist/templates/copilot/hooks.json +8 -0
  113. package/dist/templates/cursor/agents/check.md +95 -0
  114. package/dist/templates/cursor/agents/implement.md +95 -0
  115. package/dist/templates/cursor/agents/research.md +138 -0
  116. package/dist/templates/cursor/hooks.json +24 -0
  117. package/dist/templates/cursor/index.d.ts +6 -17
  118. package/dist/templates/cursor/index.d.ts.map +1 -1
  119. package/dist/templates/cursor/index.js +6 -37
  120. package/dist/templates/cursor/index.js.map +1 -1
  121. package/dist/templates/droid/droids/check.md +95 -0
  122. package/dist/templates/droid/droids/implement.md +95 -0
  123. package/dist/templates/droid/droids/research.md +138 -0
  124. package/dist/templates/droid/index.d.ts +7 -19
  125. package/dist/templates/droid/index.d.ts.map +1 -1
  126. package/dist/templates/droid/index.js +7 -39
  127. package/dist/templates/droid/index.js.map +1 -1
  128. package/dist/templates/droid/settings.json +59 -0
  129. package/dist/templates/extract.d.ts +7 -193
  130. package/dist/templates/extract.d.ts.map +1 -1
  131. package/dist/templates/extract.js +7 -310
  132. package/dist/templates/extract.js.map +1 -1
  133. package/dist/templates/gemini/agents/check.md +95 -0
  134. package/dist/templates/gemini/agents/implement.md +95 -0
  135. package/dist/templates/gemini/agents/research.md +138 -0
  136. package/dist/templates/gemini/index.d.ts +6 -14
  137. package/dist/templates/gemini/index.d.ts.map +1 -1
  138. package/dist/templates/gemini/index.js +6 -37
  139. package/dist/templates/gemini/index.js.map +1 -1
  140. package/dist/templates/gemini/settings.json +28 -0
  141. package/dist/templates/kiro/agents/check.json +13 -0
  142. package/dist/templates/kiro/agents/implement.json +13 -0
  143. package/dist/templates/kiro/agents/research.json +21 -0
  144. package/dist/templates/kiro/index.d.ts +11 -11
  145. package/dist/templates/kiro/index.d.ts.map +1 -1
  146. package/dist/templates/kiro/index.js +11 -33
  147. package/dist/templates/kiro/index.js.map +1 -1
  148. package/dist/templates/opencode/agents/check.md +3 -30
  149. package/dist/templates/opencode/agents/implement.md +1 -1
  150. package/dist/templates/opencode/agents/research.md +1 -2
  151. package/dist/templates/opencode/plugins/inject-subagent-context.js +9 -183
  152. package/dist/templates/opencode/plugins/inject-workflow-state.js +160 -0
  153. package/dist/templates/opencode/plugins/session-start.js +71 -32
  154. package/dist/templates/qoder/agents/check.md +95 -0
  155. package/dist/templates/qoder/agents/implement.md +95 -0
  156. package/dist/templates/qoder/agents/research.md +138 -0
  157. package/dist/templates/qoder/index.d.ts +7 -10
  158. package/dist/templates/qoder/index.d.ts.map +1 -1
  159. package/dist/templates/qoder/index.js +7 -32
  160. package/dist/templates/qoder/index.js.map +1 -1
  161. package/dist/templates/qoder/settings.json +47 -0
  162. package/dist/templates/shared-hooks/index.d.ts +19 -0
  163. package/dist/templates/shared-hooks/index.d.ts.map +1 -0
  164. package/dist/templates/shared-hooks/index.js +30 -0
  165. package/dist/templates/shared-hooks/index.js.map +1 -0
  166. package/dist/templates/{iflow/hooks → shared-hooks}/inject-subagent-context.py +74 -263
  167. package/dist/templates/shared-hooks/inject-workflow-state.py +231 -0
  168. package/dist/templates/{claude/hooks → shared-hooks}/session-start.py +162 -55
  169. package/dist/templates/template-utils.d.ts +26 -0
  170. package/dist/templates/template-utils.d.ts.map +1 -0
  171. package/dist/templates/template-utils.js +60 -0
  172. package/dist/templates/template-utils.js.map +1 -0
  173. package/dist/templates/trellis/index.d.ts +1 -14
  174. package/dist/templates/trellis/index.d.ts.map +1 -1
  175. package/dist/templates/trellis/index.js +2 -27
  176. package/dist/templates/trellis/index.js.map +1 -1
  177. package/dist/templates/trellis/scripts/common/cli_adapter.py +2 -2
  178. package/dist/templates/trellis/scripts/common/config.py +126 -1
  179. package/dist/templates/trellis/scripts/common/git_context.py +25 -2
  180. package/dist/templates/trellis/scripts/common/task_context.py +3 -23
  181. package/dist/templates/trellis/scripts/common/task_store.py +0 -12
  182. package/dist/templates/trellis/scripts/common/workflow_phase.py +176 -0
  183. package/dist/templates/trellis/scripts/task.py +6 -35
  184. package/dist/templates/trellis/workflow.md +274 -297
  185. package/dist/types/ai-tools.d.ts +21 -3
  186. package/dist/types/ai-tools.d.ts.map +1 -1
  187. package/dist/types/ai-tools.js +106 -15
  188. package/dist/types/ai-tools.js.map +1 -1
  189. package/dist/types/migration.d.ts +8 -1
  190. package/dist/types/migration.d.ts.map +1 -1
  191. package/package.json +3 -2
  192. package/dist/configurators/iflow.d.ts +0 -33
  193. package/dist/configurators/iflow.d.ts.map +0 -1
  194. package/dist/configurators/iflow.js +0 -99
  195. package/dist/configurators/iflow.js.map +0 -1
  196. package/dist/templates/antigravity/index.d.ts +0 -12
  197. package/dist/templates/antigravity/index.d.ts.map +0 -1
  198. package/dist/templates/antigravity/index.js +0 -29
  199. package/dist/templates/antigravity/index.js.map +0 -1
  200. package/dist/templates/claude/agents/debug.md +0 -106
  201. package/dist/templates/claude/agents/dispatch.md +0 -213
  202. package/dist/templates/claude/agents/plan.md +0 -396
  203. package/dist/templates/claude/commands/trellis/brainstorm.md +0 -487
  204. package/dist/templates/claude/commands/trellis/break-loop.md +0 -125
  205. package/dist/templates/claude/commands/trellis/check-cross-layer.md +0 -153
  206. package/dist/templates/claude/commands/trellis/check.md +0 -25
  207. package/dist/templates/claude/commands/trellis/create-command.md +0 -154
  208. package/dist/templates/claude/commands/trellis/finish-work.md +0 -153
  209. package/dist/templates/claude/commands/trellis/integrate-skill.md +0 -219
  210. package/dist/templates/claude/commands/trellis/onboard.md +0 -358
  211. package/dist/templates/claude/commands/trellis/parallel.md +0 -192
  212. package/dist/templates/claude/commands/trellis/record-session.md +0 -62
  213. package/dist/templates/claude/commands/trellis/start.md +0 -393
  214. package/dist/templates/claude/commands/trellis/update-spec.md +0 -354
  215. package/dist/templates/claude/hooks/inject-subagent-context.py +0 -803
  216. package/dist/templates/claude/hooks/ralph-loop.py +0 -396
  217. package/dist/templates/codebuddy/commands/trellis/before-dev.md +0 -29
  218. package/dist/templates/codebuddy/commands/trellis/break-loop.md +0 -107
  219. package/dist/templates/codebuddy/commands/trellis/check-cross-layer.md +0 -153
  220. package/dist/templates/codebuddy/commands/trellis/check.md +0 -25
  221. package/dist/templates/codebuddy/commands/trellis/create-command.md +0 -154
  222. package/dist/templates/codebuddy/commands/trellis/finish-work.md +0 -143
  223. package/dist/templates/codebuddy/commands/trellis/integrate-skill.md +0 -219
  224. package/dist/templates/codebuddy/commands/trellis/onboard.md +0 -358
  225. package/dist/templates/codebuddy/commands/trellis/record-session.md +0 -61
  226. package/dist/templates/codebuddy/commands/trellis/start.md +0 -373
  227. package/dist/templates/codex/codex-skills/parallel/SKILL.md +0 -194
  228. package/dist/templates/cursor/commands/trellis-before-dev.md +0 -29
  229. package/dist/templates/cursor/commands/trellis-brainstorm.md +0 -487
  230. package/dist/templates/cursor/commands/trellis-break-loop.md +0 -107
  231. package/dist/templates/cursor/commands/trellis-check-cross-layer.md +0 -153
  232. package/dist/templates/cursor/commands/trellis-check.md +0 -25
  233. package/dist/templates/cursor/commands/trellis-create-command.md +0 -154
  234. package/dist/templates/cursor/commands/trellis-finish-work.md +0 -143
  235. package/dist/templates/cursor/commands/trellis-integrate-skill.md +0 -219
  236. package/dist/templates/cursor/commands/trellis-onboard.md +0 -358
  237. package/dist/templates/cursor/commands/trellis-record-session.md +0 -62
  238. package/dist/templates/cursor/commands/trellis-start.md +0 -373
  239. package/dist/templates/cursor/commands/trellis-update-spec.md +0 -354
  240. package/dist/templates/droid/commands/trellis/before-dev.md +0 -33
  241. package/dist/templates/droid/commands/trellis/brainstorm.md +0 -491
  242. package/dist/templates/droid/commands/trellis/break-loop.md +0 -111
  243. package/dist/templates/droid/commands/trellis/check-cross-layer.md +0 -157
  244. package/dist/templates/droid/commands/trellis/check.md +0 -29
  245. package/dist/templates/droid/commands/trellis/create-command.md +0 -158
  246. package/dist/templates/droid/commands/trellis/finish-work.md +0 -147
  247. package/dist/templates/droid/commands/trellis/integrate-skill.md +0 -223
  248. package/dist/templates/droid/commands/trellis/onboard.md +0 -362
  249. package/dist/templates/droid/commands/trellis/record-session.md +0 -66
  250. package/dist/templates/droid/commands/trellis/start.md +0 -377
  251. package/dist/templates/droid/commands/trellis/update-spec.md +0 -358
  252. package/dist/templates/gemini/commands/trellis/before-dev.toml +0 -33
  253. package/dist/templates/gemini/commands/trellis/brainstorm.toml +0 -435
  254. package/dist/templates/gemini/commands/trellis/break-loop.toml +0 -129
  255. package/dist/templates/gemini/commands/trellis/check-cross-layer.toml +0 -147
  256. package/dist/templates/gemini/commands/trellis/check.toml +0 -29
  257. package/dist/templates/gemini/commands/trellis/create-command.toml +0 -119
  258. package/dist/templates/gemini/commands/trellis/finish-work.toml +0 -133
  259. package/dist/templates/gemini/commands/trellis/integrate-skill.toml +0 -104
  260. package/dist/templates/gemini/commands/trellis/onboard.toml +0 -111
  261. package/dist/templates/gemini/commands/trellis/record-session.toml +0 -66
  262. package/dist/templates/gemini/commands/trellis/start.toml +0 -354
  263. package/dist/templates/gemini/commands/trellis/update-spec.toml +0 -132
  264. package/dist/templates/iflow/agents/debug.md +0 -106
  265. package/dist/templates/iflow/agents/dispatch.md +0 -213
  266. package/dist/templates/iflow/agents/plan.md +0 -396
  267. package/dist/templates/iflow/agents/research.md +0 -120
  268. package/dist/templates/iflow/commands/trellis/before-dev.md +0 -29
  269. package/dist/templates/iflow/commands/trellis/brainstorm.md +0 -487
  270. package/dist/templates/iflow/commands/trellis/break-loop.md +0 -125
  271. package/dist/templates/iflow/commands/trellis/check-cross-layer.md +0 -153
  272. package/dist/templates/iflow/commands/trellis/check.md +0 -25
  273. package/dist/templates/iflow/commands/trellis/create-command.md +0 -152
  274. package/dist/templates/iflow/commands/trellis/finish-work.md +0 -153
  275. package/dist/templates/iflow/commands/trellis/integrate-skill.md +0 -219
  276. package/dist/templates/iflow/commands/trellis/onboard.md +0 -358
  277. package/dist/templates/iflow/commands/trellis/parallel.md +0 -192
  278. package/dist/templates/iflow/commands/trellis/record-session.md +0 -62
  279. package/dist/templates/iflow/commands/trellis/start.md +0 -393
  280. package/dist/templates/iflow/commands/trellis/update-spec.md +0 -354
  281. package/dist/templates/iflow/hooks/ralph-loop.py +0 -395
  282. package/dist/templates/iflow/hooks/session-start.py +0 -403
  283. package/dist/templates/iflow/index.d.ts +0 -54
  284. package/dist/templates/iflow/index.d.ts.map +0 -1
  285. package/dist/templates/iflow/index.js +0 -85
  286. package/dist/templates/iflow/index.js.map +0 -1
  287. package/dist/templates/iflow/settings.json +0 -60
  288. package/dist/templates/kilo/index.d.ts +0 -16
  289. package/dist/templates/kilo/index.d.ts.map +0 -1
  290. package/dist/templates/kilo/index.js +0 -39
  291. package/dist/templates/kilo/index.js.map +0 -1
  292. package/dist/templates/kilo/workflows/before-dev.md +0 -29
  293. package/dist/templates/kilo/workflows/brainstorm.md +0 -487
  294. package/dist/templates/kilo/workflows/break-loop.md +0 -125
  295. package/dist/templates/kilo/workflows/check-cross-layer.md +0 -153
  296. package/dist/templates/kilo/workflows/check.md +0 -25
  297. package/dist/templates/kilo/workflows/create-command.md +0 -152
  298. package/dist/templates/kilo/workflows/finish-work.md +0 -129
  299. package/dist/templates/kilo/workflows/integrate-skill.md +0 -219
  300. package/dist/templates/kilo/workflows/onboard.md +0 -358
  301. package/dist/templates/kilo/workflows/parallel.md +0 -193
  302. package/dist/templates/kilo/workflows/record-session.md +0 -62
  303. package/dist/templates/kilo/workflows/start.md +0 -387
  304. package/dist/templates/kilo/workflows/update-spec.md +0 -285
  305. package/dist/templates/kiro/skills/before-dev/SKILL.md +0 -34
  306. package/dist/templates/kiro/skills/brainstorm/SKILL.md +0 -492
  307. package/dist/templates/kiro/skills/break-loop/SKILL.md +0 -130
  308. package/dist/templates/kiro/skills/check/SKILL.md +0 -30
  309. package/dist/templates/kiro/skills/check-cross-layer/SKILL.md +0 -158
  310. package/dist/templates/kiro/skills/create-command/SKILL.md +0 -101
  311. package/dist/templates/kiro/skills/finish-work/SKILL.md +0 -148
  312. package/dist/templates/kiro/skills/integrate-skill/SKILL.md +0 -221
  313. package/dist/templates/kiro/skills/onboard/SKILL.md +0 -363
  314. package/dist/templates/kiro/skills/record-session/SKILL.md +0 -67
  315. package/dist/templates/kiro/skills/start/SKILL.md +0 -351
  316. package/dist/templates/kiro/skills/update-spec/SKILL.md +0 -335
  317. package/dist/templates/opencode/agents/debug.md +0 -129
  318. package/dist/templates/opencode/agents/dispatch.md +0 -223
  319. package/dist/templates/opencode/agents/trellis-plan.md +0 -427
  320. package/dist/templates/opencode/commands/trellis/before-dev.md +0 -29
  321. package/dist/templates/opencode/commands/trellis/brainstorm.md +0 -487
  322. package/dist/templates/opencode/commands/trellis/check-cross-layer.md +0 -153
  323. package/dist/templates/opencode/commands/trellis/check.md +0 -25
  324. package/dist/templates/opencode/commands/trellis/create-command.md +0 -154
  325. package/dist/templates/opencode/commands/trellis/finish-work.md +0 -144
  326. package/dist/templates/opencode/commands/trellis/integrate-skill.md +0 -219
  327. package/dist/templates/opencode/commands/trellis/migrate-specs.md +0 -0
  328. package/dist/templates/opencode/commands/trellis/onboard.md +0 -358
  329. package/dist/templates/opencode/commands/trellis/parallel.md +0 -193
  330. package/dist/templates/opencode/commands/trellis/record-session.md +0 -62
  331. package/dist/templates/opencode/commands/trellis/start.md +0 -351
  332. package/dist/templates/opencode/commands/trellis/update-spec.md +0 -354
  333. package/dist/templates/qoder/skills/before-dev/SKILL.md +0 -34
  334. package/dist/templates/qoder/skills/brainstorm/SKILL.md +0 -492
  335. package/dist/templates/qoder/skills/break-loop/SKILL.md +0 -130
  336. package/dist/templates/qoder/skills/check/SKILL.md +0 -30
  337. package/dist/templates/qoder/skills/check-cross-layer/SKILL.md +0 -158
  338. package/dist/templates/qoder/skills/create-command/SKILL.md +0 -101
  339. package/dist/templates/qoder/skills/finish-work/SKILL.md +0 -134
  340. package/dist/templates/qoder/skills/integrate-skill/SKILL.md +0 -221
  341. package/dist/templates/qoder/skills/onboard/SKILL.md +0 -363
  342. package/dist/templates/qoder/skills/record-session/SKILL.md +0 -67
  343. package/dist/templates/qoder/skills/start/SKILL.md +0 -388
  344. package/dist/templates/qoder/skills/update-spec/SKILL.md +0 -290
  345. package/dist/templates/trellis/scripts/common/phase.py +0 -254
  346. package/dist/templates/trellis/scripts/common/registry.py +0 -335
  347. package/dist/templates/trellis/scripts/common/worktree.py +0 -305
  348. package/dist/templates/trellis/scripts/multi_agent/__init__.py +0 -5
  349. package/dist/templates/trellis/scripts/multi_agent/_bootstrap.py +0 -17
  350. package/dist/templates/trellis/scripts/multi_agent/cleanup.py +0 -398
  351. package/dist/templates/trellis/scripts/multi_agent/create_pr.py +0 -620
  352. package/dist/templates/trellis/scripts/multi_agent/plan.py +0 -213
  353. package/dist/templates/trellis/scripts/multi_agent/start.py +0 -539
  354. package/dist/templates/trellis/scripts/multi_agent/status.py +0 -76
  355. package/dist/templates/trellis/scripts/multi_agent/status_display.py +0 -542
  356. package/dist/templates/trellis/scripts/multi_agent/status_monitor.py +0 -225
  357. package/dist/templates/trellis/scripts-shell-archive/add-session.sh +0 -384
  358. package/dist/templates/trellis/scripts-shell-archive/common/developer.sh +0 -129
  359. package/dist/templates/trellis/scripts-shell-archive/common/git-context.sh +0 -263
  360. package/dist/templates/trellis/scripts-shell-archive/common/paths.sh +0 -208
  361. package/dist/templates/trellis/scripts-shell-archive/common/phase.sh +0 -150
  362. package/dist/templates/trellis/scripts-shell-archive/common/registry.sh +0 -247
  363. package/dist/templates/trellis/scripts-shell-archive/common/task-queue.sh +0 -142
  364. package/dist/templates/trellis/scripts-shell-archive/common/task-utils.sh +0 -151
  365. package/dist/templates/trellis/scripts-shell-archive/common/worktree.sh +0 -128
  366. package/dist/templates/trellis/scripts-shell-archive/create-bootstrap.sh +0 -299
  367. package/dist/templates/trellis/scripts-shell-archive/get-context.sh +0 -7
  368. package/dist/templates/trellis/scripts-shell-archive/get-developer.sh +0 -15
  369. package/dist/templates/trellis/scripts-shell-archive/init-developer.sh +0 -34
  370. package/dist/templates/trellis/scripts-shell-archive/multi-agent/cleanup.sh +0 -396
  371. package/dist/templates/trellis/scripts-shell-archive/multi-agent/create-pr.sh +0 -241
  372. package/dist/templates/trellis/scripts-shell-archive/multi-agent/plan.sh +0 -207
  373. package/dist/templates/trellis/scripts-shell-archive/multi-agent/start.sh +0 -317
  374. package/dist/templates/trellis/scripts-shell-archive/multi-agent/status.sh +0 -828
  375. package/dist/templates/trellis/scripts-shell-archive/task.sh +0 -1204
  376. package/dist/templates/trellis/worktree.yaml +0 -47
  377. package/dist/templates/windsurf/index.d.ts +0 -21
  378. package/dist/templates/windsurf/index.d.ts.map +0 -1
  379. package/dist/templates/windsurf/index.js +0 -44
  380. package/dist/templates/windsurf/index.js.map +0 -1
  381. package/dist/templates/windsurf/workflows/trellis-before-dev.md +0 -31
  382. package/dist/templates/windsurf/workflows/trellis-brainstorm.md +0 -491
  383. package/dist/templates/windsurf/workflows/trellis-break-loop.md +0 -111
  384. package/dist/templates/windsurf/workflows/trellis-check-cross-layer.md +0 -157
  385. package/dist/templates/windsurf/workflows/trellis-check.md +0 -27
  386. package/dist/templates/windsurf/workflows/trellis-create-command.md +0 -154
  387. package/dist/templates/windsurf/workflows/trellis-finish-work.md +0 -147
  388. package/dist/templates/windsurf/workflows/trellis-integrate-skill.md +0 -220
  389. package/dist/templates/windsurf/workflows/trellis-onboard.md +0 -362
  390. package/dist/templates/windsurf/workflows/trellis-record-session.md +0 -66
  391. package/dist/templates/windsurf/workflows/trellis-start.md +0 -373
  392. package/dist/templates/windsurf/workflows/trellis-update-spec.md +0 -358
  393. /package/dist/templates/{claude/commands/trellis → common/skills}/before-dev.md +0 -0
  394. /package/dist/templates/{claude/hooks → shared-hooks}/statusline.py +0 -0
@@ -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"}