@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
@@ -7,15 +7,15 @@ description: "Understand and customize the local Trellis architecture inside a u
7
7
 
8
8
  This skill is for local Trellis users who have already run `trellis init` in a project. After reading it, an AI should understand the Trellis architecture, operating model, and customization entry points inside that user project, then modify the generated `.trellis/` and platform directory files according to the user's request.
9
9
 
10
- Trellis v0.6 adds three architectural surfaces on top of the pre-v0.6 workflow / persistence / platform model. First, a multi-agent collaboration runtime: `trellis channel` coordinates multiple AI worker processes through project-scoped JSONL event logs at `~/.trellis/channels/<project>/<channel>/events.jsonl`, with worker OOM guard, forum/thread channels, durable idempotency keys, and bundled `.trellis/agents/{check,implement}.md` runtime definitions. Second, cross-session memory: `trellis mem list | search | context | extract | projects` reads raw Claude Code, Codex, and Pi Agent JSONL already on disk, slices by `--phase brainstorm|implement|all`, and never uploads anything. Third, a dual-package npm release: `@blulotus/trellis` (CLI) and `@blulotus/trellis-core` (SDK with `/channel`, `/task`, `/mem`, `/testing` subpaths) ship in lockstep on one version. Treat these as first-class customization surfaces alongside the per-platform integration files.
10
+ Trellis v0.6 adds three architectural surfaces on top of the pre-v0.6 workflow / persistence / platform model. First, a multi-agent collaboration runtime: `trellis channel` coordinates multiple AI worker processes through project-scoped JSONL event logs at `~/.trellis/channels/<project>/<channel>/events.jsonl`, with worker OOM guard, forum/thread channels, durable idempotency keys, and bundled `.trellis/agents/{check,implement}.md` runtime definitions. Second, cross-session memory: `trellis mem list | search | context | extract | projects` reads raw Claude Code and Codex JSONL already on disk, slices by `--phase brainstorm|implement|all`, and never uploads anything. Third, a dual-package npm release: `@blulotus/trellis` (CLI) and `@blulotus/trellis-core` (SDK with `/channel`, `/task`, `/mem`, `/testing` subpaths) ship in lockstep on one version. Treat these as first-class customization surfaces alongside the per-platform integration files.
11
11
 
12
12
  The default operating scope is local files in the user project:
13
13
 
14
14
  - `.trellis/`: workflow, config, tasks, spec, workspace, scripts, bundled runtime agents, and runtime state.
15
- - Platform directories: `.claude/`, `.codex/`, `.cursor/`, `.opencode/`, `.kiro/`, `.gemini/`, `.qoder/`, `.codebuddy/`, `.github/`, `.factory/`, `.pi/`, `.reasonix/`, `.kilocode/`, `.agent/`, `.devin/`, `.kimi-code/`, `.dsh/`, and similar directories. Pi additionally exposes a native `trellis_subagent` tool with `single` / `parallel` / `chain` dispatch modes, throttled progress cards, and `isTrellisAgent()` validation on top of the file layout. Reasonix stores both workflow skills and subagent skills as `.reasonix/skills/<name>/SKILL.md`; subagent skills carry `runAs: subagent` frontmatter. Kimi Code keeps workflow skills in the shared `.agents/skills/` layer and delivers commands plus agent prompts as `.kimi-code/skills/<name>/SKILL.md`. DeepSeek Harness keeps shared workflow skills under `.agents/skills/` and DSH-private commands plus `trellis-agent-*` role skills under `.dsh/skills/`; with the optional `dsh-trellis` plugin its continuable subagents use event-driven settlement waits, otherwise required children are dispatched in the foreground from the start.
15
+ - Platform directories: `.claude/` and `.codex/`. Claude Code is hook-driven end to end (SessionStart / UserPromptSubmit / PreToolUse / PostToolUse); Codex injects context through `.codex/hooks.json` (SessionStart / UserPromptSubmit / SubagentStart / PreToolUse) once hooks are enabled at the user level, with a child-side pull fallback in its agent prompts.
16
16
  - Shared skill layer: `.agents/skills/`.
17
17
  - User-owned channel store outside the project tree: `~/.trellis/channels/<project>/<channel>/events.jsonl`.
18
- - Raw platform conversation logs queryable via `trellis mem`: `~/.claude/projects/`, `~/.codex/sessions/`, and `~/.pi/agent/sessions/` (OpenCode adapter degraded for the v0.6 line).
18
+ - Raw platform conversation logs queryable via `trellis mem`: `~/.claude/projects/` and `~/.codex/sessions/`.
19
19
 
20
20
  Do not assume the user has the Trellis source repository. Do not default to modifying the global npm install directory or `node_modules` — both `@blulotus/trellis` and `@blulotus/trellis-core` ship as published packages sharing one version and one git tag per release.
21
21
 
@@ -44,7 +44,7 @@ Do not assume the user has the Trellis source repository. Do not default to modi
44
44
  ### Platform Files
45
45
 
46
46
  - `references/platform-files/overview.md`: How shared `.trellis/` files relate to platform directories and the four platform integration modes (hook-driven, agent prelude, main-session workflow, channel runtime).
47
- - `references/platform-files/platform-map.md`: Platform directories and paths for skills, agents, hooks, and extensions across all supported platforms including DeepSeek Harness, Reasonix, and Pi's native `trellis_subagent` extension.
47
+ - `references/platform-files/platform-map.md`: Platform directories and paths for skills, agents, and hooks on each supported platform.
48
48
  - `references/platform-files/hooks-and-settings.md`: How settings/config files, hooks, plugins, and extensions connect to Trellis; covers `channel.worker_guard.*` and `codex.dispatch_mode`.
49
49
  - `references/platform-files/agents.md`: Per-platform `trellis-research` / `trellis-implement` / `trellis-check` sub-agent files plus bundled `.trellis/agents/{check,implement}.md` for the channel runtime.
50
50
  - `references/platform-files/skills-and-commands.md`: Differences between skills, commands, prompts, and workflows, plus how to change them.
@@ -71,7 +71,7 @@ Do not assume the user has the Trellis source repository. Do not default to modi
71
71
  - `.trellis/agents/{check,implement}.md` are bundled, platform-agnostic channel runtime agent definitions loaded by `trellis channel spawn --agent <name>`. Editable; `trellis update` backfills missing ones. Editing the per-platform `trellis-implement.md` / `trellis-check.md` does **not** change channel-runtime worker behavior.
