trellis-herbivore 0.1.0

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 (629) hide show
  1. package/bin/trellis.js +3 -0
  2. package/dist/cli/index.d.ts +3 -0
  3. package/dist/cli/index.d.ts.map +1 -0
  4. package/dist/cli/index.js +174 -0
  5. package/dist/cli/index.js.map +1 -0
  6. package/dist/commands/channel/adapters/claude.d.ts +38 -0
  7. package/dist/commands/channel/adapters/claude.d.ts.map +1 -0
  8. package/dist/commands/channel/adapters/claude.js +209 -0
  9. package/dist/commands/channel/adapters/claude.js.map +1 -0
  10. package/dist/commands/channel/adapters/codex.d.ts +77 -0
  11. package/dist/commands/channel/adapters/codex.d.ts.map +1 -0
  12. package/dist/commands/channel/adapters/codex.js +495 -0
  13. package/dist/commands/channel/adapters/codex.js.map +1 -0
  14. package/dist/commands/channel/adapters/index.d.ts +79 -0
  15. package/dist/commands/channel/adapters/index.d.ts.map +1 -0
  16. package/dist/commands/channel/adapters/index.js +109 -0
  17. package/dist/commands/channel/adapters/index.js.map +1 -0
  18. package/dist/commands/channel/adapters/types.d.ts +33 -0
  19. package/dist/commands/channel/adapters/types.d.ts.map +1 -0
  20. package/dist/commands/channel/adapters/types.js +2 -0
  21. package/dist/commands/channel/adapters/types.js.map +1 -0
  22. package/dist/commands/channel/agent-loader.d.ts +32 -0
  23. package/dist/commands/channel/agent-loader.d.ts.map +1 -0
  24. package/dist/commands/channel/agent-loader.js +154 -0
  25. package/dist/commands/channel/agent-loader.js.map +1 -0
  26. package/dist/commands/channel/context-loader.d.ts +26 -0
  27. package/dist/commands/channel/context-loader.d.ts.map +1 -0
  28. package/dist/commands/channel/context-loader.js +290 -0
  29. package/dist/commands/channel/context-loader.js.map +1 -0
  30. package/dist/commands/channel/context.d.ts +16 -0
  31. package/dist/commands/channel/context.d.ts.map +1 -0
  32. package/dist/commands/channel/context.js +83 -0
  33. package/dist/commands/channel/context.js.map +1 -0
  34. package/dist/commands/channel/create.d.ts +27 -0
  35. package/dist/commands/channel/create.d.ts.map +1 -0
  36. package/dist/commands/channel/create.js +39 -0
  37. package/dist/commands/channel/create.js.map +1 -0
  38. package/dist/commands/channel/dev-parse-trace.d.ts +14 -0
  39. package/dist/commands/channel/dev-parse-trace.d.ts.map +1 -0
  40. package/dist/commands/channel/dev-parse-trace.js +70 -0
  41. package/dist/commands/channel/dev-parse-trace.js.map +1 -0
  42. package/dist/commands/channel/index.d.ts +3 -0
  43. package/dist/commands/channel/index.d.ts.map +1 -0
  44. package/dist/commands/channel/index.js +496 -0
  45. package/dist/commands/channel/index.js.map +1 -0
  46. package/dist/commands/channel/kill.d.ts +7 -0
  47. package/dist/commands/channel/kill.d.ts.map +1 -0
  48. package/dist/commands/channel/kill.js +121 -0
  49. package/dist/commands/channel/kill.js.map +1 -0
  50. package/dist/commands/channel/list.d.ts +17 -0
  51. package/dist/commands/channel/list.d.ts.map +1 -0
  52. package/dist/commands/channel/list.js +233 -0
  53. package/dist/commands/channel/list.js.map +1 -0
  54. package/dist/commands/channel/messages.d.ts +16 -0
  55. package/dist/commands/channel/messages.d.ts.map +1 -0
  56. package/dist/commands/channel/messages.js +237 -0
  57. package/dist/commands/channel/messages.js.map +1 -0
  58. package/dist/commands/channel/rm.d.ts +27 -0
  59. package/dist/commands/channel/rm.d.ts.map +1 -0
  60. package/dist/commands/channel/rm.js +216 -0
  61. package/dist/commands/channel/rm.js.map +1 -0
  62. package/dist/commands/channel/run.d.ts +31 -0
  63. package/dist/commands/channel/run.d.ts.map +1 -0
  64. package/dist/commands/channel/run.js +137 -0
  65. package/dist/commands/channel/run.js.map +1 -0
  66. package/dist/commands/channel/send.d.ts +12 -0
  67. package/dist/commands/channel/send.d.ts.map +1 -0
  68. package/dist/commands/channel/send.js +24 -0
  69. package/dist/commands/channel/send.js.map +1 -0
  70. package/dist/commands/channel/spawn.d.ts +25 -0
  71. package/dist/commands/channel/spawn.d.ts.map +1 -0
  72. package/dist/commands/channel/spawn.js +192 -0
  73. package/dist/commands/channel/spawn.js.map +1 -0
  74. package/dist/commands/channel/store/events.d.ts +39 -0
  75. package/dist/commands/channel/store/events.d.ts.map +1 -0
  76. package/dist/commands/channel/store/events.js +87 -0
  77. package/dist/commands/channel/store/events.js.map +1 -0
  78. package/dist/commands/channel/store/filter.d.ts +3 -0
  79. package/dist/commands/channel/store/filter.d.ts.map +1 -0
  80. package/dist/commands/channel/store/filter.js +2 -0
  81. package/dist/commands/channel/store/filter.js.map +1 -0
  82. package/dist/commands/channel/store/lock.d.ts +23 -0
  83. package/dist/commands/channel/store/lock.d.ts.map +1 -0
  84. package/dist/commands/channel/store/lock.js +99 -0
  85. package/dist/commands/channel/store/lock.js.map +1 -0
  86. package/dist/commands/channel/store/paths.d.ts +63 -0
  87. package/dist/commands/channel/store/paths.d.ts.map +1 -0
  88. package/dist/commands/channel/store/paths.js +246 -0
  89. package/dist/commands/channel/store/paths.js.map +1 -0
  90. package/dist/commands/channel/store/schema.d.ts +27 -0
  91. package/dist/commands/channel/store/schema.d.ts.map +1 -0
  92. package/dist/commands/channel/store/schema.js +34 -0
  93. package/dist/commands/channel/store/schema.js.map +1 -0
  94. package/dist/commands/channel/store/thread-state.d.ts +5 -0
  95. package/dist/commands/channel/store/thread-state.d.ts.map +1 -0
  96. package/dist/commands/channel/store/thread-state.js +16 -0
  97. package/dist/commands/channel/store/thread-state.js.map +1 -0
  98. package/dist/commands/channel/store/watch.d.ts +19 -0
  99. package/dist/commands/channel/store/watch.d.ts.map +1 -0
  100. package/dist/commands/channel/store/watch.js +130 -0
  101. package/dist/commands/channel/store/watch.js.map +1 -0
  102. package/dist/commands/channel/supervisor/inbox.d.ts +25 -0
  103. package/dist/commands/channel/supervisor/inbox.d.ts.map +1 -0
  104. package/dist/commands/channel/supervisor/inbox.js +99 -0
  105. package/dist/commands/channel/supervisor/inbox.js.map +1 -0
  106. package/dist/commands/channel/supervisor/shutdown.d.ts +66 -0
  107. package/dist/commands/channel/supervisor/shutdown.d.ts.map +1 -0
  108. package/dist/commands/channel/supervisor/shutdown.js +143 -0
  109. package/dist/commands/channel/supervisor/shutdown.js.map +1 -0
  110. package/dist/commands/channel/supervisor/stdout.d.ts +49 -0
  111. package/dist/commands/channel/supervisor/stdout.d.ts.map +1 -0
  112. package/dist/commands/channel/supervisor/stdout.js +107 -0
  113. package/dist/commands/channel/supervisor/stdout.js.map +1 -0
  114. package/dist/commands/channel/supervisor.d.ts +47 -0
  115. package/dist/commands/channel/supervisor.d.ts.map +1 -0
  116. package/dist/commands/channel/supervisor.js +283 -0
  117. package/dist/commands/channel/supervisor.js.map +1 -0
  118. package/dist/commands/channel/text-body.d.ts +13 -0
  119. package/dist/commands/channel/text-body.d.ts.map +1 -0
  120. package/dist/commands/channel/text-body.js +47 -0
  121. package/dist/commands/channel/text-body.js.map +1 -0
  122. package/dist/commands/channel/threads.d.ts +39 -0
  123. package/dist/commands/channel/threads.d.ts.map +1 -0
  124. package/dist/commands/channel/threads.js +106 -0
  125. package/dist/commands/channel/threads.js.map +1 -0
  126. package/dist/commands/channel/title.d.ts +12 -0
  127. package/dist/commands/channel/title.d.ts.map +1 -0
  128. package/dist/commands/channel/title.js +24 -0
  129. package/dist/commands/channel/title.js.map +1 -0
  130. package/dist/commands/channel/wait.d.ts +18 -0
  131. package/dist/commands/channel/wait.d.ts.map +1 -0
  132. package/dist/commands/channel/wait.js +76 -0
  133. package/dist/commands/channel/wait.js.map +1 -0
  134. package/dist/commands/init.d.ts +57 -0
  135. package/dist/commands/init.d.ts.map +1 -0
  136. package/dist/commands/init.js +1466 -0
  137. package/dist/commands/init.js.map +1 -0
  138. package/dist/commands/mem.d.ts +234 -0
  139. package/dist/commands/mem.d.ts.map +1 -0
  140. package/dist/commands/mem.js +1869 -0
  141. package/dist/commands/mem.js.map +1 -0
  142. package/dist/commands/uninstall.d.ts +27 -0
  143. package/dist/commands/uninstall.d.ts.map +1 -0
  144. package/dist/commands/uninstall.js +339 -0
  145. package/dist/commands/uninstall.js.map +1 -0
  146. package/dist/commands/update.d.ts +72 -0
  147. package/dist/commands/update.d.ts.map +1 -0
  148. package/dist/commands/update.js +1926 -0
  149. package/dist/commands/update.js.map +1 -0
  150. package/dist/commands/upgrade.d.ts +28 -0
  151. package/dist/commands/upgrade.d.ts.map +1 -0
  152. package/dist/commands/upgrade.js +84 -0
  153. package/dist/commands/upgrade.js.map +1 -0
  154. package/dist/configurators/antigravity.d.ts +7 -0
  155. package/dist/configurators/antigravity.d.ts.map +1 -0
  156. package/dist/configurators/antigravity.js +19 -0
  157. package/dist/configurators/antigravity.js.map +1 -0
  158. package/dist/configurators/claude.d.ts +9 -0
  159. package/dist/configurators/claude.d.ts.map +1 -0
  160. package/dist/configurators/claude.js +72 -0
  161. package/dist/configurators/claude.js.map +1 -0
  162. package/dist/configurators/codebuddy.d.ts +10 -0
  163. package/dist/configurators/codebuddy.d.ts.map +1 -0
  164. package/dist/configurators/codebuddy.js +30 -0
  165. package/dist/configurators/codebuddy.js.map +1 -0
  166. package/dist/configurators/codex.d.ts +8 -0
  167. package/dist/configurators/codex.d.ts.map +1 -0
  168. package/dist/configurators/codex.js +87 -0
  169. package/dist/configurators/codex.js.map +1 -0
  170. package/dist/configurators/copilot.d.ts +10 -0
  171. package/dist/configurators/copilot.d.ts.map +1 -0
  172. package/dist/configurators/copilot.js +51 -0
  173. package/dist/configurators/copilot.js.map +1 -0
  174. package/dist/configurators/cursor.d.ts +10 -0
  175. package/dist/configurators/cursor.d.ts.map +1 -0
  176. package/dist/configurators/cursor.js +29 -0
  177. package/dist/configurators/cursor.js.map +1 -0
  178. package/dist/configurators/droid.d.ts +10 -0
  179. package/dist/configurators/droid.d.ts.map +1 -0
  180. package/dist/configurators/droid.js +30 -0
  181. package/dist/configurators/droid.js.map +1 -0
  182. package/dist/configurators/gemini.d.ts +16 -0
  183. package/dist/configurators/gemini.d.ts.map +1 -0
  184. package/dist/configurators/gemini.js +38 -0
  185. package/dist/configurators/gemini.js.map +1 -0
  186. package/dist/configurators/index.d.ts +65 -0
  187. package/dist/configurators/index.d.ts.map +1 -0
  188. package/dist/configurators/index.js +367 -0
  189. package/dist/configurators/index.js.map +1 -0
  190. package/dist/configurators/kilo.d.ts +7 -0
  191. package/dist/configurators/kilo.d.ts.map +1 -0
  192. package/dist/configurators/kilo.js +19 -0
  193. package/dist/configurators/kilo.js.map +1 -0
  194. package/dist/configurators/kiro.d.ts +8 -0
  195. package/dist/configurators/kiro.d.ts.map +1 -0
  196. package/dist/configurators/kiro.js +24 -0
  197. package/dist/configurators/kiro.js.map +1 -0
  198. package/dist/configurators/opencode.d.ts +14 -0
  199. package/dist/configurators/opencode.d.ts.map +1 -0
  200. package/dist/configurators/opencode.js +96 -0
  201. package/dist/configurators/opencode.js.map +1 -0
  202. package/dist/configurators/pi.d.ts +3 -0
  203. package/dist/configurators/pi.d.ts.map +1 -0
  204. package/dist/configurators/pi.js +45 -0
  205. package/dist/configurators/pi.js.map +1 -0
  206. package/dist/configurators/qoder.d.ts +11 -0
  207. package/dist/configurators/qoder.d.ts.map +1 -0
  208. package/dist/configurators/qoder.js +31 -0
  209. package/dist/configurators/qoder.js.map +1 -0
  210. package/dist/configurators/shared.d.ts +178 -0
  211. package/dist/configurators/shared.d.ts.map +1 -0
  212. package/dist/configurators/shared.js +538 -0
  213. package/dist/configurators/shared.js.map +1 -0
  214. package/dist/configurators/windsurf.d.ts +7 -0
  215. package/dist/configurators/windsurf.d.ts.map +1 -0
  216. package/dist/configurators/windsurf.js +19 -0
  217. package/dist/configurators/windsurf.js.map +1 -0
  218. package/dist/configurators/workflow.d.ts +29 -0
  219. package/dist/configurators/workflow.d.ts.map +1 -0
  220. package/dist/configurators/workflow.js +163 -0
  221. package/dist/configurators/workflow.js.map +1 -0
  222. package/dist/constants/paths.d.ts +70 -0
  223. package/dist/constants/paths.d.ts.map +1 -0
  224. package/dist/constants/paths.js +79 -0
  225. package/dist/constants/paths.js.map +1 -0
  226. package/dist/constants/version.d.ts +9 -0
  227. package/dist/constants/version.d.ts.map +1 -0
  228. package/dist/constants/version.js +15 -0
  229. package/dist/constants/version.js.map +1 -0
  230. package/dist/index.d.ts +9 -0
  231. package/dist/index.d.ts.map +1 -0
  232. package/dist/index.js +9 -0
  233. package/dist/index.js.map +1 -0
  234. package/dist/migrations/index.d.ts +62 -0
  235. package/dist/migrations/index.d.ts.map +1 -0
  236. package/dist/migrations/index.js +187 -0
  237. package/dist/migrations/index.js.map +1 -0
  238. package/dist/migrations/manifests/0.1.9.json +30 -0
  239. package/dist/migrations/manifests/0.2.0.json +49 -0
  240. package/dist/migrations/manifests/0.2.12.json +9 -0
  241. package/dist/migrations/manifests/0.2.13.json +9 -0
  242. package/dist/migrations/manifests/0.2.14.json +175 -0
  243. package/dist/migrations/manifests/0.2.15.json +33 -0
  244. package/dist/migrations/manifests/0.3.0-beta.0.json +297 -0
  245. package/dist/migrations/manifests/0.3.0-beta.1.json +9 -0
  246. package/dist/migrations/manifests/0.3.0-beta.10.json +9 -0
  247. package/dist/migrations/manifests/0.3.0-beta.11.json +9 -0
  248. package/dist/migrations/manifests/0.3.0-beta.12.json +9 -0
  249. package/dist/migrations/manifests/0.3.0-beta.13.json +9 -0
  250. package/dist/migrations/manifests/0.3.0-beta.14.json +9 -0
  251. package/dist/migrations/manifests/0.3.0-beta.15.json +9 -0
  252. package/dist/migrations/manifests/0.3.0-beta.16.json +9 -0
  253. package/dist/migrations/manifests/0.3.0-beta.2.json +9 -0
  254. package/dist/migrations/manifests/0.3.0-beta.3.json +9 -0
  255. package/dist/migrations/manifests/0.3.0-beta.4.json +9 -0
  256. package/dist/migrations/manifests/0.3.0-beta.5.json +9 -0
  257. package/dist/migrations/manifests/0.3.0-beta.6.json +9 -0
  258. package/dist/migrations/manifests/0.3.0-beta.7.json +11 -0
  259. package/dist/migrations/manifests/0.3.0-beta.8.json +9 -0
  260. package/dist/migrations/manifests/0.3.0-beta.9.json +9 -0
  261. package/dist/migrations/manifests/0.3.0-rc.0.json +9 -0
  262. package/dist/migrations/manifests/0.3.0-rc.1.json +9 -0
  263. package/dist/migrations/manifests/0.3.0-rc.2.json +9 -0
  264. package/dist/migrations/manifests/0.3.0-rc.3.json +9 -0
  265. package/dist/migrations/manifests/0.3.0-rc.4.json +9 -0
  266. package/dist/migrations/manifests/0.3.0-rc.5.json +9 -0
  267. package/dist/migrations/manifests/0.3.0-rc.6.json +9 -0
  268. package/dist/migrations/manifests/0.3.0.json +11 -0
  269. package/dist/migrations/manifests/0.3.1.json +9 -0
  270. package/dist/migrations/manifests/0.3.10.json +9 -0
  271. package/dist/migrations/manifests/0.3.2.json +9 -0
  272. package/dist/migrations/manifests/0.3.3.json +9 -0
  273. package/dist/migrations/manifests/0.3.4.json +21 -0
  274. package/dist/migrations/manifests/0.3.5.json +9 -0
  275. package/dist/migrations/manifests/0.3.6.json +9 -0
  276. package/dist/migrations/manifests/0.3.7.json +9 -0
  277. package/dist/migrations/manifests/0.3.8.json +9 -0
  278. package/dist/migrations/manifests/0.3.9.json +9 -0
  279. package/dist/migrations/manifests/0.4.0-beta.1.json +228 -0
  280. package/dist/migrations/manifests/0.4.0-beta.10.json +9 -0
  281. package/dist/migrations/manifests/0.4.0-beta.2.json +9 -0
  282. package/dist/migrations/manifests/0.4.0-beta.3.json +9 -0
  283. package/dist/migrations/manifests/0.4.0-beta.4.json +9 -0
  284. package/dist/migrations/manifests/0.4.0-beta.5.json +9 -0
  285. package/dist/migrations/manifests/0.4.0-beta.6.json +9 -0
  286. package/dist/migrations/manifests/0.4.0-beta.7.json +9 -0
  287. package/dist/migrations/manifests/0.4.0-beta.8.json +34 -0
  288. package/dist/migrations/manifests/0.4.0-beta.9.json +9 -0
  289. package/dist/migrations/manifests/0.4.0-rc.0.json +9 -0
  290. package/dist/migrations/manifests/0.4.0-rc.1.json +9 -0
  291. package/dist/migrations/manifests/0.4.0.json +9 -0
  292. package/dist/migrations/manifests/0.5.0-beta.0.json +1646 -0
  293. package/dist/migrations/manifests/0.5.0-beta.1.json +9 -0
  294. package/dist/migrations/manifests/0.5.0-beta.10.json +9 -0
  295. package/dist/migrations/manifests/0.5.0-beta.11.json +9 -0
  296. package/dist/migrations/manifests/0.5.0-beta.12.json +9 -0
  297. package/dist/migrations/manifests/0.5.0-beta.13.json +9 -0
  298. package/dist/migrations/manifests/0.5.0-beta.14.json +9 -0
  299. package/dist/migrations/manifests/0.5.0-beta.15.json +116 -0
  300. package/dist/migrations/manifests/0.5.0-beta.16.json +9 -0
  301. package/dist/migrations/manifests/0.5.0-beta.17.json +9 -0
  302. package/dist/migrations/manifests/0.5.0-beta.18.json +9 -0
  303. package/dist/migrations/manifests/0.5.0-beta.19.json +9 -0
  304. package/dist/migrations/manifests/0.5.0-beta.2.json +9 -0
  305. package/dist/migrations/manifests/0.5.0-beta.3.json +9 -0
  306. package/dist/migrations/manifests/0.5.0-beta.4.json +9 -0
  307. package/dist/migrations/manifests/0.5.0-beta.5.json +222 -0
  308. package/dist/migrations/manifests/0.5.0-beta.6.json +9 -0
  309. package/dist/migrations/manifests/0.5.0-beta.7.json +9 -0
  310. package/dist/migrations/manifests/0.5.0-beta.8.json +9 -0
  311. package/dist/migrations/manifests/0.5.0-beta.9.json +48 -0
  312. package/dist/migrations/manifests/0.5.0-rc.0.json +9 -0
  313. package/dist/migrations/manifests/0.5.0-rc.1.json +9 -0
  314. package/dist/migrations/manifests/0.5.0-rc.2.json +9 -0
  315. package/dist/migrations/manifests/0.5.0-rc.3.json +9 -0
  316. package/dist/migrations/manifests/0.5.0-rc.4.json +9 -0
  317. package/dist/migrations/manifests/0.5.0-rc.5.json +9 -0
  318. package/dist/migrations/manifests/0.5.0-rc.6.json +9 -0
  319. package/dist/migrations/manifests/0.5.0-rc.7.json +9 -0
  320. package/dist/migrations/manifests/0.5.0.json +9 -0
  321. package/dist/migrations/manifests/0.5.1.json +9 -0
  322. package/dist/migrations/manifests/0.5.10.json +9 -0
  323. package/dist/migrations/manifests/0.5.11.json +16 -0
  324. package/dist/migrations/manifests/0.5.12.json +9 -0
  325. package/dist/migrations/manifests/0.5.13.json +9 -0
  326. package/dist/migrations/manifests/0.5.14.json +9 -0
  327. package/dist/migrations/manifests/0.5.15.json +9 -0
  328. package/dist/migrations/manifests/0.5.2.json +9 -0
  329. package/dist/migrations/manifests/0.5.3.json +9 -0
  330. package/dist/migrations/manifests/0.5.4.json +9 -0
  331. package/dist/migrations/manifests/0.5.5.json +9 -0
  332. package/dist/migrations/manifests/0.5.6.json +9 -0
  333. package/dist/migrations/manifests/0.5.7.json +16 -0
  334. package/dist/migrations/manifests/0.5.8.json +9 -0
  335. package/dist/migrations/manifests/0.5.9.json +9 -0
  336. package/dist/migrations/manifests/0.6.0-beta.0.json +16 -0
  337. package/dist/migrations/manifests/0.6.0-beta.1.json +9 -0
  338. package/dist/migrations/manifests/0.6.0-beta.10.json +9 -0
  339. package/dist/migrations/manifests/0.6.0-beta.11.json +9 -0
  340. package/dist/migrations/manifests/0.6.0-beta.12.json +9 -0
  341. package/dist/migrations/manifests/0.6.0-beta.13.json +9 -0
  342. package/dist/migrations/manifests/0.6.0-beta.14.json +9 -0
  343. package/dist/migrations/manifests/0.6.0-beta.2.json +9 -0
  344. package/dist/migrations/manifests/0.6.0-beta.3.json +9 -0
  345. package/dist/migrations/manifests/0.6.0-beta.4.json +9 -0
  346. package/dist/migrations/manifests/0.6.0-beta.5.json +9 -0
  347. package/dist/migrations/manifests/0.6.0-beta.6.json +16 -0
  348. package/dist/migrations/manifests/0.6.0-beta.7.json +9 -0
  349. package/dist/migrations/manifests/0.6.0-beta.8.json +9 -0
  350. package/dist/migrations/manifests/0.6.0-beta.9.json +9 -0
  351. package/dist/templates/claude/agents/trellis-check.md +114 -0
  352. package/dist/templates/claude/agents/trellis-implement.md +113 -0
  353. package/dist/templates/claude/agents/trellis-research.md +137 -0
  354. package/dist/templates/claude/index.d.ts +22 -0
  355. package/dist/templates/claude/index.d.ts.map +1 -0
  356. package/dist/templates/claude/index.js +46 -0
  357. package/dist/templates/claude/index.js.map +1 -0
  358. package/dist/templates/claude/settings.json +73 -0
  359. package/dist/templates/codebuddy/agents/trellis-check.md +109 -0
  360. package/dist/templates/codebuddy/agents/trellis-implement.md +110 -0
  361. package/dist/templates/codebuddy/agents/trellis-research.md +137 -0
  362. package/dist/templates/codebuddy/index.d.ts +15 -0
  363. package/dist/templates/codebuddy/index.d.ts.map +1 -0
  364. package/dist/templates/codebuddy/index.js +15 -0
  365. package/dist/templates/codebuddy/index.js.map +1 -0
  366. package/dist/templates/codebuddy/settings.json +59 -0
  367. package/dist/templates/codex/agents/trellis-check.toml +84 -0
  368. package/dist/templates/codex/agents/trellis-implement.toml +65 -0
  369. package/dist/templates/codex/agents/trellis-research.toml +73 -0
  370. package/dist/templates/codex/config.toml +35 -0
  371. package/dist/templates/codex/hooks/session-start.py +545 -0
  372. package/dist/templates/codex/hooks.json +15 -0
  373. package/dist/templates/codex/index.d.ts +39 -0
  374. package/dist/templates/codex/index.d.ts.map +1 -0
  375. package/dist/templates/codex/index.js +85 -0
  376. package/dist/templates/codex/index.js.map +1 -0
  377. package/dist/templates/codex/skills/before-dev/SKILL.md +40 -0
  378. package/dist/templates/codex/skills/brainstorm/SKILL.md +112 -0
  379. package/dist/templates/codex/skills/break-loop/SKILL.md +130 -0
  380. package/dist/templates/codex/skills/check/SKILL.md +98 -0
  381. package/dist/templates/codex/skills/check-cross-layer/SKILL.md +158 -0
  382. package/dist/templates/codex/skills/create-command/SKILL.md +101 -0
  383. package/dist/templates/codex/skills/finish-work/SKILL.md +90 -0
  384. package/dist/templates/codex/skills/improve-ut/SKILL.md +69 -0
  385. package/dist/templates/codex/skills/integrate-skill/SKILL.md +221 -0
  386. package/dist/templates/codex/skills/onboard/SKILL.md +363 -0
  387. package/dist/templates/codex/skills/record-session/SKILL.md +67 -0
  388. package/dist/templates/codex/skills/start/SKILL.md +64 -0
  389. package/dist/templates/codex/skills/update-spec/SKILL.md +335 -0
  390. package/dist/templates/common/bundled-skills/trellis-meta/SKILL.md +73 -0
  391. package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/add-project-local-conventions.md +83 -0
  392. package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-agents.md +54 -0
  393. package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-context-loading.md +84 -0
  394. package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-hooks.md +57 -0
  395. package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-skills-or-commands.md +78 -0
  396. package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-spec-structure.md +83 -0
  397. package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-task-lifecycle.md +90 -0
  398. package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-workflow.md +65 -0
  399. package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/overview.md +55 -0
  400. package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/context-injection.md +68 -0
  401. package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/generated-files.md +80 -0
  402. package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/overview.md +51 -0
  403. package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/spec-system.md +102 -0
  404. package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/task-system.md +103 -0
  405. package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/workflow.md +75 -0
  406. package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/workspace-memory.md +71 -0
  407. package/dist/templates/common/bundled-skills/trellis-meta/references/platform-files/agents.md +80 -0
  408. package/dist/templates/common/bundled-skills/trellis-meta/references/platform-files/hooks-and-settings.md +69 -0
  409. package/dist/templates/common/bundled-skills/trellis-meta/references/platform-files/overview.md +59 -0
  410. package/dist/templates/common/bundled-skills/trellis-meta/references/platform-files/platform-map.md +74 -0
  411. package/dist/templates/common/bundled-skills/trellis-meta/references/platform-files/skills-and-commands.md +83 -0
  412. package/dist/templates/common/commands/continue.md +56 -0
  413. package/dist/templates/common/commands/finish-work.md +66 -0
  414. package/dist/templates/common/commands/start.md +59 -0
  415. package/dist/templates/common/index.d.ts +48 -0
  416. package/dist/templates/common/index.d.ts.map +1 -0
  417. package/dist/templates/common/index.js +104 -0
  418. package/dist/templates/common/index.js.map +1 -0
  419. package/dist/templates/common/skills/before-dev.md +35 -0
  420. package/dist/templates/common/skills/brainstorm.md +112 -0
  421. package/dist/templates/common/skills/break-loop.md +125 -0
  422. package/dist/templates/common/skills/check.md +93 -0
  423. package/dist/templates/common/skills/update-spec.md +351 -0
  424. package/dist/templates/copilot/hooks/session-start.py +547 -0
  425. package/dist/templates/copilot/hooks.json +19 -0
  426. package/dist/templates/copilot/index.d.ts +23 -0
  427. package/dist/templates/copilot/index.d.ts.map +1 -0
  428. package/dist/templates/copilot/index.js +54 -0
  429. package/dist/templates/copilot/index.js.map +1 -0
  430. package/dist/templates/copilot/prompts/before-dev.prompt.md +39 -0
  431. package/dist/templates/copilot/prompts/brainstorm.prompt.md +111 -0
  432. package/dist/templates/copilot/prompts/break-loop.prompt.md +129 -0
  433. package/dist/templates/copilot/prompts/check-cross-layer.prompt.md +157 -0
  434. package/dist/templates/copilot/prompts/check.prompt.md +97 -0
  435. package/dist/templates/copilot/prompts/create-command.prompt.md +116 -0
  436. package/dist/templates/copilot/prompts/finish-work.prompt.md +99 -0
  437. package/dist/templates/copilot/prompts/integrate-skill.prompt.md +223 -0
  438. package/dist/templates/copilot/prompts/onboard.prompt.md +362 -0
  439. package/dist/templates/copilot/prompts/parallel.prompt.md +204 -0
  440. package/dist/templates/copilot/prompts/record-session.prompt.md +66 -0
  441. package/dist/templates/copilot/prompts/start.prompt.md +63 -0
  442. package/dist/templates/copilot/prompts/update-spec.prompt.md +358 -0
  443. package/dist/templates/cursor/agents/trellis-check.md +108 -0
  444. package/dist/templates/cursor/agents/trellis-implement.md +109 -0
  445. package/dist/templates/cursor/agents/trellis-research.md +136 -0
  446. package/dist/templates/cursor/hooks.json +30 -0
  447. package/dist/templates/cursor/index.d.ts +13 -0
  448. package/dist/templates/cursor/index.d.ts.map +1 -0
  449. package/dist/templates/cursor/index.js +13 -0
  450. package/dist/templates/cursor/index.js.map +1 -0
  451. package/dist/templates/droid/droids/trellis-check.md +101 -0
  452. package/dist/templates/droid/droids/trellis-implement.md +102 -0
  453. package/dist/templates/droid/droids/trellis-research.md +137 -0
  454. package/dist/templates/droid/index.d.ts +15 -0
  455. package/dist/templates/droid/index.d.ts.map +1 -0
  456. package/dist/templates/droid/index.js +15 -0
  457. package/dist/templates/droid/index.js.map +1 -0
  458. package/dist/templates/droid/settings.json +59 -0
  459. package/dist/templates/extract.d.ts +40 -0
  460. package/dist/templates/extract.d.ts.map +1 -0
  461. package/dist/templates/extract.js +106 -0
  462. package/dist/templates/extract.js.map +1 -0
  463. package/dist/templates/gemini/agents/trellis-check.md +101 -0
  464. package/dist/templates/gemini/agents/trellis-implement.md +102 -0
  465. package/dist/templates/gemini/agents/trellis-research.md +136 -0
  466. package/dist/templates/gemini/index.d.ts +13 -0
  467. package/dist/templates/gemini/index.d.ts.map +1 -0
  468. package/dist/templates/gemini/index.js +13 -0
  469. package/dist/templates/gemini/index.js.map +1 -0
  470. package/dist/templates/gemini/settings.json +28 -0
  471. package/dist/templates/kiro/agents/trellis-check.json +26 -0
  472. package/dist/templates/kiro/agents/trellis-implement.json +26 -0
  473. package/dist/templates/kiro/agents/trellis-research.json +30 -0
  474. package/dist/templates/kiro/index.d.ts +18 -0
  475. package/dist/templates/kiro/index.d.ts.map +1 -0
  476. package/dist/templates/kiro/index.js +18 -0
  477. package/dist/templates/kiro/index.js.map +1 -0
  478. package/dist/templates/markdown/agents.md +21 -0
  479. package/dist/templates/markdown/gitignore.txt +15 -0
  480. package/dist/templates/markdown/index.d.ts +27 -0
  481. package/dist/templates/markdown/index.d.ts.map +1 -0
  482. package/dist/templates/markdown/index.js +52 -0
  483. package/dist/templates/markdown/index.js.map +1 -0
  484. package/dist/templates/markdown/spec/backend/database-guidelines.md.txt +51 -0
  485. package/dist/templates/markdown/spec/backend/directory-structure.md.txt +54 -0
  486. package/dist/templates/markdown/spec/backend/error-handling.md.txt +51 -0
  487. package/dist/templates/markdown/spec/backend/index.md.txt +38 -0
  488. package/dist/templates/markdown/spec/backend/logging-guidelines.md.txt +51 -0
  489. package/dist/templates/markdown/spec/backend/quality-guidelines.md.txt +51 -0
  490. package/dist/templates/markdown/spec/frontend/component-guidelines.md.txt +59 -0
  491. package/dist/templates/markdown/spec/frontend/directory-structure.md.txt +54 -0
  492. package/dist/templates/markdown/spec/frontend/hook-guidelines.md.txt +51 -0
  493. package/dist/templates/markdown/spec/frontend/index.md.txt +39 -0
  494. package/dist/templates/markdown/spec/frontend/quality-guidelines.md.txt +51 -0
  495. package/dist/templates/markdown/spec/frontend/state-management.md.txt +51 -0
  496. package/dist/templates/markdown/spec/frontend/type-safety.md.txt +51 -0
  497. package/dist/templates/markdown/spec/guides/code-reuse-thinking-guide.md.txt +223 -0
  498. package/dist/templates/markdown/spec/guides/cross-layer-thinking-guide.md.txt +259 -0
  499. package/dist/templates/markdown/spec/guides/cross-platform-thinking-guide.md.txt +595 -0
  500. package/dist/templates/markdown/spec/guides/index.md.txt +97 -0
  501. package/dist/templates/markdown/workspace-index.md +125 -0
  502. package/dist/templates/markdown/worktree.yaml.txt +58 -0
  503. package/dist/templates/opencode/agents/trellis-check.md +116 -0
  504. package/dist/templates/opencode/agents/trellis-implement.md +118 -0
  505. package/dist/templates/opencode/agents/trellis-research.md +145 -0
  506. package/dist/templates/opencode/lib/session-utils.js +521 -0
  507. package/dist/templates/opencode/lib/trellis-context.js +381 -0
  508. package/dist/templates/opencode/package.json +5 -0
  509. package/dist/templates/opencode/plugins/inject-subagent-context.js +513 -0
  510. package/dist/templates/opencode/plugins/inject-workflow-state.js +159 -0
  511. package/dist/templates/opencode/plugins/session-start.js +101 -0
  512. package/dist/templates/pi/agents/trellis-check.md +36 -0
  513. package/dist/templates/pi/agents/trellis-implement.md +41 -0
  514. package/dist/templates/pi/agents/trellis-research.md +25 -0
  515. package/dist/templates/pi/extensions/trellis/index.ts.txt +1174 -0
  516. package/dist/templates/pi/index.d.ts +5 -0
  517. package/dist/templates/pi/index.d.ts.map +1 -0
  518. package/dist/templates/pi/index.js +12 -0
  519. package/dist/templates/pi/index.js.map +1 -0
  520. package/dist/templates/pi/settings.json +21 -0
  521. package/dist/templates/qoder/agents/trellis-check.md +102 -0
  522. package/dist/templates/qoder/agents/trellis-implement.md +103 -0
  523. package/dist/templates/qoder/agents/trellis-research.md +137 -0
  524. package/dist/templates/qoder/index.d.ts +15 -0
  525. package/dist/templates/qoder/index.d.ts.map +1 -0
  526. package/dist/templates/qoder/index.js +15 -0
  527. package/dist/templates/qoder/index.js.map +1 -0
  528. package/dist/templates/qoder/settings.json +47 -0
  529. package/dist/templates/shared-hooks/index.d.ts +50 -0
  530. package/dist/templates/shared-hooks/index.d.ts.map +1 -0
  531. package/dist/templates/shared-hooks/index.js +89 -0
  532. package/dist/templates/shared-hooks/index.js.map +1 -0
  533. package/dist/templates/shared-hooks/inject-shell-session-context.py +183 -0
  534. package/dist/templates/shared-hooks/inject-subagent-context.py +771 -0
  535. package/dist/templates/shared-hooks/inject-workflow-state.py +363 -0
  536. package/dist/templates/shared-hooks/session-start.py +827 -0
  537. package/dist/templates/template-utils.d.ts +26 -0
  538. package/dist/templates/template-utils.d.ts.map +1 -0
  539. package/dist/templates/template-utils.js +60 -0
  540. package/dist/templates/template-utils.js.map +1 -0
  541. package/dist/templates/trellis/config.yaml +90 -0
  542. package/dist/templates/trellis/gitignore.txt +32 -0
  543. package/dist/templates/trellis/index.d.ts +52 -0
  544. package/dist/templates/trellis/index.d.ts.map +1 -0
  545. package/dist/templates/trellis/index.js +97 -0
  546. package/dist/templates/trellis/index.js.map +1 -0
  547. package/dist/templates/trellis/scripts/__init__.py +5 -0
  548. package/dist/templates/trellis/scripts/add_session.py +547 -0
  549. package/dist/templates/trellis/scripts/common/__init__.py +92 -0
  550. package/dist/templates/trellis/scripts/common/active_task.py +626 -0
  551. package/dist/templates/trellis/scripts/common/cli_adapter.py +811 -0
  552. package/dist/templates/trellis/scripts/common/config.py +445 -0
  553. package/dist/templates/trellis/scripts/common/developer.py +190 -0
  554. package/dist/templates/trellis/scripts/common/git.py +31 -0
  555. package/dist/templates/trellis/scripts/common/git_context.py +106 -0
  556. package/dist/templates/trellis/scripts/common/io.py +37 -0
  557. package/dist/templates/trellis/scripts/common/log.py +45 -0
  558. package/dist/templates/trellis/scripts/common/packages_context.py +238 -0
  559. package/dist/templates/trellis/scripts/common/paths.py +447 -0
  560. package/dist/templates/trellis/scripts/common/safe_commit.py +285 -0
  561. package/dist/templates/trellis/scripts/common/session_context.py +821 -0
  562. package/dist/templates/trellis/scripts/common/task_context.py +223 -0
  563. package/dist/templates/trellis/scripts/common/task_queue.py +188 -0
  564. package/dist/templates/trellis/scripts/common/task_store.py +698 -0
  565. package/dist/templates/trellis/scripts/common/task_utils.py +274 -0
  566. package/dist/templates/trellis/scripts/common/tasks.py +112 -0
  567. package/dist/templates/trellis/scripts/common/trellis_config.py +131 -0
  568. package/dist/templates/trellis/scripts/common/types.py +110 -0
  569. package/dist/templates/trellis/scripts/common/workflow_phase.py +212 -0
  570. package/dist/templates/trellis/scripts/get_context.py +16 -0
  571. package/dist/templates/trellis/scripts/get_developer.py +26 -0
  572. package/dist/templates/trellis/scripts/hooks/linear_sync.py +243 -0
  573. package/dist/templates/trellis/scripts/init_developer.py +51 -0
  574. package/dist/templates/trellis/scripts/task.py +500 -0
  575. package/dist/templates/trellis/tasks/.gitkeep +0 -0
  576. package/dist/templates/trellis/workflow.md +690 -0
  577. package/dist/types/ai-tools.d.ts +95 -0
  578. package/dist/types/ai-tools.d.ts.map +1 -0
  579. package/dist/types/ai-tools.js +280 -0
  580. package/dist/types/ai-tools.js.map +1 -0
  581. package/dist/types/migration.d.ts +125 -0
  582. package/dist/types/migration.d.ts.map +1 -0
  583. package/dist/types/migration.js +8 -0
  584. package/dist/types/migration.js.map +1 -0
  585. package/dist/utils/compare-versions.d.ts +12 -0
  586. package/dist/utils/compare-versions.d.ts.map +1 -0
  587. package/dist/utils/compare-versions.js +86 -0
  588. package/dist/utils/compare-versions.js.map +1 -0
  589. package/dist/utils/cwd-guard.d.ts +38 -0
  590. package/dist/utils/cwd-guard.d.ts.map +1 -0
  591. package/dist/utils/cwd-guard.js +62 -0
  592. package/dist/utils/cwd-guard.js.map +1 -0
  593. package/dist/utils/file-writer.d.ts +36 -0
  594. package/dist/utils/file-writer.d.ts.map +1 -0
  595. package/dist/utils/file-writer.js +203 -0
  596. package/dist/utils/file-writer.js.map +1 -0
  597. package/dist/utils/manifest-prune.d.ts +61 -0
  598. package/dist/utils/manifest-prune.d.ts.map +1 -0
  599. package/dist/utils/manifest-prune.js +136 -0
  600. package/dist/utils/manifest-prune.js.map +1 -0
  601. package/dist/utils/posix.d.ts +13 -0
  602. package/dist/utils/posix.d.ts.map +1 -0
  603. package/dist/utils/posix.js +15 -0
  604. package/dist/utils/posix.js.map +1 -0
  605. package/dist/utils/project-detector.d.ts +46 -0
  606. package/dist/utils/project-detector.d.ts.map +1 -0
  607. package/dist/utils/project-detector.js +666 -0
  608. package/dist/utils/project-detector.js.map +1 -0
  609. package/dist/utils/proxy.d.ts +25 -0
  610. package/dist/utils/proxy.d.ts.map +1 -0
  611. package/dist/utils/proxy.js +60 -0
  612. package/dist/utils/proxy.js.map +1 -0
  613. package/dist/utils/task-json.d.ts +13 -0
  614. package/dist/utils/task-json.d.ts.map +1 -0
  615. package/dist/utils/task-json.js +12 -0
  616. package/dist/utils/task-json.js.map +1 -0
  617. package/dist/utils/template-fetcher.d.ts +150 -0
  618. package/dist/utils/template-fetcher.d.ts.map +1 -0
  619. package/dist/utils/template-fetcher.js +907 -0
  620. package/dist/utils/template-fetcher.js.map +1 -0
  621. package/dist/utils/template-hash.d.ts +123 -0
  622. package/dist/utils/template-hash.d.ts.map +1 -0
  623. package/dist/utils/template-hash.js +334 -0
  624. package/dist/utils/template-hash.js.map +1 -0
  625. package/dist/utils/uninstall-scrubbers.d.ts +66 -0
  626. package/dist/utils/uninstall-scrubbers.d.ts.map +1 -0
  627. package/dist/utils/uninstall-scrubbers.js +342 -0
  628. package/dist/utils/uninstall-scrubbers.js.map +1 -0
  629. package/package.json +90 -0
