@blulotus/trellis 0.7.0 → 0.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (343) hide show
  1. package/README.md +2 -2
  2. package/dist/cli/index.js +2 -29
  3. package/dist/cli/index.js.map +1 -1
  4. package/dist/commands/init.d.ts +0 -22
  5. package/dist/commands/init.d.ts.map +1 -1
  6. package/dist/commands/init.js +5 -12
  7. package/dist/commands/init.js.map +1 -1
  8. package/dist/commands/mem.d.ts +2 -2
  9. package/dist/commands/mem.d.ts.map +1 -1
  10. package/dist/commands/mem.js +7 -40
  11. package/dist/commands/mem.js.map +1 -1
  12. package/dist/commands/uninstall.d.ts +1 -1
  13. package/dist/commands/uninstall.d.ts.map +1 -1
  14. package/dist/commands/uninstall.js +4 -34
  15. package/dist/commands/uninstall.js.map +1 -1
  16. package/dist/commands/update.d.ts.map +1 -1
  17. package/dist/commands/update.js +2 -28
  18. package/dist/commands/update.js.map +1 -1
  19. package/dist/configurators/index.d.ts.map +1 -1
  20. package/dist/configurators/index.js +7 -73
  21. package/dist/configurators/index.js.map +1 -1
  22. package/dist/configurators/shared.d.ts +18 -70
  23. package/dist/configurators/shared.d.ts.map +1 -1
  24. package/dist/configurators/shared.js +20 -299
  25. package/dist/configurators/shared.js.map +1 -1
  26. package/dist/configurators/workflow.d.ts +0 -14
  27. package/dist/configurators/workflow.d.ts.map +1 -1
  28. package/dist/configurators/workflow.js +1 -37
  29. package/dist/configurators/workflow.js.map +1 -1
  30. package/dist/migrations/manifests/0.1.9.json +0 -12
  31. package/dist/migrations/manifests/0.2.14.json +0 -84
  32. package/dist/migrations/manifests/0.3.0-beta.0.json +0 -87
  33. package/dist/migrations/manifests/0.3.4.json +1 -13
  34. package/dist/migrations/manifests/0.4.0-beta.1.json +24 -176
  35. package/dist/migrations/manifests/0.5.0-beta.0.json +67 -1203
  36. package/dist/migrations/manifests/0.5.0-beta.15.json +0 -96
  37. package/dist/migrations/manifests/0.5.0-beta.5.json +0 -168
  38. package/dist/migrations/manifests/0.5.0-beta.9.json +0 -20
  39. package/dist/migrations/manifests/0.6.0-beta.23.json +0 -66
  40. package/dist/migrations/manifests/0.6.3.json +1 -16
  41. package/dist/migrations/manifests/0.6.6.json +1 -9
  42. package/dist/migrations/manifests/0.7.0.json +9 -0
  43. package/dist/migrations/manifests/0.7.1.json +9 -0
  44. package/dist/migrations/manifests/0.7.2.json +9 -0
  45. package/dist/migrations/manifests/0.8.0.json +9 -0
  46. package/dist/templates/codex/hooks/session-start.py +37 -13
  47. package/dist/templates/codex/hooks.json +5 -0
  48. package/dist/templates/common/bundled-skills/trellis-meta/SKILL.md +5 -5
  49. package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-agents.md +0 -10
  50. package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-hooks.md +1 -1
  51. package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-skills-or-commands.md +1 -13
  52. package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/overview.md +2 -2
  53. package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/bundled-skills.md +9 -28
  54. package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/generated-files.md +5 -5
  55. package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/overview.md +1 -1
  56. package/dist/templates/common/bundled-skills/trellis-meta/references/platform-files/agents.md +1 -17
  57. package/dist/templates/common/bundled-skills/trellis-meta/references/platform-files/hooks-and-settings.md +4 -12
  58. package/dist/templates/common/bundled-skills/trellis-meta/references/platform-files/overview.md +6 -6
  59. package/dist/templates/common/bundled-skills/trellis-meta/references/platform-files/platform-map.md +5 -75
  60. package/dist/templates/common/bundled-skills/trellis-meta/references/platform-files/skills-and-commands.md +0 -16
  61. package/dist/templates/common/bundled-skills/trellis-session-insight/SKILL.md +1 -1
  62. package/dist/templates/common/bundled-skills/trellis-session-insight/references/cli-quick-reference.md +2 -3
  63. package/dist/templates/common/commands/continue.md +24 -4
  64. package/dist/templates/common/commands/finish-work.md +19 -9
  65. package/dist/templates/common/commands/start.md +38 -29
  66. package/dist/templates/extract.d.ts +0 -10
  67. package/dist/templates/extract.d.ts.map +1 -1
  68. package/dist/templates/extract.js +0 -24
  69. package/dist/templates/extract.js.map +1 -1
  70. package/dist/templates/markdown/spec/guides/code-reuse-thinking-guide.md.txt +7 -9
  71. package/dist/templates/markdown/spec/guides/cross-layer-thinking-guide.md.txt +4 -8
  72. package/dist/templates/markdown/spec/guides/cross-platform-thinking-guide.md.txt +5 -5
  73. package/dist/templates/shared-hooks/index.d.ts +11 -43
  74. package/dist/templates/shared-hooks/index.d.ts.map +1 -1
  75. package/dist/templates/shared-hooks/index.js +9 -86
  76. package/dist/templates/shared-hooks/index.js.map +1 -1
  77. package/dist/templates/shared-hooks/inject-spec-context.py +1 -1
  78. package/dist/templates/shared-hooks/inject-subagent-context.py +23 -85
  79. package/dist/templates/shared-hooks/inject-workflow-state.py +56 -86
  80. package/dist/templates/shared-hooks/session-start.py +76 -98
  81. package/dist/templates/trellis/config.yaml +8 -8
  82. package/dist/templates/trellis/index.d.ts +1 -4
  83. package/dist/templates/trellis/index.d.ts.map +1 -1
  84. package/dist/templates/trellis/index.js +1 -5
  85. package/dist/templates/trellis/index.js.map +1 -1
  86. package/dist/templates/trellis/scripts/add_session.py +12 -11
  87. package/dist/templates/trellis/scripts/common/__init__.py +2 -0
  88. package/dist/templates/trellis/scripts/common/active_task.py +80 -152
  89. package/dist/templates/trellis/scripts/common/config.py +7 -7
  90. package/dist/templates/trellis/scripts/common/git_context.py +1 -1
  91. package/dist/templates/trellis/scripts/common/session_context.py +2 -2
  92. package/dist/templates/trellis/scripts/common/spec_inject.py +2 -2
  93. package/dist/templates/trellis/scripts/common/task_store.py +8 -28
  94. package/dist/templates/trellis/scripts/common/workflow_phase.py +4 -8
  95. package/dist/templates/trellis/scripts/get_context.py +2 -2
  96. package/dist/templates/trellis/scripts/init_developer.py +1 -1
  97. package/dist/templates/trellis/scripts/task.py +90 -57
  98. package/dist/templates/trellis/workflow.md +44 -66
  99. package/dist/types/ai-tools.d.ts +10 -10
  100. package/dist/types/ai-tools.d.ts.map +1 -1
  101. package/dist/types/ai-tools.js +3 -434
  102. package/dist/types/ai-tools.js.map +1 -1
  103. package/dist/utils/uninstall-scrubbers.d.ts +3 -18
  104. package/dist/utils/uninstall-scrubbers.d.ts.map +1 -1
  105. package/dist/utils/uninstall-scrubbers.js +24 -154
  106. package/dist/utils/uninstall-scrubbers.js.map +1 -1
  107. package/package.json +2 -2
  108. package/dist/configurators/antigravity.d.ts +0 -7
  109. package/dist/configurators/antigravity.d.ts.map +0 -1
  110. package/dist/configurators/antigravity.js +0 -11
  111. package/dist/configurators/antigravity.js.map +0 -1
  112. package/dist/configurators/codebuddy.d.ts +0 -10
  113. package/dist/configurators/codebuddy.d.ts.map +0 -1
  114. package/dist/configurators/codebuddy.js +0 -24
  115. package/dist/configurators/codebuddy.js.map +0 -1
  116. package/dist/configurators/copilot.d.ts +0 -14
  117. package/dist/configurators/copilot.d.ts.map +0 -1
  118. package/dist/configurators/copilot.js +0 -46
  119. package/dist/configurators/copilot.js.map +0 -1
  120. package/dist/configurators/cursor.d.ts +0 -10
  121. package/dist/configurators/cursor.d.ts.map +0 -1
  122. package/dist/configurators/cursor.js +0 -23
  123. package/dist/configurators/cursor.js.map +0 -1
  124. package/dist/configurators/devin.d.ts +0 -8
  125. package/dist/configurators/devin.d.ts.map +0 -1
  126. package/dist/configurators/devin.js +0 -12
  127. package/dist/configurators/devin.js.map +0 -1
  128. package/dist/configurators/droid.d.ts +0 -10
  129. package/dist/configurators/droid.d.ts.map +0 -1
  130. package/dist/configurators/droid.js +0 -24
  131. package/dist/configurators/droid.js.map +0 -1
  132. package/dist/configurators/dsh.d.ts +0 -26
  133. package/dist/configurators/dsh.d.ts.map +0 -1
  134. package/dist/configurators/dsh.js +0 -76
  135. package/dist/configurators/dsh.js.map +0 -1
  136. package/dist/configurators/gemini.d.ts +0 -18
  137. package/dist/configurators/gemini.d.ts.map +0 -1
  138. package/dist/configurators/gemini.js +0 -39
  139. package/dist/configurators/gemini.js.map +0 -1
  140. package/dist/configurators/grok.d.ts +0 -17
  141. package/dist/configurators/grok.d.ts.map +0 -1
  142. package/dist/configurators/grok.js +0 -38
  143. package/dist/configurators/grok.js.map +0 -1
  144. package/dist/configurators/kilo.d.ts +0 -7
  145. package/dist/configurators/kilo.d.ts.map +0 -1
  146. package/dist/configurators/kilo.js +0 -11
  147. package/dist/configurators/kilo.js.map +0 -1
  148. package/dist/configurators/kimi.d.ts +0 -26
  149. package/dist/configurators/kimi.d.ts.map +0 -1
  150. package/dist/configurators/kimi.js +0 -74
  151. package/dist/configurators/kimi.js.map +0 -1
  152. package/dist/configurators/kiro.d.ts +0 -11
  153. package/dist/configurators/kiro.d.ts.map +0 -1
  154. package/dist/configurators/kiro.js +0 -30
  155. package/dist/configurators/kiro.js.map +0 -1
  156. package/dist/configurators/omp.d.ts +0 -6
  157. package/dist/configurators/omp.d.ts.map +0 -1
  158. package/dist/configurators/omp.js +0 -28
  159. package/dist/configurators/omp.js.map +0 -1
  160. package/dist/configurators/opencode.d.ts +0 -5
  161. package/dist/configurators/opencode.d.ts.map +0 -1
  162. package/dist/configurators/opencode.js +0 -84
  163. package/dist/configurators/opencode.js.map +0 -1
  164. package/dist/configurators/pi.d.ts +0 -5
  165. package/dist/configurators/pi.d.ts.map +0 -1
  166. package/dist/configurators/pi.js +0 -39
  167. package/dist/configurators/pi.js.map +0 -1
  168. package/dist/configurators/qoder.d.ts +0 -12
  169. package/dist/configurators/qoder.d.ts.map +0 -1
  170. package/dist/configurators/qoder.js +0 -30
  171. package/dist/configurators/qoder.js.map +0 -1
  172. package/dist/configurators/reasonix.d.ts +0 -17
  173. package/dist/configurators/reasonix.d.ts.map +0 -1
  174. package/dist/configurators/reasonix.js +0 -37
  175. package/dist/configurators/reasonix.js.map +0 -1
  176. package/dist/configurators/snow.d.ts +0 -25
  177. package/dist/configurators/snow.d.ts.map +0 -1
  178. package/dist/configurators/snow.js +0 -69
  179. package/dist/configurators/snow.js.map +0 -1
  180. package/dist/configurators/trae.d.ts +0 -16
  181. package/dist/configurators/trae.d.ts.map +0 -1
  182. package/dist/configurators/trae.js +0 -34
  183. package/dist/configurators/trae.js.map +0 -1
  184. package/dist/configurators/zcode.d.ts +0 -23
  185. package/dist/configurators/zcode.d.ts.map +0 -1
  186. package/dist/configurators/zcode.js +0 -63
  187. package/dist/configurators/zcode.js.map +0 -1
  188. package/dist/templates/codebuddy/agents/trellis-check.md +0 -115
  189. package/dist/templates/codebuddy/agents/trellis-implement.md +0 -115
  190. package/dist/templates/codebuddy/agents/trellis-research.md +0 -137
  191. package/dist/templates/codebuddy/index.d.ts +0 -15
  192. package/dist/templates/codebuddy/index.d.ts.map +0 -1
  193. package/dist/templates/codebuddy/index.js +0 -15
  194. package/dist/templates/codebuddy/index.js.map +0 -1
  195. package/dist/templates/codebuddy/settings.json +0 -69
  196. package/dist/templates/copilot/copilot-instructions.md +0 -11
  197. package/dist/templates/copilot/hooks/session-start.py +0 -564
  198. package/dist/templates/copilot/hooks.json +0 -19
  199. package/dist/templates/copilot/index.d.ts +0 -28
  200. package/dist/templates/copilot/index.d.ts.map +0 -1
  201. package/dist/templates/copilot/index.js +0 -61
  202. package/dist/templates/copilot/index.js.map +0 -1
  203. package/dist/templates/copilot/prompts/before-dev.prompt.md +0 -39
  204. package/dist/templates/copilot/prompts/brainstorm.prompt.md +0 -173
  205. package/dist/templates/copilot/prompts/break-loop.prompt.md +0 -129
  206. package/dist/templates/copilot/prompts/check-cross-layer.prompt.md +0 -170
  207. package/dist/templates/copilot/prompts/check.prompt.md +0 -110
  208. package/dist/templates/copilot/prompts/create-command.prompt.md +0 -116
  209. package/dist/templates/copilot/prompts/finish-work.prompt.md +0 -99
  210. package/dist/templates/copilot/prompts/integrate-skill.prompt.md +0 -223
  211. package/dist/templates/copilot/prompts/onboard.prompt.md +0 -362
  212. package/dist/templates/copilot/prompts/parallel.prompt.md +0 -204
  213. package/dist/templates/copilot/prompts/record-session.prompt.md +0 -66
  214. package/dist/templates/copilot/prompts/start.prompt.md +0 -63
  215. package/dist/templates/copilot/prompts/update-spec.prompt.md +0 -358
  216. package/dist/templates/cursor/agents/trellis-check.md +0 -114
  217. package/dist/templates/cursor/agents/trellis-implement.md +0 -114
  218. package/dist/templates/cursor/agents/trellis-research.md +0 -136
  219. package/dist/templates/cursor/hooks.json +0 -24
  220. package/dist/templates/cursor/index.d.ts +0 -13
  221. package/dist/templates/cursor/index.d.ts.map +0 -1
  222. package/dist/templates/cursor/index.js +0 -13
  223. package/dist/templates/cursor/index.js.map +0 -1
  224. package/dist/templates/droid/droids/trellis-check.md +0 -107
  225. package/dist/templates/droid/droids/trellis-implement.md +0 -107
  226. package/dist/templates/droid/droids/trellis-research.md +0 -137
  227. package/dist/templates/droid/index.d.ts +0 -15
  228. package/dist/templates/droid/index.d.ts.map +0 -1
  229. package/dist/templates/droid/index.js +0 -15
  230. package/dist/templates/droid/index.js.map +0 -1
  231. package/dist/templates/droid/settings.json +0 -69
  232. package/dist/templates/dsh/DSH.md +0 -80
  233. package/dist/templates/dsh/agents/trellis-check.md +0 -99
  234. package/dist/templates/dsh/agents/trellis-implement.md +0 -106
  235. package/dist/templates/dsh/agents/trellis-research.md +0 -134
  236. package/dist/templates/dsh/index.d.ts +0 -22
  237. package/dist/templates/dsh/index.d.ts.map +0 -1
  238. package/dist/templates/dsh/index.js +0 -27
  239. package/dist/templates/dsh/index.js.map +0 -1
  240. package/dist/templates/gemini/agents/trellis-check.md +0 -107
  241. package/dist/templates/gemini/agents/trellis-implement.md +0 -107
  242. package/dist/templates/gemini/agents/trellis-research.md +0 -136
  243. package/dist/templates/gemini/index.d.ts +0 -13
  244. package/dist/templates/gemini/index.d.ts.map +0 -1
  245. package/dist/templates/gemini/index.js +0 -13
  246. package/dist/templates/gemini/index.js.map +0 -1
  247. package/dist/templates/gemini/settings.json +0 -40
  248. package/dist/templates/grok/agents/trellis-check.md +0 -106
  249. package/dist/templates/grok/agents/trellis-implement.md +0 -121
  250. package/dist/templates/grok/agents/trellis-research.md +0 -146
  251. package/dist/templates/grok/index.d.ts +0 -16
  252. package/dist/templates/grok/index.d.ts.map +0 -1
  253. package/dist/templates/grok/index.js +0 -19
  254. package/dist/templates/grok/index.js.map +0 -1
  255. package/dist/templates/kimi/agents/trellis-check.md +0 -104
  256. package/dist/templates/kimi/agents/trellis-implement.md +0 -120
  257. package/dist/templates/kimi/agents/trellis-research.md +0 -144
  258. package/dist/templates/kimi/index.d.ts +0 -20
  259. package/dist/templates/kimi/index.d.ts.map +0 -1
  260. package/dist/templates/kimi/index.js +0 -23
  261. package/dist/templates/kimi/index.js.map +0 -1
  262. package/dist/templates/kiro/agents/trellis-check.json +0 -26
  263. package/dist/templates/kiro/agents/trellis-implement.json +0 -26
  264. package/dist/templates/kiro/agents/trellis-research.json +0 -30
  265. package/dist/templates/kiro/agents/trellis.json +0 -34
  266. package/dist/templates/kiro/hooks/trellis-workflow-state.kiro.hook +0 -14
  267. package/dist/templates/kiro/index.d.ts +0 -32
  268. package/dist/templates/kiro/index.d.ts.map +0 -1
  269. package/dist/templates/kiro/index.js +0 -28
  270. package/dist/templates/kiro/index.js.map +0 -1
  271. package/dist/templates/omp/agents/trellis-check.md +0 -41
  272. package/dist/templates/omp/agents/trellis-implement.md +0 -55
  273. package/dist/templates/omp/agents/trellis-research.md +0 -30
  274. package/dist/templates/omp/extensions/trellis/index.ts.txt +0 -592
  275. package/dist/templates/omp/index.d.ts +0 -4
  276. package/dist/templates/omp/index.d.ts.map +0 -1
  277. package/dist/templates/omp/index.js +0 -9
  278. package/dist/templates/omp/index.js.map +0 -1
  279. package/dist/templates/opencode/agents/trellis-check.md +0 -122
  280. package/dist/templates/opencode/agents/trellis-implement.md +0 -123
  281. package/dist/templates/opencode/agents/trellis-research.md +0 -145
  282. package/dist/templates/opencode/lib/context-visibility.js +0 -86
  283. package/dist/templates/opencode/lib/session-utils.js +0 -526
  284. package/dist/templates/opencode/lib/trellis-context.js +0 -627
  285. package/dist/templates/opencode/package.json +0 -5
  286. package/dist/templates/opencode/plugins/inject-spec-context.js +0 -121
  287. package/dist/templates/opencode/plugins/inject-subagent-context.js +0 -569
  288. package/dist/templates/opencode/plugins/inject-workflow-state.js +0 -340
  289. package/dist/templates/opencode/plugins/session-start.js +0 -74
  290. package/dist/templates/pi/agents/trellis-check.md +0 -37
  291. package/dist/templates/pi/agents/trellis-implement.md +0 -52
  292. package/dist/templates/pi/agents/trellis-research.md +0 -25
  293. package/dist/templates/pi/extensions/trellis/index.ts.txt +0 -2033
  294. package/dist/templates/pi/index.d.ts +0 -5
  295. package/dist/templates/pi/index.d.ts.map +0 -1
  296. package/dist/templates/pi/index.js +0 -12
  297. package/dist/templates/pi/index.js.map +0 -1
  298. package/dist/templates/pi/settings.json +0 -9
  299. package/dist/templates/qoder/agents/trellis-check.md +0 -108
  300. package/dist/templates/qoder/agents/trellis-implement.md +0 -108
  301. package/dist/templates/qoder/agents/trellis-research.md +0 -137
  302. package/dist/templates/qoder/index.d.ts +0 -15
  303. package/dist/templates/qoder/index.d.ts.map +0 -1
  304. package/dist/templates/qoder/index.js +0 -15
  305. package/dist/templates/qoder/index.js.map +0 -1
  306. package/dist/templates/qoder/settings.json +0 -59
  307. package/dist/templates/reasonix/agents/trellis-check.md +0 -36
  308. package/dist/templates/reasonix/agents/trellis-implement.md +0 -51
  309. package/dist/templates/reasonix/index.d.ts +0 -13
  310. package/dist/templates/reasonix/index.d.ts.map +0 -1
  311. package/dist/templates/reasonix/index.js +0 -16
  312. package/dist/templates/reasonix/index.js.map +0 -1
  313. package/dist/templates/shared-hooks/inject-shell-session-context.py +0 -292
  314. package/dist/templates/snow/SNOW.md +0 -86
  315. package/dist/templates/snow/agents/trellis-check.md +0 -136
  316. package/dist/templates/snow/agents/trellis-implement.md +0 -158
  317. package/dist/templates/snow/agents/trellis-research.md +0 -114
  318. package/dist/templates/snow/hooks/beforeSubAgentStart.json +0 -15
  319. package/dist/templates/snow/hooks/onSessionStart.json +0 -15
  320. package/dist/templates/snow/hooks/onUserMessage.json +0 -15
  321. package/dist/templates/snow/hooks/write-trellis-context.py +0 -644
  322. package/dist/templates/snow/index.d.ts +0 -26
  323. package/dist/templates/snow/index.d.ts.map +0 -1
  324. package/dist/templates/snow/index.js +0 -36
  325. package/dist/templates/snow/index.js.map +0 -1
  326. package/dist/templates/trae/agents/trellis-check.md +0 -108
  327. package/dist/templates/trae/agents/trellis-implement.md +0 -108
  328. package/dist/templates/trae/agents/trellis-research.md +0 -137
  329. package/dist/templates/trae/hooks.json +0 -39
  330. package/dist/templates/trae/index.d.ts +0 -15
  331. package/dist/templates/trae/index.d.ts.map +0 -1
  332. package/dist/templates/trae/index.js +0 -15
  333. package/dist/templates/trae/index.js.map +0 -1
  334. package/dist/templates/trellis/gitattributes.txt +0 -9
  335. package/dist/templates/trellis/scripts/common/cli_adapter.py +0 -982
  336. package/dist/templates/zcode/agents/trellis-check.md +0 -110
  337. package/dist/templates/zcode/agents/trellis-implement.md +0 -116
  338. package/dist/templates/zcode/agents/trellis-research.md +0 -133
  339. package/dist/templates/zcode/config.json +0 -52
  340. package/dist/templates/zcode/index.d.ts +0 -25
  341. package/dist/templates/zcode/index.d.ts.map +0 -1
  342. package/dist/templates/zcode/index.js +0 -29
  343. package/dist/templates/zcode/index.js.map +0 -1