72
72
  - `~/.trellis/channels/<project>/<channel>/events.jsonl` is the channel runtime event log per project per channel. User-owned, file-locked sequence numbering, durable `idempotencyKey` support; never under `.trellis/`.
73
73
  - Bundled multi-file skills (`trellis-meta`, `trellis-spec-bootstrap`, `trellis-session-insight`, `trellis-channel`) are auto-dispatched to every platform skill root by `getBundledSkillTemplates()` in `packages/cli/src/templates/common/index.ts`. Dropping a new directory under `packages/cli/src/templates/common/bundled-skills/` (upstream) ships it to every platform on the next `trellis update`.
74
- - Platform settings/config files decide which hooks, agents, skills, commands, prompts, and workflows actually run. Reasonix has no settings file — behavior is encoded inside skill frontmatter.
74
+ - Platform settings/config files decide which hooks, agents, skills, commands, prompts, and workflows actually run.
75
75
  - `.trellis/.template-hashes.json` and `.trellis/.runtime/` are management/runtime state files. Confirm necessity before editing them.
76
76
 
77
77
  ## Do Not
@@ -15,17 +15,7 @@ When the user wants to change `trellis-research`, `trellis-implement`, or `trell
15
15
  | Platform | Path |
16
16
  | --- | --- |
17
17
  | Claude Code | `.claude/agents/trellis-*.md` |
18
- | Cursor | `.cursor/agents/trellis-*.md` |
19
- | OpenCode | `.opencode/agents/trellis-*.md` |
20
18
  | Codex | `.codex/agents/trellis-*.toml` |
21
- | Kiro | `.kiro/agents/trellis-*.json` |
22
- | Gemini CLI | `.gemini/agents/trellis-*.md` |
23
- | Qoder | `.qoder/agents/trellis-*.md` |
24
- | CodeBuddy | `.codebuddy/agents/trellis-*.md` |
25
- | Factory Droid | `.factory/droids/trellis-*.md` |
26
- | Pi Agent | `.pi/agents/trellis-*.md` |
27
- | Reasonix | `.reasonix/skills/trellis-*/SKILL.md` (subagent frontmatter) |
28
- | ZCode | `.zcode/agents/trellis-*.md` |
29
19
 
30
20
  Use the actual paths in the user project as authoritative.
31
21
 
@@ -4,7 +4,7 @@ Hooks are the automation layer that connects a platform to Trellis. When the use
4
4
 
5
5
  ## Read These Files First
6
6
 
7
- 1. Target platform settings/config, such as `.claude/settings.json`, `.codex/hooks.json`, `.cursor/hooks.json`, `.trae/hooks.json`
7
+ 1. Target platform settings/config, such as `.claude/settings.json`, `.codex/hooks.json`
8
8
  2. Target platform hooks directory
9
9
  3. `.trellis/scripts/common/active_task.py`
10
10
  4. `.trellis/scripts/common/session_context.py`
@@ -78,19 +78,7 @@ If a command only repeats workflow rules, prefer making it reference/read `.trel
78
78
  | Platform | Entry directories |
79
79
  | --- | --- |
80
80
  | Claude Code | `.claude/skills/`, `.claude/commands/` |
81
- | Cursor | `.cursor/skills/`, `.cursor/commands/` |
82
- | OpenCode | `.opencode/skills/`, `.opencode/commands/` |
83
81
  | Codex | `.agents/skills/`, `.codex/skills/` |
84
- | Gemini CLI | `.agents/skills/`, `.gemini/commands/` |
85
- | Kiro | `.kiro/skills/` |
86
- | Qoder | `.qoder/skills/`, `.qoder/commands/` |
87
- | CodeBuddy | `.codebuddy/skills/`, `.codebuddy/commands/` |
88
- | GitHub Copilot | `.github/skills/`, `.github/prompts/` |
89
- | Factory Droid | `.factory/skills/`, `.factory/commands/` |
90
- | Pi Agent | `.agents/skills/` |
91
- | Reasonix | `.reasonix/skills/` (no separate commands dir; slash commands built into the platform) |
92
- | ZCode | `.zcode/skills/`, `.zcode/commands/` |
93
- | Kilo / Antigravity / Devin | workflows + skills |
94
82
 
95
83
  Every directory above is a deploy target for the four bundled skills. Each platform receives a full copy on `trellis init` and refresh on `trellis update`; nothing has to be wired by hand.
96
84
 
@@ -103,7 +91,7 @@ If the user wants to document team-private customizations, create a project-loca
103
91
  └── SKILL.md
104
92
  ```
105
93
 
106
- For multi-platform projects, add equivalent versions in each platform skill directory, or use `.agents/skills/` on platforms that support the shared layer (Codex, Gemini CLI).
94
+ For multi-platform projects, add equivalent versions in each platform skill directory, or use the shared `.agents/skills/` layer that Codex reads.
107
95
 
108
96
  Pick a name that does **not** collide with the bundled set:
109
97
 
@@ -17,7 +17,7 @@ This directory is for local AI working in a user project where Trellis was insta
17
17
 
18
18
  ## General Operation Order
19
19
 
20
- 1. **Confirm platform and directories**: inspect which directories exist, such as `.claude/`, `.codex/`, `.cursor/`, `.zcode/`.
20
+ 1. **Confirm platform and directories**: inspect which directories exist, such as `.claude/`, `.codex/`, `.agents/skills/`.
21
21
  2. **Confirm the current active task**: run `python3 ./.trellis/scripts/task.py current --source`.
22
22
  3. **Read the local source of truth**: prefer `.trellis/workflow.md`, `.trellis/config.yaml`, and relevant platform files.
23
23
  4. **Modify narrowly**: edit only files related to the user's request.
@@ -32,7 +32,7 @@ This directory is for local AI working in a user project where Trellis was insta
32
32
  | Task material | `.trellis/tasks/<task>/` |
33
33
  | Project specs | `.trellis/spec/` |
34
34
  | Runtime scripts | `.trellis/scripts/` |
35
- | Platform integration | `.claude/`, `.codex/`, `.cursor/`, `.opencode/`, `.zcode/`, and similar directories |
35
+ | Platform integration | `.claude/`, `.codex/`, `.agents/skills/` |
36
36
  | Shared skill | `.agents/skills/` |
37
37
 
38
38
  ## Things Not To Do By Default
@@ -10,7 +10,7 @@ A bundled skill is a directory under `packages/cli/src/templates/common/bundled-
10
10
  | --- | --- | --- |