@@ -0,0 +1,335 @@
1
+ ---
2
+ name: update-spec
3
+ description: "Captures executable contracts and coding knowledge into .trellis/spec/ documents after implementation, debugging, or design decisions. Enforces code-spec depth for infra and cross-layer changes with mandatory sections for signatures, contracts, validation matrices, and test points. Use when a feature is implemented, a bug is fixed, a design decision is made, a new pattern is discovered, or cross-layer contracts change."
4
+ ---
5
+
6
+ # Update Code-Spec - Capture Executable Contracts
7
+
8
+ When you learn something valuable (from debugging, implementing, or discussion), use this skill to update the relevant code-spec documents.
9
+
10
+ **Timing**: After completing a task, fixing a bug, or discovering a new pattern
11
+
12
+ ---
13
+
14
+ ## Code-Spec First Rule (CRITICAL)
15
+
16
+ In this project, "spec" for implementation work means **code-spec**:
17
+ - Executable contracts (not principle-only text)
18
+ - Concrete signatures, payload fields, env keys, and boundary behavior
19
+ - Testable validation/error behavior
20
+
21
+ If the change touches infra or cross-layer contracts, code-spec depth is mandatory.
22
+
23
+ Required sections for infra/cross-layer specs:
24
+ 1. Scope / Trigger
25
+ 2. Signatures (command/API/DB)
26
+ 3. Contracts (request/response/env)
27
+ 4. Validation & Error Matrix
28
+ 5. Good/Base/Bad Cases
29
+ 6. Tests Required (with assertion points)
30
+ 7. Wrong vs Correct (at least one pair)
31
+
32
+ ---
33
+
34
+ ## When to Update Code-Specs
35
+
36
+ | Trigger | Example | Target Spec |
37
+ |---------|---------|-------------|
38
+ | **Implemented a feature** | Added template download with giget | Relevant `backend/` or `frontend/` file |
39
+ | **Made a design decision** | Used type field + mapping table for extensibility | Relevant code-spec + "Design Decisions" section |
40
+ | **Fixed a bug** | Found a subtle issue with error handling | `backend/error-handling.md` |
41
+ | **Discovered a pattern** | Found a better way to structure code | Relevant `backend/` or `frontend/` file |
42
+ | **Hit a gotcha** | Learned that X must be done before Y | Relevant code-spec + "Common Mistakes" section |
43
+ | **Established a convention** | Team agreed on naming pattern | `quality-guidelines.md` |
44
+ | **New thinking trigger** | "Don't forget to check X before doing Y" | `guides/*.md` (as a checklist item, not detailed rules) |
45
+
46
+ **Key Insight**: Code-spec updates are NOT just for problems. Every feature implementation contains design decisions and contracts that future AI/developers need to execute safely.
47
+
48
+ ---
49
+
50
+ ## Spec Structure Overview
51
+
52
+ ```
53
+ .trellis/spec/
54
+ ├── backend/ # Backend coding standards
55
+ │ ├── index.md # Overview and links
56
+ │ └── *.md # Topic-specific guidelines
57
+ ├── frontend/ # Frontend coding standards
58
+ │ ├── index.md # Overview and links
59
+ │ └── *.md # Topic-specific guidelines
60
+ └── guides/ # Thinking checklists (NOT coding specs!)
61
+ ├── index.md # Guide index
62
+ └── *.md # Topic-specific guides
63
+ ```
64
+
65
+ ### CRITICAL: Code-Spec vs Guide - Know the Difference
66
+
67
+ | Type | Location | Purpose | Content Style |
68
+ |------|----------|---------|---------------|
69
+ | **Code-Spec** | `backend/*.md`, `frontend/*.md` | Tell AI "how to implement safely" | Signatures, contracts, matrices, cases, test points |
70
+ | **Guide** | `guides/*.md` | Help AI "what to think about" | Checklists, questions, pointers to specs |
71
+
72
+ **Decision Rule**: Ask yourself:
73
+
74
+ - "This is **how to write** the code" → Put in `backend/` or `frontend/`
75
+ - "This is **what to consider** before writing" → Put in `guides/`
76
+
77
+ **Example**:
78
+
79
+ | Learning | Wrong Location | Correct Location |
80
+ |----------|----------------|------------------|
81
+ | "Use `reconfigure()` not `TextIOWrapper` for Windows stdout" | ❌ `guides/cross-platform-thinking-guide.md` | ✅ `backend/script-conventions.md` |
82
+ | "Remember to check encoding when writing cross-platform code" | ❌ `backend/script-conventions.md` | ✅ `guides/cross-platform-thinking-guide.md` |
83
+
84
+ **Guides should be short checklists that point to specs**, not duplicate the detailed rules.
85
+
86
+ ---
87
+
88
+ ## Update Process
89
+
90
+ ### Step 1: Identify What You Learned
91
+
92
+ Answer these questions:
93
+
94
+ 1. **What did you learn?** (Be specific)
95
+ 2. **Why is it important?** (What problem does it prevent?)
96
+ 3. **Where does it belong?** (Which spec file?)
97
+
98
+ ### Step 2: Classify the Update Type
99
+
100
+ | Type | Description | Action |
101
+ |------|-------------|--------|
102
+ | **Design Decision** | Why we chose approach X over Y | Add to "Design Decisions" section |
103
+ | **Project Convention** | How we do X in this project | Add to relevant section with examples |
104
+ | **New Pattern** | A reusable approach discovered | Add to "Patterns" section |
105
+ | **Forbidden Pattern** | Something that causes problems | Add to "Anti-patterns" or "Don't" section |
106
+ | **Common Mistake** | Easy-to-make error | Add to "Common Mistakes" section |
107
+ | **Convention** | Agreed-upon standard | Add to relevant section |
108
+ | **Gotcha** | Non-obvious behavior | Add warning callout |
109
+
110
+ ### Step 3: Read the Target Code-Spec
111
+
112
+ Before editing, read the current code-spec to:
113
+ - Understand existing structure
114
+ - Avoid duplicating content
115
+ - Find the right section for your update
116
+
117
+ ```bash
118
+ cat .trellis/spec/<category>/<file>.md
119
+ ```
120
+
121
+ ### Step 4: Make the Update
122
+
123
+ Follow these principles:
124
+
125
+ 1. **Be Specific**: Include concrete examples, not just abstract rules
126
+ 2. **Explain Why**: State the problem this prevents
127
+ 3. **Show Contracts**: Add signatures, payload fields, and error behavior
128
+ 4. **Show Code**: Add code snippets for key patterns
129
+ 5. **Keep it Short**: One concept per section
130
+
131
+ ### Step 5: Update the Index (if needed)
132
+
133
+ If you added a new section or the code-spec status changed, update the category's `index.md`.
134
+
135
+ ---
136
+
137
+ ## Update Templates
138
+
139
+ ### Mandatory Template for Infra/Cross-Layer Work
140
+
141
+ ```markdown
142
+ ## Scenario: <name>
143
+
144
+ ### 1. Scope / Trigger
145
+ - Trigger: <why this requires code-spec depth>
146
+
147
+ ### 2. Signatures
148
+ ### 3. Contracts
149
+ ### 4. Validation & Error Matrix
150
+ ### 5. Good/Base/Bad Cases
151
+ ### 6. Tests Required
152
+ ### 7. Wrong vs Correct
153
+ #### Wrong
154
+ ...
155
+ #### Correct
156
+ ...
157
+ ```
158
+
159
+ ### Adding a Design Decision
160
+
161
+ ```markdown
162
+ ### Design Decision: [Decision Name]
163
+
164
+ **Context**: What problem were we solving?
165
+
166
+ **Options Considered**:
167
+ 1. Option A - brief description
168
+ 2. Option B - brief description
169
+
170
+ **Decision**: We chose Option X because...
171
+
172
+ **Example**:
173
+ \`\`\`typescript
174
+ // How it's implemented
175
+ code example
176
+ \`\`\`
177
+
178
+ **Extensibility**: How to extend this in the future...
179
+ ```
180
+
181
+ ### Adding a Project Convention
182
+
183
+ ```markdown
184
+ ### Convention: [Convention Name]
185
+
186
+ **What**: Brief description of the convention.
187
+
188
+ **Why**: Why we do it this way in this project.
189
+
190
+ **Example**:
191
+ \`\`\`typescript
192
+ // How to follow this convention
193
+ code example
194
+ \`\`\`
195
+
196
+ **Related**: Links to related conventions or specs.
197
+ ```
198
+
199
+ ### Adding a New Pattern
200
+
201
+ ```markdown
202
+ ### Pattern Name
203
+
204
+ **Problem**: What problem does this solve?
205
+
206
+ **Solution**: Brief description of the approach.
207
+
208
+ **Example**:
209
+ \`\`\`
210
+ // Good
211
+ code example
212
+
213
+ // Bad
214
+ code example
215
+ \`\`\`
216
+
217
+ **Why**: Explanation of why this works better.
218
+ ```
219
+
220
+ ### Adding a Forbidden Pattern
221
+
222
+ ```markdown
223
+ ### Don't: Pattern Name
224
+
225
+ **Problem**:
226
+ \`\`\`
227
+ // Don't do this
228
+ bad code example
229
+ \`\`\`
230
+
231
+ **Why it's bad**: Explanation of the issue.
232
+
233
+ **Instead**:
234
+ \`\`\`
235
+ // Do this instead
236
+ good code example
237
+ \`\`\`
238
+ ```
239
+
240
+ ### Adding a Common Mistake
241
+
242
+ ```markdown
243
+ ### Common Mistake: Description
244
+
245
+ **Symptom**: What goes wrong
246
+
247
+ **Cause**: Why this happens
248
+
249
+ **Fix**: How to correct it
250
+
251
+ **Prevention**: How to avoid it in the future
252
+ ```
253
+
254
+ ### Adding a Gotcha
255
+
256
+ ```markdown
257
+ > **Warning**: Brief description of the non-obvious behavior.
258
+ >
259
+ > Details about when this happens and how to handle it.
260
+ ```
261
+
262
+ ---
263
+
264
+ ## Interactive Mode
265
+
266
+ If you're unsure what to update, answer these prompts:
267
+
268
+ 1. **What did you just finish?**
269
+ - [ ] Fixed a bug
270
+ - [ ] Implemented a feature
271
+ - [ ] Refactored code
272
+ - [ ] Had a discussion about approach
273
+
274
+ 2. **What did you learn or decide?**
275
+ - Design decision (why X over Y)
276
+ - Project convention (how we do X)
277
+ - Non-obvious behavior (gotcha)
278
+ - Better approach (pattern)
279
+
280
+ 3. **Would future AI/developers need to know this?**
281
+ - To understand how the code works → Yes, update spec
282
+ - To maintain or extend the feature → Yes, update spec
283
+ - To avoid repeating mistakes → Yes, update spec
284
+ - Purely one-off implementation detail → Maybe skip
285
+
286
+ 4. **Which area does it relate to?**
287
+ - [ ] Backend code
288
+ - [ ] Frontend code
289
+ - [ ] Cross-layer data flow
290
+ - [ ] Code organization/reuse
291
+ - [ ] Quality/testing
292
+
293
+ ---
294
+
295
+ ## Quality Checklist
296
+
297
+ Before finishing your code-spec update:
298
+
299
+ - [ ] Is the content specific and actionable?
300
+ - [ ] Did you include a code example?
301
+ - [ ] Did you explain WHY, not just WHAT?
302
+ - [ ] Did you include executable signatures/contracts?
303
+ - [ ] Did you include validation and error matrix?
304
+ - [ ] Did you include Good/Base/Bad cases?
305
+ - [ ] Did you include required tests with assertion points?
306
+ - [ ] Is it in the right code-spec file?
307
+ - [ ] Does it duplicate existing content?
308
+ - [ ] Would a new team member understand it?
309
+
310
+ ---
311
+
312
+ ## Relationship to Other Commands
313
+
314
+ ```
315
+ Development Flow:
316
+ Learn something → $update-spec → Knowledge captured
317
+ ↑ ↓
318
+ $break-loop ←──────────────────── Future sessions benefit
319
+ (deep bug analysis)
320
+ ```
321
+
322
+ - `$break-loop` - Analyzes bugs deeply, often reveals spec updates needed
323
+ - `$update-spec` - Actually makes the updates (this skill)
324
+ - `$finish-work` - Reminds you to check if specs need updates
325
+
326
+ ---
327
+
328
+ ## Core Philosophy
329
+
330
+ > **Code-specs are living documents. Every debugging session, every "aha moment" is an opportunity to make the implementation contract clearer.**
331
+
332
+ The goal is **institutional memory**:
333
+ - What one person learns, everyone benefits from
334
+ - What AI learns in one session, persists to future sessions
335
+ - Mistakes become documented guardrails
@@ -0,0 +1,73 @@
1
+ ---
2
+ name: trellis-meta
3
+ description: "Understand and customize the local Trellis architecture inside a user project. Use when modifying .trellis plus platform hooks, settings, agents, skills, commands, prompts, or workflows generated by trellis init."
4
+ ---
5
+
6
+ # Trellis Meta
7
+
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
+
10
+ The default operating scope is local files in the user project:
11
+
12
+ - `.trellis/`: workflow, config, tasks, spec, workspace, scripts, and runtime state.
13
+ - Platform directories: `.claude/`, `.codex/`, `.cursor/`, `.opencode/`, `.kiro/`, `.gemini/`, `.qoder/`, `.codebuddy/`, `.github/`, `.factory/`, `.pi/`, `.kilocode/`, `.agent/`, `.windsurf/`, and similar directories.
14
+ - Shared skill layer: `.agents/skills/`.
15
+
16
+ Do not assume the user has the Trellis source repository. Do not default to modifying the global npm install directory or `node_modules`.
17
+
18
+ ## How To Use
19
+
20
+ 1. Read `references/local-architecture/overview.md` first to establish the local Trellis system model.
21
+ 2. If the request involves a specific AI tool, read `references/platform-files/platform-map.md` and the relevant platform file notes.
22
+ 3. If the user wants to change behavior, read `references/customize-local/overview.md`, then open the specific customization topic.
23
+ 4. Before editing, read the actual files in the user project and treat local content as authoritative.
24
+
25
+ ## References
26
+
27
+ ### Local Architecture
28
+
29
+ - `references/local-architecture/overview.md`: The three-layer local Trellis architecture and customization principles.
30
+ - `references/local-architecture/generated-files.md`: Files generated by `trellis init` and their customization boundaries.
31
+ - `references/local-architecture/workflow.md`: Phases, routing, and workflow-state blocks in `.trellis/workflow.md`.
32
+ - `references/local-architecture/task-system.md`: Task directories, active tasks, JSONL context, and task runtime.
33
+ - `references/local-architecture/spec-system.md`: How `.trellis/spec/` is organized and injected.
34
+ - `references/local-architecture/workspace-memory.md`: `.trellis/workspace/`, journals, and cross-session memory.
35
+ - `references/local-architecture/context-injection.md`: Hooks, sub-agent preludes, and context injection paths.
36
+
37
+ ### Platform Files
38
+
39
+ - `references/platform-files/overview.md`: How shared `.trellis/` files relate to platform directories.
40
+ - `references/platform-files/platform-map.md`: Platform directories and paths for skills, agents, hooks, and extensions.
41
+ - `references/platform-files/hooks-and-settings.md`: How settings/config files, hooks, plugins, and extensions connect to Trellis.
42
+ - `references/platform-files/agents.md`: Local file responsibilities for `trellis-research`, `trellis-implement`, and `trellis-check`.
43
+ - `references/platform-files/skills-and-commands.md`: Differences between skills, commands, prompts, and workflows, plus how to change them.
44
+
45
+ ### Local Customization
46
+
47
+ - `references/customize-local/overview.md`: Choose the right local customization entry point for the user's request.
48
+ - `references/customize-local/change-workflow.md`: Change phases, routing, next actions, and workflow-state.
49
+ - `references/customize-local/change-task-lifecycle.md`: Change task creation, status, archive behavior, and hooks.
50
+ - `references/customize-local/change-context-loading.md`: Change how tasks, specs, journals, and hook context are loaded.
51
+ - `references/customize-local/change-hooks.md`: Change platform hooks, settings, and shell session bridges.
52
+ - `references/customize-local/change-agents.md`: Change research, implement, and check agent behavior.
53
+ - `references/customize-local/change-skills-or-commands.md`: Add or modify local skills, commands, prompts, and workflows.
54
+ - `references/customize-local/change-spec-structure.md`: Adjust the project spec structure under `.trellis/spec/`.
55
+ - `references/customize-local/add-project-local-conventions.md`: Put team rules into project-local specs or local skills.
56
+
57
+ ## Current Rules
58
+
59
+ - `.trellis/workflow.md` is the local workflow source of truth.
60
+ - `.trellis/config.yaml` is the project-level Trellis configuration and task hook configuration entry point.
61
+ - `.trellis/spec/` stores the user's project-specific coding conventions and design constraints.
62
+ - `.trellis/tasks/` stores task PRDs, technical notes, research files, and JSONL context.
63
+ - `.trellis/workspace/` stores developer journals and cross-session memory.
64
+ - Platform settings/config files decide which hooks, agents, skills, commands, prompts, and workflows actually run.
65
+ - `.trellis/.template-hashes.json` and `.trellis/.runtime/` are management/runtime state files. Confirm necessity before editing them.
66
+
67
+ ## Do Not
68
+
69
+ - Do not treat Trellis upstream source code as the default target for local customization.
70
+ - Do not modify the global npm install directory or `node_modules/@mindfoldhq/trellis` to implement project needs.
71
+ - Do not overwrite user-modified local files with default templates.
72
+ - Do not put team-private project rules into the public `trellis-meta`; put project rules in `.trellis/spec/` or a project-local skill.
73
+ - Do not describe removed historical mechanisms as current Trellis behavior.
@@ -0,0 +1,83 @@
1
+ # Add Project-Local Conventions
2
+
3
+ Often the user does not need to change Trellis mechanics; they need local AI to understand their team's conventions. In that case, prefer `.trellis/spec/` or a project-local skill instead of editing `trellis-meta`.
4
+
5
+ ## Where To Put Things
6
+
7
+ | Content type | Location |
8
+ | --- | --- |
9
+ | Rules code must follow | `.trellis/spec/<layer>/` |
10
+ | Cross-layer thinking methods | `.trellis/spec/guides/` |
11
+ | AI capability for a project-specific flow | Platform-local skill |
12
+ | One-off task material | `.trellis/tasks/<task>/` |
13
+ | Session summary | `.trellis/workspace/<developer>/journal-N.md` |
14
+
15
+ ## Create A Project-Local Skill
16
+
17
+ If the user wants AI to know "how this project customizes Trellis," create a local skill:
18
+
19
+ ```text
20
+ .claude/skills/trellis-local/
21
+ └── SKILL.md
22
+ ```
23
+
24
+ Example:
25
+
26
+ ```md
27
+ ---
28
+ name: trellis-local
29
+ description: "Project-local Trellis customizations for this repository. Use when changing this project's Trellis workflow, hooks, local agents, or team-specific conventions."
30
+ ---
31
+
32
+ # Trellis Local
33
+
34
+ ## Local Scope
35
+
36
+ This skill documents this repository's Trellis customizations only.
37
+
38
+ ## Custom Workflow Rules
39
+
40
+ - ...
41
+
42
+ ## Local Hook Changes
43
+
44
+ - ...
45
+
46
+ ## Local Agent Changes
47
+
48
+ - ...
49
+ ```
50
+
51
+ For multi-platform projects, place equivalent versions in other platform skill directories, or use `.agents/skills/` for platforms that support the shared layer.
52
+
53
+ ## Write To `.trellis/spec/`
54
+
55
+ If the content is a coding convention, write it to spec. Examples:
56
+
57
+ ```text
58
+ .trellis/spec/backend/error-handling.md
59
+ .trellis/spec/frontend/components.md
60
+ .trellis/spec/guides/cross-platform-thinking-guide.md
61
+ ```
62
+
63
+ After writing it, update the corresponding `index.md` so AI can find the new rule from the entry point.
64
+
65
+ ## Make The Current Task Use New Conventions
66
+
67
+ After writing a spec, add it to the current task context:
68
+
69
+ ```bash
70
+ python3 ./.trellis/scripts/task.py add-context <task> implement ".trellis/spec/backend/error-handling.md" "Error handling conventions"
71
+ python3 ./.trellis/scripts/task.py add-context <task> check ".trellis/spec/backend/error-handling.md" "Review error handling"
72
+ ```
73
+
74
+ ## Do Not Store Project-Private Rules In `trellis-meta`
75
+
76
+ `trellis-meta` is a public skill for understanding Trellis architecture and local customization entry points. Put project-private content in:
77
+
78
+ - `.trellis/spec/`
79
+ - a project-local skill
80
+ - the current task
81
+ - workspace journal
82
+
83
+ This prevents future updates to Trellis's built-in `trellis-meta` from overwriting the team's own conventions.
@@ -0,0 +1,54 @@
1
+ # Change Local Agents
2
+
3
+ When the user wants to change `trellis-research`, `trellis-implement`, or `trellis-check` behavior, edit platform agent files in the user project.
4
+
5
+ ## Read These Files First
6
+
7
+ 1. Target platform agent directory
8
+ 2. `.trellis/workflow.md` Phase 2 / research routing
9
+ 3. Current task `prd.md`
10
+ 4. Current task `implement.jsonl` / `check.jsonl`
11
+ 5. Relevant hook or agent prelude
12
+
13
+ ## Common Paths
14
+
15
+ | Platform | Path |
16
+ | --- | --- |
17
+ | Claude Code | `.claude/agents/trellis-*.md` |
18
+ | Cursor | `.cursor/agents/trellis-*.md` |
19
+ | OpenCode | `.opencode/agents/trellis-*.md` |
20
+ | 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
+
28
+ Use the actual paths in the user project as authoritative.
29
+
30
+ ## Common Needs
31
+
32
+ | Need | Which agent to edit |
33
+ | --- | --- |
34
+ | Research must write files, not only reply in chat | `trellis-research` |
35
+ | Certain local specs must be read before implementation | `trellis-implement` + `implement.jsonl` configuration rules |
36
+ | Specific commands must run during checking | `trellis-check` |
37
+ | Agent must not modify certain directories | The corresponding agent's write boundary instructions |
38
+ | Agent output format must be fixed | The corresponding agent's final/reporting instructions |
39
+
40
+ ## Modification Principles
41
+
42
+ 1. **Preserve role boundaries**: research investigates and persists; implement writes implementation; check reviews and fixes.
43
+ 2. **Do not hard-code project specs into agents**: long-term specs belong in `.trellis/spec/`; agents are responsible for reading them.
44
+ 3. **Make read order explicit**: active task -> PRD -> info -> JSONL -> spec/research.
45
+ 4. **Make write boundaries explicit**: which directories may be written and which may not.
46
+ 5. **Synchronize across platforms**: when the user configured multiple platforms, decide whether to change only the current platform or all platform agents.
47
+
48
+ ## Agent Pull Platforms
49
+
50
+ If an agent file contains a prelude for "read task/context after startup," do not remove those steps when editing. Otherwise the agent will work only from chat context and bypass Trellis's core mechanism.
51
+
52
+ ## Hook Push Platforms
53
+
54
+ If context is injected by a hook, the agent file should still retain responsibility boundaries. Do not remove PRD/spec requirements from the agent just because a hook injects context.
@@ -0,0 +1,84 @@
1
+ # Change Local Context Loading
2
+
3
+ Context loading determines when AI reads workflow, task, spec, research, workspace, and git status. Read this page when the user says "AI does not know the current task," "the agent did not read specs," or "there is too much/too little context."
4
+
5
+ ## Read These Files First
6
+
7
+ 1. `.trellis/workflow.md`
8
+ 2. `.trellis/scripts/get_context.py`
9
+ 3. `.trellis/scripts/common/session_context.py`
10
+ 4. `.trellis/scripts/common/task_context.py`
11
+ 5. `.trellis/scripts/common/active_task.py`
12
+ 6. Current platform hooks or agent files
13
+ 7. The current task's `implement.jsonl` / `check.jsonl`
14
+
15
+ ## Context Sources
16
+
17
+ | Source | Purpose |
18
+ | --- | --- |
19
+ | `.trellis/workflow.md` | Workflow and next-action hints. |
20
+ | `.trellis/tasks/<task>/prd.md` | Current task requirements. |
21
+ | `.trellis/tasks/<task>/design.md` | Complex task technical design. |
22
+ | `.trellis/tasks/<task>/implement.md` | Complex task execution plan. |
23
+ | `.trellis/tasks/<task>/implement.jsonl` | Spec/research to read before implementation. |
24
+ | `.trellis/tasks/<task>/check.jsonl` | Spec/research to read during checking. |
25
+ | `.trellis/spec/` | Project specs. |
26
+ | `.trellis/workspace/` | Session records. |
27
+ | git status | Current working tree changes. |
28
+
29
+ ## Common Needs And Edit Points
30
+
31
+ | Need | Edit point |
32
+ | --- | --- |
33
+ | Inject more/less information in new sessions | `session_context.py` or the platform `session-start` hook. |
34
+ | Change hints on each user input | `[workflow-state:STATUS]` block in `.trellis/workflow.md`. The `inject-workflow-state` hook is parser-only and reads the block verbatim. |
35
+ | Agent did not read specs | Task JSONL, agent prelude, `inject-subagent-context` hook. |
36
+ | Active task is lost | `active_task.py` and platform session identity propagation. |
37
+ | Change JSONL validation rules | `task_context.py`. |
38
+
39
+ ## JSONL Rules
40
+
41
+ `implement.jsonl` / `check.jsonl` are the key context loading interface:
42
+
43
+ ```jsonl
44
+ {"file": ".trellis/spec/backend/index.md", "reason": "Backend conventions"}
45
+ {"file": ".trellis/tasks/04-28-x/research/api.md", "reason": "API research"}
46
+ ```
47
+
48
+ Include only spec/research files. Do not put code files that will be modified into these manifests; agents read code files themselves during implementation.
49
+
50
+ ## Change Session Context
51
+
52
+ If the user wants every new session to see more project state, edit:
53
+
54
+ - `.trellis/scripts/common/session_context.py`
55
+ - the corresponding platform `session-start` hook
56
+
57
+ Context cannot grow without bound. Prefer injecting indexes and paths so the AI can read detailed files on demand.
58
+
59
+ ## Change Sub-Agent Context
60
+
61
+ First determine which mode the platform uses:
62
+
63
+ - hook push: edit the `inject-subagent-context` hook.
64
+ - agent pull: edit the read steps in the corresponding `trellis-implement` / `trellis-check` agent file.
65
+
66
+ In both modes, make sure the agent ultimately reads:
67
+
68
+ 1. active task
69
+ 2. the corresponding JSONL
70
+ 3. spec/research referenced by the JSONL
71
+ 4. `prd.md`
72
+ 5. `design.md` if present
73
+ 6. `implement.md` if present
74
+
75
+ ## Troubleshooting Order
76
+
77
+ ```bash
78
+ python3 ./.trellis/scripts/task.py current --source
79
+ python3 ./.trellis/scripts/task.py list-context <task>
80
+ python3 ./.trellis/scripts/task.py validate <task>
81
+ python3 ./.trellis/scripts/get_context.py --mode packages
82
+ ```
83
+
84
+ Confirm the task and JSONL are correct before editing hooks/agents.
@@ -0,0 +1,57 @@
1
+ # Change Local Hooks
2
+
3
+ Hooks are the automation layer that connects a platform to Trellis. When the user wants to change "when context is injected," "how shell commands inherit a session," or "which files are read before an agent starts," hooks are usually the edit point.
4
+
5
+ ## Read These Files First
6
+
7
+ 1. Target platform settings/config, such as `.claude/settings.json`, `.codex/hooks.json`, `.cursor/hooks.json`
8
+ 2. Target platform hooks directory
9
+ 3. `.trellis/scripts/common/active_task.py`
10
+ 4. `.trellis/scripts/common/session_context.py`
11
+ 5. `.trellis/workflow.md`
12
+
13
+ ## Common Hook Types
14
+
15
+ | Hook | Purpose |
16
+ | --- | --- |
17
+ | session-start | Injects a Trellis overview when a session starts, clears, or compacts. |
18
+ | workflow-state | Injects a state hint on each user input. |
19
+ | sub-agent context | Injects PRD/spec/research before an agent starts. |
20
+ | shell session bridge | Lets `task.py` commands in shell see the same session identity. |
21
+
22
+ ## Modification Steps
23
+
24
+ 1. Find the hook registration in settings/config.
25
+ 2. Confirm the registered script path exists.
26
+ 3. Read the hook script and identify inputs, outputs, and called `.trellis/scripts/`.
27
+ 4. Modify hook behavior.
28
+ 5. If the hook depends on workflow content, synchronize `.trellis/workflow.md`.
29
+
30
+ ## Example: Change New-Session Injection Content
31
+
32
+ First find the session-start hook:
33
+
34
+ ```text
35
+ .claude/settings.json
36
+ .claude/hooks/session-start.py
37
+ ```
38
+
39
+ If the hook ultimately calls `.trellis/scripts/get_context.py` or `session_context.py`, editing the local script is usually more robust than hard-coding content in the hook.
40
+
41
+ ## Example: Agent Did Not Read JSONL
42
+
43
+ First confirm:
44
+
45
+ ```bash
46
+ python3 ./.trellis/scripts/task.py current --source
47
+ python3 ./.trellis/scripts/task.py validate <task>
48
+ ```
49
+
50
+ If the task and JSONL are correct, determine whether the platform uses hook push or agent pull. For hook push, edit `inject-subagent-context`; for agent pull, edit the agent file.
51
+
52
+ ## Notes
53
+
54
+ - Settings handle registration, hook scripts handle behavior; inspect both together.
55
+ - Different platforms support different hook events. Do not directly copy another platform's settings.
56
+ - Hooks should read project-local `.trellis/`; they should not depend on Trellis upstream source paths.
57
+ - Hook failures should produce visible errors so AI does not silently lose context.