@blulotus/trellis 0.7.0 → 0.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (343) hide show
  1. package/README.md +2 -2
  2. package/dist/cli/index.js +2 -29
  3. package/dist/cli/index.js.map +1 -1
  4. package/dist/commands/init.d.ts +0 -22
  5. package/dist/commands/init.d.ts.map +1 -1
  6. package/dist/commands/init.js +5 -12
  7. package/dist/commands/init.js.map +1 -1
  8. package/dist/commands/mem.d.ts +2 -2
  9. package/dist/commands/mem.d.ts.map +1 -1
  10. package/dist/commands/mem.js +7 -40
  11. package/dist/commands/mem.js.map +1 -1
  12. package/dist/commands/uninstall.d.ts +1 -1
  13. package/dist/commands/uninstall.d.ts.map +1 -1
  14. package/dist/commands/uninstall.js +4 -34
  15. package/dist/commands/uninstall.js.map +1 -1
  16. package/dist/commands/update.d.ts.map +1 -1
  17. package/dist/commands/update.js +2 -28
  18. package/dist/commands/update.js.map +1 -1
  19. package/dist/configurators/index.d.ts.map +1 -1
  20. package/dist/configurators/index.js +7 -73
  21. package/dist/configurators/index.js.map +1 -1
  22. package/dist/configurators/shared.d.ts +18 -70
  23. package/dist/configurators/shared.d.ts.map +1 -1
  24. package/dist/configurators/shared.js +20 -299
  25. package/dist/configurators/shared.js.map +1 -1
  26. package/dist/configurators/workflow.d.ts +0 -14
  27. package/dist/configurators/workflow.d.ts.map +1 -1
  28. package/dist/configurators/workflow.js +1 -37
  29. package/dist/configurators/workflow.js.map +1 -1
  30. package/dist/migrations/manifests/0.1.9.json +0 -12
  31. package/dist/migrations/manifests/0.2.14.json +0 -84
  32. package/dist/migrations/manifests/0.3.0-beta.0.json +0 -87
  33. package/dist/migrations/manifests/0.3.4.json +1 -13
  34. package/dist/migrations/manifests/0.4.0-beta.1.json +24 -176
  35. package/dist/migrations/manifests/0.5.0-beta.0.json +67 -1203
  36. package/dist/migrations/manifests/0.5.0-beta.15.json +0 -96
  37. package/dist/migrations/manifests/0.5.0-beta.5.json +0 -168
  38. package/dist/migrations/manifests/0.5.0-beta.9.json +0 -20
  39. package/dist/migrations/manifests/0.6.0-beta.23.json +0 -66
  40. package/dist/migrations/manifests/0.6.3.json +1 -16
  41. package/dist/migrations/manifests/0.6.6.json +1 -9
  42. package/dist/migrations/manifests/0.7.0.json +9 -0
  43. package/dist/migrations/manifests/0.7.1.json +9 -0
  44. package/dist/migrations/manifests/0.7.2.json +9 -0
  45. package/dist/migrations/manifests/0.8.0.json +9 -0
  46. package/dist/templates/codex/hooks/session-start.py +37 -13
  47. package/dist/templates/codex/hooks.json +5 -0
  48. package/dist/templates/common/bundled-skills/trellis-meta/SKILL.md +5 -5
  49. package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-agents.md +0 -10
  50. package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-hooks.md +1 -1
  51. package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-skills-or-commands.md +1 -13
  52. package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/overview.md +2 -2
  53. package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/bundled-skills.md +9 -28
  54. package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/generated-files.md +5 -5
  55. package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/overview.md +1 -1
  56. package/dist/templates/common/bundled-skills/trellis-meta/references/platform-files/agents.md +1 -17
  57. package/dist/templates/common/bundled-skills/trellis-meta/references/platform-files/hooks-and-settings.md +4 -12
  58. package/dist/templates/common/bundled-skills/trellis-meta/references/platform-files/overview.md +6 -6
  59. package/dist/templates/common/bundled-skills/trellis-meta/references/platform-files/platform-map.md +5 -75
  60. package/dist/templates/common/bundled-skills/trellis-meta/references/platform-files/skills-and-commands.md +0 -16
  61. package/dist/templates/common/bundled-skills/trellis-session-insight/SKILL.md +1 -1
  62. package/dist/templates/common/bundled-skills/trellis-session-insight/references/cli-quick-reference.md +2 -3
  63. package/dist/templates/common/commands/continue.md +24 -4
  64. package/dist/templates/common/commands/finish-work.md +19 -9
  65. package/dist/templates/common/commands/start.md +38 -29
  66. package/dist/templates/extract.d.ts +0 -10
  67. package/dist/templates/extract.d.ts.map +1 -1
  68. package/dist/templates/extract.js +0 -24
  69. package/dist/templates/extract.js.map +1 -1
  70. package/dist/templates/markdown/spec/guides/code-reuse-thinking-guide.md.txt +7 -9
  71. package/dist/templates/markdown/spec/guides/cross-layer-thinking-guide.md.txt +4 -8
  72. package/dist/templates/markdown/spec/guides/cross-platform-thinking-guide.md.txt +5 -5
  73. package/dist/templates/shared-hooks/index.d.ts +11 -43
  74. package/dist/templates/shared-hooks/index.d.ts.map +1 -1
  75. package/dist/templates/shared-hooks/index.js +9 -86
  76. package/dist/templates/shared-hooks/index.js.map +1 -1
  77. package/dist/templates/shared-hooks/inject-spec-context.py +1 -1
  78. package/dist/templates/shared-hooks/inject-subagent-context.py +23 -85
  79. package/dist/templates/shared-hooks/inject-workflow-state.py +56 -86
  80. package/dist/templates/shared-hooks/session-start.py +76 -98
  81. package/dist/templates/trellis/config.yaml +8 -8
  82. package/dist/templates/trellis/index.d.ts +1 -4
  83. package/dist/templates/trellis/index.d.ts.map +1 -1
  84. package/dist/templates/trellis/index.js +1 -5
  85. package/dist/templates/trellis/index.js.map +1 -1
  86. package/dist/templates/trellis/scripts/add_session.py +12 -11
  87. package/dist/templates/trellis/scripts/common/__init__.py +2 -0
  88. package/dist/templates/trellis/scripts/common/active_task.py +80 -152
  89. package/dist/templates/trellis/scripts/common/config.py +7 -7
  90. package/dist/templates/trellis/scripts/common/git_context.py +1 -1
  91. package/dist/templates/trellis/scripts/common/session_context.py +2 -2
  92. package/dist/templates/trellis/scripts/common/spec_inject.py +2 -2
  93. package/dist/templates/trellis/scripts/common/task_store.py +8 -28
  94. package/dist/templates/trellis/scripts/common/workflow_phase.py +4 -8
  95. package/dist/templates/trellis/scripts/get_context.py +2 -2
  96. package/dist/templates/trellis/scripts/init_developer.py +1 -1
  97. package/dist/templates/trellis/scripts/task.py +90 -57
  98. package/dist/templates/trellis/workflow.md +44 -66
  99. package/dist/types/ai-tools.d.ts +10 -10
  100. package/dist/types/ai-tools.d.ts.map +1 -1
  101. package/dist/types/ai-tools.js +3 -434
  102. package/dist/types/ai-tools.js.map +1 -1
  103. package/dist/utils/uninstall-scrubbers.d.ts +3 -18
  104. package/dist/utils/uninstall-scrubbers.d.ts.map +1 -1
  105. package/dist/utils/uninstall-scrubbers.js +24 -154
  106. package/dist/utils/uninstall-scrubbers.js.map +1 -1
  107. package/package.json +2 -2
  108. package/dist/configurators/antigravity.d.ts +0 -7
  109. package/dist/configurators/antigravity.d.ts.map +0 -1
  110. package/dist/configurators/antigravity.js +0 -11
  111. package/dist/configurators/antigravity.js.map +0 -1
  112. package/dist/configurators/codebuddy.d.ts +0 -10
  113. package/dist/configurators/codebuddy.d.ts.map +0 -1
  114. package/dist/configurators/codebuddy.js +0 -24
  115. package/dist/configurators/codebuddy.js.map +0 -1
  116. package/dist/configurators/copilot.d.ts +0 -14
  117. package/dist/configurators/copilot.d.ts.map +0 -1
  118. package/dist/configurators/copilot.js +0 -46
  119. package/dist/configurators/copilot.js.map +0 -1
  120. package/dist/configurators/cursor.d.ts +0 -10
  121. package/dist/configurators/cursor.d.ts.map +0 -1
  122. package/dist/configurators/cursor.js +0 -23
  123. package/dist/configurators/cursor.js.map +0 -1
  124. package/dist/configurators/devin.d.ts +0 -8
  125. package/dist/configurators/devin.d.ts.map +0 -1
  126. package/dist/configurators/devin.js +0 -12
  127. package/dist/configurators/devin.js.map +0 -1
  128. package/dist/configurators/droid.d.ts +0 -10
  129. package/dist/configurators/droid.d.ts.map +0 -1
  130. package/dist/configurators/droid.js +0 -24
  131. package/dist/configurators/droid.js.map +0 -1
  132. package/dist/configurators/dsh.d.ts +0 -26
  133. package/dist/configurators/dsh.d.ts.map +0 -1
  134. package/dist/configurators/dsh.js +0 -76
  135. package/dist/configurators/dsh.js.map +0 -1
  136. package/dist/configurators/gemini.d.ts +0 -18
  137. package/dist/configurators/gemini.d.ts.map +0 -1
  138. package/dist/configurators/gemini.js +0 -39
  139. package/dist/configurators/gemini.js.map +0 -1
  140. package/dist/configurators/grok.d.ts +0 -17
  141. package/dist/configurators/grok.d.ts.map +0 -1
  142. package/dist/configurators/grok.js +0 -38
  143. package/dist/configurators/grok.js.map +0 -1
  144. package/dist/configurators/kilo.d.ts +0 -7
  145. package/dist/configurators/kilo.d.ts.map +0 -1
  146. package/dist/configurators/kilo.js +0 -11
  147. package/dist/configurators/kilo.js.map +0 -1
  148. package/dist/configurators/kimi.d.ts +0 -26
  149. package/dist/configurators/kimi.d.ts.map +0 -1
  150. package/dist/configurators/kimi.js +0 -74
  151. package/dist/configurators/kimi.js.map +0 -1
  152. package/dist/configurators/kiro.d.ts +0 -11
  153. package/dist/configurators/kiro.d.ts.map +0 -1
  154. package/dist/configurators/kiro.js +0 -30
  155. package/dist/configurators/kiro.js.map +0 -1
  156. package/dist/configurators/omp.d.ts +0 -6
  157. package/dist/configurators/omp.d.ts.map +0 -1
  158. package/dist/configurators/omp.js +0 -28
  159. package/dist/configurators/omp.js.map +0 -1
  160. package/dist/configurators/opencode.d.ts +0 -5
  161. package/dist/configurators/opencode.d.ts.map +0 -1
  162. package/dist/configurators/opencode.js +0 -84
  163. package/dist/configurators/opencode.js.map +0 -1
  164. package/dist/configurators/pi.d.ts +0 -5
  165. package/dist/configurators/pi.d.ts.map +0 -1
  166. package/dist/configurators/pi.js +0 -39
  167. package/dist/configurators/pi.js.map +0 -1
  168. package/dist/configurators/qoder.d.ts +0 -12
  169. package/dist/configurators/qoder.d.ts.map +0 -1
  170. package/dist/configurators/qoder.js +0 -30
  171. package/dist/configurators/qoder.js.map +0 -1
  172. package/dist/configurators/reasonix.d.ts +0 -17
  173. package/dist/configurators/reasonix.d.ts.map +0 -1
  174. package/dist/configurators/reasonix.js +0 -37
  175. package/dist/configurators/reasonix.js.map +0 -1
  176. package/dist/configurators/snow.d.ts +0 -25
  177. package/dist/configurators/snow.d.ts.map +0 -1
  178. package/dist/configurators/snow.js +0 -69
  179. package/dist/configurators/snow.js.map +0 -1
  180. package/dist/configurators/trae.d.ts +0 -16
  181. package/dist/configurators/trae.d.ts.map +0 -1
  182. package/dist/configurators/trae.js +0 -34
  183. package/dist/configurators/trae.js.map +0 -1
  184. package/dist/configurators/zcode.d.ts +0 -23
  185. package/dist/configurators/zcode.d.ts.map +0 -1
  186. package/dist/configurators/zcode.js +0 -63
  187. package/dist/configurators/zcode.js.map +0 -1
  188. package/dist/templates/codebuddy/agents/trellis-check.md +0 -115
  189. package/dist/templates/codebuddy/agents/trellis-implement.md +0 -115
  190. package/dist/templates/codebuddy/agents/trellis-research.md +0 -137
  191. package/dist/templates/codebuddy/index.d.ts +0 -15
  192. package/dist/templates/codebuddy/index.d.ts.map +0 -1
  193. package/dist/templates/codebuddy/index.js +0 -15
  194. package/dist/templates/codebuddy/index.js.map +0 -1
  195. package/dist/templates/codebuddy/settings.json +0 -69
  196. package/dist/templates/copilot/copilot-instructions.md +0 -11
  197. package/dist/templates/copilot/hooks/session-start.py +0 -564
  198. package/dist/templates/copilot/hooks.json +0 -19
  199. package/dist/templates/copilot/index.d.ts +0 -28
  200. package/dist/templates/copilot/index.d.ts.map +0 -1
  201. package/dist/templates/copilot/index.js +0 -61
  202. package/dist/templates/copilot/index.js.map +0 -1
  203. package/dist/templates/copilot/prompts/before-dev.prompt.md +0 -39
  204. package/dist/templates/copilot/prompts/brainstorm.prompt.md +0 -173
  205. package/dist/templates/copilot/prompts/break-loop.prompt.md +0 -129
  206. package/dist/templates/copilot/prompts/check-cross-layer.prompt.md +0 -170
  207. package/dist/templates/copilot/prompts/check.prompt.md +0 -110
  208. package/dist/templates/copilot/prompts/create-command.prompt.md +0 -116
  209. package/dist/templates/copilot/prompts/finish-work.prompt.md +0 -99
  210. package/dist/templates/copilot/prompts/integrate-skill.prompt.md +0 -223
  211. package/dist/templates/copilot/prompts/onboard.prompt.md +0 -362
  212. package/dist/templates/copilot/prompts/parallel.prompt.md +0 -204
  213. package/dist/templates/copilot/prompts/record-session.prompt.md +0 -66
  214. package/dist/templates/copilot/prompts/start.prompt.md +0 -63
  215. package/dist/templates/copilot/prompts/update-spec.prompt.md +0 -358
  216. package/dist/templates/cursor/agents/trellis-check.md +0 -114
  217. package/dist/templates/cursor/agents/trellis-implement.md +0 -114
  218. package/dist/templates/cursor/agents/trellis-research.md +0 -136
  219. package/dist/templates/cursor/hooks.json +0 -24
  220. package/dist/templates/cursor/index.d.ts +0 -13
  221. package/dist/templates/cursor/index.d.ts.map +0 -1
  222. package/dist/templates/cursor/index.js +0 -13
  223. package/dist/templates/cursor/index.js.map +0 -1
  224. package/dist/templates/droid/droids/trellis-check.md +0 -107
  225. package/dist/templates/droid/droids/trellis-implement.md +0 -107
  226. package/dist/templates/droid/droids/trellis-research.md +0 -137
  227. package/dist/templates/droid/index.d.ts +0 -15
  228. package/dist/templates/droid/index.d.ts.map +0 -1
  229. package/dist/templates/droid/index.js +0 -15
  230. package/dist/templates/droid/index.js.map +0 -1
  231. package/dist/templates/droid/settings.json +0 -69
  232. package/dist/templates/dsh/DSH.md +0 -80
  233. package/dist/templates/dsh/agents/trellis-check.md +0 -99
  234. package/dist/templates/dsh/agents/trellis-implement.md +0 -106
  235. package/dist/templates/dsh/agents/trellis-research.md +0 -134
  236. package/dist/templates/dsh/index.d.ts +0 -22
  237. package/dist/templates/dsh/index.d.ts.map +0 -1
  238. package/dist/templates/dsh/index.js +0 -27
  239. package/dist/templates/dsh/index.js.map +0 -1
  240. package/dist/templates/gemini/agents/trellis-check.md +0 -107
  241. package/dist/templates/gemini/agents/trellis-implement.md +0 -107
  242. package/dist/templates/gemini/agents/trellis-research.md +0 -136
  243. package/dist/templates/gemini/index.d.ts +0 -13
  244. package/dist/templates/gemini/index.d.ts.map +0 -1
  245. package/dist/templates/gemini/index.js +0 -13
  246. package/dist/templates/gemini/index.js.map +0 -1
  247. package/dist/templates/gemini/settings.json +0 -40
  248. package/dist/templates/grok/agents/trellis-check.md +0 -106
  249. package/dist/templates/grok/agents/trellis-implement.md +0 -121
  250. package/dist/templates/grok/agents/trellis-research.md +0 -146
  251. package/dist/templates/grok/index.d.ts +0 -16
  252. package/dist/templates/grok/index.d.ts.map +0 -1
  253. package/dist/templates/grok/index.js +0 -19
  254. package/dist/templates/grok/index.js.map +0 -1
  255. package/dist/templates/kimi/agents/trellis-check.md +0 -104
  256. package/dist/templates/kimi/agents/trellis-implement.md +0 -120
  257. package/dist/templates/kimi/agents/trellis-research.md +0 -144
  258. package/dist/templates/kimi/index.d.ts +0 -20
  259. package/dist/templates/kimi/index.d.ts.map +0 -1
  260. package/dist/templates/kimi/index.js +0 -23
  261. package/dist/templates/kimi/index.js.map +0 -1
  262. package/dist/templates/kiro/agents/trellis-check.json +0 -26
  263. package/dist/templates/kiro/agents/trellis-implement.json +0 -26
  264. package/dist/templates/kiro/agents/trellis-research.json +0 -30
  265. package/dist/templates/kiro/agents/trellis.json +0 -34
  266. package/dist/templates/kiro/hooks/trellis-workflow-state.kiro.hook +0 -14
  267. package/dist/templates/kiro/index.d.ts +0 -32
  268. package/dist/templates/kiro/index.d.ts.map +0 -1
  269. package/dist/templates/kiro/index.js +0 -28
  270. package/dist/templates/kiro/index.js.map +0 -1
  271. package/dist/templates/omp/agents/trellis-check.md +0 -41
  272. package/dist/templates/omp/agents/trellis-implement.md +0 -55
  273. package/dist/templates/omp/agents/trellis-research.md +0 -30
  274. package/dist/templates/omp/extensions/trellis/index.ts.txt +0 -592
  275. package/dist/templates/omp/index.d.ts +0 -4
  276. package/dist/templates/omp/index.d.ts.map +0 -1
  277. package/dist/templates/omp/index.js +0 -9
  278. package/dist/templates/omp/index.js.map +0 -1
  279. package/dist/templates/opencode/agents/trellis-check.md +0 -122
  280. package/dist/templates/opencode/agents/trellis-implement.md +0 -123
  281. package/dist/templates/opencode/agents/trellis-research.md +0 -145
  282. package/dist/templates/opencode/lib/context-visibility.js +0 -86
  283. package/dist/templates/opencode/lib/session-utils.js +0 -526
  284. package/dist/templates/opencode/lib/trellis-context.js +0 -627
  285. package/dist/templates/opencode/package.json +0 -5
  286. package/dist/templates/opencode/plugins/inject-spec-context.js +0 -121
  287. package/dist/templates/opencode/plugins/inject-subagent-context.js +0 -569
  288. package/dist/templates/opencode/plugins/inject-workflow-state.js +0 -340
  289. package/dist/templates/opencode/plugins/session-start.js +0 -74
  290. package/dist/templates/pi/agents/trellis-check.md +0 -37
  291. package/dist/templates/pi/agents/trellis-implement.md +0 -52
  292. package/dist/templates/pi/agents/trellis-research.md +0 -25
  293. package/dist/templates/pi/extensions/trellis/index.ts.txt +0 -2033
  294. package/dist/templates/pi/index.d.ts +0 -5
  295. package/dist/templates/pi/index.d.ts.map +0 -1
  296. package/dist/templates/pi/index.js +0 -12
  297. package/dist/templates/pi/index.js.map +0 -1
  298. package/dist/templates/pi/settings.json +0 -9
  299. package/dist/templates/qoder/agents/trellis-check.md +0 -108
  300. package/dist/templates/qoder/agents/trellis-implement.md +0 -108
  301. package/dist/templates/qoder/agents/trellis-research.md +0 -137
  302. package/dist/templates/qoder/index.d.ts +0 -15
  303. package/dist/templates/qoder/index.d.ts.map +0 -1
  304. package/dist/templates/qoder/index.js +0 -15
  305. package/dist/templates/qoder/index.js.map +0 -1
  306. package/dist/templates/qoder/settings.json +0 -59
  307. package/dist/templates/reasonix/agents/trellis-check.md +0 -36
  308. package/dist/templates/reasonix/agents/trellis-implement.md +0 -51
  309. package/dist/templates/reasonix/index.d.ts +0 -13
  310. package/dist/templates/reasonix/index.d.ts.map +0 -1
  311. package/dist/templates/reasonix/index.js +0 -16
  312. package/dist/templates/reasonix/index.js.map +0 -1
  313. package/dist/templates/shared-hooks/inject-shell-session-context.py +0 -292
  314. package/dist/templates/snow/SNOW.md +0 -86
  315. package/dist/templates/snow/agents/trellis-check.md +0 -136
  316. package/dist/templates/snow/agents/trellis-implement.md +0 -158
  317. package/dist/templates/snow/agents/trellis-research.md +0 -114
  318. package/dist/templates/snow/hooks/beforeSubAgentStart.json +0 -15
  319. package/dist/templates/snow/hooks/onSessionStart.json +0 -15
  320. package/dist/templates/snow/hooks/onUserMessage.json +0 -15
  321. package/dist/templates/snow/hooks/write-trellis-context.py +0 -644
  322. package/dist/templates/snow/index.d.ts +0 -26
  323. package/dist/templates/snow/index.d.ts.map +0 -1
  324. package/dist/templates/snow/index.js +0 -36
  325. package/dist/templates/snow/index.js.map +0 -1
  326. package/dist/templates/trae/agents/trellis-check.md +0 -108
  327. package/dist/templates/trae/agents/trellis-implement.md +0 -108
  328. package/dist/templates/trae/agents/trellis-research.md +0 -137
  329. package/dist/templates/trae/hooks.json +0 -39
  330. package/dist/templates/trae/index.d.ts +0 -15
  331. package/dist/templates/trae/index.d.ts.map +0 -1
  332. package/dist/templates/trae/index.js +0 -15
  333. package/dist/templates/trae/index.js.map +0 -1
  334. package/dist/templates/trellis/gitattributes.txt +0 -9
  335. package/dist/templates/trellis/scripts/common/cli_adapter.py +0 -982
  336. package/dist/templates/zcode/agents/trellis-check.md +0 -110
  337. package/dist/templates/zcode/agents/trellis-implement.md +0 -116
  338. package/dist/templates/zcode/agents/trellis-research.md +0 -133
  339. package/dist/templates/zcode/config.json +0 -52
  340. package/dist/templates/zcode/index.d.ts +0 -25
  341. package/dist/templates/zcode/index.d.ts.map +0 -1
  342. package/dist/templates/zcode/index.js +0 -29
  343. package/dist/templates/zcode/index.js.map +0 -1