11
11
  | `templates/common/bundled-skills/<name>/` | Bundled skill (multi-file) | Whole directory copied to every platform skill root |
12
12
  | `templates/common/skills/<name>.md` | Single-file workflow skill | Wrapped with frontmatter, written as `<root>/<name>/SKILL.md` |
13
- | `templates/common/commands/<name>.md` | Slash command / prompt | Written to each platform's command directory (`.claude/commands/trellis/`, `.cursor/commands/trellis-*.md`, `.gemini/commands/trellis/*.toml`, etc.) |
13
+ | `templates/common/commands/<name>.md` | Slash command / prompt | Written to each platform's command directory (`.claude/commands/trellis/`, `.agents/skills/trellis-*/SKILL.md` for Codex) |
14
14
  | `templates/<platform>/skills/` | Platform-specific skill | Written only into that platform's directory (e.g. `.codex/skills/`) |
15
15
  | User skills under `.claude/skills/<my-skill>/` etc. | Marketplace or user-authored | Not managed by Trellis at all |
16
16
 
@@ -23,7 +23,7 @@ The set is discovered at runtime by listing directories under `templates/common/
23
23
  | Skill | Purpose |
24
24
  | --- | --- |
25
25
  | `trellis-meta` | This skill. Explains the local Trellis architecture and customization entry points to an AI working inside a user project. |
26
- | `trellis-session-insight` | Wraps the `trellis mem` CLI so an AI knows when and how to reach into past Claude Code / Codex / Pi Agent conversation logs. |
26
+ | `trellis-session-insight` | Wraps the `trellis mem` CLI so an AI knows when and how to reach into past Claude Code / Codex conversation logs. |
27
27
  | `trellis-spec-bootstrap` | Platform-neutral workflow for creating or refreshing `.trellis/spec/` from the real codebase (with optional GitNexus / ABCoder integration). |
28
28
  | `trellis-channel` | Capability skill teaching an AI when to reach for `trellis channel` for multi-agent collaboration, forum/thread persistent boards, and dispatcher-wait patterns. |
29
29
 
@@ -33,37 +33,18 @@ The list is discovered at runtime, so adding a new directory under `bundled-skil
33
33
 
34
34
  A platform's whole file set — commands, workflow skills, agents, hooks, bundled skills — is described exactly once, by `collect<Platform>Templates()` in `packages/cli/src/configurators/<platform>.ts`. For bundled skills that description is two calls: `resolveBundledSkills(ctx)` reads every directory under `templates/common/bundled-skills/`, resolves placeholders, and returns a flat list of `{relativePath, content}` entries; `collectSkillTemplates(<skillsRoot>, <workflowSkills>, <bundledSkills>)` folds them into the platform's `Map<filePath, content>` under `<skillsRoot>/<skill>/<relativePath>`.
35
35
 
36
- All 21 platforms receive the full bundled-skill set:
36
+ Both platforms receive the full bundled-skill set:
37
37
 
38
38
  | Platform | Bundled skill root |
39
39
  | --- | --- |
40
40
  | Claude Code | `.claude/skills/<skill>/` |
41
- | Cursor | `.cursor/skills/<skill>/` |
42
- | OpenCode | `.opencode/skills/<skill>/` |
43
41
  | Codex | `.agents/skills/<skill>/` |
44
- | Gemini CLI | `.agents/skills/<skill>/` |
45
- | Pi | `.agents/skills/<skill>/` |
46
- | Kimi | `.agents/skills/<skill>/` |
47
- | Kilo | `.kilocode/skills/<skill>/` |
48
- | Kiro | `.kiro/skills/<skill>/` |
49
- | Antigravity | `.agent/skills/<skill>/` |
50
- | Devin | `.devin/skills/<skill>/` |
51
- | Qoder | `.qoder/skills/<skill>/` |
52
- | Codebuddy | `.codebuddy/skills/<skill>/` |
53
- | Copilot | `.github/skills/<skill>/` |
54
- | Droid | `.factory/skills/<skill>/` |
55
- | Reasonix | `.reasonix/skills/<skill>/` |
56
- | ZCode | `.zcode/skills/<skill>/` |
57
- | Trae | `.trae/skills/<skill>/` |
58
- | OMP | `.omp/skills/<skill>/` |
59
- | Grok | `.grok/skills/<skill>/` |
60
- | Snow | `.snow/skills/<skill>/` |
61
-
62
- Codex, Gemini CLI, Pi and Kimi share the `.agents/skills/` root (the upstream Agent Skills workspace alias). Their collectors are required to emit byte-identical content for every file more than one of them writes there.
42
+
43
+ Codex writes into the shared `.agents/skills/` root (the upstream Agent Skills workspace alias), so its content must stay byte-identical to what any other writer of that root would emit.
63
44
 
64
45
  One description, two consumers:
65
46
 
66
- 1. `trellis init` → `configurePlatform(platformId, cwd)` → `writeTemplateMap(cwd, collect<Platform>Templates())`. For 18 of the 21 platforms the registry entry in `configurators/index.ts` is literally `fromTemplates(collect<Platform>Templates)`, which *is* that composition. Claude Code, Codex and ZCode spell out a `configure` of their own, each for work a `Map<path, content>` cannot express (an opt-in `--with-statusline` flag, an intentionally empty `.codex/skills/` directory, a one-shot console notice) — none of them restates the file list.
47
+ 1. `trellis init` → `configurePlatform(platformId, cwd)` → `writeTemplateMap(cwd, collect<Platform>Templates())`. A platform whose configuration is exactly "write these files" registers as `fromTemplates(collect<Platform>Templates)` in `configurators/index.ts`, which *is* that composition. Claude Code and Codex spell out a `configure` of their own, each for work a `Map<path, content>` cannot express (an opt-in `--with-statusline` flag, an intentionally empty `.codex/skills/` directory) — neither restates the file list.
67
48
  2. `trellis update` → `collectPlatformTemplates(platformId)` (in `configurators/index.ts`) → the same map, used to detect drift and to populate `.trellis/.template-hashes.json`.
68
49
 
69
50
  Because both consumers read the one description, init and update cannot disagree about which files a bundled skill produces.
