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,9 @@
1
+ {
2
+ "version": "0.3.0-beta.13",
3
+ "description": "Cursor platform support & base_branch auto-recording",
4
+ "breaking": false,
5
+ "recommendMigrate": true,
6
+ "changelog": "**Features:**\n\n1. **Cursor Platform Support** (5357e98)\n - Added Cursor as a supported platform alongside Claude Code and OpenCode\n - task.py now auto-detects platform based on config directories\n - Cursor uses flat command structure: `.cursor/commands/trellis-<name>.md`\n\n2. **Auto-record base_branch on Task Creation** (e38578b)\n - Creating a task now automatically records the current branch as `base_branch`\n - PRs will target the correct branch where user was working\n - Syncs with main branch 0.2.15 changes\n\n3. **set-base-branch Command** (e38578b)\n - New command to manually change PR target branch\n - Usage: `python3 task.py set-base-branch <task-dir> <branch>`\n\n**Bug Fixes:**\n\n1. **OpenCode Agent Path Fixes** (5357e98)\n - Fixed hardcoded task directory paths in OpenCode agent docs\n - Changed from `.trellis/workspace/{developer}/tasks/` to `.trellis/tasks/`\n - Cleaned up unused hardcoded constants in plan.py and start.py",
7
+ "migrations": [],
8
+ "notes": "Recommended for Cursor users and multi-agent pipeline users who need correct PR targeting."
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": "0.3.0-beta.14",
3
+ "description": "Fix update error for 0.2.x users & add missing manifests",
4
+ "breaking": false,
5
+ "recommendMigrate": true,
6
+ "changelog": "**Bug Fixes:**\n- fix(update): add defensive check for undefined item.from in orphanedMigrations\n- Add missing manifests: 0.2.12, 0.2.13, 0.3.0-beta.1~6, 0.3.0-beta.11\n\nFixes \"path argument must be of type string\" error when upgrading from 0.2.12/0.2.13.",
7
+ "migrations": [],
8
+ "notes": "Recommended for users who encountered update errors from 0.2.x versions."
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": "0.3.0-beta.15",
3
+ "description": "Add cli_adapter.py to update system",
4
+ "breaking": false,
5
+ "recommendMigrate": false,
6
+ "changelog": "**Bug Fixes:**\n- fix(update): add missing cli_adapter.py to template files\n\nThis file is used by task.py and multi_agent scripts but was not being updated.",
7
+ "migrations": [],
8
+ "notes": "No migration required."
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": "0.3.0-beta.16",
3
+ "description": "iFlow CLI support and update mechanism fix",
4
+ "breaking": false,
5
+ "recommendMigrate": false,
6
+ "changelog": "**New Features:**\n- feat(cli): add iFlow CLI support (#22)\n\n**Bug Fixes:**\n- fix: Windows stdout encoding in iFlow hooks (use reconfigure pattern)\n- fix: sync update-spec.md to iFlow templates\n- fix: lint errors (non-null assertion, unused param)\n- fix(update): only update templates for configured platforms\n\n**Documentation:**\n- docs: add platform-integration.md spec for adding new CLI platforms",
7
+ "migrations": [],
8
+ "notes": "No migration required. Update mechanism now only updates platforms that have existing directories."
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": "0.3.0-beta.2",
3
+ "description": "Windows compatibility fixes",
4
+ "breaking": false,
5
+ "recommendMigrate": false,
6
+ "changelog": "**Bug Fixes:**\n- fix(templates): use python3 consistently for Windows compatibility\n- fix(update): move breaking change warnings to bottom of output\n\n**Docs:**\n- Add cross-platform thinking guide",
7
+ "migrations": [],
8
+ "notes": "No migration required."
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": "0.3.0-beta.3",
3
+ "description": "Breaking change warning and docs update",
4
+ "breaking": false,
5
+ "recommendMigrate": false,
6
+ "changelog": "**Bug Fixes:**\n- fix(update): show breaking change warning before confirm prompt\n\n**Docs:**\n- Update backend specs for shell-to-python migration",
7
+ "migrations": [],
8
+ "notes": "No migration required."
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": "0.3.0-beta.4",
3
+ "description": "Version bump only",
4
+ "breaking": false,
5
+ "recommendMigrate": false,
6
+ "changelog": "Version bump release.",
7
+ "migrations": [],
8
+ "notes": "No migration required."
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": "0.3.0-beta.5",
3
+ "description": "Semver prerelease version handling fix",
4
+ "breaking": false,
5
+ "recommendMigrate": false,
6
+ "changelog": "**Bug Fixes:**\n- fix(update): handle prerelease versions in semver comparison",
7
+ "migrations": [],
8
+ "notes": "No migration required."
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": "0.3.0-beta.6",
3
+ "description": "Init conflict handling & trellis-meta skill",
4
+ "breaking": false,
5
+ "recommendMigrate": false,
6
+ "changelog": "**Features:**\n- feat(skill): add trellis-meta skill documenting Trellis system\n\n**Bug Fixes:**\n- fix(init): use writeFile for all file copies to allow user choice on conflicts",
7
+ "migrations": [],
8
+ "notes": "No migration required."
9
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "version": "0.3.0-beta.7",
3
+ "description": "Windows compatibility fixes and hook JSON format corrections",
4
+ "breaking": false,
5
+ "recommendMigrate": true,
6
+ "changelog": "Fixes for Windows compatibility (Issue #19) and Claude Code hook JSON format (Issue #18). Hook commands now use `python3` directly. Windows users may need to manually update `.claude/settings.json` if `python3` is not available on their system.",
7
+ "migrationGuide": "# Migration Guide: v0.3.0-beta.7 Windows Compatibility\n\n## Overview\n\nThis release fixes Windows compatibility issues and corrects the Claude Code hook JSON output format.\n\n## What Changed\n\n### Hook JSON Format (Issue #18)\n\nSessionStart hooks now output the correct JSON format expected by Claude Code:\n\n```json\n{\n \"hookSpecificOutput\": {\n \"hookEventName\": \"SessionStart\",\n \"additionalContext\": \"...\"\n }\n}\n```\n\n### UTF-8 Encoding (Issue #19)\n\n- Git commands now force UTF-8 output encoding\n- Python subprocess calls use `encoding=\"utf-8\"` and `errors=\"replace\"`\n- Cross-platform `tail_follow()` implementation in status.py\n\n### Hook Command Change\n\nHook commands in `.claude/settings.json` now use `python3` directly:\n\n```json\n\"command\": \"python3 .claude/hooks/session-start.py\"\n```\n\n## Windows Users: Manual Step Required\n\nIf your Windows system uses `python` instead of `python3`, you need to manually update `.claude/settings.json`:\n\n1. Open `.claude/settings.json`\n2. Find all `\"command\": \"python3 ...\"` entries\n3. Change `python3` to `python` if needed\n\nExample:\n```json\n// Before (if python3 not available)\n\"command\": \"python3 .claude/hooks/session-start.py\"\n\n// After\n\"command\": \"python .claude/hooks/session-start.py\"\n```\n\n## Affected Files\n\n- `.claude/settings.json` - Hook commands updated\n- `.claude/hooks/session-start.py` - JSON format fixed\n- `.trellis/scripts/common/git_context.py` - UTF-8 encoding\n- `.trellis/scripts/multi_agent/status.py` - Cross-platform tail\n- Other scripts - UTF-8 encoding fixes",
8
+ "aiInstructions": "1. Update `.claude/settings.json` hook commands to use `python3`\n2. If user reports Python not found on Windows, guide them to change `python3` to `python` in settings.json\n3. Verify hook scripts output correct JSON format\n4. Check that git commands work with non-ASCII characters",
9
+ "migrations": [],
10
+ "notes": "This is a compatibility fix release. No file migrations required. Windows users using `python` instead of `python3` should manually update their `.claude/settings.json` file."
11
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": "0.3.0-beta.8",
3
+ "description": "Task commands now support task name lookup",
4
+ "breaking": false,
5
+ "recommendMigrate": false,
6
+ "changelog": "All task commands (start, init-context, set-branch, etc.) now support task name in addition to full path. Example: `python3 task.py start my-task` instead of `python3 task.py start .trellis/tasks/01-31-my-task`.",
7
+ "migrations": [],
8
+ "notes": "Usability improvement. No migration required."
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": "0.3.0-beta.9",
3
+ "description": "OpenCode platform support",
4
+ "breaking": false,
5
+ "recommendMigrate": false,
6
+ "changelog": "Added OpenCode platform support:\n\n**New Features:**\n- `trellis init --opencode` - Initialize project for OpenCode\n- `--platform opencode` flag for plan.py, start.py\n- Complete `.opencode/` templates (agents, commands, plugins)\n- Session ID extraction and resume for OpenCode (`ses_xxx` format)\n- CLI adapter abstraction (`cli_adapter.py`)\n\n**Changes:**\n- Agent definitions use `permission:` format instead of deprecated `tools:`\n- Agents no longer hardcode `model:` field, inherit from user's global config\n- `status.py` outputs platform-specific resume commands\n\n**OpenCode Usage:**\n```bash\n# Initialize\ntrellis init --opencode\n\n# Multi-agent with OpenCode\npython3 .trellis/scripts/multi_agent/plan.py --platform opencode ...\npython3 .trellis/scripts/multi_agent/start.py --platform opencode ...\n```\n\n**Note:** Full subagent context injection requires oh-my-opencode (omo). Without omo, agents use Self-Loading fallback.",
7
+ "migrations": [],
8
+ "notes": "New platform support. No migration required for existing Claude Code users."
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": "0.3.0-rc.0",
3
+ "description": "Registry refactor, bug fixes, test coverage, release tooling",
4
+ "breaking": false,
5
+ "recommendMigrate": false,
6
+ "changelog": "**New Features:**\n- feat(init): support remote spec templates from docs repo\n- feat(scripts): create-manifest.js supports beta/rc/release workflows\n- feat(scripts): add release:rc script to package.json\n\n**Bug Fixes:**\n- fix: template placeholder roundtrip — collectTemplates settings now resolve {{PYTHON_CMD}} correctly\n- fix: remove stale cross-platform-thinking-guide.md reference from update command\n- fix: tool flags (--claude etc.) now take precedence over -y default\n- fix: Windows python3 command compatibility ({{PYTHON_CMD}} placeholder)\n\n**Refactor:**\n- refactor: centralized platform registry pattern (replaces scattered init/update logic)\n- refactor: extract resolvePlaceholders to shared.ts, remove templates.ts dispatcher\n- refactor: simplify tool selection with data-driven approach\n- refactor: extract VERSION constant to src/constants/version.ts\n\n**Testing:**\n- 312 tests across 17 files (unit, integration, regression)\n- @vitest/coverage-v8 with pnpm test:coverage\n\n**Documentation:**\n- docs: add .trellis/spec/unit-test/ conventions (4 files)\n- docs: update platform-integration.md with registry pattern, known gaps, CliFlag type\n- docs: integrate test guidance into workflow commands (start, check-backend, finish-work)",
7
+ "migrations": [],
8
+ "notes": "No migration required. First release candidate — feature complete, stabilization phase."
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": "0.3.0-rc.1",
3
+ "description": "Fix CLI version comparison for prerelease versions",
4
+ "breaking": false,
5
+ "recommendMigrate": false,
6
+ "changelog": "**Bug Fixes:**\n- fix: CLI startup incorrectly reports rc version as older than beta (e.g., 0.3.0-rc.0 < 0.3.0-beta.16)\n- fix: deduplicate compareVersions — extract to shared utils/compare-versions.ts (was duplicated 3x with inconsistent implementations)\n\n**Root Cause:**\n- cli/index.ts used a simplified compareVersions that ignored prerelease identifiers, parsing \"0.3.0-rc.0\" as [0, 3, 0, 0] and \"0.3.0-beta.16\" as [0, 3, 0, 16], concluding rc < beta\n- commands/update.ts and migrations/index.ts had the correct full implementation but it was not shared",
7
+ "migrations": [],
8
+ "notes": "No migration required. Hotfix for version comparison bug introduced in rc.0."
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": "0.3.0-rc.2",
3
+ "description": "Codex platform integration and test/doc alignment",
4
+ "breaking": false,
5
+ "recommendMigrate": false,
6
+ "changelog": "**New Features:**\n- feat(platform): add Codex as a first-class platform in AI tool registry (types, CLI flag, init options, configurator dispatch)\n- feat(templates): add Codex skill templates under `src/templates/codex/skills/*/SKILL.md`\n- feat(configurator): add `configureCodex()` and template collection mapping to `.agents/skills/<name>/SKILL.md`\n- feat(runtime): extend Python `cli_adapter.py` / `registry.py` to support Codex detection and command path mapping\n\n**Testing:**\n- test(codex): add focused coverage for Codex template loading, init behavior, managed path detection, platform configurator output, and regression checks\n- test: full suite passing (`pnpm lint`, `pnpm typecheck`, `pnpm test`, `pnpm test:coverage`)\n\n**Documentation & Workflow:**\n- docs(workflow): add `improve-ut` skill/command to standardize UT planning and reporting\n- docs(spec): update backend platform integration guidance for Codex scope and common pitfalls",
7
+ "migrations": [],
8
+ "notes": "No migration required. Existing projects can adopt Codex via re-init/update workflows; no file rename/delete migration is needed."
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": "0.3.0-rc.3",
3
+ "description": "Code-spec enforcement, codex skill fixes, and add_session robustness",
4
+ "breaking": false,
5
+ "recommendMigrate": false,
6
+ "changelog": "**Bug Fixes:**\n- fix(templates): tolerate formatted markdown in add_session.py table separator matching — `startswith(\"|---\")` replaced with `re.match(r\"^\\|\\s*-\", line)` to handle formatters adding spaces\n- fix(codex): replace `/trellis:xxx` with `$xxx` syntax in codex skill templates (finish-work, update-spec, start)\n- fix(codex): remove Claude Code-specific `Task()`, `subagent_type`, `model: \"opus\"` references from codex start skill\n\n**Enhancements:**\n- feat(codex): add codex platform support to local cli_adapter.py (config dir, detect, command path)\n- docs(code-spec): enforce executable spec requirements — add Step 1.5 Code-Spec Depth Requirement to start, Section 2.5 Hard Block to finish-work, 7-section structure to update-spec\n- docs(templates): sync code-spec requirements to all 5 platform command templates\n\n**Testing:**\n- test(regression): add [rc.2] regression test for add_session.py table separator fix",
7
+ "migrations": [],
8
+ "notes": "No migration required. Fixes and enhancements are template-level only."
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": "0.3.0-rc.4",
3
+ "description": "Active spec sync in finish agent and codex skill template fixes",
4
+ "breaking": false,
5
+ "recommendMigrate": false,
6
+ "changelog": "**Enhancements:**\n- feat(templates): finish agent now actively syncs spec docs during pipeline runs — injects `update-spec.md` into finish context across all pipeline platforms (claude/iflow/opencode), rewrites finish workflow from passive verification to active spec sync that detects new patterns/contracts and updates spec files before confirming PR readiness\n\n**Documentation:**\n- docs(templates): update dispatch.md across claude/iflow/opencode to document the new finish-phase spec injection (update-spec.md + finish-work.md + prd.md)\n- docs(templates): update finish-work.md block rule — pipeline platforms note automatic spec sync by finish agent, non-pipeline platforms (cursor/codex) retain manual-first wording\n- docs(codex): restore code-spec enforcement sections (Section 2.5 Hard Block) in codex skill templates that were missing from initial codex integration",
7
+ "migrations": [],
8
+ "notes": "No migration required. Template-level changes only — run `trellis update` to sync."
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": "0.3.0-rc.5",
3
+ "description": "Brainstorm templates for all platforms",
4
+ "breaking": false,
5
+ "recommendMigrate": false,
6
+ "changelog": "**Enhancements:**\n- feat(templates): add brainstorm command to all 5 platform templates (claude/iflow/opencode/cursor/codex) with platform-specific command syntax — previously only existed in deployed dirs, never generated by `trellis init/update`\n\n**Documentation:**\n- docs(templates): add brainstorm references to start commands across iflow/opencode/cursor/codex — adds Complex Task classification, brainstorm-first workflow section, and command table entry (matching existing Claude start.md)",
7
+ "migrations": [],
8
+ "notes": "No migration required. Template-level changes only — run `trellis update` to sync."
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": "0.3.0-rc.6",
3
+ "description": "4 new platforms: Kilo, Kiro, Gemini CLI, Antigravity",
4
+ "breaking": false,
5
+ "recommendMigrate": false,
6
+ "changelog": "**New Platforms:**\n- feat(kilo): add Kilo CLI as commands-only platform (.kilocode/commands/trellis/)\n- feat(kiro): add Kiro Code as skills-based platform (.kiro/skills/)\n- feat(gemini): add Gemini CLI as first TOML-format command platform (.gemini/commands/trellis/*.toml)\n- feat(antigravity): add Antigravity as workflow-based platform (.agent/workflows/)\n\n**Bug Fixes:**\n- fix(scripts): remove non-existent spec/shared/ references from init-context defaults\n- fix(templates): correct iflow start/finish-work template content\n- fix(docs): correct license badge from FSL to AGPL-3.0\n- fix(init): fix start process flow (#48)\n\n**Tests:**\n- Added 50+ new tests covering all 4 new platforms (templates, configurators, init integration, regression)",
7
+ "migrations": [],
8
+ "notes": "No migration required. New platform templates only — existing projects unaffected. Run `trellis init --kilo`, `--kiro`, `--gemini`, or `--antigravity` to add new platform support."
9
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "version": "0.3.0",
3
+ "description": "Stable release: Shell→Python migration, 9 AI platforms, centralized registry",
4
+ "breaking": false,
5
+ "recommendMigrate": false,
6
+ "changelog": "**BREAKING: Shell to Python Migration**\n- All `.trellis/scripts/*.sh` replaced by Python equivalents (requires Python 3.10+)\n- Directory rename: `multi-agent/` → `multi_agent/` (underscore)\n- Command namespace migration: Claude uses `.claude/commands/trellis/` subdirectory, Cursor uses `trellis-` prefix\n\n**New Platforms (9 total):**\n- Codex (`.agents/skills/`) — OpenAI's CLI agent\n- Kilo (`.kilocode/commands/trellis/`) — commands-only platform\n- Kiro (`.kiro/skills/`) — skills-based platform\n- Gemini CLI (`.gemini/commands/trellis/*.toml`) — TOML-format commands\n- Antigravity (`.agent/workflows/`) — workflow-based platform\n- Plus existing: Claude Code, Cursor, iFlow, OpenCode\n\n**Architecture:**\n- Centralized platform registry replacing scattered init/update logic\n- Extracted `resolvePlaceholders()` to shared module\n- Deduplicated `compareVersions()` to `utils/compare-versions.ts`\n- Remote spec templates from docs repo\n\n**Key Fixes:**\n- Windows encoding: `_configure_stream` with reconfigure/detach fallback for stdout/stderr\n- Windows subprocess: `CREATE_NEW_PROCESS_GROUP` on win32, `start_new_session` on Unix\n- Template placeholder roundtrip (`{{PYTHON_CMD}}` resolution)\n- CLI version comparison for prerelease versions\n- add_session.py table separator tolerance for formatted markdown\n\n**Quality:**\n- 312+ tests across 17+ files (unit, integration, regression)\n- @vitest/coverage-v8 support\n- Executable spec enforcement (7-section structure)",
7
+ "migrations": [],
8
+ "migrationGuide": "# Migration Guide: v0.2.x → v0.3.0\n\n## Overview\n\nAll shell scripts (.sh) have been replaced by Python scripts (.py). This affects any custom workflows, slash commands, or documentation that references the old scripts.\n\n## Requirements\n\n- Python 3.10 or higher\n\n## What Changed\n\n### Script Extensions\n\n| Old Path | New Path |\n|----------|----------|\n| `.trellis/scripts/*.sh` | `.trellis/scripts/*.py` |\n| `.trellis/scripts/common/*.sh` | `.trellis/scripts/common/*.py` |\n| `.trellis/scripts/multi-agent/*.sh` | `.trellis/scripts/multi_agent/*.py` |\n\n### Directory Rename\n\n| Old | New |\n|-----|-----|\n| `multi-agent/` (hyphen) | `multi_agent/` (underscore) |\n\n### Invocation Change\n\n| Old | New |\n|-----|-----|\n| `./script.sh` | `python3 ./script.py` |\n| `./.trellis/scripts/task.sh` | `python3 ./.trellis/scripts/task.py` |\n\n## After Migration\n\nRun `trellis update --migrate` to archive the old shell scripts to `.trellis/scripts-shell-archive/`.",
9
+ "aiInstructions": "When assisting users upgrading from 0.2.x to 0.3.0:\n1. Search for files containing `.trellis/scripts/*.sh` references and update to `.py`\n2. Replace `multi-agent/` directory references with `multi_agent/` (underscore)\n3. Always use `python3` explicitly, not just `python` (Windows compatibility)\n4. Check ALL locations: docstrings, help text, error messages, markdown docs\n5. Run `trellis update --migrate` to remove legacy shell scripts\n\nNote: Users upgrading from any 0.3.0 prerelease (beta/rc) need no file changes — only the version stamp is updated.",
10
+ "notes": "Aggregated release covering beta.0 through rc.6. All file migrations were applied in beta.0 — shell scripts are archived to .trellis/scripts-shell-archive/ (not deleted). Users upgrading from any 0.3.0 prerelease will see no file changes — only the .version stamp is updated. New projects get all 9 platform options via `trellis init`."
11
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": "0.3.1",
3
+ "description": "SessionStart reinject on clear/compact + spec template project-type awareness",
4
+ "breaking": false,
5
+ "recommendMigrate": false,
6
+ "changelog": "**Enhancements:**\n- feat(hooks): SessionStart hook now fires on `clear` and `compact` events in addition to `startup` — ensures context is always re-injected after session reset (Claude + iFlow)\n\n**Bug Fixes:**\n- fix(iflow): command templates now write to `.iflow/commands/trellis/` subdirectory (was missing `trellis/` prefix)\n- fix(update): `collectTemplateFiles()` now checks `fs.existsSync` for backend/frontend spec dirs — prevents ghost spec files on project types that don't have them\n- fix(init): `createSpecTemplates()` respects project type — backend-only projects skip frontend spec, vice versa\n- fix(templates): removed dead `guidesCrossPlatformThinkingGuideContent` export and dead links in guides/index.md.txt",
7
+ "migrations": [],
8
+ "notes": "No migration required. Template-level changes only — run `trellis update` to sync. The settings.json changes (clear/compact matchers) will be applied automatically if the file hasn't been user-modified."
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": "0.3.10",
3
+ "description": "HTTPS registry URLs, record-session wording fix",
4
+ "breaking": false,
5
+ "recommendMigrate": false,
6
+ "changelog": "**Bug Fixes:**\n- fix(init): accept HTTPS URLs for --registry option — auto-converts GitHub/GitLab/Bitbucket URLs to giget format (#87)\n- fix(templates): clarify record-session commit rule so AI models run metadata scripts without refusing (#88)",
7
+ "migrations": [],
8
+ "notes": "Run `trellis update` to sync updated record-session templates."
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": "0.3.2",
3
+ "description": "Auto-commit workspace changes after record-session",
4
+ "breaking": false,
5
+ "recommendMigrate": false,
6
+ "changelog": "**Enhancements:**\n- feat(scripts): add auto-commit for workspace changes after record-session — journal/index changes are now automatically committed, keeping the working directory clean\n- feat(scripts): add `.trellis/config.yaml` for project-level settings (session_commit_message, max_journal_lines)\n- feat(scripts): add `--no-commit` flag to `add_session.py` to skip auto-commit\n- feat(scripts): add `common/config.py` module for reading config.yaml with sensible defaults\n- feat(templates): update all 8 platform record-session templates with auto-commit documentation",
7
+ "migrations": [],
8
+ "notes": "Run `trellis update` to sync new files (config.yaml, config.py) and updated templates."
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": "0.3.3",
3
+ "description": "Init download UX, update spec protection, and Windows encoding fixes",
4
+ "breaking": false,
5
+ "recommendMigrate": false,
6
+ "changelog": "**Enhancements:**\n- feat(init): add proxy detection with undici ProxyAgent for fetch/giget network calls\n- feat(init): add 5s timeout with live countdown for template index fetch\n- feat(init): add 30s timeout for template downloads via Promise.race\n- feat(init): show source URL and retry hint on download failure\n- feat(init): eliminate double-fetch by passing pre-fetched SpecTemplate to downloadTemplateById\n- feat(update): skip .trellis/spec/ directory entirely — user-customized content is no longer overwritten\n- feat(update): set up proxy before npm version check\n\n**Bug Fixes:**\n- fix(scripts): centralize Windows stdio UTF-8 encoding in common/__init__.py — adds stdin to fix garbled Chinese text when piping via stdin on Windows\n- fix(scripts): remove inline encoding code from add_session.py and git_context.py\n- fix(templates): remove auto-commit details from all 8 platform record-session templates to prevent AI misusing --no-commit flag\n\n**Dependencies:**\n- Add undici ^6.21.0 for ProxyAgent support\n- Bump engines.node from >=18.0.0 to >=18.17.0 (required by undici v6)",
7
+ "migrations": [],
8
+ "notes": "Run `trellis update` to sync updated scripts and templates. Node.js >=18.17.0 is now required."
9
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "version": "0.3.4",
3
+ "description": "Qoder platform, Kilo workflows, record-session task awareness",
4
+ "breaking": false,
5
+ "recommendMigrate": true,
6
+ "changelog": "**Enhancements:**\n- feat(platform): add Qoder support as skills-based platform (.qoder/skills/)\n- feat(record-session): enforce task archive check before recording; add --mode record for focused context output\n- feat(record-session): sync record-session prompt across all 9 platforms\n- feat(task): auto-commit after archive, add --no-commit flag\n\n**Bug Fixes:**\n- fix(kilo): rename commands/trellis/ to workflows/ to match Kilo official spec\n- fix(iflow): add IFLOW_NON_INTERACTIVE check in session-start hook\n- fix(multi-agent): clear CLAUDECODE env var to allow nested CLI launch\n- fix(update): skip workflow.md and workspace/index.md during update (user-customizable content)",
7
+ "migrations": [
8
+ {
9
+ "type": "rename-dir",
10
+ "from": ".kilocode/commands/trellis",
11
+ "to": ".kilocode/workflows",
12
+ "description": "Kilo uses workflows/ instead of commands/trellis/ per official spec"
13
+ },
14
+ {
15
+ "type": "delete",
16
+ "from": ".kilocode/commands",
17
+ "description": "Remove empty commands/ directory after workflow migration"
18
+ }
19
+ ],
20
+ "notes": "Kilo users: run trellis update to migrate commands/trellis/ to workflows/. New Qoder platform available via --qoder flag."
21
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": "0.3.5",
3
+ "description": "Fix delete migration manifest field name",
4
+ "breaking": false,
5
+ "recommendMigrate": false,
6
+ "changelog": "**Bug Fixes:**\n- fix(migration): use correct 'from' field instead of 'path' in delete migration manifest for Kilo commands cleanup",
7
+ "migrations": [],
8
+ "notes": "Hotfix for 0.3.4 migration error. Run trellis update to apply Kilo workflows migration."
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": "0.3.6",
3
+ "description": "Task lifecycle hooks, custom template registries, and parent-child subtasks",
4
+ "breaking": false,
5
+ "recommendMigrate": false,
6
+ "changelog": "**Enhancements:**\n- feat(init): add --registry flag for custom spec template sources (GitHub, GitLab, Bitbucket). Supports marketplace mode (index.json) and direct download mode\n- feat(task): add task lifecycle hooks via config.yaml (after_create, after_start, after_finish, after_archive) with TASK_JSON_PATH env var. Ships with Linear sync hook example\n- feat(task): add parent-child subtask support (add-subtask, remove-subtask commands, children/parent/meta fields in task.json)\n- docs(record-session): clarify archive judgment based on work status, not task.json status field\n\n**Bug Fixes:**\n- fix(hooks): PreToolUse context injection broken by Claude Code v2.1.63 Task→Agent tool rename. Implement/check/debug/research agents now correctly receive injected code-spec context",
7
+ "migrations": [],
8
+ "notes": "Run trellis update to sync updated hook scripts and command templates. Critical: fixes PreToolUse context injection for CC v2.1.63+."
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": "0.3.7",
3
+ "description": "Smart update protection, session-start task awareness, improved start flow",
4
+ "breaking": false,
5
+ "recommendMigrate": false,
6
+ "changelog": "**Enhancements:**\n- feat(update): user-deleted files are now preserved — if you intentionally deleted a file, trellis update won't re-add it\n- feat(update): config.yaml `update.skip` support — specify files or directories to permanently exclude from updates\n- feat(hooks): session-start hooks now inject `<task-status>` with structured state (NO ACTIVE TASK / NOT READY / READY / COMPLETED), enabling AI to auto-resume tasks\n- feat(hooks): dynamic spec directory discovery in session-start, supporting monorepo package layouts\n- feat(start): brainstorm enforcement — complex tasks now automatically trigger brainstorm flow across all platforms",
7
+ "migrations": [],
8
+ "notes": "Run trellis update to sync updated hook scripts and command templates."
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": "0.3.8",
3
+ "description": "Fix YAML parser quote stripping",
4
+ "breaking": false,
5
+ "recommendMigrate": false,
6
+ "changelog": "**Bug Fixes:**\n- fix(scripts): parse_simple_yaml greedy .strip() destroys nested quotes — replaced with _unquote() helper\n- fix(update): loadUpdateSkipPaths now strips surrounding quotes from skip paths",
7
+ "migrations": [],
8
+ "notes": "Run `trellis update` to sync the fixed YAML parser to your project."
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": "0.3.9",
3
+ "description": "Fix iFlow hook matcher naming",
4
+ "breaking": false,
5
+ "recommendMigrate": false,
6
+ "changelog": "**Bug Fixes:**\n- fix(cli): correct iFlow SessionStart hook matcher from `compact` to `compress` to match actual Claude Code event name",
7
+ "migrations": [],
8
+ "notes": "Run `trellis update` to sync the corrected hook matcher to your project."
9
+ }
@@ -0,0 +1,228 @@
1
+ {
2
+ "version": "0.4.0-beta.1",
3
+ "description": "Monorepo support, unified commands, safe-file-delete, worktree submodule awareness",
4
+ "breaking": true,
5
+ "recommendMigrate": true,
6
+ "changelog": "**Enhancements:**\n- feat(init): auto-detect monorepo (pnpm/npm/Cargo/Go/uv workspaces + git submodules)\n- feat(init): generate per-package spec directories and config.yaml with packages list\n- feat(update): new safe-file-delete migration type — auto-removes deprecated files when content hash matches\n- feat(update): PROTECTED_PATHS prevents migrations from touching user data (.trellis/workspace, spec, tasks)\n- feat(update): config.yaml update.skip to exclude paths from safe-file-delete and template updates\n- feat(commands): merge before-backend-dev + before-frontend-dev into unified before-dev (all 9 platforms)\n- feat(commands): merge check-backend + check-frontend into unified check (all 9 platforms)\n- feat(scripts): worktree agents auto-initialize git submodules for task packages\n- feat(scripts): session-start hook supports spec_scope filtering for monorepo\n- feat(scripts): task.py and add_session.py support --package for monorepo context\n\n**Internal:**\n- refactor(scripts): Python scripts restructured — shared io/log/git modules, TypedDict type safety, god modules split into focused modules. All entry paths unchanged.\n\n**Bug Fixes:**\n- fix(update): allow rename/rename-dir migrations to target protected paths (0.2.0 compat)\n- fix(update): warn when config.yaml parse fails instead of silently disabling update.skip\n- fix(scripts): preserve git submodule status prefix character (.strip → .rstrip)",
7
+ "notes": "Run `trellis update` to sync new unified commands. Old before-backend-dev, before-frontend-dev, check-backend, check-frontend files will be auto-deleted if unmodified.",
8
+ "migrationGuide": "## Command Consolidation\n\nThe following commands have been merged:\n\n| Old (removed) | New (replacement) |\n|---------------|-------------------|\n| `before-backend-dev` | `before-dev` |\n| `before-frontend-dev` | `before-dev` |\n| `check-backend` | `check` |\n| `check-frontend` | `check` |\n\n### If you never customized these commands\n\nNo action needed. `trellis update` will:\n1. Auto-delete the old files (hash-verified, only if unmodified)\n2. Write the new unified `before-dev` and `check` commands\n\n### If you customized the old commands\n\nThe old files will NOT be deleted (hash mismatch protection). You need to:\n1. Open the new `before-dev` / `check` command file\n2. Merge your customizations from the old backend/frontend variants into the unified file\n3. Delete the old files manually once merged\n\n### Affected paths per platform\n\n- **Claude**: `.claude/commands/trellis/`\n- **Cursor**: `.cursor/commands/`\n- **iFlow**: `.iflow/commands/trellis/`\n- **OpenCode**: `.opencode/commands/trellis/`\n- **Gemini**: `.gemini/commands/trellis/`\n- **Kilo**: `.kilocode/workflows/`\n- **Codex**: `.agents/skills/`\n- **Kiro**: `.kiro/skills/`\n- **Qoder**: `.qoder/skills/`\n\n## Python Scripts Refactoring\n\nAll `.trellis/scripts/` files have been restructured internally. **No action needed** — all entry paths (`python3 .trellis/scripts/task.py`, etc.) remain unchanged. `trellis update` will sync the new scripts automatically.",
9
+ "aiInstructions": "When helping users migrate to v0.4.0-beta.1:\n\n1. **Check for customized old commands**: Run `git diff` or compare file hashes to see if the user modified before-backend-dev, before-frontend-dev, check-backend, or check-frontend files.\n2. **If customized**: Help merge their customizations into the new unified `before-dev` and `check` files. The new files use `python3 ./.trellis/scripts/get_context.py --mode packages` to auto-detect which specs to load, replacing the hardcoded backend/frontend split.\n3. **If not customized**: Just run `trellis update` — safe-file-delete will handle cleanup automatically.\n4. **Python scripts**: No user action needed. The refactoring preserves all entry paths. If the user has custom scripts that import from `.trellis/scripts/common/`, they may need to update imports (e.g., `from common.io import read_json` instead of inline `_read_json_file`).",
10
+ "migrations": [
11
+ {
12
+ "type": "safe-file-delete",
13
+ "from": ".claude/commands/trellis/before-backend-dev.md",
14
+ "description": "Replaced by before-dev.md",
15
+ "allowed_hashes": ["7e35444de2a5779ef39944f17f566ea21d2ed7f4994246f4cfe6ebf9a11dd3e3"]
16
+ },
17
+ {
18
+ "type": "safe-file-delete",
19
+ "from": ".claude/commands/trellis/before-frontend-dev.md",
20
+ "description": "Replaced by before-dev.md",
21
+ "allowed_hashes": ["a6225f9d123dbd4a7aec822652030cae50be3f5b308297015e04d42b23a27b2a"]
22
+ },
23
+ {
24
+ "type": "safe-file-delete",
25
+ "from": ".claude/commands/trellis/check-backend.md",
26
+ "description": "Replaced by check.md",
27
+ "allowed_hashes": ["4e81a28d681ea770f780df55a212fd504ce21ee49b44ba16023b74b5c243cef3"]
28
+ },
29
+ {
30
+ "type": "safe-file-delete",
31
+ "from": ".claude/commands/trellis/check-frontend.md",
32
+ "description": "Replaced by check.md",
33
+ "allowed_hashes": ["5e8e3b682032ba0dd6bb843dd4826fff0159f78a7084964ccb119c6cf98b3d91"]
34
+ },
35
+ {
36
+ "type": "safe-file-delete",
37
+ "from": ".cursor/commands/trellis-before-backend-dev.md",
38
+ "description": "Replaced by trellis-before-dev.md",
39
+ "allowed_hashes": ["7e35444de2a5779ef39944f17f566ea21d2ed7f4994246f4cfe6ebf9a11dd3e3"]
40
+ },
41
+ {
42
+ "type": "safe-file-delete",
43
+ "from": ".cursor/commands/trellis-before-frontend-dev.md",
44
+ "description": "Replaced by trellis-before-dev.md",
45
+ "allowed_hashes": ["a6225f9d123dbd4a7aec822652030cae50be3f5b308297015e04d42b23a27b2a"]
46
+ },
47
+ {
48
+ "type": "safe-file-delete",
49
+ "from": ".cursor/commands/trellis-check-backend.md",
50
+ "description": "Replaced by trellis-check.md",
51
+ "allowed_hashes": ["4e81a28d681ea770f780df55a212fd504ce21ee49b44ba16023b74b5c243cef3"]
52
+ },
53
+ {
54
+ "type": "safe-file-delete",
55
+ "from": ".cursor/commands/trellis-check-frontend.md",
56
+ "description": "Replaced by trellis-check.md",
57
+ "allowed_hashes": ["5e8e3b682032ba0dd6bb843dd4826fff0159f78a7084964ccb119c6cf98b3d91"]
58
+ },
59
+ {
60
+ "type": "safe-file-delete",
61
+ "from": ".iflow/commands/trellis/before-backend-dev.md",
62
+ "description": "Replaced by before-dev.md",
63
+ "allowed_hashes": ["7e35444de2a5779ef39944f17f566ea21d2ed7f4994246f4cfe6ebf9a11dd3e3"]
64
+ },
65
+ {
66
+ "type": "safe-file-delete",
67
+ "from": ".iflow/commands/trellis/before-frontend-dev.md",
68
+ "description": "Replaced by before-dev.md",
69
+ "allowed_hashes": ["a6225f9d123dbd4a7aec822652030cae50be3f5b308297015e04d42b23a27b2a"]
70
+ },
71
+ {
72
+ "type": "safe-file-delete",
73
+ "from": ".iflow/commands/trellis/check-backend.md",
74
+ "description": "Replaced by check.md",
75
+ "allowed_hashes": ["4e81a28d681ea770f780df55a212fd504ce21ee49b44ba16023b74b5c243cef3"]
76
+ },
77
+ {
78
+ "type": "safe-file-delete",
79
+ "from": ".iflow/commands/trellis/check-frontend.md",
80
+ "description": "Replaced by check.md",
81
+ "allowed_hashes": ["5e8e3b682032ba0dd6bb843dd4826fff0159f78a7084964ccb119c6cf98b3d91"]
82
+ },
83
+ {
84
+ "type": "safe-file-delete",
85
+ "from": ".opencode/commands/trellis/before-backend-dev.md",
86
+ "description": "Replaced by before-dev.md",
87
+ "allowed_hashes": ["7e35444de2a5779ef39944f17f566ea21d2ed7f4994246f4cfe6ebf9a11dd3e3"]
88
+ },
89
+ {
90
+ "type": "safe-file-delete",
91
+ "from": ".opencode/commands/trellis/before-frontend-dev.md",
92
+ "description": "Replaced by before-dev.md",
93
+ "allowed_hashes": ["a6225f9d123dbd4a7aec822652030cae50be3f5b308297015e04d42b23a27b2a"]
94
+ },
95
+ {
96
+ "type": "safe-file-delete",
97
+ "from": ".opencode/commands/trellis/check-backend.md",
98
+ "description": "Replaced by check.md",
99
+ "allowed_hashes": ["4e81a28d681ea770f780df55a212fd504ce21ee49b44ba16023b74b5c243cef3"]
100
+ },
101
+ {
102
+ "type": "safe-file-delete",
103
+ "from": ".opencode/commands/trellis/check-frontend.md",
104
+ "description": "Replaced by check.md",
105
+ "allowed_hashes": ["5e8e3b682032ba0dd6bb843dd4826fff0159f78a7084964ccb119c6cf98b3d91"]
106
+ },
107
+ {
108
+ "type": "safe-file-delete",
109
+ "from": ".kilocode/workflows/before-backend-dev.md",
110
+ "description": "Replaced by before-dev.md",
111
+ "allowed_hashes": ["7e35444de2a5779ef39944f17f566ea21d2ed7f4994246f4cfe6ebf9a11dd3e3"]
112
+ },
113
+ {
114
+ "type": "safe-file-delete",
115
+ "from": ".kilocode/workflows/before-frontend-dev.md",
116
+ "description": "Replaced by before-dev.md",
117
+ "allowed_hashes": ["a6225f9d123dbd4a7aec822652030cae50be3f5b308297015e04d42b23a27b2a"]
118
+ },
119
+ {
120
+ "type": "safe-file-delete",
121
+ "from": ".kilocode/workflows/check-backend.md",
122
+ "description": "Replaced by check.md",
123
+ "allowed_hashes": ["4e81a28d681ea770f780df55a212fd504ce21ee49b44ba16023b74b5c243cef3"]
124
+ },
125
+ {
126
+ "type": "safe-file-delete",
127
+ "from": ".kilocode/workflows/check-frontend.md",
128
+ "description": "Replaced by check.md",
129
+ "allowed_hashes": ["5e8e3b682032ba0dd6bb843dd4826fff0159f78a7084964ccb119c6cf98b3d91"]
130
+ },
131
+ {
132
+ "type": "safe-file-delete",
133
+ "from": ".gemini/commands/trellis/before-backend-dev.toml",
134
+ "description": "Replaced by before-dev.toml",
135
+ "allowed_hashes": ["c384cda35b0e57de4a84d2812d59fd223c998be2aaa16a0620d7b987a08f6e33"]
136
+ },
137
+ {
138
+ "type": "safe-file-delete",
139
+ "from": ".gemini/commands/trellis/before-frontend-dev.toml",
140
+ "description": "Replaced by before-dev.toml",
141
+ "allowed_hashes": ["3e1ad82280f2aaabe60b93ec3e76c1017ef6282319d061e1a3de556b421317e2"]
142
+ },
143
+ {
144
+ "type": "safe-file-delete",
145
+ "from": ".gemini/commands/trellis/check-backend.toml",
146
+ "description": "Replaced by check.toml",
147
+ "allowed_hashes": ["8f872a2eea659abce0cbdc40ee6a197e70ffa4a4e0cbdc42ea9bb026af1cfe79"]
148
+ },
149
+ {
150
+ "type": "safe-file-delete",
151
+ "from": ".gemini/commands/trellis/check-frontend.toml",
152
+ "description": "Replaced by check.toml",
153
+ "allowed_hashes": ["4fb9eecf75f5efc0d9a38becc459d503261ecc5e69906cdfc489b2ef065944a6"]
154
+ },
155
+ {
156
+ "type": "safe-file-delete",
157
+ "from": ".agents/skills/before-backend-dev/SKILL.md",
158
+ "description": "Replaced by before-dev skill",
159
+ "allowed_hashes": ["4537ccee0071353beee636a052c01642a27a87b6b0a73e7bc872b2501547fa64"]
160
+ },
161
+ {
162
+ "type": "safe-file-delete",
163
+ "from": ".agents/skills/before-frontend-dev/SKILL.md",
164
+ "description": "Replaced by before-dev skill",
165
+ "allowed_hashes": ["679c1708a4d9fbad5214db299a38366581684a9383cf51a5d8ac21f890d6ba0d"]
166
+ },
167
+ {
168
+ "type": "safe-file-delete",
169
+ "from": ".agents/skills/check-backend/SKILL.md",
170
+ "description": "Replaced by check skill",
171
+ "allowed_hashes": ["9b312cfd7a07ed036769b387d84d642cd5e20f06b88e7b6a4626705fa8beb6fa"]
172
+ },
173
+ {
174
+ "type": "safe-file-delete",
175
+ "from": ".agents/skills/check-frontend/SKILL.md",
176
+ "description": "Replaced by check skill",
177
+ "allowed_hashes": ["27b75f9eea472ed104f39a65bb78ae559cfe8730c85e0742e55fd575a4a2f854"]
178
+ },
179
+ {
180
+ "type": "safe-file-delete",
181
+ "from": ".kiro/skills/before-backend-dev/SKILL.md",
182
+ "description": "Replaced by before-dev skill",
183
+ "allowed_hashes": ["4537ccee0071353beee636a052c01642a27a87b6b0a73e7bc872b2501547fa64"]
184
+ },
185
+ {
186
+ "type": "safe-file-delete",
187
+ "from": ".kiro/skills/before-frontend-dev/SKILL.md",
188
+ "description": "Replaced by before-dev skill",
189
+ "allowed_hashes": ["679c1708a4d9fbad5214db299a38366581684a9383cf51a5d8ac21f890d6ba0d"]
190
+ },
191
+ {
192
+ "type": "safe-file-delete",
193
+ "from": ".kiro/skills/check-backend/SKILL.md",
194
+ "description": "Replaced by check skill",
195
+ "allowed_hashes": ["9b312cfd7a07ed036769b387d84d642cd5e20f06b88e7b6a4626705fa8beb6fa"]
196
+ },
197
+ {
198
+ "type": "safe-file-delete",
199
+ "from": ".kiro/skills/check-frontend/SKILL.md",
200
+ "description": "Replaced by check skill",
201
+ "allowed_hashes": ["27b75f9eea472ed104f39a65bb78ae559cfe8730c85e0742e55fd575a4a2f854"]
202
+ },
203
+ {
204
+ "type": "safe-file-delete",
205
+ "from": ".qoder/skills/before-backend-dev/SKILL.md",
206
+ "description": "Replaced by before-dev skill",
207
+ "allowed_hashes": ["4537ccee0071353beee636a052c01642a27a87b6b0a73e7bc872b2501547fa64"]
208
+ },
209
+ {
210
+ "type": "safe-file-delete",
211
+ "from": ".qoder/skills/before-frontend-dev/SKILL.md",
212
+ "description": "Replaced by before-dev skill",
213
+ "allowed_hashes": ["679c1708a4d9fbad5214db299a38366581684a9383cf51a5d8ac21f890d6ba0d"]
214
+ },
215
+ {
216
+ "type": "safe-file-delete",
217
+ "from": ".qoder/skills/check-backend/SKILL.md",
218
+ "description": "Replaced by check skill",
219
+ "allowed_hashes": ["9b312cfd7a07ed036769b387d84d642cd5e20f06b88e7b6a4626705fa8beb6fa"]
220
+ },
221
+ {
222
+ "type": "safe-file-delete",
223
+ "from": ".qoder/skills/check-frontend/SKILL.md",
224
+ "description": "Replaced by check skill",
225
+ "allowed_hashes": ["27b75f9eea472ed104f39a65bb78ae559cfe8730c85e0742e55fd575a4a2f854"]
226
+ }
227
+ ]
228
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": "0.4.0-beta.10",
3
+ "description": "Ralph Loop field name fix, migration task assignee parsing, task lifecycle docs",
4
+ "breaking": false,
5
+ "recommendMigrate": false,
6
+ "changelog": "**Bug Fixes:**\n- fix(hooks): correct SubagentStop event field names in ralph-loop (#152) — Ralph Loop was silently inert for all users because the hook read non-existent fields (subagent_type/agent_output/prompt); now reads agent_type and last_assistant_message. Check/implement/debug subagents will now actually trigger loop control.\n- fix(update): parse name from .developer when creating migration task (#153) — previously embedded the entire key=value file contents (including the initialized_at timestamp) as the task assignee, which leaked into session-start task rendering and broke the ACTIVE TASKS layout.\n\n**Documentation:**\n- docs(workflow): document task.py start/finish lifecycle and .current-task mechanism — workflow.md now documents the start/finish subcommands (previously undocumented despite being wired in argparse) and explains how .current-task feeds SessionStart hook injection. Task Development Flow expanded from 5 to 7 steps with explicit Start and Finish phases.",
7
+ "migrations": [],
8
+ "notes": "Run `trellis update` to sync. Ralph Loop will now actually fire for check/implement/debug subagents — if you relied on the previously-silent behavior, watch for new loop activity."
9
+ }