@@ -119,32 +119,14 @@ def _repo_relative_path(path: Path, repo_root: Path) -> str:
119
119
  # Keep in sync with src/types/ai-tools.ts AI_TOOLS entries — these are the
120
120
  # platforms listed in workflow.md's "agent-capable" Skill Routing block.
121
121
  # Codex is checked separately because explicit inline mode does not consume
122
- # JSONL. Kilo / Antigravity / Devin are NOT in this list either: they load
123
- # specs through skills instead of JSONL.
124
- _SUBAGENT_CONFIG_DIRS: tuple[str, ...] = (
125
- ".claude",
126
- ".cursor",
127
- ".kiro",
128
- ".gemini",
129
- ".opencode",
130
- ".qoder",
131
- ".codebuddy",
132
- ".factory", # Factory Droid
133
- ".github/copilot",
134
- ".pi", # Pi Agent
135
- ".trae", # Trae IDE
136
- ".omp", # Oh My Pi
137
- ".zcode", # ZCode
138
- ".grok", # Grok Build
139
- ".kimi-code", # Kimi Code
140
- ".dsh", # DeepSeek Harness
141
- )
122
+ # JSONL.
123
+ _SUBAGENT_CONFIG_DIRS: tuple[str, ...] = (".claude",)
142
124
  _CODEX_CONFIG_DIR = ".codex"