@@ -82,7 +63,7 @@ The mechanism that auto-dispatches bundled skills to platform skill roots lives
82
63
  - `collectSkillTemplates(skillsRoot, workflowSkills, bundledSkills)` returns workflow skills and bundled skill files together as a `Map<filePath, content>` rooted at `skillsRoot`.
83
64
  - `writeTemplateMap(cwd, files)` is the single writer that puts a collected map on disk.
84
65
 
85
- Every platform that supports skills reaches those two helpers from its own `collect<Platform>Templates()` — either directly (`claude.ts`, `codex.ts`, `copilot.ts`, `gemini.ts`, `grok.ts`, `kimi.ts`, `kiro.ts`, `omp.ts`, `opencode.ts`, `pi.ts`, `reasonix.ts`, `snow.ts`, `zcode.ts`) or through `collectBothTemplates(ctx, cmdPath, skillRoot)` in `shared.ts`, which makes the same two calls on behalf of platforms that have both a commands directory and a skills root (`antigravity.ts`, `codebuddy.ts`, `cursor.ts`, `devin.ts`, `droid.ts`, `kilo.ts`, `qoder.ts`, `trae.ts`).
66
+ Every platform that supports skills reaches those two helpers from its own `collect<Platform>Templates()` — directly in `claude.ts` and `codex.ts`, or through `collectBothTemplates(ctx, cmdPath, skillRoot)` in `shared.ts`, which makes the same two calls on behalf of a platform that has both a commands directory and a skills root.
86
67
 
87
68
  ## Adding a New Bundled Skill
88
69
 
@@ -118,7 +99,7 @@ The shape and dispatch wiring are already generic, so adding a skill requires on
118
99
  - Source files exist on the branch being tagged.
119
100
  - `pnpm --filter @blulotus/trellis build` copies the asset into `dist/templates/common/bundled-skills/<skill>/`.
120
101
  - `npm pack --dry-run --json` includes the expected `dist/**` paths.
121
- - In a fresh temp project, `trellis init` writes `.claude/skills/<skill>/SKILL.md`, `.agents/skills/<skill>/SKILL.md`, `.zcode/skills/<skill>/SKILL.md`, etc.
102
+ - In a fresh temp project, `trellis init` writes `.claude/skills/<skill>/SKILL.md` and `.agents/skills/<skill>/SKILL.md`.
122
103
  - `.trellis/.template-hashes.json` lists the generated files.
123
104
  - `trellis update --dry-run` in that temp project reports "Already up to date!".
124
105
 
@@ -149,7 +130,7 @@ There is no per-project opt-out flag for bundled skills. Two options:
149
130
 
150
131
  2. **Pin a Trellis version that did not ship the skill.** The bundled-skill set is determined at build time, so installing an older release of the CLI is the only way to permanently exclude a skill that the current release ships.
151
132
 
152
- A third option — globally disabling all bundled skills — is not supported. The dispatch is unconditional: `collect<Platform>Templates()` takes no arguments, so there is nowhere for a flag to enter. Adding one would mean changing that signature across all 21 platforms plus `collectPlatformTemplates` in `configurators/index.ts`.
133
+ A third option — globally disabling all bundled skills — is not supported. The dispatch is unconditional: `collect<Platform>Templates()` takes no arguments, so there is nowhere for a flag to enter. Adding one would mean changing that signature across every platform collector plus `collectPlatformTemplates` in `configurators/index.ts`.
153
134
 
154
135
  ## Operating Rules
155
136
 
@@ -39,11 +39,11 @@ Different platforms generate different directories. Common categories:
39
39
 
40
40
  | Category | Example paths | Purpose |
41
41
  | --- | --- | --- |
42
- | hooks | `.claude/hooks/`, `.codex/hooks/`, `.cursor/hooks/` | Inject session context, workflow-state, and sub-agent context. |
43
- | settings | `.claude/settings.json`, `.codex/hooks.json`, `.qoder/settings.json`, `.trae/hooks.json` | Tell the platform when to run hooks or plugins. |
44
- | agents | `.claude/agents/`, `.codex/agents/`, `.kiro/agents/`, `.zcode/agents/` | Define agents such as `trellis-research`, `trellis-implement`, and `trellis-check`. |
45
- | skills | `.claude/skills/`, `.agents/skills/`, `.qoder/skills/`, `.zcode/skills/` | Skills that auto-trigger or can be read by AI. |
46
- | commands/prompts/workflows | `.cursor/commands/`, `.github/prompts/`, `.devin/workflows/`, `.zcode/commands/` | Explicit user-invoked command or workflow entry points. |
42
+ | hooks | `.claude/hooks/`, `.codex/hooks/` | Inject session context, workflow-state, and sub-agent context. |
43
+ | settings | `.claude/settings.json`, `.codex/hooks.json`, `.codex/config.toml` | Tell the platform when to run hooks or plugins. |
44
+ | agents | `.claude/agents/`, `.codex/agents/` | Define agents such as `trellis-research`, `trellis-implement`, and `trellis-check`. |
45
+ | skills | `.claude/skills/`, `.agents/skills/` | Skills that auto-trigger or can be read by AI. |
46
+ | commands/prompts/workflows | `.claude/commands/trellis/`, `.agents/skills/trellis-*/` | Explicit user-invoked command or workflow entry points. |
47
47
 
48
48
  When modifying a platform directory, also confirm whether `.trellis/workflow.md` still describes the same flow.
49
49
 
@@ -5,7 +5,7 @@
5
5
  Therefore, when an AI uses this skill, the default customization target is local files inside the user project:
6
6
 
7
7
  - `.trellis/`: workflow, tasks, specs, memory, scripts, and runtime state.
8
- - Platform directories: `.claude/`, `.codex/`, `.cursor/`, `.opencode/`, `.kiro/`, `.gemini/`, `.qoder/`, `.codebuddy/`, `.github/`, `.factory/`, `.pi/`, `.kilocode/`, `.agent/`, `.devin/`, `.reasonix/`, `.zcode/`, and similar directories.
8
+ - Platform directories: `.claude/`, `.codex/`, plus the shared `.agents/skills/` layer.
9
9
  - Shared skill layer: `.agents/skills/`.
10
10
 
11
11
  Do not default to guiding the user to fork the Trellis CLI repository. Treat upstream source code as the operating target only when the user explicitly says they want to change Trellis upstream source, publish an npm package, or contribute a PR.
