@blulotus/trellis 0.7.0 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (335) hide show
  1. package/README.md +2 -2
  2. package/dist/cli/index.js +2 -29
  3. package/dist/cli/index.js.map +1 -1
  4. package/dist/commands/init.d.ts +0 -22
  5. package/dist/commands/init.d.ts.map +1 -1
  6. package/dist/commands/init.js +5 -12
  7. package/dist/commands/init.js.map +1 -1
  8. package/dist/commands/mem.d.ts +2 -2
  9. package/dist/commands/mem.d.ts.map +1 -1
  10. package/dist/commands/mem.js +7 -40
  11. package/dist/commands/mem.js.map +1 -1
  12. package/dist/commands/uninstall.d.ts +1 -1
  13. package/dist/commands/uninstall.d.ts.map +1 -1
  14. package/dist/commands/uninstall.js +4 -34
  15. package/dist/commands/uninstall.js.map +1 -1
  16. package/dist/commands/update.d.ts.map +1 -1
  17. package/dist/commands/update.js +2 -20
  18. package/dist/commands/update.js.map +1 -1
  19. package/dist/configurators/index.d.ts.map +1 -1
  20. package/dist/configurators/index.js +7 -73
  21. package/dist/configurators/index.js.map +1 -1
  22. package/dist/configurators/shared.d.ts +18 -70
  23. package/dist/configurators/shared.d.ts.map +1 -1
  24. package/dist/configurators/shared.js +20 -299
  25. package/dist/configurators/shared.js.map +1 -1
  26. package/dist/migrations/manifests/0.1.9.json +0 -12
  27. package/dist/migrations/manifests/0.2.14.json +0 -84
  28. package/dist/migrations/manifests/0.3.0-beta.0.json +0 -87
  29. package/dist/migrations/manifests/0.3.4.json +1 -13
  30. package/dist/migrations/manifests/0.4.0-beta.1.json +24 -176
  31. package/dist/migrations/manifests/0.5.0-beta.0.json +67 -1203
  32. package/dist/migrations/manifests/0.5.0-beta.15.json +0 -96
  33. package/dist/migrations/manifests/0.5.0-beta.5.json +0 -168
  34. package/dist/migrations/manifests/0.5.0-beta.9.json +0 -20
  35. package/dist/migrations/manifests/0.6.0-beta.23.json +0 -66
  36. package/dist/migrations/manifests/0.6.3.json +1 -16
  37. package/dist/migrations/manifests/0.6.6.json +1 -9
  38. package/dist/migrations/manifests/0.7.0.json +9 -0
  39. package/dist/migrations/manifests/0.7.1.json +9 -0
  40. package/dist/migrations/manifests/0.8.0.json +9 -0
  41. package/dist/templates/codex/hooks/session-start.py +37 -13
  42. package/dist/templates/codex/hooks.json +5 -0
  43. package/dist/templates/common/bundled-skills/trellis-meta/SKILL.md +5 -5
  44. package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-agents.md +0 -10
  45. package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-hooks.md +1 -1
  46. package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-skills-or-commands.md +1 -13
  47. package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/overview.md +2 -2
  48. package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/bundled-skills.md +9 -28
  49. package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/generated-files.md +5 -5
  50. package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/overview.md +1 -1
  51. package/dist/templates/common/bundled-skills/trellis-meta/references/platform-files/agents.md +1 -17
  52. package/dist/templates/common/bundled-skills/trellis-meta/references/platform-files/hooks-and-settings.md +4 -12
  53. package/dist/templates/common/bundled-skills/trellis-meta/references/platform-files/overview.md +6 -6
  54. package/dist/templates/common/bundled-skills/trellis-meta/references/platform-files/platform-map.md +5 -75
  55. package/dist/templates/common/bundled-skills/trellis-meta/references/platform-files/skills-and-commands.md +0 -16
  56. package/dist/templates/common/bundled-skills/trellis-session-insight/SKILL.md +1 -1
  57. package/dist/templates/common/bundled-skills/trellis-session-insight/references/cli-quick-reference.md +2 -3
  58. package/dist/templates/common/commands/continue.md +24 -4
  59. package/dist/templates/common/commands/finish-work.md +19 -9
  60. package/dist/templates/common/commands/start.md +38 -29
  61. package/dist/templates/extract.d.ts +0 -10
  62. package/dist/templates/extract.d.ts.map +1 -1
  63. package/dist/templates/extract.js +0 -24
  64. package/dist/templates/extract.js.map +1 -1
  65. package/dist/templates/markdown/spec/guides/code-reuse-thinking-guide.md.txt +7 -9
  66. package/dist/templates/markdown/spec/guides/cross-layer-thinking-guide.md.txt +4 -8
  67. package/dist/templates/markdown/spec/guides/cross-platform-thinking-guide.md.txt +5 -5
  68. package/dist/templates/shared-hooks/index.d.ts +11 -43
  69. package/dist/templates/shared-hooks/index.d.ts.map +1 -1
  70. package/dist/templates/shared-hooks/index.js +9 -86
  71. package/dist/templates/shared-hooks/index.js.map +1 -1
  72. package/dist/templates/shared-hooks/inject-spec-context.py +1 -1
  73. package/dist/templates/shared-hooks/inject-subagent-context.py +23 -85
  74. package/dist/templates/shared-hooks/inject-workflow-state.py +56 -86
  75. package/dist/templates/shared-hooks/session-start.py +76 -98
  76. package/dist/templates/trellis/index.d.ts +0 -1
  77. package/dist/templates/trellis/index.d.ts.map +1 -1
  78. package/dist/templates/trellis/index.js +0 -2
  79. package/dist/templates/trellis/index.js.map +1 -1
  80. package/dist/templates/trellis/scripts/add_session.py +4 -4
  81. package/dist/templates/trellis/scripts/common/__init__.py +2 -0
  82. package/dist/templates/trellis/scripts/common/active_task.py +80 -152
  83. package/dist/templates/trellis/scripts/common/git_context.py +1 -1
  84. package/dist/templates/trellis/scripts/common/session_context.py +2 -2
  85. package/dist/templates/trellis/scripts/common/spec_inject.py +2 -2
  86. package/dist/templates/trellis/scripts/common/task_store.py +8 -28
  87. package/dist/templates/trellis/scripts/common/workflow_phase.py +4 -8
  88. package/dist/templates/trellis/scripts/get_context.py +2 -2
  89. package/dist/templates/trellis/scripts/init_developer.py +1 -1
  90. package/dist/templates/trellis/scripts/task.py +90 -57
  91. package/dist/templates/trellis/workflow.md +44 -66
  92. package/dist/types/ai-tools.d.ts +10 -10
  93. package/dist/types/ai-tools.d.ts.map +1 -1
  94. package/dist/types/ai-tools.js +3 -434
  95. package/dist/types/ai-tools.js.map +1 -1
  96. package/dist/utils/uninstall-scrubbers.d.ts +3 -18
  97. package/dist/utils/uninstall-scrubbers.d.ts.map +1 -1
  98. package/dist/utils/uninstall-scrubbers.js +24 -154
  99. package/dist/utils/uninstall-scrubbers.js.map +1 -1
  100. package/package.json +2 -2
  101. package/dist/configurators/antigravity.d.ts +0 -7
  102. package/dist/configurators/antigravity.d.ts.map +0 -1
  103. package/dist/configurators/antigravity.js +0 -11
  104. package/dist/configurators/antigravity.js.map +0 -1
  105. package/dist/configurators/codebuddy.d.ts +0 -10
  106. package/dist/configurators/codebuddy.d.ts.map +0 -1
  107. package/dist/configurators/codebuddy.js +0 -24
  108. package/dist/configurators/codebuddy.js.map +0 -1
  109. package/dist/configurators/copilot.d.ts +0 -14
  110. package/dist/configurators/copilot.d.ts.map +0 -1
  111. package/dist/configurators/copilot.js +0 -46
  112. package/dist/configurators/copilot.js.map +0 -1
  113. package/dist/configurators/cursor.d.ts +0 -10
  114. package/dist/configurators/cursor.d.ts.map +0 -1
  115. package/dist/configurators/cursor.js +0 -23
  116. package/dist/configurators/cursor.js.map +0 -1
  117. package/dist/configurators/devin.d.ts +0 -8
  118. package/dist/configurators/devin.d.ts.map +0 -1
  119. package/dist/configurators/devin.js +0 -12
  120. package/dist/configurators/devin.js.map +0 -1
  121. package/dist/configurators/droid.d.ts +0 -10
  122. package/dist/configurators/droid.d.ts.map +0 -1
  123. package/dist/configurators/droid.js +0 -24
  124. package/dist/configurators/droid.js.map +0 -1
  125. package/dist/configurators/dsh.d.ts +0 -26
  126. package/dist/configurators/dsh.d.ts.map +0 -1
  127. package/dist/configurators/dsh.js +0 -76
  128. package/dist/configurators/dsh.js.map +0 -1
  129. package/dist/configurators/gemini.d.ts +0 -18
  130. package/dist/configurators/gemini.d.ts.map +0 -1
  131. package/dist/configurators/gemini.js +0 -39
  132. package/dist/configurators/gemini.js.map +0 -1
  133. package/dist/configurators/grok.d.ts +0 -17
  134. package/dist/configurators/grok.d.ts.map +0 -1
  135. package/dist/configurators/grok.js +0 -38
  136. package/dist/configurators/grok.js.map +0 -1
  137. package/dist/configurators/kilo.d.ts +0 -7
  138. package/dist/configurators/kilo.d.ts.map +0 -1
  139. package/dist/configurators/kilo.js +0 -11
  140. package/dist/configurators/kilo.js.map +0 -1
  141. package/dist/configurators/kimi.d.ts +0 -26
  142. package/dist/configurators/kimi.d.ts.map +0 -1
  143. package/dist/configurators/kimi.js +0 -74
  144. package/dist/configurators/kimi.js.map +0 -1
  145. package/dist/configurators/kiro.d.ts +0 -11
  146. package/dist/configurators/kiro.d.ts.map +0 -1
  147. package/dist/configurators/kiro.js +0 -30
  148. package/dist/configurators/kiro.js.map +0 -1
  149. package/dist/configurators/omp.d.ts +0 -6
  150. package/dist/configurators/omp.d.ts.map +0 -1
  151. package/dist/configurators/omp.js +0 -28
  152. package/dist/configurators/omp.js.map +0 -1
  153. package/dist/configurators/opencode.d.ts +0 -5
  154. package/dist/configurators/opencode.d.ts.map +0 -1
  155. package/dist/configurators/opencode.js +0 -84
  156. package/dist/configurators/opencode.js.map +0 -1
  157. package/dist/configurators/pi.d.ts +0 -5
  158. package/dist/configurators/pi.d.ts.map +0 -1
  159. package/dist/configurators/pi.js +0 -39
  160. package/dist/configurators/pi.js.map +0 -1
  161. package/dist/configurators/qoder.d.ts +0 -12
  162. package/dist/configurators/qoder.d.ts.map +0 -1
  163. package/dist/configurators/qoder.js +0 -30
  164. package/dist/configurators/qoder.js.map +0 -1
  165. package/dist/configurators/reasonix.d.ts +0 -17
  166. package/dist/configurators/reasonix.d.ts.map +0 -1
  167. package/dist/configurators/reasonix.js +0 -37
  168. package/dist/configurators/reasonix.js.map +0 -1
  169. package/dist/configurators/snow.d.ts +0 -25
  170. package/dist/configurators/snow.d.ts.map +0 -1
  171. package/dist/configurators/snow.js +0 -69
  172. package/dist/configurators/snow.js.map +0 -1
  173. package/dist/configurators/trae.d.ts +0 -16
  174. package/dist/configurators/trae.d.ts.map +0 -1
  175. package/dist/configurators/trae.js +0 -34
  176. package/dist/configurators/trae.js.map +0 -1
  177. package/dist/configurators/zcode.d.ts +0 -23
  178. package/dist/configurators/zcode.d.ts.map +0 -1
  179. package/dist/configurators/zcode.js +0 -63
  180. package/dist/configurators/zcode.js.map +0 -1
  181. package/dist/templates/codebuddy/agents/trellis-check.md +0 -115
  182. package/dist/templates/codebuddy/agents/trellis-implement.md +0 -115
  183. package/dist/templates/codebuddy/agents/trellis-research.md +0 -137
  184. package/dist/templates/codebuddy/index.d.ts +0 -15
  185. package/dist/templates/codebuddy/index.d.ts.map +0 -1
  186. package/dist/templates/codebuddy/index.js +0 -15
  187. package/dist/templates/codebuddy/index.js.map +0 -1
  188. package/dist/templates/codebuddy/settings.json +0 -69
  189. package/dist/templates/copilot/copilot-instructions.md +0 -11
  190. package/dist/templates/copilot/hooks/session-start.py +0 -564
  191. package/dist/templates/copilot/hooks.json +0 -19
  192. package/dist/templates/copilot/index.d.ts +0 -28
  193. package/dist/templates/copilot/index.d.ts.map +0 -1
  194. package/dist/templates/copilot/index.js +0 -61
  195. package/dist/templates/copilot/index.js.map +0 -1
  196. package/dist/templates/copilot/prompts/before-dev.prompt.md +0 -39
  197. package/dist/templates/copilot/prompts/brainstorm.prompt.md +0 -173
  198. package/dist/templates/copilot/prompts/break-loop.prompt.md +0 -129
  199. package/dist/templates/copilot/prompts/check-cross-layer.prompt.md +0 -170
  200. package/dist/templates/copilot/prompts/check.prompt.md +0 -110
  201. package/dist/templates/copilot/prompts/create-command.prompt.md +0 -116
  202. package/dist/templates/copilot/prompts/finish-work.prompt.md +0 -99
  203. package/dist/templates/copilot/prompts/integrate-skill.prompt.md +0 -223
  204. package/dist/templates/copilot/prompts/onboard.prompt.md +0 -362
  205. package/dist/templates/copilot/prompts/parallel.prompt.md +0 -204
  206. package/dist/templates/copilot/prompts/record-session.prompt.md +0 -66
  207. package/dist/templates/copilot/prompts/start.prompt.md +0 -63
  208. package/dist/templates/copilot/prompts/update-spec.prompt.md +0 -358
  209. package/dist/templates/cursor/agents/trellis-check.md +0 -114
  210. package/dist/templates/cursor/agents/trellis-implement.md +0 -114
  211. package/dist/templates/cursor/agents/trellis-research.md +0 -136
  212. package/dist/templates/cursor/hooks.json +0 -24
  213. package/dist/templates/cursor/index.d.ts +0 -13
  214. package/dist/templates/cursor/index.d.ts.map +0 -1
  215. package/dist/templates/cursor/index.js +0 -13
  216. package/dist/templates/cursor/index.js.map +0 -1
  217. package/dist/templates/droid/droids/trellis-check.md +0 -107
  218. package/dist/templates/droid/droids/trellis-implement.md +0 -107
  219. package/dist/templates/droid/droids/trellis-research.md +0 -137
  220. package/dist/templates/droid/index.d.ts +0 -15
  221. package/dist/templates/droid/index.d.ts.map +0 -1
  222. package/dist/templates/droid/index.js +0 -15
  223. package/dist/templates/droid/index.js.map +0 -1
  224. package/dist/templates/droid/settings.json +0 -69
  225. package/dist/templates/dsh/DSH.md +0 -80
  226. package/dist/templates/dsh/agents/trellis-check.md +0 -99
  227. package/dist/templates/dsh/agents/trellis-implement.md +0 -106
  228. package/dist/templates/dsh/agents/trellis-research.md +0 -134
  229. package/dist/templates/dsh/index.d.ts +0 -22
  230. package/dist/templates/dsh/index.d.ts.map +0 -1
  231. package/dist/templates/dsh/index.js +0 -27
  232. package/dist/templates/dsh/index.js.map +0 -1
  233. package/dist/templates/gemini/agents/trellis-check.md +0 -107
  234. package/dist/templates/gemini/agents/trellis-implement.md +0 -107
  235. package/dist/templates/gemini/agents/trellis-research.md +0 -136
  236. package/dist/templates/gemini/index.d.ts +0 -13
  237. package/dist/templates/gemini/index.d.ts.map +0 -1
  238. package/dist/templates/gemini/index.js +0 -13
  239. package/dist/templates/gemini/index.js.map +0 -1
  240. package/dist/templates/gemini/settings.json +0 -40
  241. package/dist/templates/grok/agents/trellis-check.md +0 -106
  242. package/dist/templates/grok/agents/trellis-implement.md +0 -121
  243. package/dist/templates/grok/agents/trellis-research.md +0 -146
  244. package/dist/templates/grok/index.d.ts +0 -16
  245. package/dist/templates/grok/index.d.ts.map +0 -1
  246. package/dist/templates/grok/index.js +0 -19
  247. package/dist/templates/grok/index.js.map +0 -1
  248. package/dist/templates/kimi/agents/trellis-check.md +0 -104
  249. package/dist/templates/kimi/agents/trellis-implement.md +0 -120
  250. package/dist/templates/kimi/agents/trellis-research.md +0 -144
  251. package/dist/templates/kimi/index.d.ts +0 -20
  252. package/dist/templates/kimi/index.d.ts.map +0 -1
  253. package/dist/templates/kimi/index.js +0 -23
  254. package/dist/templates/kimi/index.js.map +0 -1
  255. package/dist/templates/kiro/agents/trellis-check.json +0 -26
  256. package/dist/templates/kiro/agents/trellis-implement.json +0 -26
  257. package/dist/templates/kiro/agents/trellis-research.json +0 -30
  258. package/dist/templates/kiro/agents/trellis.json +0 -34
  259. package/dist/templates/kiro/hooks/trellis-workflow-state.kiro.hook +0 -14
  260. package/dist/templates/kiro/index.d.ts +0 -32
  261. package/dist/templates/kiro/index.d.ts.map +0 -1
  262. package/dist/templates/kiro/index.js +0 -28
  263. package/dist/templates/kiro/index.js.map +0 -1
  264. package/dist/templates/omp/agents/trellis-check.md +0 -41
  265. package/dist/templates/omp/agents/trellis-implement.md +0 -55
  266. package/dist/templates/omp/agents/trellis-research.md +0 -30
  267. package/dist/templates/omp/extensions/trellis/index.ts.txt +0 -592
  268. package/dist/templates/omp/index.d.ts +0 -4
  269. package/dist/templates/omp/index.d.ts.map +0 -1
  270. package/dist/templates/omp/index.js +0 -9
  271. package/dist/templates/omp/index.js.map +0 -1
  272. package/dist/templates/opencode/agents/trellis-check.md +0 -122
  273. package/dist/templates/opencode/agents/trellis-implement.md +0 -123
  274. package/dist/templates/opencode/agents/trellis-research.md +0 -145
  275. package/dist/templates/opencode/lib/context-visibility.js +0 -86
  276. package/dist/templates/opencode/lib/session-utils.js +0 -526
  277. package/dist/templates/opencode/lib/trellis-context.js +0 -627
  278. package/dist/templates/opencode/package.json +0 -5
  279. package/dist/templates/opencode/plugins/inject-spec-context.js +0 -121
  280. package/dist/templates/opencode/plugins/inject-subagent-context.js +0 -569
  281. package/dist/templates/opencode/plugins/inject-workflow-state.js +0 -340
  282. package/dist/templates/opencode/plugins/session-start.js +0 -74
  283. package/dist/templates/pi/agents/trellis-check.md +0 -37
  284. package/dist/templates/pi/agents/trellis-implement.md +0 -52
  285. package/dist/templates/pi/agents/trellis-research.md +0 -25
  286. package/dist/templates/pi/extensions/trellis/index.ts.txt +0 -2033
  287. package/dist/templates/pi/index.d.ts +0 -5
  288. package/dist/templates/pi/index.d.ts.map +0 -1
  289. package/dist/templates/pi/index.js +0 -12
  290. package/dist/templates/pi/index.js.map +0 -1
  291. package/dist/templates/pi/settings.json +0 -9
  292. package/dist/templates/qoder/agents/trellis-check.md +0 -108
  293. package/dist/templates/qoder/agents/trellis-implement.md +0 -108
  294. package/dist/templates/qoder/agents/trellis-research.md +0 -137
  295. package/dist/templates/qoder/index.d.ts +0 -15
  296. package/dist/templates/qoder/index.d.ts.map +0 -1
  297. package/dist/templates/qoder/index.js +0 -15
  298. package/dist/templates/qoder/index.js.map +0 -1
  299. package/dist/templates/qoder/settings.json +0 -59
  300. package/dist/templates/reasonix/agents/trellis-check.md +0 -36
  301. package/dist/templates/reasonix/agents/trellis-implement.md +0 -51
  302. package/dist/templates/reasonix/index.d.ts +0 -13
  303. package/dist/templates/reasonix/index.d.ts.map +0 -1
  304. package/dist/templates/reasonix/index.js +0 -16
  305. package/dist/templates/reasonix/index.js.map +0 -1
  306. package/dist/templates/shared-hooks/inject-shell-session-context.py +0 -292
  307. package/dist/templates/snow/SNOW.md +0 -86
  308. package/dist/templates/snow/agents/trellis-check.md +0 -136
  309. package/dist/templates/snow/agents/trellis-implement.md +0 -158
  310. package/dist/templates/snow/agents/trellis-research.md +0 -114
  311. package/dist/templates/snow/hooks/beforeSubAgentStart.json +0 -15
  312. package/dist/templates/snow/hooks/onSessionStart.json +0 -15
  313. package/dist/templates/snow/hooks/onUserMessage.json +0 -15
  314. package/dist/templates/snow/hooks/write-trellis-context.py +0 -644
  315. package/dist/templates/snow/index.d.ts +0 -26
  316. package/dist/templates/snow/index.d.ts.map +0 -1
  317. package/dist/templates/snow/index.js +0 -36
  318. package/dist/templates/snow/index.js.map +0 -1
  319. package/dist/templates/trae/agents/trellis-check.md +0 -108
  320. package/dist/templates/trae/agents/trellis-implement.md +0 -108
  321. package/dist/templates/trae/agents/trellis-research.md +0 -137
  322. package/dist/templates/trae/hooks.json +0 -39
  323. package/dist/templates/trae/index.d.ts +0 -15
  324. package/dist/templates/trae/index.d.ts.map +0 -1
  325. package/dist/templates/trae/index.js +0 -15
  326. package/dist/templates/trae/index.js.map +0 -1
  327. package/dist/templates/trellis/scripts/common/cli_adapter.py +0 -982
  328. package/dist/templates/zcode/agents/trellis-check.md +0 -110
  329. package/dist/templates/zcode/agents/trellis-implement.md +0 -116
  330. package/dist/templates/zcode/agents/trellis-research.md +0 -133
  331. package/dist/templates/zcode/config.json +0 -52
  332. package/dist/templates/zcode/index.d.ts +0 -25
  333. package/dist/templates/zcode/index.d.ts.map +0 -1
  334. package/dist/templates/zcode/index.js +0 -29
  335. package/dist/templates/zcode/index.js.map +0 -1