143
125
 
144
126
  _SEED_EXAMPLE = (
145
127
  "Fill with {\"file\": \"<path>\", \"reason\": \"<why>\"}. "
146
128
  "Put spec/research files only — no code paths. "
147
- "Run `python3 .trellis/scripts/get_context.py --mode packages` to list available specs. "
129
+ "Run `python .trellis/scripts/get_context.py --mode packages` to list available specs. "
148
130
  "Delete this line once real entries are added."
149
131
  )
150
132
 
@@ -428,8 +410,6 @@ def cmd_create(args: argparse.Namespace) -> int:
428
410
 
429
411
  # Seed implement.jsonl / check.jsonl for sub-agent-capable platforms.
430
412
  # Agent curates real entries during planning when the task needs them.
431
- # Agent-less platforms (Kilo / Antigravity / Devin) skip this — they
432
- # load specs via the trellis-before-dev skill instead of JSONL.
433
413
  seeded_jsonl = False
434
414
  if _has_subagent_platform(repo_root):
435
415
  for jsonl_name in ("implement.jsonl", "check.jsonl"):
@@ -871,7 +851,7 @@ def cmd_set_branch(args: argparse.Namespace) -> int:
871
851
 
872
852
  if not branch:
873
853
  print(colored("Error: Missing arguments", Colors.RED))