@@ -23,23 +23,7 @@ Agent files should not become generic chat prompts. They should define input sou
23
23
  | Platform | Agent path |
24
24
  | --- | --- |
25
25
  | Claude Code | `.claude/agents/trellis-*.md` |
26
- | Cursor | `.cursor/agents/trellis-*.md` |
27
- | OpenCode | `.opencode/agents/trellis-*.md` |
28
26
  | Codex | `.codex/agents/trellis-*.toml` |
29
- | Kiro | `.kiro/agents/trellis-*.json` |
30
- | Gemini CLI | `.gemini/agents/trellis-*.md` |
31
- | Qoder | `.qoder/agents/trellis-*.md` |
32
- | CodeBuddy | `.codebuddy/agents/trellis-*.md` |
33
- | Factory Droid | `.factory/droids/trellis-*.md` |
34
- | Pi Agent | `.pi/agents/trellis-*.md` |
35
- | Reasonix | `.reasonix/skills/trellis-*/SKILL.md` (subagent frontmatter) |
36
- | ZCode | `.zcode/agents/trellis-*.md` |
37
- | Kimi Code | `.kimi-code/skills/trellis-*/SKILL.md` (agent prompts as skills, dispatched to the built-in `coder`; research needs its file-editing tools to persist findings) |
38
- | DeepSeek Harness | `.dsh/skills/trellis-agent-*/SKILL.md` (role prompts as child-only skills; optional `trellis_wait` enables continuable background settlement; without it, dispatch every child with `run_in_background: false` from the outset) |
39
-
40
- GitHub Copilot agent/prompt support is provided by a combination of directories such as `.github/agents/`, `.github/prompts/`, and `.github/skills/`; inspect the files actually generated in the user project.
41
-
42
- Main-session workflow platforms such as Kilo, Antigravity, and Devin may not have Trellis sub-agent files. They usually rely on workflows/skills to guide the main session.
43
27
 
44
28
  ## Two Context Loading Modes
45
29
 
@@ -77,7 +61,7 @@ This mode fits platforms whose hooks cannot reliably rewrite sub-agent prompts.
77
61
  1. **Keep responsibilities single-purpose**. Do not mix research, implement, and check responsibilities into one agent.
78
62
  2. **Specify the read order**. Agents must know to start from the active task, read jsonl/spec context, then read `prd.md`, `design.md` if present, and `implement.md` if present.
79
63
  3. **Specify write boundaries**. Research usually only writes `research/`; implement can write code; check can fix issues.
80
- 4. **Keep semantics synchronized in multi-platform projects**. If the user configured Claude, Codex, and Cursor together, decide whether changes to one platform's agent also need to be applied to others.
64
+ 4. **Keep semantics synchronized in multi-platform projects**. If the user configured Claude Code and Codex together, decide whether changes to one platform's agent also need to be applied to the other.
81
65
 
82
66
  ## Do Not Default To Editing Upstream Templates
83
67
 
@@ -17,19 +17,11 @@ Common files:
17
17
  | Platform | settings/config |
18
18
  | --- | --- |
19
19
  | Claude Code | `.claude/settings.json` |
20
- | Cursor | `.cursor/hooks.json` |
21
20
  | Codex | `.codex/hooks.json`, `.codex/config.toml` |
22
- | OpenCode | `.opencode/package.json`, `.opencode/plugins/*`, `.opencode/hooks/inject-spec-context.py` |
23
- | Kiro | `.kiro/hooks/` + platform config |
24
- | Gemini CLI | `.gemini/settings.json` |
25
- | Qoder | `.qoder/settings.json` |
26
- | CodeBuddy | `.codebuddy/settings.json` |
27
- | GitHub Copilot | `.github/copilot/hooks.json` |
28
- | Factory Droid | `.factory/settings.json` |
29
- | Pi Agent | `.pi/settings.json`, `.pi/extensions/trellis/` |
30
- | Trae IDE | `.trae/hooks.json` |
31
-
32
- Reasonix is a pull-based platform whose agent files contain prelude instructions to read context after startup. ZCode uses `.zcode/config.json` with shared hooks, including PreToolUse for sub-agent prompt injection. Kimi Code is likewise pull-based and has no project-level settings/hooks file Trellis writes (hooks live only in the user-level `~/.kimi-code/config.toml`), so its agent prompts ship as skills with the same prelude. DeepSeek Harness also has no project-level hook/settings surface Trellis writes; the optional `dsh-trellis` profile plugin supplies per-turn breadcrumbs and event-driven `trellis_wait`, while DSH role skills pull task context in both plugin and no-plugin paths.
21
+
22
+ Codex hooks require a user-level opt-in: `[features] hooks = true` plus
23
+ `codex_hooks = true` in `~/.codex/config.toml`. Without it, `.codex/hooks.json`
24
+ is ignored and Trellis context is not injected.
33
25
 
34
26
  Whether these files exist in a project depends on which `trellis init --<platform>` flags the user ran.
35
27
 
@@ -5,7 +5,7 @@ Trellis connects the same local architecture to different AI tools. `.trellis/`
5
5
  When a local AI modifies Trellis, it should distinguish two file categories first:
6
6
 
7
7
  - **Shared files**: `.trellis/workflow.md`, `.trellis/tasks/`, `.trellis/spec/`, `.trellis/scripts/`.
8
- - **Platform files**: `.claude/`, `.snow/`, `.codex/`, `.cursor/`, `.opencode/`, `.kiro/`, `.gemini/`, `.qoder/`, `.codebuddy/`, `.github/`, `.factory/`, `.pi/`, `.trae/`, `.kilocode/`, `.agent/`, `.devin/`, `.reasonix/`, `.zcode/`, `.kimi-code/`, `.dsh/`, and similar directories.
8
+ - **Platform files**: `.claude/`, `.codex/`, and the shared `.agents/skills/` layer.
9
9
 
10
10
  Platform files do not store business state. They let the corresponding AI tool read Trellis state, call Trellis scripts, and load Trellis skills/agents/hooks.
11
11
 
@@ -13,11 +13,11 @@ Platform files do not store business state. They let the corresponding AI tool r
13
13
 
14
14
  | Category | Common paths | Purpose |
15
15
  | --- | --- | --- |