@@ -41,9 +41,7 @@ function commandMatchesDeletedPath(command, deletedPaths) {
41
41
  return false;
42
42
  }
43
43
  /**
44
- * Read the `command` (or fallback `bash` / `powershell`) string out of an
45
- * arbitrary hook entry. Copilot's flat schema uses `bash` + `powershell`
46
- * instead of `command` for some events.
44
+ * Read the `command` string out of an arbitrary hook entry.
47
45
  */
48
46
  function getEntryCommand(entry) {
49
47
  if (entry === null || typeof entry !== "object") {
@@ -52,24 +50,20 @@ function getEntryCommand(entry) {
52
50
  const obj = entry;
53
51
  if (typeof obj.command === "string")
54
52
  return obj.command;
55
- if (typeof obj.bash === "string")
56
- return obj.bash;
57
- if (typeof obj.powershell === "string")
58
- return obj.powershell;
59
53
  return null;
60
54
  }
61
55
  /**
62
56
  * Scrub a hooks-shaped settings JSON file.
63
57
  *
64
- * `mode = "nested"` → `hooks.{Event}.[ {matcher?, hooks: [ {command,...} ]} ]`
65
- * `mode = "flat"` → `hooks.{Event}.[ {command,...} ]`
58
+ * Schema: `hooks.{Event}.[ {matcher?, hooks: [ {command,...} ]} ]` — used by
59
+ * both `.claude/settings.json` and `.codex/hooks.json`.
66
60
  *
67
61
  * Strips every entry whose command references a path in `deletedPaths`,
68
62
  * then bottom-up cleans empty containers (matcher block, event array, hooks
69
63
  * object). Any user-defined keys outside `hooks` (e.g. `env`, `model`,
70
64
  * `permissions`, `version`) are preserved verbatim.
71
65
  */
72
- export function scrubHooksJson(content, deletedPaths, mode) {
66
+ export function scrubHooksJson(content, deletedPaths) {
73
67
  let parsed;
74
68
  try {
75
69
  parsed = JSON.parse(content);
@@ -100,38 +94,29 @@ export function scrubHooksJson(content, deletedPaths, mode) {
100
94
  continue;
101
95
  const filteredEvent = [];
102
96
  for (const entry of eventArr) {
103
- if (mode === "flat") {
104
- const cmd = getEntryCommand(entry);
105
- if (cmd !== null && commandMatchesDeletedPath(cmd, deletedPaths)) {
106
- continue; // drop trellis entry
107
- }
97
+ // entry is { matcher?, hooks: [...] }
98
+ if (entry === null || typeof entry !== "object") {
108
99
  filteredEvent.push(entry);
100
+ continue;
109
101
  }
110
- else {
111
- // nested: entry is { matcher?, hooks: [...] }
112
- if (entry === null || typeof entry !== "object") {
113
- filteredEvent.push(entry);
114
- continue;
115
- }
116
- const matcherBlock = entry;
117
- const inner = matcherBlock.hooks;
118
- if (!Array.isArray(inner)) {
119
- filteredEvent.push(entry);
120
- continue;
121
- }
122
- const filteredInner = inner.filter((sub) => {
123
- const cmd = getEntryCommand(sub);
124
- return !(cmd !== null && commandMatchesDeletedPath(cmd, deletedPaths));
125
- });
126
- if (filteredInner.length === 0) {
127
- // Whole matcher block is now empty → drop the block.
128
- continue;
129
- }
130
- // Reconstruct the block with the filtered inner list.
131
- const rebuilt = { ...matcherBlock };
132
- rebuilt.hooks = filteredInner;
133
- filteredEvent.push(rebuilt);
102
+ const matcherBlock = entry;
103
+ const inner = matcherBlock.hooks;
104
+ if (!Array.isArray(inner)) {
105
+ filteredEvent.push(entry);
106
+ continue;
107
+ }
108
+ const filteredInner = inner.filter((sub) => {
109
+ const cmd = getEntryCommand(sub);
110
+ return !(cmd !== null && commandMatchesDeletedPath(cmd, deletedPaths));
111
+ });
112
+ if (filteredInner.length === 0) {
113
+ // Whole matcher block is now empty → drop the block.
114
+ continue;
134
115
  }
116
+ // Reconstruct the block with the filtered inner list.
117
+ const rebuilt = { ...matcherBlock };
118
+ rebuilt.hooks = filteredInner;
119
+ filteredEvent.push(rebuilt);
135
120
  }
136
121
  if (filteredEvent.length === 0) {
137
122
  // Drop the whole event array.
@@ -155,121 +140,6 @@ export function scrubHooksJson(content, deletedPaths, mode) {
155
140
  fullyEmpty,
156
141
  };
157
142
  }
158
- /**
159
- * Scrub `.opencode/package.json`:
160
- * - remove `dependencies["@opencode-ai/plugin"]`
161
- * - if `dependencies` ends up empty → drop the field
162
- * - fully empty when nothing is left in the object
163
- */
164
- export function scrubOpencodePackageJson(content) {
165
- let parsed;
166
- try {
167
- parsed = JSON.parse(content);
168
- }
169
- catch {
170
- return { content, fullyEmpty: false };
171
- }
172
- if (parsed === null || typeof parsed !== "object" || Array.isArray(parsed)) {
173
- return { content, fullyEmpty: false };
174
- }
175
- const root = parsed;
176
- const deps = root.dependencies;
177
- if (deps !== null && typeof deps === "object" && !Array.isArray(deps)) {
178
- const depsObj = deps;
179
- if ("@opencode-ai/plugin" in depsObj) {
180
- delete depsObj["@opencode-ai/plugin"];
181
- }
182
- if (Object.keys(depsObj).length === 0) {
183
- delete root.dependencies;
184
- }
185
- else {
186
- root.dependencies = depsObj;
187
- }
188
- }
189
- const fullyEmpty = Object.keys(root).length === 0;
190
- return {
191
- content: JSON.stringify(root, null, 2) + "\n",
192
- fullyEmpty,
193
- };
194
- }
195
- /**
196
- * Trellis-specific values written by the Pi configurator.
197
- *
198
- * The `extensions`/`skills`/`prompts` arrays are paths relative to `.pi/`. We
199
- * remove the exact entries that the Pi configurator emits.
200
- */
201
- const PI_TRELLIS_EXTENSION = "./extensions/trellis/index.ts";
202
- const PI_TRELLIS_SKILLS = "./skills";
203
- const PI_TRELLIS_PROMPTS = "./prompts";
204
- const PI_SUBAGENTS_PACKAGE = "npm:pi-subagents";
205
- function isTrellisPiEntry(value, target) {
206
- return typeof value === "string" && value === target;
207
- }
208
- /**
209
- * Scrub `.pi/settings.json`:
210
- * - drop `enableSkillCommands` (trellis-flagged)
211
- * - remove trellis entries from `extensions`/`skills`/`prompts` arrays
212
- * - remove trellis-managed `packages["npm:pi-subagents"]` isolation override
213
- * - drop arrays that become empty
214
- */
215
- export function scrubPiSettings(content) {
216
- let parsed;
217
- try {
218
- parsed = JSON.parse(content);
219
- }
220
- catch {
221
- return { content, fullyEmpty: false };
222
- }
223
- if (parsed === null || typeof parsed !== "object" || Array.isArray(parsed)) {
224
- return { content, fullyEmpty: false };
225
- }
226
- const root = parsed;
227
- if ("enableSkillCommands" in root) {
228
- delete root.enableSkillCommands;
229
- }
230
- const arrayCleanups = [
231
- ["extensions", PI_TRELLIS_EXTENSION],
232
- ["skills", PI_TRELLIS_SKILLS],
233
- ["prompts", PI_TRELLIS_PROMPTS],
234
- ];
235
- for (const [key, target] of arrayCleanups) {
236
- const arr = root[key];
237
- if (!Array.isArray(arr))
238
- continue;
239
- const filtered = arr.filter((v) => !isTrellisPiEntry(v, target));
240
- if (filtered.length === 0) {
241
- // eslint-disable-next-line @typescript-eslint/no-dynamic-delete
242
- delete root[key];
243
- }
244
- else {
245
- root[key] = filtered;
246
- }
247
- }
248
- const packagesValue = root.packages;
249
- if (Array.isArray(packagesValue)) {
250
- const filtered = packagesValue.filter((entry) => {
251
- if (entry !== null &&
252
- typeof entry === "object" &&
253
- !Array.isArray(entry)) {
254
- const obj = entry;
255
- return obj.source !== PI_SUBAGENTS_PACKAGE;
256
- }
257
- // String entries — keep unless they exactly match the package name
258
- return entry !== PI_SUBAGENTS_PACKAGE;
259
- });
260
- if (filtered.length === 0) {
261
- delete root.packages;
262
- }
263
- else {
264
- root.packages = filtered;
265
- }
266
- }
267
- const fullyEmpty = Object.keys(root).length === 0;
268
- return {
269
- content: JSON.stringify(root, null, 2) + "\n",
270
- fullyEmpty,
271
- };
272
- }
273
143
  /**
274
144
  * Scrub `.codex/config.toml`.
275
145
  *
@@ -1 +1 @@
1
- {"version":3,"file":"uninstall-scrubbers.js","sourceRoot":"","sources":["../../src/utils/uninstall-scrubbers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"uninstall-scrubbers.js","sourceRoot":"","sources":["../../src/utils/uninstall-scrubbers.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blulotus/trellis",
3
- "version": "0.7.0",
3
+ "version": "0.7.1",
4
4
  "description": "AI capabilities grow like ivy — Trellis provides the structure to guide them along a disciplined path",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -34,7 +34,7 @@
34
34
  "inquirer": "^9.3.7",
35
35
  "undici": "^6.21.0",
36
36
  "zod": "^4.4.2",
37
- "@blulotus/trellis-core": "0.7.0"
37
+ "@blulotus/trellis-core": "0.7.1"
38
38
  },
39
39
  "devDependencies": {
40
40
  "@eslint/js": "^9.18.0",
@@ -1,7 +0,0 @@
1
- /**
2
- * The Antigravity file set — written at init and diffed by `trellis update`.
3
- * - workflows/ — start + finish-work as slash commands
4
- * - skills/trellis-{name}/SKILL.md — auto-triggered skills from `common/skills/`
5
- */
6
- export declare function collectAntigravityTemplates(): Map<string, string>;
7
- //# sourceMappingURL=antigravity.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"antigravity.d.ts","sourceRoot":"","sources":["../../src/configurators/antigravity.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,wBAAgB,2BAA2B,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAMjE"}
@@ -1,11 +0,0 @@
1
- import { AI_TOOLS } from "../types/ai-tools.js";
2
- import { collectBothTemplates } from "./shared.js";
3
- /**
4
- * The Antigravity file set — written at init and diffed by `trellis update`.
5
- * - workflows/ — start + finish-work as slash commands
6
- * - skills/trellis-{name}/SKILL.md — auto-triggered skills from `common/skills/`
7
- */
8
- export function collectAntigravityTemplates() {
9
- return collectBothTemplates(AI_TOOLS.antigravity.templateContext, (n) => `.agent/workflows/${n}.md`, ".agent/skills");
10
- }
11
- //# sourceMappingURL=antigravity.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"antigravity.js","sourceRoot":"","sources":["../../src/configurators/antigravity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnD;;;;GAIG;AACH,MAAM,UAAU,2BAA2B;IACzC,OAAO,oBAAoB,CACzB,QAAQ,CAAC,WAAW,CAAC,eAAe,EACpC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,KAAK,EACjC,eAAe,CAChB,CAAC;AACJ,CAAC"}
@@ -1,10 +0,0 @@
1
- /**
2
- * The CodeBuddy file set — written at init and diffed by `trellis update`.
3
- * - commands/trellis/ — start + finish-work as slash commands
4
- * - skills/trellis-{name}/SKILL.md — auto-triggered skills from `common/skills/`
5
- * - agents/{name}.md — sub-agent definitions
6
- * - hooks/*.py — shared hook scripts
7
- * - settings.json — hook configuration
8
- */
9
- export declare function collectCodebuddyTemplates(): Map<string, string>;
10
- //# sourceMappingURL=codebuddy.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"codebuddy.d.ts","sourceRoot":"","sources":["../../src/configurators/codebuddy.ts"],"names":[],"mappings":"AAWA;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAkB/D"}
@@ -1,24 +0,0 @@
1
- import { AI_TOOLS } from "../types/ai-tools.js";
2
- import { resolvePlaceholders, collectBothTemplates, collectSharedHooks, } from "./shared.js";
3
- import { getAllAgents, getSettingsTemplate, } from "../templates/codebuddy/index.js";
4
- /**
5
- * The CodeBuddy file set — written at init and diffed by `trellis update`.
6
- * - commands/trellis/ — start + finish-work as slash commands
7
- * - skills/trellis-{name}/SKILL.md — auto-triggered skills from `common/skills/`
8
- * - agents/{name}.md — sub-agent definitions
9
- * - hooks/*.py — shared hook scripts
10
- * - settings.json — hook configuration
11
- */
12
- export function collectCodebuddyTemplates() {
13
- const files = collectBothTemplates(AI_TOOLS.codebuddy.templateContext, (n) => `.codebuddy/commands/trellis/${n}.md`, ".codebuddy/skills");
14
- for (const agent of getAllAgents()) {
15
- files.set(`.codebuddy/agents/${agent.name}.md`, agent.content);
16
- }
17
- for (const [k, v] of collectSharedHooks(".codebuddy/hooks", "codebuddy")) {
18
- files.set(k, v);
19
- }
20
- const settings = getSettingsTemplate();
21
- files.set(`.codebuddy/${settings.targetPath}`, resolvePlaceholders(settings.content));
22
- return files;
23
- }
24
- //# sourceMappingURL=codebuddy.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"codebuddy.js","sourceRoot":"","sources":["../../src/configurators/codebuddy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,YAAY,EACZ,mBAAmB,GACpB,MAAM,iCAAiC,CAAC;AAEzC;;;;;;;GAOG;AACH,MAAM,UAAU,yBAAyB;IACvC,MAAM,KAAK,GAAG,oBAAoB,CAChC,QAAQ,CAAC,SAAS,CAAC,eAAe,EAClC,CAAC,CAAC,EAAE,EAAE,CAAC,+BAA+B,CAAC,KAAK,EAC5C,mBAAmB,CACpB,CAAC;IACF,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,EAAE,CAAC;QACnC,KAAK,CAAC,GAAG,CAAC,qBAAqB,KAAK,CAAC,IAAI,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACjE,CAAC;IACD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,kBAAkB,CAAC,kBAAkB,EAAE,WAAW,CAAC,EAAE,CAAC;QACzE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,QAAQ,GAAG,mBAAmB,EAAE,CAAC;IACvC,KAAK,CAAC,GAAG,CACP,cAAc,QAAQ,CAAC,UAAU,EAAE,EACnC,mBAAmB,CAAC,QAAQ,CAAC,OAAO,CAAC,CACtC,CAAC;IACF,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1,14 +0,0 @@
1
- /**
2
- * The GitHub Copilot file set — written at init and diffed by `trellis update`.
3
- * - prompts/ — start + finish-work as prompt files
4
- * - skills/trellis-{name}/SKILL.md — auto-triggered skills from `common/skills/`
5
- * - agents/{name}.agent.md — sub-agent definitions (note .agent.md suffix)
6
- * - copilot/hooks/ — platform-specific + shared hook scripts
7
- * - hooks config — hooks.json
8
- * - copilot-instructions.md — repository-wide review guidance. `trellis update`
9
- * replaces this entry with a managed-block merge over the user's file
10
- * (`buildCopilotInstructionsTemplate`); on a fresh project the merge returns
11
- * the template verbatim, so init and update agree.
12
- */
13
- export declare function collectCopilotTemplates(): Map<string, string>;
14
- //# sourceMappingURL=copilot.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"copilot.d.ts","sourceRoot":"","sources":["../../src/configurators/copilot.ts"],"names":[],"mappings":"AAmBA;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAkC7D"}
@@ -1,46 +0,0 @@
1
- import { AI_TOOLS } from "../types/ai-tools.js";
2
- import { COPILOT_INSTRUCTIONS_PATH, getAllHooks, getCopilotInstructions, getHooksConfig, } from "../templates/copilot/index.js";
3
- import { getAllAgents as getCursorAgents } from "../templates/cursor/index.js";
4
- import { resolvePlaceholders, resolveCommands, resolveSkills, resolveBundledSkills, collectSkillTemplates, collectSharedHooks, applyPullBasedPreludeMarkdown, normalizeCopilotMarkdownAgents, } from "./shared.js";
5
- /**
6
- * The GitHub Copilot file set — written at init and diffed by `trellis update`.
7
- * - prompts/ — start + finish-work as prompt files
8
- * - skills/trellis-{name}/SKILL.md — auto-triggered skills from `common/skills/`
9
- * - agents/{name}.agent.md — sub-agent definitions (note .agent.md suffix)
10
- * - copilot/hooks/ — platform-specific + shared hook scripts
11
- * - hooks config — hooks.json
12
- * - copilot-instructions.md — repository-wide review guidance. `trellis update`
13
- * replaces this entry with a managed-block merge over the user's file
14
- * (`buildCopilotInstructionsTemplate`); on a fresh project the merge returns
15
- * the template verbatim, so init and update agree.
16
- */
17
- export function collectCopilotTemplates() {
18
- const ctx = AI_TOOLS.copilot.templateContext;
19
- const files = new Map();
20
- for (const cmd of resolveCommands(ctx)) {
21
- files.set(`.github/prompts/${cmd.name}.prompt.md`, cmd.content);
22
- }
23
- for (const [filePath, content] of collectSkillTemplates(".github/skills", resolveSkills(ctx), resolveBundledSkills(ctx))) {
24
- files.set(filePath, content);
25
- }
26
- // Copilot's own session-start hook
27
- for (const hook of getAllHooks()) {
28
- files.set(`.github/copilot/hooks/${hook.name}`, hook.content);
29
- }
30
- // Shared hooks (inject-workflow-state.py only). Copilot bundles its own
31
- // session-start.py above; sub-agent context is pull-based (class-2).
32
- for (const [k, v] of collectSharedHooks(".github/copilot/hooks", "copilot")) {
33
- files.set(k, v);
34
- }
35
- // Agents: reuse Cursor content + prepend pull-based prelude, then
36
- // normalize Cursor's Claude-style tools frontmatter for Copilot.
37
- for (const agent of applyPullBasedPreludeMarkdown(normalizeCopilotMarkdownAgents(getCursorAgents()))) {
38
- files.set(`.github/agents/${agent.name}.agent.md`, agent.content);
39
- }
40
- files.set(COPILOT_INSTRUCTIONS_PATH, getCopilotInstructions());
41
- const hooksConfig = resolvePlaceholders(getHooksConfig());
42
- files.set(".github/copilot/hooks.json", hooksConfig);
43
- files.set(".github/hooks/trellis.json", hooksConfig);
44
- return files;
45
- }
46
- //# sourceMappingURL=copilot.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"copilot.js","sourceRoot":"","sources":["../../src/configurators/copilot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EACL,yBAAyB,EACzB,WAAW,EACX,sBAAsB,EACtB,cAAc,GACf,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,YAAY,IAAI,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/E,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,6BAA6B,EAC7B,8BAA8B,GAC/B,MAAM,aAAa,CAAC;AAErB;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,uBAAuB;IACrC,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC;IAC7C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IACxC,KAAK,MAAM,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;QACvC,KAAK,CAAC,GAAG,CAAC,mBAAmB,GAAG,CAAC,IAAI,YAAY,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IAClE,CAAC;IACD,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,qBAAqB,CACrD,gBAAgB,EAChB,aAAa,CAAC,GAAG,CAAC,EAClB,oBAAoB,CAAC,GAAG,CAAC,CAC1B,EAAE,CAAC;QACF,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC/B,CAAC;IACD,mCAAmC;IACnC,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,EAAE,CAAC;QACjC,KAAK,CAAC,GAAG,CAAC,yBAAyB,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAChE,CAAC;IACD,wEAAwE;IACxE,qEAAqE;IACrE,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,kBAAkB,CAAC,uBAAuB,EAAE,SAAS,CAAC,EAAE,CAAC;QAC5E,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,kEAAkE;IAClE,iEAAiE;IACjE,KAAK,MAAM,KAAK,IAAI,6BAA6B,CAC/C,8BAA8B,CAAC,eAAe,EAAE,CAAC,CAClD,EAAE,CAAC;QACF,KAAK,CAAC,GAAG,CAAC,kBAAkB,KAAK,CAAC,IAAI,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACpE,CAAC;IACD,KAAK,CAAC,GAAG,CAAC,yBAAyB,EAAE,sBAAsB,EAAE,CAAC,CAAC;IAC/D,MAAM,WAAW,GAAG,mBAAmB,CAAC,cAAc,EAAE,CAAC,CAAC;IAC1D,KAAK,CAAC,GAAG,CAAC,4BAA4B,EAAE,WAAW,CAAC,CAAC;IACrD,KAAK,CAAC,GAAG,CAAC,4BAA4B,EAAE,WAAW,CAAC,CAAC;IACrD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1,10 +0,0 @@
1
- /**
2
- * The Cursor file set — written at init and diffed by `trellis update`.
3
- * - commands/ — start + finish-work as slash commands (trellis- prefix, flat)
4
- * - skills/trellis-{name}/SKILL.md — auto-triggered skills from `common/skills/`
5
- * - agents/{name}.md — sub-agent definitions
6
- * - hooks/*.py — shared hook scripts
7
- * - hooks.json — hook configuration (separate file, not settings.json)
8
- */
9
- export declare function collectCursorTemplates(): Map<string, string>;
10
- //# sourceMappingURL=cursor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cursor.d.ts","sourceRoot":"","sources":["../../src/configurators/cursor.ts"],"names":[],"mappings":"AAQA;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAc5D"}
@@ -1,23 +0,0 @@
1
- import { AI_TOOLS } from "../types/ai-tools.js";
2
- import { resolvePlaceholders, collectBothTemplates, collectSharedHooks, } from "./shared.js";
3
- import { getAllAgents, getHooksConfig } from "../templates/cursor/index.js";
4
- /**
5
- * The Cursor file set — written at init and diffed by `trellis update`.
6
- * - commands/ — start + finish-work as slash commands (trellis- prefix, flat)
7
- * - skills/trellis-{name}/SKILL.md — auto-triggered skills from `common/skills/`
8
- * - agents/{name}.md — sub-agent definitions
9
- * - hooks/*.py — shared hook scripts
10
- * - hooks.json — hook configuration (separate file, not settings.json)
11
- */
12
- export function collectCursorTemplates() {
13
- const files = collectBothTemplates(AI_TOOLS.cursor.templateContext, (n) => `.cursor/commands/trellis-${n}.md`, ".cursor/skills");
14
- for (const agent of getAllAgents()) {
15
- files.set(`.cursor/agents/${agent.name}.md`, agent.content);
16
- }
17
- for (const [k, v] of collectSharedHooks(".cursor/hooks", "cursor")) {
18
- files.set(k, v);
19
- }
20
- files.set(".cursor/hooks.json", resolvePlaceholders(getHooksConfig()));
21
- return files;
22
- }
23
- //# sourceMappingURL=cursor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cursor.js","sourceRoot":"","sources":["../../src/configurators/cursor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE5E;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB;IACpC,MAAM,KAAK,GAAG,oBAAoB,CAChC,QAAQ,CAAC,MAAM,CAAC,eAAe,EAC/B,CAAC,CAAC,EAAE,EAAE,CAAC,4BAA4B,CAAC,KAAK,EACzC,gBAAgB,CACjB,CAAC;IACF,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,EAAE,CAAC;QACnC,KAAK,CAAC,GAAG,CAAC,kBAAkB,KAAK,CAAC,IAAI,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAC9D,CAAC;IACD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,kBAAkB,CAAC,eAAe,EAAE,QAAQ,CAAC,EAAE,CAAC;QACnE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,KAAK,CAAC,GAAG,CAAC,oBAAoB,EAAE,mBAAmB,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IACvE,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1,8 +0,0 @@
1
- /**
2
- * The Devin (formerly Windsurf) file set — written at init and diffed by
3
- * `trellis update`.
4
- * - workflows/ — start + finish-work as slash commands
5
- * - skills/trellis-{name}/SKILL.md — auto-triggered skills from `common/skills/`
6
- */
7
- export declare function collectDevinTemplates(): Map<string, string>;
8
- //# sourceMappingURL=devin.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"devin.d.ts","sourceRoot":"","sources":["../../src/configurators/devin.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,wBAAgB,qBAAqB,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAM3D"}
@@ -1,12 +0,0 @@
1
- import { AI_TOOLS } from "../types/ai-tools.js";
2
- import { collectBothTemplates } from "./shared.js";
3
- /**
4
- * The Devin (formerly Windsurf) file set — written at init and diffed by
5
- * `trellis update`.
6
- * - workflows/ — start + finish-work as slash commands
7
- * - skills/trellis-{name}/SKILL.md — auto-triggered skills from `common/skills/`
8
- */
9
- export function collectDevinTemplates() {
10
- return collectBothTemplates(AI_TOOLS.devin.templateContext, (n) => `.devin/workflows/trellis-${n}.md`, ".devin/skills");
11
- }
12
- //# sourceMappingURL=devin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"devin.js","sourceRoot":"","sources":["../../src/configurators/devin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnD;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB;IACnC,OAAO,oBAAoB,CACzB,QAAQ,CAAC,KAAK,CAAC,eAAe,EAC9B,CAAC,CAAC,EAAE,EAAE,CAAC,4BAA4B,CAAC,KAAK,EACzC,eAAe,CAChB,CAAC;AACJ,CAAC"}
@@ -1,10 +0,0 @@
1
- /**
2
- * The Factory Droid file set — written at init and diffed by `trellis update`.
3
- * - commands/trellis/ — start + finish-work as slash commands
4
- * - skills/trellis-{name}/SKILL.md — auto-triggered skills from `common/skills/`
5
- * - droids/{name}.md — sub-agent definitions (Droid calls them "droids")
6
- * - hooks/*.py — shared hook scripts
7
- * - settings.json — hook configuration
8
- */
9
- export declare function collectDroidTemplates(): Map<string, string>;
10
- //# sourceMappingURL=droid.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"droid.d.ts","sourceRoot":"","sources":["../../src/configurators/droid.ts"],"names":[],"mappings":"AAQA;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAkB3D"}
@@ -1,24 +0,0 @@
1
- import { AI_TOOLS } from "../types/ai-tools.js";
2
- import { resolvePlaceholders, collectBothTemplates, collectSharedHooks, } from "./shared.js";
3
- import { getAllDroids, getSettingsTemplate } from "../templates/droid/index.js";
4
- /**
5
- * The Factory Droid file set — written at init and diffed by `trellis update`.
6
- * - commands/trellis/ — start + finish-work as slash commands
7
- * - skills/trellis-{name}/SKILL.md — auto-triggered skills from `common/skills/`
8
- * - droids/{name}.md — sub-agent definitions (Droid calls them "droids")
9
- * - hooks/*.py — shared hook scripts
10
- * - settings.json — hook configuration
11
- */
12
- export function collectDroidTemplates() {
13
- const files = collectBothTemplates(AI_TOOLS.droid.templateContext, (n) => `.factory/commands/trellis/${n}.md`, ".factory/skills");
14
- for (const droid of getAllDroids()) {
15
- files.set(`.factory/droids/${droid.name}.md`, droid.content);
16
- }
17
- for (const [k, v] of collectSharedHooks(".factory/hooks", "droid")) {
18
- files.set(k, v);
19
- }
20
- const settings = getSettingsTemplate();
21
- files.set(`.factory/${settings.targetPath}`, resolvePlaceholders(settings.content));
22
- return files;
23
- }
24
- //# sourceMappingURL=droid.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"droid.js","sourceRoot":"","sources":["../../src/configurators/droid.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAEhF;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB;IACnC,MAAM,KAAK,GAAG,oBAAoB,CAChC,QAAQ,CAAC,KAAK,CAAC,eAAe,EAC9B,CAAC,CAAC,EAAE,EAAE,CAAC,6BAA6B,CAAC,KAAK,EAC1C,iBAAiB,CAClB,CAAC;IACF,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,EAAE,CAAC;QACnC,KAAK,CAAC,GAAG,CAAC,mBAAmB,KAAK,CAAC,IAAI,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAC/D,CAAC;IACD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,kBAAkB,CAAC,gBAAgB,EAAE,OAAO,CAAC,EAAE,CAAC;QACnE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,QAAQ,GAAG,mBAAmB,EAAE,CAAC;IACvC,KAAK,CAAC,GAAG,CACP,YAAY,QAAQ,CAAC,UAAU,EAAE,EACjC,mBAAmB,CAAC,QAAQ,CAAC,OAAO,CAAC,CACtC,CAAC;IACF,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1,26 +0,0 @@
1
- /**
2
- * DeepSeek Harness (dsh) configurator.
3
- *
4
- * dsh is a class-2 pull-based platform (agentCapable via the `subagent` tool,
5
- * no shipped session-start hook, no project-level hooks/settings Trellis may
6
- * write). Three output paths:
7
- * - `.agents/skills/` — workflow + bundled skills, written via the NEUTRAL
8
- * resolver so the files stay byte-identical to Codex/Gemini/Pi/Kimi writes
9
- * into the same shared root (dsh discovers `.agents/skills/` natively).
10
- * - `.dsh/skills/` — dsh-private entry skills (trellis-start /
11
- * trellis-continue / trellis-finish-work) plus collision-free Trellis role
12
- * skills (trellis-agent-implement / trellis-agent-check /
13
- * trellis-agent-research) with the pull-based prelude on implement/check.
14
- * - `.dsh/DSH.md` — operator guide and a configDir-owned tracked file for
15
- * platform detection and uninstall scoping.
16
- *
17
- * dsh has no project-level hooks/settings file Trellis may write and no
18
- * declarative custom sub-agent definitions (dispatch goes through the
19
- * `subagent` tool), so no hooks, settings, or extension files are written and
20
- * the agent prompts ship as skills.
21
- */
22
- /**
23
- * The DeepSeek Harness file set — written at init and diffed by `trellis update`.
24
- */
25
- export declare function collectDshTemplates(): Map<string, string>;
26
- //# sourceMappingURL=dsh.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dsh.d.ts","sourceRoot":"","sources":["../../src/configurators/dsh.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAmDH;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CA0BzD"}