874
- print("Usage: python3 task.py set-branch <task-dir> <branch-name>")
854
+ print("Usage: python task.py set-branch <task-dir> <branch-name>")
875
855
  return 1
876
856
 
877
857
  if not target_dir:
@@ -908,8 +888,8 @@ def cmd_set_base_branch(args: argparse.Namespace) -> int:
908
888
 
909
889
  if not base_branch:
910
890
  print(colored("Error: Missing arguments", Colors.RED))
911
- print("Usage: python3 task.py set-base-branch <task-dir> <base-branch>")
912
- print("Example: python3 task.py set-base-branch <dir> develop")
891
+ print("Usage: python task.py set-base-branch <task-dir> <base-branch>")
892
+ print("Example: python task.py set-base-branch <dir> develop")
913
893
  print()
914
894
  print("This sets the target branch for PR (the branch your feature will merge into).")
915
895
  return 1
@@ -949,7 +929,7 @@ def cmd_set_scope(args: argparse.Namespace) -> int:
949
929
 
950
930
  if not scope:
951
931
  print(colored("Error: Missing arguments", Colors.RED))
952
- print("Usage: python3 task.py set-scope <task-dir> <scope>")
932
+ print("Usage: python task.py set-scope <task-dir> <scope>")
953
933
  return 1