16
- | settings/config | `.claude/settings.json`, `.codex/hooks.json`, `.qoder/settings.json`, `.trae/hooks.json` | Register hooks, plugins, extensions, or platform behavior. |
17
- | hooks/plugins/extensions | `.claude/hooks/`, `.opencode/plugins/`, `.pi/extensions/` | Inject context at session start, user input, agent startup, shell execution, and similar events. |
18
- | agents | `.claude/agents/`, `.codex/agents/`, `.kiro/agents/`, `.zcode/agents/` | Define `trellis-research`, `trellis-implement`, and `trellis-check`. |
19
- | skills | `.claude/skills/`, `.agents/skills/`, `.qoder/skills/`, `.zcode/skills/` | Capability descriptions that auto-trigger or can be read on demand. |
20
- | commands/prompts/workflows | `.cursor/commands/`, `.github/prompts/`, `.devin/workflows/`, `.zcode/commands/` | Entry points explicitly invoked by the user. |
16
+ | settings/config | `.claude/settings.json`, `.codex/hooks.json`, `.codex/config.toml` | Register hooks, plugins, extensions, or platform behavior. |
17
+ | hooks/plugins/extensions | `.claude/hooks/`, `.codex/hooks/` | Inject context at session start, user input, agent startup, shell execution, and similar events. |
18
+ | agents | `.claude/agents/`, `.codex/agents/` | Define `trellis-research`, `trellis-implement`, and `trellis-check`. |
19
+ | skills | `.claude/skills/`, `.agents/skills/` | Capability descriptions that auto-trigger or can be read on demand. |
20
+ | commands/prompts/workflows | `.claude/commands/trellis/`, `.agents/skills/trellis-*/` | Entry points explicitly invoked by the user. |
21
21
 
22
22
  ## Three Platform Integration Modes
23
23
 
@@ -7,75 +7,22 @@ This page lists common Trellis file locations in a user project by platform. Whe
7
7
  | Platform | CLI flag | Main directory | Skill directory | Agent directory | Hooks/extensions |
8
8
  | --- | --- | --- | --- | --- | --- |
9
9
  | Claude Code | `--claude` | `.claude/` | `.claude/skills/` | `.claude/agents/` | `.claude/hooks/` + `.claude/settings.json` |
10
- | Cursor | `--cursor` | `.cursor/` | `.cursor/skills/` | `.cursor/agents/` | `.cursor/hooks.json` + `.cursor/hooks/` |
11
- | OpenCode | `--opencode` | `.opencode/` | `.opencode/skills/` | `.opencode/agents/` | `.opencode/plugins/` |
12
10
  | Codex | `--codex` | `.codex/` | `.agents/skills/` | `.codex/agents/` | `.codex/hooks/` + `.codex/hooks.json` |
13
- | Kilo | `--kilo` | `.kilocode/` | `.kilocode/skills/` | Usually none | `.kilocode/workflows/` |
14
- | Kiro | `--kiro` | `.kiro/` | `.kiro/skills/` | `.kiro/agents/` | `.kiro/hooks/` |
15
- | Gemini CLI | `--gemini` | `.gemini/` | `.agents/skills/` | `.gemini/agents/` | `.gemini/settings.json` + `.gemini/hooks/` |
16
- | Antigravity | `--antigravity` | `.agent/` | `.agent/skills/` | Usually none | `.agent/workflows/` |
17
- | Devin | `--devin` | `.devin/` | `.devin/skills/` | Usually none | `.devin/workflows/` |
18
- | Qoder | `--qoder` | `.qoder/` | `.qoder/skills/` | `.qoder/agents/` | `.qoder/hooks/` + `.qoder/settings.json` |
19
- | CodeBuddy | `--codebuddy` | `.codebuddy/` | `.codebuddy/skills/` | `.codebuddy/agents/` | `.codebuddy/hooks/` + `.codebuddy/settings.json` |
20
- | GitHub Copilot | `--copilot` | `.github/` | `.github/skills/` | `.github/agents/` | `.github/copilot/hooks/` + prompts |
21
- | Factory Droid | `--droid` | `.factory/` | `.factory/skills/` | `.factory/droids/` | `.factory/hooks/` + settings |
22
- | Pi Agent | `--pi` | `.pi/` | `.agents/skills/` | `.pi/agents/` | `.pi/extensions/trellis/` (native `trellis_subagent` tool) + `.pi/settings.json` |
23
- | Trae IDE | `--trae` | `.trae/` | `.trae/skills/` | `.trae/agents/` | `.trae/hooks/` + `.trae/hooks.json` |
24
- | Reasonix | `--reasonix` | `.reasonix/` | `.reasonix/skills/` | None — sub-agents are skills with `runAs: subagent` frontmatter | None |
25
- | ZCode | `--zcode` | `.zcode/` | `.zcode/skills/` | `.zcode/agents/` | `.zcode/hooks/` + `.zcode/config.json` (SessionStart + UserPromptSubmit + PreToolUse Agent/Task); sub-agents use hook-injected context |
26
- | Grok Build | `--grok` | `.grok/` | `.grok/skills/` | `.grok/agents/` | pull-based prelude (no hooks; flat `.grok/commands/trellis-*.md`) |
27
- | Kimi Code | `--kimi` | `.kimi-code/` | `.agents/skills/` (shared) + `.kimi-code/skills/` | None — agent prompts are skills under `.kimi-code/skills/` and dispatch to the built-in `coder` | None (pull-based prelude; no project hooks/settings) |
28
- | Snow CLI | `--snow` | `.snow/` | `.snow/skills/` | `.snow/agents/` (auto-discovered; primary path) | class-1: auto inject + project agents + `beforeSubAgentStart` (`.snow/hooks/` `session`/`user`/`subagent` modes -> `additionalContext` JSON); no legacy sub-agent JSON; commands `.snow/commands/trellis-*.json` |
29
- | DeepSeek Harness | `--dsh` | `.dsh/` | `.agents/skills/` (shared) + `.dsh/skills/` | None — role prompts are collision-free `trellis-agent-*` skills under `.dsh/skills/` | None installed by Trellis (pull-based roles; optional `dsh-trellis` adds event-driven wait, otherwise foreground dispatch) |
30
11
 
31
12
  ## Capability Groups
32
13
 
33
14
  ### Trellis Sub-Agent Support
34
15
 