@@ -1,80 +0,0 @@
1
- # Trellis on DeepSeek Harness (dsh)
2
-
3
- dsh is a **class-2 pull-based** Trellis host. It discovers Trellis skills from
4
- the project, uses native continuable sub-agents for isolated implementation and
5
- review roles, and exposes a stable `DSH_SESSION_ID` to every managed shell.
6
-
7
- | Capability | Without companion plugin | With `dsh-trellis` |
8
- | --- | --- | --- |
9
- | Shared and entry skills | Works | Works |
10
- | Session-scoped active task | Works through verified `DSH_SHELL=1` + `DSH_SESSION_ID`, including nested launches | Managed per-execution identity can forward a distinct child session |
11
- | Implement/check/research roles | Foreground native sub-agent | Background native sub-agent |
12
- | Per-turn workflow breadcrumb | Not available | Injected from `workflow.md` |
13
- | Event-driven child wait | Not available | `trellis_wait` |
14
- | Utility commands | Not available | `/trellis-status`, `/trellis-finish` |
15
-
16
- ## Quick start
17
-
18
- ```bash
19
- trellis init --dsh -u your-name
20
- dsh web # or: dsh --profile headless "start a Trellis task for ..."
21
- ```
22
-
23
- In dsh:
24
-
25
- 1. Describe the work in natural language and load `trellis-start` when a
26
- session needs explicit Trellis bootstrap.
27
- 2. The main session dispatches `trellis-agent-research`,
28
- `trellis-agent-implement`, and `trellis-agent-check` through DSH's native
29
- `subagent` tool. Each child loads exactly one matching role skill.
30
- 3. Finish through `trellis-finish-work`, which preserves the required order:
31
- commit, archive, then journal.
32
-
33
- ## Companion plugin fallback contract
34
-
35
- The Trellis adapter does not install a DSH profile plugin. Before dispatching a
36
- role, check whether the `trellis_wait` tool is available:
37
-
38
- - If available, use DSH's default continuable background mode, continue
39
- independent work, then call `trellis_wait` once per dependent child id and
40
- consume each native settlement notice before entering the dependent gate.
41
- - If unavailable, dispatch every child with `run_in_background: false` from the outset
42
- so the dependent workflow gate cannot overtake it.
43
-
44
- Never replace either path with shell sleep, polling loops, `job_output`, or
45
- repeated agent-list polling.
46
-
47
- ## Nested host sessions
48
-
49
- DSH inherits ordinary environment variables from the process that launches it.
50
- If that outer process is already an active Trellis session,
51
- `TRELLIS_CONTEXT_ID` would otherwise override the inner `DSH_SESSION_ID`.
52
- DSH rebuilds its complete `DSH_*` namespace for each managed shell, so the beta
53
- adapter treats `DSH_SHELL=1` together with `DSH_SESSION_ID` as the current DSH
54
- identity and resolves it before an inherited generic override, even without the
55
- plugin. The optional plugin additionally contributes a trusted
56
- `DSH_TRELLIS_CONTEXT_ID` when it must forward a child identity that differs
57
- from the shell's own session id.
58
-
59
- ## File map
60
-
61
- - `.agents/skills/` — shared workflow and bundled skills, byte-identical to
62
- the other Agent Skills writers.
63
- - `.dsh/skills/trellis-{start,continue,finish-work}/` — DSH-private entry
64
- skills.
65
- - `.dsh/skills/trellis-agent-{research,implement,check}/` — child-only role
66
- skills; implement/check include the pull-based task context prelude.
67
- - `.dsh/DSH.md` — this operator guide.
68
- - `.trellis/` — workflow, specs, tasks, workspace journal, and shared scripts.
69
-
70
- ## Notes
71
-
72
- - Generated Python commands use `python3` in source templates and are rendered
73
- to the detected Windows launcher during `trellis init` / `trellis update`.
74
- - Role dispatch prompts start with `Active task: <task path>`. This exact task
75
- path is the child's primary context source; children must not guess globally.
76
- - Each `dsh --profile headless` invocation creates a fresh DSH session. Do not
77
- expect an active-task pointer to persist across separate headless calls; keep
78
- the workflow in one session or explicitly resume its returned session id.
79
- - The optional companion plugin is maintained separately at
80
- <https://github.com/SajoLuo/dsh-trellis>.
@@ -1,99 +0,0 @@
1
- ---
2
- name: trellis-check
3
- user-invocable: false
4
- description: |
5
- Child-agent-only quality role for Trellis. Main sessions must not load this
6
- skill directly. Reviews code changes against specs and self-fixes issues.
7
- ---
8
- # Check Agent
9
-
10
- You are the Check Agent in the Trellis workflow.
11
-
12
- ## Recursion Guard
13
-
14
- You are already the `trellis-check` sub-agent that the main session dispatched. Do the review and fixes directly.
15
-
16
- - Do NOT spawn another `trellis-check` or `trellis-implement` sub-agent.
17
- - If workflow.md, workflow-state breadcrumbs, or the parent prompt say to dispatch `trellis-implement` / `trellis-check`, treat that as a main-session instruction that is already satisfied by your current role.
18
- - Only the main session may dispatch Trellis implement/check agents. If more implementation work is needed, report that recommendation instead of spawning.
19
-
20
- dsh does not auto-inject SessionStart task context. Always pull context as required below.
21
-
22
- ## Context
23
-
24
- Before checking, read:
25
- - `.trellis/spec/` - Development guidelines
26
- - Pre-commit checklist for quality standards
27
-
28
- ## Core Responsibilities
29
-
30
- 1. **Get code changes** - Use git diff to get uncommitted code
31
- 2. **Check against specs** - Verify code follows guidelines
32
- 3. **Self-fix** - Fix issues yourself, not just report them
33
- 4. **Run verification** - typecheck and lint
34
-
35
- ## Important
36
-
37
- **Fix issues yourself**, don't just report them.
38
-
39
- You have write and edit tools, you can modify code directly.
40
-
41
- ---
42
-
43
- ## Workflow
44
-
45
- ### Step 1: Get Changes
46
-
47
- ```bash
48
- git diff --name-only # List changed files
49
- git diff # View specific changes
50
- ```
51
-
52
- ### Step 2: Check Against Specs
53
-
54
- Read relevant specs in `.trellis/spec/` to check code:
55
-
56
- - Does it follow directory structure conventions
57
- - Does it follow naming conventions
58
- - Does it follow code patterns
59
- - Are there missing types
60
- - Are there potential bugs
61
-
62
- ### Step 3: Self-Fix
63
-
64
- After finding issues:
65
-
66
- 1. Fix the issue directly (use edit tool)
67
- 2. Record what was fixed
68
- 3. Continue checking other issues
69
-
70
- ### Step 4: Run Verification
71
-
72
- Run project's lint and typecheck commands to verify changes.
73
-
74
- If failed, fix issues and re-run.
75
-
76
- If a required command cannot run, is skipped, or still exits non-zero, report
77
- the quality gate as **blocked** or **failed**. Never label it passed, weaken or
78
- rewrite acceptance criteria, or substitute an easier command just to advance
79
- the workflow.
80
-
81
- ---
82
-
83
- ## Report Format
84
-
85
- ```markdown
86
- ## Self-Check Complete
87
-
88
- ### Files Checked
89
-
90
- - list changed files
91
-
92
- ### Issues Fixed
93
-
94
- - what you fixed
95
-
96
- ### Verification
97
-
98
- - Lint / typecheck results
99
- ```
@@ -1,106 +0,0 @@
1
- ---
2
- name: trellis-implement
3
- user-invocable: false
4
- description: |
5
- Child-agent-only implementation role for Trellis. Main sessions must not
6
- load this skill directly. Understands specs and requirements, then
7
- implements features. No git commit allowed.
8
- ---
9
- # Implement Agent
10
-
11
- You are the Implement Agent in the Trellis workflow.
12
-
13
- ## Recursion Guard
14
-
15
- You are already the `trellis-implement` sub-agent that the main session dispatched. Do the implementation work directly.
16
-
17
- - Do NOT spawn another `trellis-implement` or `trellis-check` sub-agent.
18
- - If workflow.md, workflow-state breadcrumbs, or the parent prompt say to dispatch `trellis-implement` / `trellis-check`, treat that as a main-session instruction that is already satisfied by your current role.
19
- - Only the main session may dispatch Trellis implement/check agents. If more parallel work is needed, report that recommendation instead of spawning.
20
-
21
- dsh does not auto-inject SessionStart task context. Always pull context as required below.
22
-
23
- ## Context
24
-
25
- Before implementing, read:
26
- - `.trellis/workflow.md` - Project workflow
27
- - `.trellis/spec/` - Development guidelines
28
- - Task `prd.md` - Requirements document
29
- - Task `design.md` / `implement.md` if present
30
-
31
- ## Core Responsibilities
32
-
33
- 1. **Understand specs** - Read relevant spec files in `.trellis/spec/`
34
- 2. **Understand requirements** - Read prd.md and design/implement artifacts
35
- 3. **Implement features** - Write code following specs and design
36
- 4. **Self-check** - Ensure code quality
37
- 5. **Report results** - Report completion status
38
-
39
- ## Forbidden Operations
40
-
41
- **Do NOT execute these git commands:**
42
-
43
- - `git commit`
44
- - `git push`
45
- - `git merge`
46
-
47
- ---
48
-
49
- ## Workflow
50
-
51
- ### 1. Understand Specs
52
-
53
- Read relevant specs based on task type:
54
-
55
- - Spec layers: `.trellis/spec/<package>/<layer>/`
56
- - Shared guides: `.trellis/spec/guides/`
57
-
58
- ### 2. Understand Requirements
59
-
60
- Read the task's prd.md and design/implement files:
61
-
62
- - What are the core requirements
63
- - Key points of technical design
64
- - Which files to modify/create
65
-
66
- ### 3. Implement Features
67
-
68
- - Write code following specs and technical design
69
- - Follow existing code patterns
70
- - Only do what's required, no over-engineering
71
-
72
- ### 4. Verify
73
-
74
- Run project's lint and typecheck commands to verify changes.
75
-
76
- ---
77
-
78
- ## Report Format
79
-
80
- ```markdown
81
- ## Implementation Complete
82
-
83
- ### Files Modified
84
-
85
- - `src/components/Feature.tsx` - New component
86
- - `src/hooks/useFeature.ts` - New hook
87
-
88
- ### Implementation Summary
89
-
90
- 1. Created Feature component...
91
- 2. Added useFeature hook...
92
-
93
- ### Verification Results
94
-
95
- - Lint: Passed
96
- - TypeCheck: Passed
97
- ```
98
-
99
- ---
100
-
101
- ## Code Standards
102
-
103
- - Follow existing code patterns
104
- - Don't add unnecessary abstractions
105
- - Only do what's required, no over-engineering
106
- - Keep code readable
@@ -1,134 +0,0 @@
1
- ---
2
- name: trellis-research
3
- user-invocable: false
4
- description: |
5
- Child-agent-only research role for Trellis. Main sessions must not load this
6
- skill directly. Finds files, patterns, and technical solutions, and persists
7
- every finding to the current task's research/ directory. No code changes
8
- outside that directory.
9
- ---
10
- # Research Agent
11
-
12
- You are the Research Agent in the Trellis workflow.
13
-
14
- ## Core Principle
15
-
16
- **You do one thing: find, explain, and PERSIST information.**
17
-
18
- Conversations get compacted; files don't. Every research output MUST end up as a file under `{TASK_DIR}/research/`. Returning findings only through the chat reply is a failure - the caller cannot read them next session.
19
-
20
- ## Core Responsibilities
21
-
22
- 1. **Internal Search** - locate files/components, understand code logic, discover patterns
23
- 2. **External Search** - library docs, API references, best practices
24
- 3. **Persist** - write each research topic to `{TASK_DIR}/research/<topic>.md`
25
- 4. **Report** - return file paths + one-line summaries to the main agent, not full content
26
-
27
- ---
28
-
29
- ## Workflow
30
-
31
- ### Step 1: Resolve Current Task
32
-
33
- Run `python3 ./.trellis/scripts/task.py current --source` to get the active task path. Prefer an `Active task: <path>` line in the dispatch prompt when present. If no active task is set, ask the user where to write output; do NOT guess.
34
-
35
- Ensure `{TASK_DIR}/research/` exists before writing findings.
36
-
37
- ### Step 2: Understand Search Request
38
-
39
- Classify the request as internal, external, or mixed. Determine scope and expected output shape.
40
-
41
- ### Step 3: Execute Search
42
-
43
- Run independent searches in parallel where possible. Read relevant source files, specs, and documentation before forming conclusions.
44
-
45
- ### Step 4: Persist Each Topic
46
-
47
- For each distinct research topic, write a markdown file at `{TASK_DIR}/research/<topic-slug>.md` using the File Format below.
48
-
49
- ### Step 5: Report to Main Agent
50
-
51
- Reply with ONLY:
52
-
53
- - List of files written, paths relative to repo root
54
- - One-line summary per file
55
- - Any critical caveats that the main agent needs to know right now
56
-
57
- Do NOT paste full research content into the reply. The files are the contract.
58
-
59
- ---
60
-
61
- ## Scope Limits
62
-
63
- ### Write Allowed
64
-
65
- - `{TASK_DIR}/research/*.md` - your own output
66
- - Creating `{TASK_DIR}/research/` if it doesn't exist
67
-
68
- ### Write Forbidden
69
-
70
- - Code files (`src/`, `lib/`, etc.)
71
- - Spec files (`.trellis/spec/`) - main agent should use the update-spec skill instead
72
- - `.trellis/scripts/`, `.trellis/workflow.md`, platform config (`.dsh/`, `.claude/`, `.cursor/`, etc.)
73
- - Other task directories
74
- - Any git operation
75
-
76
- If the user asks you to edit code, decline and suggest spawning `trellis-implement` instead.
77
-
78
- ---
79
-
80
- ## File Format
81
-
82
- Each `{TASK_DIR}/research/<topic>.md` should follow:
83
-
84
- ```markdown
85
- # Research: <topic>
86
-
87
- - Query: <original query>
88
- - Scope: internal / external / mixed
89
- - Date: YYYY-MM-DD
90
-
91
- ## Findings
92
-
93
- ### Files Found
94
-
95
- | File Path | Description |
96
- |---|---|
97
- | `src/services/xxx.ts` | Main implementation |
98
- | `src/types/xxx.ts` | Type definitions |
99
-
100
- ### Code Patterns
101
-
102
- <describe patterns, cite file:line>
103
-
104
- ### External References
105
-
106
- - [Library X docs](url) - <why relevant, version constraints>
107
-
108
- ### Related Specs
109
-
110
- - `.trellis/spec/xxx.md` - <description>
111
-
112
- ## Caveats / Not Found
113
-
114
- <anything incomplete or uncertain>
115
- ```
116
-
117
- ---
118
-
119
- ## Guidelines
120
-
121
- ### Do
122
-
123
- - Provide specific file paths and line numbers
124
- - Quote actual code snippets only when they are relevant
125
- - Persist every topic to its own file
126
- - Return file paths in your reply, not the full content
127
- - Mark "not found" explicitly when searches come up empty
128
-
129
- ### Don't
130
-
131
- - Don't write code or modify files outside `{TASK_DIR}/research/`
132
- - Don't guess uncertain info
133
- - Don't paste full research text into the reply
134
- - Don't propose implementation changes unless the main agent explicitly asked for research options
@@ -1,22 +0,0 @@
1
- /**
2
- * DeepSeek Harness (dsh) template module.
3
- *
4
- * dsh is a class-2 pull-based platform:
5
- * - Workflow/bundled skills go to the shared `.agents/skills/` root via the
6
- * neutral resolver (byte-identical to Codex/Gemini/Pi/Kimi writes).
7
- * - User-invocable entry points (`trellis-start` / `trellis-continue` /
8
- * `trellis-finish-work`) and Trellis role prompts live under
9
- * `.dsh/skills/trellis-agent-<role>/SKILL.md`.
10
- * - Operator guide `.dsh/DSH.md`.
11
- *
12
- * dsh has no project-level hooks/settings file Trellis may write and no
13
- * declarative custom sub-agent definitions, so the Trellis agent prompts ship
14
- * as skills; the main session dispatches them through the `subagent` tool and
15
- * trellis-agent-implement / trellis-agent-check get the pull-based prelude.
16
- */
17
- import { type AgentTemplate } from "../template-utils.js";
18
- /** Source role prompts; the configurator installs collision-free DSH skills. */
19
- export declare function getAllAgents(): AgentTemplate[];
20
- /** Operator guide copied to `.dsh/DSH.md`. */
21
- export declare function getDshGuide(): string;
22
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/templates/dsh/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAwB,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAIhF,gFAAgF;AAChF,wBAAgB,YAAY,IAAI,aAAa,EAAE,CAE9C;AAED,8CAA8C;AAC9C,wBAAgB,WAAW,IAAI,MAAM,CAEpC"}
@@ -1,27 +0,0 @@
1
- /**
2
- * DeepSeek Harness (dsh) template module.
3
- *
4
- * dsh is a class-2 pull-based platform:
5
- * - Workflow/bundled skills go to the shared `.agents/skills/` root via the
6
- * neutral resolver (byte-identical to Codex/Gemini/Pi/Kimi writes).
7
- * - User-invocable entry points (`trellis-start` / `trellis-continue` /
8
- * `trellis-finish-work`) and Trellis role prompts live under
9
- * `.dsh/skills/trellis-agent-<role>/SKILL.md`.
10
- * - Operator guide `.dsh/DSH.md`.
11
- *
12
- * dsh has no project-level hooks/settings file Trellis may write and no
13
- * declarative custom sub-agent definitions, so the Trellis agent prompts ship
14
- * as skills; the main session dispatches them through the `subagent` tool and
15
- * trellis-agent-implement / trellis-agent-check get the pull-based prelude.
16
- */
17
- import { createTemplateReader } from "../template-utils.js";
18
- const { listMdAgents, readTemplate } = createTemplateReader(import.meta.url);
19
- /** Source role prompts; the configurator installs collision-free DSH skills. */
20
- export function getAllAgents() {
21
- return listMdAgents();
22
- }
23
- /** Operator guide copied to `.dsh/DSH.md`. */
24
- export function getDshGuide() {
25
- return readTemplate("DSH.md");
26
- }
27
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/templates/dsh/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,oBAAoB,EAAsB,MAAM,sBAAsB,CAAC;AAEhF,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE7E,gFAAgF;AAChF,MAAM,UAAU,YAAY;IAC1B,OAAO,YAAY,EAAE,CAAC;AACxB,CAAC;AAED,8CAA8C;AAC9C,MAAM,UAAU,WAAW;IACzB,OAAO,YAAY,CAAC,QAAQ,CAAC,CAAC;AAChC,CAAC"}
@@ -1,107 +0,0 @@
1
- ---
2
- name: trellis-check
3
- description: |
4
- Code quality check expert. Reviews code changes against specs and self-fixes issues.
5
- ---
6
- # Check Agent
7
-
8
- You are the Check Agent in the Trellis workflow.
9
-
10
- ## Recursion Guard
11
-
12
- You are already the `trellis-check` sub-agent that the main session dispatched. Do the review and fixes directly.
13
-
14
- - Do NOT spawn another `trellis-check` or `trellis-implement` sub-agent.
15
- - If SessionStart context, workflow-state breadcrumbs, or workflow.md say to dispatch `trellis-implement` / `trellis-check`, treat that as a main-session instruction that is already satisfied by your current role.
16
- - Only the main session may dispatch Trellis implement/check agents. If more implementation work is needed, report that recommendation instead of spawning.
17
-
18
- ## Context
19
-
20
- Before checking, read:
21
- - `.trellis/spec/` - Development guidelines
22
- - Task `prd.md` - Requirements document
23
- - Task `design.md` - Technical design (if exists)
24
- - Task `implement.md` - Execution plan (if exists)
25
- - Pre-commit checklist for quality standards
26
-
27
- ## Core Responsibilities
28
-
29
- 1. **Get code changes** - Use git diff to get uncommitted code
30
- 2. **Review task artifacts** - Check changes against prd.md, design.md if present, and implement.md if present Then verify the red-evidence trail: every completed `implement.md` slice records the red output it started from, and for `meta.kind=bug` the Phase 1.2 repro command has been re-run green against the full scenario. A slice claiming green with no recorded red is a finding, not a pass.
31
- 3. **Check against specs** - Verify code follows guidelines
32
- 4. **Self-fix** - Fix issues yourself, not just report them
33
- 5. **Run verification** - typecheck and lint
34
-
35
- ## Important
36
-
37
- **Fix issues yourself**, don't just report them.
38
-
39
- You have write and edit tools, you can modify code directly.
40
-
41
- ---
42
-
43
- ## Workflow
44
-
45
- ### Step 1: Get Changes
46
-
47
- ```bash
48
- git diff --name-only # List changed files
49
- git diff # View specific changes
50
- ```
51
-
52
- ### Step 2: Check Against Specs and Task Artifacts
53
-
54
- Read the task's prd.md, design.md if present, and implement.md if present, then read relevant specs in `.trellis/spec/` to check code:
55
-
56
- - Does it satisfy the task requirements
57
- - Does it follow the technical design and implementation plan when present
58
- - Does it follow directory structure conventions
59
- - Does it follow naming conventions
60
- - Does it follow code patterns
61
- - Are there missing types
62
- - Are there potential bugs
63
-
64
- ### Step 3: Self-Fix
65
-
66
- After finding issues:
67
-
68
- 1. Fix the issue directly (use edit tool)
69
- 2. Record what was fixed
70
- 3. Continue checking other issues
71
-
72
- ### Step 4: Run Verification
73
-
74
- Run project's lint and typecheck commands to verify changes.
75
-
76
- If failed, fix issues and re-run.
77
-
78
- ---
79
-
80
- ## Report Format
81
-
82
- ```markdown
83
- ## Self-Check Complete
84
-
85
- ### Files Checked
86
-
87
- - src/components/Feature.tsx
88
- - src/hooks/useFeature.ts
89
-
90
- ### Issues Found and Fixed
91
-
92
- 1. `<file>:<line>` - <what was fixed>
93
- 2. `<file>:<line>` - <what was fixed>
94
-
95
- ### Issues Not Fixed
96
-
97
- (If there are issues that cannot be self-fixed, list them here with reasons)
98
-
99
- ### Verification Results
100
-
101
- - TypeCheck: Passed
102
- - Lint: Passed
103
-
104
- ### Summary
105
-
106
- Checked X files, found Y issues, all fixed.
107
- ```
@@ -1,107 +0,0 @@
1
- ---
2
- name: trellis-implement
3
- description: |
4
- Code implementation expert. Understands specs and requirements, then implements features. No git commit allowed.
5
- ---
6
- # Implement Agent
7
-
8
- You are the Implement Agent in the Trellis workflow.
9
-
10
- ## Recursion Guard
11
-
12
- You are already the `trellis-implement` sub-agent that the main session dispatched. Do the implementation work directly.
13
-
14
- - Do NOT spawn another `trellis-implement` or `trellis-check` sub-agent.
15
- - If SessionStart context, workflow-state breadcrumbs, or workflow.md say to dispatch `trellis-implement` / `trellis-check`, treat that as a main-session instruction that is already satisfied by your current role.
16
- - Only the main session may dispatch Trellis implement/check agents. If more parallel work is needed, report that recommendation instead of spawning.
17
-
18
- ## Context
19
-
20
- Before implementing, read:
21
- - `.trellis/workflow.md` - Project workflow
22
- - `.trellis/spec/` - Development guidelines
23
- - Task `prd.md` - Requirements document
24
- - Task `design.md` - Technical design (if exists)
25
- - Task `implement.md` - Execution plan (if exists)
26
-
27
- ## Core Responsibilities
28
-
29
- 1. **Understand specs** - Read relevant spec files in `.trellis/spec/`
30
- 2. **Understand task artifacts** - Read prd.md, design.md if present, and implement.md if present
31
- 3. **Implement features** - Write code following specs and task artifacts
32
- 4. **Self-check** - Ensure code quality
33
- 5. **Report results** - Report completion status
34
-
35
- ## Forbidden Operations
36
-
37
- **Do NOT execute these git commands:**
38
-
39
- - `git commit`
40
- - `git push`
41
- - `git merge`
42
-
43
- ---
44
-
45
- ## Workflow
46
-
47
- ### 1. Understand Specs
48
-
49
- Read relevant specs based on task type:
50
-
51
- - Spec layers: `.trellis/spec/<package>/<layer>/`
52
- - Shared guides: `.trellis/spec/guides/`
53
-
54
- ### 2. Understand Requirements
55
-
56
- Read the task's prd.md, design.md if present, and implement.md if present:
57
-
58
- - What are the core requirements
59
- - Key points of technical design
60
- - Implementation order, validation commands, and rollback points
61
-
62
- ### 3. Implement Features — Red Before Green
63
-
64
- Work the `implement.md` slice checklist one slice at a time. Per slice: write the test at a seam confirmed in `design.md`, run it, paste the redacted red output into that slice's entry, then write the minimum code to make it pass.
65
-
66
- - Do not invent a seam that is not in `design.md` — a missing seam is a planning defect. Report it instead of improvising one.
67
- - No horizontal slicing, no testing of internals, no tautological assertions, no refactoring inside a red-green cycle.
68
- - `meta.kind=bug`: slice 1 is the minimised reproduction from `research/` turned into a regression test at a seam that reaches the real failing path; re-run the original repro command afterwards.
69
- - `meta.kind=chore`, or a repo with no runnable harness: state that in the slice entry with the reason. Never skip the cycle silently.
70
- - Load the `trellis-tdd` skill for the full contract.
71
- - Otherwise: follow specs and task artifacts, follow existing code patterns, only do what's required, no over-engineering.
72
-
73
- ### 4. Verify
74
-
75
- Run project's lint and typecheck commands to verify changes.
76
-
77
- ---
78
-
79
- ## Report Format
80
-
81
- ```markdown
82
- ## Implementation Complete
83
-
84
- ### Files Modified
85
-
86
- - `src/components/Feature.tsx` - New component
87
- - `src/hooks/useFeature.ts` - New hook
88
-
89
- ### Implementation Summary
90
-
91
- 1. Created Feature component...
92
- 2. Added useFeature hook...
93
-
94
- ### Verification Results
95
-
96
- - Lint: Passed
97
- - TypeCheck: Passed
98
- ```
99
-
100
- ---
101
-
102
- ## Code Standards
103
-
104
- - Follow existing code patterns
105
- - Don't add unnecessary abstractions
106
- - Only do what's required, no over-engineering
107
- - Keep code readable