954
934
 
955
935
  if not target_dir:
@@ -987,7 +967,7 @@ def cmd_set_meta(args: argparse.Namespace) -> int:
987
967
 
988
968
  if not key:
989
969
  print(colored("Error: Missing arguments", Colors.RED))
990
- print("Usage: python3 task.py set-meta <task-dir> <key> <value>")
970
+ print("Usage: python task.py set-meta <task-dir> <key> <value>")
991
971
  return 1
992
972
 
993
973
  if not target_dir:
@@ -8,9 +8,9 @@ platform-specific blocks.
8
8
 
9
9
  Platform marker syntax in workflow.md:
10
10
 
11
- [Claude Code, Cursor, ...]
11
+ [Claude Code, ...]
12
12
  agent-capable content
13
- [/Claude Code, Cursor, ...]
13
+ [/Claude Code, ...]
14
14
 
15
15
  Provides:
16
16
  get_phase_index - Extract the Phase Index section (no --step)
@@ -133,7 +133,7 @@ def get_step(step_id: str) -> str:
133
133
 
134
134
 
135
135
  def _platform_matches(platform: str, block_names: list[str]) -> bool:
136
- """Case-insensitive fuzzy match: accept 'cursor', 'Cursor', 'claude-code', 'Claude Code'."""
136
+ """Case-insensitive fuzzy match: accept 'codex', 'Codex', 'claude-code', 'Claude Code'."""
137
137
  needle = platform.lower().replace("-", "").replace("_", "").replace(" ", "")