35
- These platforms usually have `trellis-research`, `trellis-implement`, and `trellis-check` files:
36
-
37
- - Claude Code
38
- - Cursor
39
- - OpenCode
40
- - Codex
41
- - Kiro
42
- - Gemini CLI
43
- - Qoder
44
- - CodeBuddy
45
- - GitHub Copilot
46
- - Factory Droid
47
- - Pi Agent
48
- - Trae IDE
49
- - Reasonix (delivered as skills with `runAs: subagent` under `.reasonix/skills/`, not as a separate `agents/` directory)
50
- - ZCode
51
- - Grok Build (`.grok/agents/`; dispatch via `spawn_subagent` with `subagent_type`)
52
- - Kimi Code (delivered as skills under `.kimi-code/skills/`; dispatched to the built-in `coder`, including research because it must persist files)
53
- - Snow CLI (`.snow/agents/`; auto-discovered project agents + class-1 hooks)
54
- - DeepSeek Harness (role prompts delivered as `.dsh/skills/trellis-agent-*/SKILL.md`; dispatched through the continuable `subagent` tool)
16
+ Both platforms ship `trellis-research`, `trellis-implement`, and `trellis-check`:
55
17
 
56
- When changing implementation/check/research behavior, look for the corresponding platform agent files first.
57
-
58
- ### Native Trellis Sub-Agent Tool
59
-
60
- Some platforms expose a first-class tool that the host runtime understands. The model calls it like any other tool and the host renders progress cards, validates the agent name against `.<platform>/agents/`, and enforces dispatch modes.
61
-
62
- - Pi Agent — `trellis_subagent` tool, defined in `.pi/extensions/trellis/index.ts`. Supports `single` / `parallel` / `chain` dispatch modes and emits live `trellis-subagent-progress` events.
63
-
64
- When changing sub-agent dispatch behavior on these platforms, edit the extension file, **not** the agent markdown — the agent markdown defines responsibilities, but the host extension owns dispatch, validation, and progress rendering.
65
-
66
- ### Main-Session Workflow Platforms
67
-
68
- These platforms rely more on workflows/skills to guide the main session:
18
+ - Claude Code `.claude/agents/`
19
+ - Codex — `.codex/agents/` (native `SubagentStart` context injection with child-side pull fallback)
69
20
 
70
- - Kilo
71
- - Antigravity
72
- - Devin
73
-
74
- When changing behavior, inspect workflows and skills first. Do not assume Trellis sub-agents exist.
21
+ When changing implementation/check/research behavior, look for the corresponding platform agent files first.
75
22
 
76
23
  ### Shared `.agents/skills/`
77
24
 
78
- Codex, Gemini CLI, Pi Agent, Kimi Code, and DeepSeek Harness write the shared `.agents/skills/` layer. Some tools that support agentskills.io can also read this directory. If the user wants multiple compatible tools to share one skill, consider `.agents/skills/` first, but do not assume every platform reads it. ZCode keeps Trellis-managed skills under `.zcode/skills/`.
25
+ Codex writes the shared `.agents/skills/` layer (the agentskills.io standard). Other tools that support that standard can read the same directory, so if the user wants several compatible tools to share one skill set, consider `.agents/skills/` first.
79
26
 
80
27
  ## Decision Rules When Modifying Platform Files
81
28
 
@@ -94,20 +41,3 @@ Platform ecosystems change, and user projects may already be customized. If this
94
41
  - Judge behavior by the read rules currently written in the agent file.
95
42
 
96
43
  Do not delete a custom file just because it is not listed in this path table.
97
-
98
- ### `.omp/` — Oh My Pi (OMP)
99
-
100
- Extension-backed platform. OMP native provider auto-discovers all subdirectories.
101
-
102
- ```text
103
- .omp/
104
- ├── commands/ # Slash commands (flat .md)
105
- ├── skills/ # Auto-triggered skills (SKILL.md per dir)
106
- ├── agents/ # Agent definitions (.md)
107
- └── extensions/
108
- └── trellis/
109
- └── index.ts # Trellis extension (context injection)
110
- ```
111
-
112
- No `settings.json` — OMP scans `.omp/` subdirectories automatically.
113
- No Python hooks — hook-equivalent behavior lives in the TypeScript extension.
@@ -18,23 +18,7 @@ Trellis workflow skills usually share one semantic set: brainstorm, before-dev,
18
18
  | Platform | Common entries |
19
19
  | --- | --- |
20
20
  | Claude Code | `.claude/skills/`, `.claude/commands/` |
21
- | Cursor | `.cursor/skills/`, `.cursor/commands/` |
22
- | OpenCode | `.opencode/skills/`, `.opencode/commands/` |
23
21
  | Codex | `.agents/skills/`, `.codex/skills/` |
24
- | Kilo | `.kilocode/skills/`, `.kilocode/workflows/` |
25
- | Kiro | `.kiro/skills/` |
26
- | Gemini CLI | `.agents/skills/`, `.gemini/commands/` |
27
- | Antigravity | `.agent/skills/`, `.agent/workflows/` |
28
- | Devin | `.devin/skills/`, `.devin/workflows/` |
29
- | Qoder | `.qoder/skills/`, `.qoder/commands/` |
30
- | CodeBuddy | `.codebuddy/skills/`, `.codebuddy/commands/` |
31
- | GitHub Copilot | `.github/skills/`, `.github/prompts/` |
32
- | Factory Droid | `.factory/skills/`, `.factory/commands/` |
33
- | Pi Agent | `.agents/skills/` |
34
- | Reasonix | `.reasonix/skills/` |
35
- | ZCode | `.zcode/skills/`, `.zcode/commands/` |
36
- | Kimi Code | `.agents/skills/`, `.kimi-code/skills/` (commands delivered as `/skill:trellis-*` skills) |
37
- | DeepSeek Harness | `.agents/skills/`, `.dsh/skills/` (entry skills load by bare `trellis-*` names; role prompts use `trellis-agent-*`) |
38
22
 
39
23
  In a user project, use the files actually generated by init as authoritative.
40
24
 
@@ -11,7 +11,7 @@ It is intentionally a **capability skill, not a workflow**. There is no fixed ou
11
11
 
12
12
  ## What `trellis mem` is
13
13
 