138
138
  for name in block_names:
139
139
  hay = name.lower().replace("-", "").replace("_", "").replace(" ", "")
@@ -155,9 +155,6 @@ _PLATFORM_MARKER_LABELS: dict[str, str] = {
155
155
  # registry id keeps a non-empty routing section, so a missing entry fails
156
156
  # there rather than silently blanking that platform's routing.
157
157
  "claude": "Claude Code",
158
- "kimi": "Kimi Code",
159
- "omp": "Oh My Pi",
160
- "dsh": "DeepSeek Harness",
161
158
  }
162
159
 
163
160
 
@@ -168,8 +165,7 @@ def resolve_effective_platform(platform: str, config: dict) -> str:
168
165
  default or ``"codex-inline"`` when explicitly configured in
169
166
  ``.trellis/config.yaml``. ``sub-agent`` remains an alias for ``auto``.
170
167
  ``filter_platform`` then surfaces blocks whose marker lists include the
171
- namespaced name (e.g. ``[codex-sub-agent, ...]`` or ``[codex-inline, Kilo,
172
- Antigravity, Devin]``).
168
+ namespaced name (e.g. ``[codex-sub-agent, ...]`` or ``[codex-inline]``).
173
169
 
174
170
  Native Codex context injection supports the ``auto`` default. Invalid
175
171
  explicit values fall back to ``inline`` safely; this renderer deliberately
@@ -3,8 +3,8 @@
3
3
  Get Session Context for AI Agent.
4
4
 
5
5
  Usage:
6
- python3 get_context.py Output context in text format
7
- python3 get_context.py --json Output context in JSON format
6
+ python get_context.py Output context in text format
7
+ python get_context.py --json Output context in JSON format
8
8
  """
9
9
 
10
10
  from __future__ import annotations
@@ -3,7 +3,7 @@
3
3
  Initialize developer for workflow.
4
4
 
5
5
  Usage:
6
- python3 init_developer.py <developer-name>
6
+ python init_developer.py <developer-name>
7
7
 
8
8
  This creates:
9
9
  - .trellis/.developer file with developer info
@@ -4,23 +4,23 @@
4
4
  Task Management Script.
5
5
 
6
6
  Usage:
7
- python3 task.py create "<title>" [--slug <name>] [--assignee <dev>] [--priority P0|P1|P2|P3] [--parent <dir>] [--package <pkg>] [--no-start]
8
- python3 task.py add-context <dir> <file> <path> [reason] # Add jsonl entry
9
- python3 task.py validate <dir> # Validate jsonl files
10
- python3 task.py list-context <dir> # List jsonl entries
11
- python3 task.py start <dir> # Set active task
12
- python3 task.py current [--source] [--json] # Show active task
13
- python3 task.py finish # Clear active task
14
- python3 task.py workflow <id>|--clear # Set/clear per-task workflow selection
15
- python3 task.py set-branch <dir> <branch> # Set git branch
16
- python3 task.py set-base-branch <dir> <branch> # Set PR target branch
17
- python3 task.py set-scope <dir> <scope> # Set scope for PR title
18
- python3 task.py set-meta <dir> <key> <value> # Set a task metadata key
19
- python3 task.py archive <task-dir> # Archive completed task
20
- python3 task.py list # List active tasks
21
- python3 task.py list-archive [month] # List archived tasks
22
- python3 task.py add-subtask <parent-dir> <child-dir> # Link child to parent
23
- python3 task.py remove-subtask <parent-dir> <child-dir> # Unlink child from parent
7
+ python task.py create "<title>" [--slug <name>] [--assignee <dev>] [--priority P0|P1|P2|P3] [--parent <dir>] [--package <pkg>] [--no-start]
8
+ python task.py add-context <dir> <file> <path> [reason] # Add jsonl entry
9
+ python task.py validate <dir> # Validate jsonl files
10
+ python task.py list-context <dir> # List jsonl entries
11
+ python task.py start <dir> # Set active task
12
+ python task.py current [--source] [--json] # Show active task
13
+ python task.py finish # Clear active task
14
+ python task.py workflow <id>|--clear # Set/clear per-task workflow selection
15
+ python task.py set-branch <dir> <branch> # Set git branch
16
+ python task.py set-base-branch <dir> <branch> # Set PR target branch
17
+ python task.py set-scope <dir> <scope> # Set scope for PR title
18
+ python task.py set-meta <dir> <key> <value> # Set a task metadata key
19
+ python task.py archive <task-dir> # Archive completed task
20
+ python task.py list # List active tasks
21
+ python task.py list-archive [month] # List archived tasks
22
+ python task.py add-subtask <parent-dir> <child-dir> # Link child to parent
23
+ python task.py remove-subtask <parent-dir> <child-dir> # Unlink child from parent
24
24
  """
25
25
 
26
26
  from __future__ import annotations
@@ -41,6 +41,7 @@ from common.paths import (
41
41
  )