14
- A local CLI that indexes the user's past Claude Code, Codex, Pi Agent, and ZCode conversation logs and lets you list, search, slice by Trellis task boundaries, and dump cleaned dialogue from them. Claude and Codex use `~/.claude/projects/` and `~/.codex/sessions/`. Pi uses its default or environment-configured session root, global `~/.pi/agent/settings.json`, and the scoped project's `.pi/settings.json`; relative `sessionDir` values resolve from the settings file directory. Project-local Pi settings require project-scoped lookup through the current cwd or `--cwd`. ZCode uses `~/.zcode/cli/db/db.sqlite`. OpenCode logs are not yet indexable (provider adapter pending) — when an OpenCode session is the obvious target, surface that limitation rather than guessing.
14
+ A local CLI that indexes the user's past Claude Code and Codex conversation logs and lets you list, search, slice by Trellis task boundaries, and dump cleaned dialogue from them. Claude and Codex read `~/.claude/projects/` and `~/.codex/sessions/` respectively.
15
15
 
16
16
  Nothing in `mem` is uploaded. All reads are local.
17
17
 
@@ -16,7 +16,7 @@ Full flag reference for the five subcommands. Pin this as the authoritative sour
16
16
 
17
17
  | Flag | Subcommands | Meaning |
18
18
  | --------------------------------------------- | ----------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
19
- | `--platform claude\|codex\|opencode\|pi\|all` | all | Default `all`. OpenCode adapter is currently a stub on `0.6.0-beta.*` — see "Caveats" below. |
19
+ | `--platform claude\|codex\|all` | all | Default `all`. |
20
20
  | `--since YYYY-MM-DD` | list / search | Inclusive lower date bound. |
21
21
  | `--until YYYY-MM-DD` | list / search | Inclusive upper date bound. |
22
22
  | `--global` | list / search | Include sessions from every project on this machine. Default is the current project `cwd`. |
@@ -27,7 +27,7 @@ Full flag reference for the five subcommands. Pin this as the authoritative sour
27
27
  | `--turns N` | context | Number of hit turns to return. Default `3`. |
28
28
  | `--around N` | context | Surrounding turns to include per hit. Default `1`. |
29
29
  | `--max-chars N` | context | Total character budget. Default `6000` (~1500 tokens). |
30
- | `--include-children` | search / context | Merge OpenCode sub-agent sessions into their parent session. |
30
+ | `--include-children` | search / context | Merge sub-agent sessions into their parent session when the platform records a parent id. |
31
31
  | `--json` | all | Emit machine-parseable JSON instead of human-readable output. |
32
32
 
33
33
  ## Common one-liners
@@ -55,7 +55,6 @@ trellis mem projects
55
55
 
56
56
  ## Caveats
57
57
 
58
- - **OpenCode adapter is a stub on `0.6.0-beta.*`.** When `--platform` resolves to OpenCode (or `all` and OpenCode would be included), `mem` prints a one-line "reader unavailable" notice and continues with the other platforms. Don't promise OpenCode coverage in your reply until the adapter ships.
59
58
  - **`--phase` slicing depends on `task.py create` / `task.py start` invocations appearing in the recorded bash calls of the session.** Sessions where the user ran `task.py` from a different terminal — outside the recorded AI loop — will not have phase boundaries. `--phase all` is the safe fallback.
60
59
  - **`mem` indexes platform JSONL files directly.** If the user has cleared their Claude / Codex / Pi session storage, `mem` cannot recover what is no longer on disk.
61
60
  - **`mem` is read-only.** No remote sync, no edits to platform JSONL. Any write you do based on `mem` findings is your own follow-up call into the editing tools available to you.
@@ -2,9 +2,21 @@
2
2
 
3
3
  Resume work on the current task — pick up at the right phase/step in `.trellis/workflow.md`.
4
4
 
5
+ Context injection is opt-in: until Step 1 runs, this session receives no Trellis context at all.
6
+
5
7
  ---
6
8
 
7
- ## Step 1: Load Current Context
9
+ ## Step 1: Engage this session
10
+
11
+ ```bash
12
+ {{PYTHON_CMD}} ./.trellis/scripts/task.py engage
13
+ ```
14
+
15
+ Marks this session as Trellis-managed, which turns on the per-turn workflow breadcrumb and re-injection after `/clear` or `/compact`.
16
+
17
+ If this exits non-zero, **stop and report it**. Without the flag the remaining phases run unguided, and the commit gate will not be enforced.
18
+
19
+ ## Step 2: Load Current Context
8
20
 
9
21
  ```bash
10
22
  {{PYTHON_CMD}} ./.trellis/scripts/get_context.py
@@ -12,7 +24,15 @@ Resume work on the current task — pick up at the right phase/step in `.trellis
12
24
 
13
25
  Confirms: current task, git state, recent commits.
14
26
 
15
- ## Step 2: Load the Phase Index
27
+ A task started in an earlier session is not automatically this session's task. If no current task is reported, ask the user which task to resume, then read its `task.json` status:
28
+
29
+ ```bash
30
+ {{PYTHON_CMD}} ./.trellis/scripts/task.py list --mine
31
+ ```
32
+
33
+ Re-point this session with `task.py start <task-dir>` **only** when that status is already `in_progress`. On a `planning` task `start` also flips the status, jumping the Phase 1.4 review gate — for those, work from the task directory and route by Step 4, accepting that the per-turn breadcrumb reports `no_task` until Phase 1.4 legitimately runs.
34
+
35
+ ## Step 3: Load the Phase Index
16
36
 
17
37
  ```bash
18
38
  {{PYTHON_CMD}} ./.trellis/scripts/get_context.py --mode phase
@@ -20,7 +40,7 @@ Confirms: current task, git state, recent commits.
20
40
 
21
41
  Shows the Phase Index (Plan / Execute / Finish) with routing + skill mapping.
22
42
 
23
- ## Step 3: Decide Where You Are
43
+ ## Step 4: Decide Where You Are
24
44
 
25
45
  `get_context.py` shows the active task's `status` field. Route by `status` + artifact presence. This command replaces the user needing to remember the Trellis flow; it does not itself approve implementation.
26
46
 
@@ -39,7 +59,7 @@ Phase rules (full detail in `.trellis/workflow.md`):
39
59
  2. `[once]` steps are already done if the required output exists. Every task needs `prd.md`, `design.md`, and `implement.md`; `prd.md` alone means planning is unfinished.
40
60
  3. You may go back to an earlier phase if discoveries require it
41
61
 
42
- ## Step 4: Load the Specific Step
62
+ ## Step 5: Load the Specific Step
43
63
 
44
64
  Once you know which step to resume at:
45
65