42
42
  from common.active_task import (
43
43
  clear_active_task,
44
+ mark_session_engaged,
44
45
  resolve_active_task,
45
46
  resolve_context_key,
46
47
  set_active_task,
@@ -69,9 +70,36 @@ from common.task_context import (
69
70
 
70
71
 
71
72
  # =============================================================================
72
- # Command: start / finish
73
+ # Command: engage / start / finish
73
74
  # =============================================================================
74
75
 
76
+ def cmd_engage(args: argparse.Namespace) -> int:
77
+ """Opt this session into the Trellis workflow."""
78
+ repo_root = get_repo_root()
79
+ context_key = mark_session_engaged(repo_root)
80
+
81
+ if context_key:
82
+ print(colored(f"✓ Trellis engaged for this session: {context_key}", Colors.GREEN))
83
+ return 0
84
+
85
+ # Unlike `start`, engage has no useful degraded mode: without a persisted
86
+ # flag both context-injection hooks stay silent for the whole session, so
87
+ # every later phase would run without the per-turn breadcrumb that enforces
88
+ # the planning and commit gates. Fail loudly instead of half-working.
89
+ print(colored("Error: cannot engage — no session identity available", Colors.RED))
90
+ print(colored(
91
+ "The engaged flag is keyed by session, so without an identity the "
92
+ "context-injection hooks cannot tell this session opted in.",
93
+ Colors.YELLOW,
94
+ ))
95
+ print(colored(
96
+ "Hint: run inside an AI session whose hooks are active, or set "
97
+ "TRELLIS_CONTEXT_ID before running task.py engage.",
98
+ Colors.YELLOW,
99
+ ))
100
+ return 1
101
+
102
+
75
103
  def cmd_start(args: argparse.Namespace) -> int:
76
104
  """Set active task."""
77
105
  repo_root = get_repo_root()
@@ -229,7 +257,7 @@ def cmd_workflow(args: argparse.Namespace) -> int:
229
257
  return 1
230
258
  if not args.clear and not args.id:
231
259
  print(colored("Error: workflow id required (or --clear)", Colors.RED))
232
- print("Usage: python3 task.py workflow <id> | --clear")
260
+ print("Usage: python task.py workflow <id> | --clear")
233
261
  return 1
234
262
 
235
263
  active = resolve_active_task(repo_root)
@@ -456,28 +484,29 @@ def show_usage() -> None:
456
484
  print("""Task Management Script
457
485
 
458
486
  Usage:
459
- python3 task.py create <title> Create new task directory
460
- python3 task.py create <title> --package <pkg> Create task for a specific package
461
- python3 task.py create <title> --parent <dir> Create task as child of parent
462
- python3 task.py create <title> --no-start Create without making it active in this session
463
- python3 task.py create <title> --workflow <id> Create task pinned to a workflow variant
464
- python3 task.py add-context <dir> <jsonl> <path> [reason] Add entry to jsonl
465
- python3 task.py validate <dir> Validate jsonl files
466
- python3 task.py list-context <dir> List jsonl entries
467
- python3 task.py start <dir> Set active task
468
- python3 task.py current [--source] Show active task
469
- python3 task.py finish Clear active task
470
- python3 task.py workflow <id> Select workflow variant for active task
471
- python3 task.py workflow --clear Clear selection (use default resolution)
472
- python3 task.py set-branch <dir> <branch> Set git branch
473
- python3 task.py set-base-branch <dir> <branch> Set PR target branch
474
- python3 task.py set-scope <dir> <scope> Set scope for PR title
475
- python3 task.py set-meta <dir> <key> <value> Set/overwrite a task metadata key
476
- python3 task.py archive <task-dir> Archive completed task
477
- python3 task.py add-subtask <parent> <child> Link child task to parent
478
- python3 task.py remove-subtask <parent> <child> Unlink child from parent
479
- python3 task.py list [--mine] [--status <status>] [--json] List tasks
480
- python3 task.py list-archive [YYYY-MM] List archived tasks
487
+ python task.py create <title> Create new task directory
488
+ python task.py create <title> --package <pkg> Create task for a specific package
489
+ python task.py create <title> --parent <dir> Create task as child of parent
490
+ python task.py create <title> --no-start Create without making it active in this session
491
+ python task.py create <title> --workflow <id> Create task pinned to a workflow variant
492
+ python task.py add-context <dir> <jsonl> <path> [reason] Add entry to jsonl
493
+ python task.py validate <dir> Validate jsonl files
494
+ python task.py list-context <dir> List jsonl entries
495
+ python task.py engage Opt this session into the Trellis workflow
496
+ python task.py start <dir> Set active task
497
+ python task.py current [--source] Show active task
498
+ python task.py finish Clear active task
499
+ python task.py workflow <id> Select workflow variant for active task
500
+ python task.py workflow --clear Clear selection (use default resolution)
501
+ python task.py set-branch <dir> <branch> Set git branch
502
+ python task.py set-base-branch <dir> <branch> Set PR target branch
503
+ python task.py set-scope <dir> <scope> Set scope for PR title
504
+ python task.py set-meta <dir> <key> <value> Set/overwrite a task metadata key
505
+ python task.py archive <task-dir> Archive completed task
506
+ python task.py add-subtask <parent> <child> Link child task to parent
507
+ python task.py remove-subtask <parent> <child> Unlink child from parent
508
+ python task.py list [--mine] [--status <status>] [--json] List tasks
509
+ python task.py list-archive [YYYY-MM] List archived tasks
481
510
 
482
511
  Monorepo options:
483
512
  --package <pkg> Package name (validated against config.yaml packages)
@@ -488,21 +517,21 @@ List options:
488
517
  --json Output machine-readable JSON (also available on `current`)
489
518
 
490
519
  Examples:
491
- python3 task.py create "Add login feature" --slug add-login
492
- python3 task.py create "Add login feature" --slug add-login --package cli
493
- python3 task.py create "Add login feature" --meta linear=ENG-123 --meta epic=auth
494
- python3 task.py create "Child task" --slug child --parent .trellis/tasks/01-21-parent
495
- python3 task.py add-context <dir> implement .trellis/spec/cli/backend/auth.md "Auth guidelines"
496
- python3 task.py set-branch <dir> task/add-login
497
- python3 task.py start .trellis/tasks/01-21-add-login
498
- python3 task.py current --source
499
- python3 task.py finish
500
- python3 task.py archive add-login
501
- python3 task.py add-subtask parent-task child-task # Link existing tasks
502
- python3 task.py remove-subtask parent-task child-task
503
- python3 task.py list # List all active tasks
504
- python3 task.py list --mine # List my tasks only
505
- python3 task.py list --mine --status in_progress # List my in-progress tasks
520
+ python task.py create "Add login feature" --slug add-login
521
+ python task.py create "Add login feature" --slug add-login --package cli
522
+ python task.py create "Add login feature" --meta linear=ENG-123 --meta epic=auth
523
+ python task.py create "Child task" --slug child --parent .trellis/tasks/01-21-parent
524
+ python task.py add-context <dir> implement .trellis/spec/cli/backend/auth.md "Auth guidelines"
525
+ python task.py set-branch <dir> task/add-login
526
+ python task.py start .trellis/tasks/01-21-add-login
527
+ python task.py current --source
528
+ python task.py finish
529
+ python task.py archive add-login
530
+ python task.py add-subtask parent-task child-task # Link existing tasks
531
+ python task.py remove-subtask parent-task child-task
532
+ python task.py list # List all active tasks
533
+ python task.py list --mine # List my tasks only
534
+ python task.py list --mine --status in_progress # List my in-progress tasks
506
535
  """)
507
536
 
508
537
 
@@ -533,7 +562,7 @@ def main() -> int:
533
562
  )
534
563
  print("See .trellis/workflow.md planning artifact guidance or run:", file=sys.stderr)
535
564
  print(
536
- " python3 ./.trellis/scripts/get_context.py --mode phase --step 1",
565
+ " python ./.trellis/scripts/get_context.py --mode phase --step 1",
537
566
  file=sys.stderr,
538
567
  )
539
568
  print(
@@ -591,6 +620,9 @@ def main() -> int:
591
620
  p_listctx = subparsers.add_parser("list-context", help="List context entries")
592
621
  p_listctx.add_argument("dir", help="Task directory")
593
622
 
623
+ # engage
624
+ subparsers.add_parser("engage", help="Opt this session into the Trellis workflow")
625
+
594
626
  # start
595
627
  p_start = subparsers.add_parser("start", help="Set active task")
596
628
  p_start.add_argument("dir", help="Task directory")
@@ -668,6 +700,7 @@ def main() -> int:
668
700
  "add-context": cmd_add_context,
669
701
  "validate": cmd_validate,
670
702
  "list-context": cmd_list_context,
703
+ "engage": cmd_engage,
671
704
  "start": cmd_start,
672
705
  "current": cmd_current,
673
706
  "finish": cmd_finish,