@jahanxu/trellis 0.4.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 (422) hide show
  1. package/LICENSE +235 -0
  2. package/README.md +212 -0
  3. package/bin/trellis.js +3 -0
  4. package/dist/cli/index.d.ts +3 -0
  5. package/dist/cli/index.d.ts.map +1 -0
  6. package/dist/cli/index.js +97 -0
  7. package/dist/cli/index.js.map +1 -0
  8. package/dist/commands/init.d.ts +21 -0
  9. package/dist/commands/init.d.ts.map +1 -0
  10. package/dist/commands/init.js +527 -0
  11. package/dist/commands/init.js.map +1 -0
  12. package/dist/commands/update.d.ts +27 -0
  13. package/dist/commands/update.d.ts.map +1 -0
  14. package/dist/commands/update.js +1289 -0
  15. package/dist/commands/update.js.map +1 -0
  16. package/dist/configurators/antigravity.d.ts +8 -0
  17. package/dist/configurators/antigravity.d.ts.map +1 -0
  18. package/dist/configurators/antigravity.js +18 -0
  19. package/dist/configurators/antigravity.js.map +1 -0
  20. package/dist/configurators/claude.d.ts +32 -0
  21. package/dist/configurators/claude.d.ts.map +1 -0
  22. package/dist/configurators/claude.js +98 -0
  23. package/dist/configurators/claude.js.map +1 -0
  24. package/dist/configurators/codex.d.ts +8 -0
  25. package/dist/configurators/codex.d.ts.map +1 -0
  26. package/dist/configurators/codex.js +20 -0
  27. package/dist/configurators/codex.js.map +1 -0
  28. package/dist/configurators/cursor.d.ts +5 -0
  29. package/dist/configurators/cursor.d.ts.map +1 -0
  30. package/dist/configurators/cursor.js +52 -0
  31. package/dist/configurators/cursor.js.map +1 -0
  32. package/dist/configurators/gemini.d.ts +8 -0
  33. package/dist/configurators/gemini.d.ts.map +1 -0
  34. package/dist/configurators/gemini.js +52 -0
  35. package/dist/configurators/gemini.js.map +1 -0
  36. package/dist/configurators/iflow.d.ts +33 -0
  37. package/dist/configurators/iflow.d.ts.map +1 -0
  38. package/dist/configurators/iflow.js +99 -0
  39. package/dist/configurators/iflow.js.map +1 -0
  40. package/dist/configurators/index.d.ts +55 -0
  41. package/dist/configurators/index.d.ts.map +1 -0
  42. package/dist/configurators/index.js +220 -0
  43. package/dist/configurators/index.js.map +1 -0
  44. package/dist/configurators/kilo.d.ts +8 -0
  45. package/dist/configurators/kilo.d.ts.map +1 -0
  46. package/dist/configurators/kilo.js +51 -0
  47. package/dist/configurators/kilo.js.map +1 -0
  48. package/dist/configurators/kiro.d.ts +8 -0
  49. package/dist/configurators/kiro.d.ts.map +1 -0
  50. package/dist/configurators/kiro.js +20 -0
  51. package/dist/configurators/kiro.js.map +1 -0
  52. package/dist/configurators/opencode.d.ts +32 -0
  53. package/dist/configurators/opencode.d.ts.map +1 -0
  54. package/dist/configurators/opencode.js +92 -0
  55. package/dist/configurators/opencode.js.map +1 -0
  56. package/dist/configurators/shared.d.ts +12 -0
  57. package/dist/configurators/shared.d.ts.map +1 -0
  58. package/dist/configurators/shared.js +21 -0
  59. package/dist/configurators/shared.js.map +1 -0
  60. package/dist/configurators/workflow.d.ts +28 -0
  61. package/dist/configurators/workflow.d.ts.map +1 -0
  62. package/dist/configurators/workflow.js +134 -0
  63. package/dist/configurators/workflow.js.map +1 -0
  64. package/dist/constants/paths.d.ts +68 -0
  65. package/dist/constants/paths.d.ts.map +1 -0
  66. package/dist/constants/paths.js +77 -0
  67. package/dist/constants/paths.js.map +1 -0
  68. package/dist/constants/version.d.ts +9 -0
  69. package/dist/constants/version.d.ts.map +1 -0
  70. package/dist/constants/version.js +15 -0
  71. package/dist/constants/version.js.map +1 -0
  72. package/dist/index.d.ts +9 -0
  73. package/dist/index.d.ts.map +1 -0
  74. package/dist/index.js +9 -0
  75. package/dist/index.js.map +1 -0
  76. package/dist/migrations/index.d.ts +54 -0
  77. package/dist/migrations/index.d.ts.map +1 -0
  78. package/dist/migrations/index.js +160 -0
  79. package/dist/migrations/index.js.map +1 -0
  80. package/dist/migrations/manifests/0.1.9.json +30 -0
  81. package/dist/migrations/manifests/0.2.0.json +49 -0
  82. package/dist/migrations/manifests/0.2.12.json +9 -0
  83. package/dist/migrations/manifests/0.2.13.json +9 -0
  84. package/dist/migrations/manifests/0.2.14.json +175 -0
  85. package/dist/migrations/manifests/0.2.15.json +33 -0
  86. package/dist/migrations/manifests/0.3.0-beta.0.json +278 -0
  87. package/dist/migrations/manifests/0.3.0-beta.1.json +9 -0
  88. package/dist/migrations/manifests/0.3.0-beta.10.json +9 -0
  89. package/dist/migrations/manifests/0.3.0-beta.11.json +9 -0
  90. package/dist/migrations/manifests/0.3.0-beta.12.json +9 -0
  91. package/dist/migrations/manifests/0.3.0-beta.13.json +9 -0
  92. package/dist/migrations/manifests/0.3.0-beta.14.json +9 -0
  93. package/dist/migrations/manifests/0.3.0-beta.15.json +9 -0
  94. package/dist/migrations/manifests/0.3.0-beta.16.json +9 -0
  95. package/dist/migrations/manifests/0.3.0-beta.2.json +9 -0
  96. package/dist/migrations/manifests/0.3.0-beta.3.json +9 -0
  97. package/dist/migrations/manifests/0.3.0-beta.4.json +9 -0
  98. package/dist/migrations/manifests/0.3.0-beta.5.json +9 -0
  99. package/dist/migrations/manifests/0.3.0-beta.6.json +9 -0
  100. package/dist/migrations/manifests/0.3.0-beta.7.json +11 -0
  101. package/dist/migrations/manifests/0.3.0-beta.8.json +9 -0
  102. package/dist/migrations/manifests/0.3.0-beta.9.json +9 -0
  103. package/dist/migrations/manifests/0.3.0-rc.0.json +9 -0
  104. package/dist/migrations/manifests/0.3.0-rc.1.json +9 -0
  105. package/dist/migrations/manifests/0.3.0-rc.2.json +9 -0
  106. package/dist/migrations/manifests/0.3.0-rc.3.json +9 -0
  107. package/dist/migrations/manifests/0.3.0-rc.4.json +9 -0
  108. package/dist/migrations/manifests/0.3.0-rc.5.json +9 -0
  109. package/dist/migrations/manifests/0.3.0-rc.6.json +9 -0
  110. package/dist/migrations/manifests/0.3.0.json +11 -0
  111. package/dist/templates/antigravity/index.d.ts +12 -0
  112. package/dist/templates/antigravity/index.d.ts.map +1 -0
  113. package/dist/templates/antigravity/index.js +29 -0
  114. package/dist/templates/antigravity/index.js.map +1 -0
  115. package/dist/templates/claude/agents/check.md +122 -0
  116. package/dist/templates/claude/agents/debug.md +106 -0
  117. package/dist/templates/claude/agents/dispatch.md +214 -0
  118. package/dist/templates/claude/agents/implement.md +96 -0
  119. package/dist/templates/claude/agents/plan.md +396 -0
  120. package/dist/templates/claude/agents/research.md +120 -0
  121. package/dist/templates/claude/commands/trellis/before-backend-dev.md +13 -0
  122. package/dist/templates/claude/commands/trellis/before-frontend-dev.md +13 -0
  123. package/dist/templates/claude/commands/trellis/before-role-work.md +364 -0
  124. package/dist/templates/claude/commands/trellis/brainstorm.md +474 -0
  125. package/dist/templates/claude/commands/trellis/break-loop.md +125 -0
  126. package/dist/templates/claude/commands/trellis/check-backend.md +13 -0
  127. package/dist/templates/claude/commands/trellis/check-cross-layer.md +153 -0
  128. package/dist/templates/claude/commands/trellis/check-frontend.md +13 -0
  129. package/dist/templates/claude/commands/trellis/create-command.md +154 -0
  130. package/dist/templates/claude/commands/trellis/finish-work.md +153 -0
  131. package/dist/templates/claude/commands/trellis/handoff.md +445 -0
  132. package/dist/templates/claude/commands/trellis/integrate-skill.md +219 -0
  133. package/dist/templates/claude/commands/trellis/onboard.md +358 -0
  134. package/dist/templates/claude/commands/trellis/parallel.md +193 -0
  135. package/dist/templates/claude/commands/trellis/pick-task.md +515 -0
  136. package/dist/templates/claude/commands/trellis/record-session.md +62 -0
  137. package/dist/templates/claude/commands/trellis/start.md +373 -0
  138. package/dist/templates/claude/commands/trellis/update-spec.md +354 -0
  139. package/dist/templates/claude/hooks/inject-subagent-context.py +873 -0
  140. package/dist/templates/claude/hooks/ralph-loop.py +388 -0
  141. package/dist/templates/claude/hooks/session-start.py +200 -0
  142. package/dist/templates/claude/index.d.ts +54 -0
  143. package/dist/templates/claude/index.d.ts.map +1 -0
  144. package/dist/templates/claude/index.js +85 -0
  145. package/dist/templates/claude/index.js.map +1 -0
  146. package/dist/templates/claude/settings.json +41 -0
  147. package/dist/templates/codex/index.d.ts +18 -0
  148. package/dist/templates/codex/index.d.ts.map +1 -0
  149. package/dist/templates/codex/index.js +40 -0
  150. package/dist/templates/codex/index.js.map +1 -0
  151. package/dist/templates/codex/skills/before-backend-dev/SKILL.md +18 -0
  152. package/dist/templates/codex/skills/before-frontend-dev/SKILL.md +18 -0
  153. package/dist/templates/codex/skills/brainstorm/SKILL.md +479 -0
  154. package/dist/templates/codex/skills/break-loop/SKILL.md +130 -0
  155. package/dist/templates/codex/skills/check-backend/SKILL.md +18 -0
  156. package/dist/templates/codex/skills/check-cross-layer/SKILL.md +158 -0
  157. package/dist/templates/codex/skills/check-frontend/SKILL.md +18 -0
  158. package/dist/templates/codex/skills/create-command/SKILL.md +101 -0
  159. package/dist/templates/codex/skills/finish-work/SKILL.md +148 -0
  160. package/dist/templates/codex/skills/integrate-skill/SKILL.md +221 -0
  161. package/dist/templates/codex/skills/onboard/SKILL.md +363 -0
  162. package/dist/templates/codex/skills/record-session/SKILL.md +67 -0
  163. package/dist/templates/codex/skills/start/SKILL.md +330 -0
  164. package/dist/templates/codex/skills/update-spec/SKILL.md +335 -0
  165. package/dist/templates/cursor/commands/trellis-before-backend-dev.md +13 -0
  166. package/dist/templates/cursor/commands/trellis-before-frontend-dev.md +13 -0
  167. package/dist/templates/cursor/commands/trellis-brainstorm.md +474 -0
  168. package/dist/templates/cursor/commands/trellis-break-loop.md +107 -0
  169. package/dist/templates/cursor/commands/trellis-check-backend.md +13 -0
  170. package/dist/templates/cursor/commands/trellis-check-cross-layer.md +153 -0
  171. package/dist/templates/cursor/commands/trellis-check-frontend.md +13 -0
  172. package/dist/templates/cursor/commands/trellis-create-command.md +154 -0
  173. package/dist/templates/cursor/commands/trellis-finish-work.md +143 -0
  174. package/dist/templates/cursor/commands/trellis-integrate-skill.md +219 -0
  175. package/dist/templates/cursor/commands/trellis-onboard.md +358 -0
  176. package/dist/templates/cursor/commands/trellis-record-session.md +62 -0
  177. package/dist/templates/cursor/commands/trellis-start.md +366 -0
  178. package/dist/templates/cursor/commands/trellis-update-spec.md +354 -0
  179. package/dist/templates/cursor/index.d.ts +24 -0
  180. package/dist/templates/cursor/index.d.ts.map +1 -0
  181. package/dist/templates/cursor/index.js +44 -0
  182. package/dist/templates/cursor/index.js.map +1 -0
  183. package/dist/templates/extract.d.ts +166 -0
  184. package/dist/templates/extract.d.ts.map +1 -0
  185. package/dist/templates/extract.js +296 -0
  186. package/dist/templates/extract.js.map +1 -0
  187. package/dist/templates/gemini/commands/trellis/before-backend-dev.toml +17 -0
  188. package/dist/templates/gemini/commands/trellis/before-frontend-dev.toml +17 -0
  189. package/dist/templates/gemini/commands/trellis/brainstorm.toml +420 -0
  190. package/dist/templates/gemini/commands/trellis/break-loop.toml +129 -0
  191. package/dist/templates/gemini/commands/trellis/check-backend.toml +17 -0
  192. package/dist/templates/gemini/commands/trellis/check-cross-layer.toml +147 -0
  193. package/dist/templates/gemini/commands/trellis/check-frontend.toml +17 -0
  194. package/dist/templates/gemini/commands/trellis/create-command.toml +119 -0
  195. package/dist/templates/gemini/commands/trellis/finish-work.toml +133 -0
  196. package/dist/templates/gemini/commands/trellis/integrate-skill.toml +104 -0
  197. package/dist/templates/gemini/commands/trellis/onboard.toml +111 -0
  198. package/dist/templates/gemini/commands/trellis/record-session.toml +66 -0
  199. package/dist/templates/gemini/commands/trellis/start.toml +292 -0
  200. package/dist/templates/gemini/commands/trellis/update-spec.toml +132 -0
  201. package/dist/templates/gemini/index.d.ts +21 -0
  202. package/dist/templates/gemini/index.d.ts.map +1 -0
  203. package/dist/templates/gemini/index.js +44 -0
  204. package/dist/templates/gemini/index.js.map +1 -0
  205. package/dist/templates/iflow/agents/check.md +122 -0
  206. package/dist/templates/iflow/agents/debug.md +106 -0
  207. package/dist/templates/iflow/agents/dispatch.md +214 -0
  208. package/dist/templates/iflow/agents/implement.md +96 -0
  209. package/dist/templates/iflow/agents/plan.md +396 -0
  210. package/dist/templates/iflow/agents/research.md +120 -0
  211. package/dist/templates/iflow/commands/trellis/before-backend-dev.md +13 -0
  212. package/dist/templates/iflow/commands/trellis/before-frontend-dev.md +13 -0
  213. package/dist/templates/iflow/commands/trellis/brainstorm.md +474 -0
  214. package/dist/templates/iflow/commands/trellis/break-loop.md +125 -0
  215. package/dist/templates/iflow/commands/trellis/check-backend.md +13 -0
  216. package/dist/templates/iflow/commands/trellis/check-cross-layer.md +153 -0
  217. package/dist/templates/iflow/commands/trellis/check-frontend.md +13 -0
  218. package/dist/templates/iflow/commands/trellis/create-command.md +152 -0
  219. package/dist/templates/iflow/commands/trellis/finish-work.md +153 -0
  220. package/dist/templates/iflow/commands/trellis/integrate-skill.md +219 -0
  221. package/dist/templates/iflow/commands/trellis/onboard.md +358 -0
  222. package/dist/templates/iflow/commands/trellis/parallel.md +193 -0
  223. package/dist/templates/iflow/commands/trellis/record-session.md +62 -0
  224. package/dist/templates/iflow/commands/trellis/start.md +373 -0
  225. package/dist/templates/iflow/commands/trellis/update-spec.md +354 -0
  226. package/dist/templates/iflow/hooks/inject-subagent-context.py +788 -0
  227. package/dist/templates/iflow/hooks/ralph-loop.py +388 -0
  228. package/dist/templates/iflow/hooks/session-start.py +143 -0
  229. package/dist/templates/iflow/index.d.ts +54 -0
  230. package/dist/templates/iflow/index.d.ts.map +1 -0
  231. package/dist/templates/iflow/index.js +85 -0
  232. package/dist/templates/iflow/index.js.map +1 -0
  233. package/dist/templates/iflow/settings.json +40 -0
  234. package/dist/templates/kilo/commands/trellis/before-backend-dev.md +13 -0
  235. package/dist/templates/kilo/commands/trellis/before-frontend-dev.md +13 -0
  236. package/dist/templates/kilo/commands/trellis/brainstorm.md +474 -0
  237. package/dist/templates/kilo/commands/trellis/break-loop.md +125 -0
  238. package/dist/templates/kilo/commands/trellis/check-backend.md +13 -0
  239. package/dist/templates/kilo/commands/trellis/check-cross-layer.md +153 -0
  240. package/dist/templates/kilo/commands/trellis/check-frontend.md +13 -0
  241. package/dist/templates/kilo/commands/trellis/create-command.md +152 -0
  242. package/dist/templates/kilo/commands/trellis/finish-work.md +129 -0
  243. package/dist/templates/kilo/commands/trellis/integrate-skill.md +219 -0
  244. package/dist/templates/kilo/commands/trellis/onboard.md +358 -0
  245. package/dist/templates/kilo/commands/trellis/parallel.md +194 -0
  246. package/dist/templates/kilo/commands/trellis/record-session.md +62 -0
  247. package/dist/templates/kilo/commands/trellis/start.md +321 -0
  248. package/dist/templates/kilo/commands/trellis/update-spec.md +285 -0
  249. package/dist/templates/kilo/index.d.ts +16 -0
  250. package/dist/templates/kilo/index.d.ts.map +1 -0
  251. package/dist/templates/kilo/index.js +39 -0
  252. package/dist/templates/kilo/index.js.map +1 -0
  253. package/dist/templates/kiro/index.d.ts +18 -0
  254. package/dist/templates/kiro/index.d.ts.map +1 -0
  255. package/dist/templates/kiro/index.js +40 -0
  256. package/dist/templates/kiro/index.js.map +1 -0
  257. package/dist/templates/kiro/skills/before-backend-dev/SKILL.md +18 -0
  258. package/dist/templates/kiro/skills/before-frontend-dev/SKILL.md +18 -0
  259. package/dist/templates/kiro/skills/brainstorm/SKILL.md +479 -0
  260. package/dist/templates/kiro/skills/break-loop/SKILL.md +130 -0
  261. package/dist/templates/kiro/skills/check-backend/SKILL.md +18 -0
  262. package/dist/templates/kiro/skills/check-cross-layer/SKILL.md +158 -0
  263. package/dist/templates/kiro/skills/check-frontend/SKILL.md +18 -0
  264. package/dist/templates/kiro/skills/create-command/SKILL.md +101 -0
  265. package/dist/templates/kiro/skills/finish-work/SKILL.md +148 -0
  266. package/dist/templates/kiro/skills/integrate-skill/SKILL.md +221 -0
  267. package/dist/templates/kiro/skills/onboard/SKILL.md +363 -0
  268. package/dist/templates/kiro/skills/record-session/SKILL.md +67 -0
  269. package/dist/templates/kiro/skills/start/SKILL.md +330 -0
  270. package/dist/templates/kiro/skills/update-spec/SKILL.md +335 -0
  271. package/dist/templates/markdown/agents.md +18 -0
  272. package/dist/templates/markdown/gitignore.txt +12 -0
  273. package/dist/templates/markdown/index.d.ts +27 -0
  274. package/dist/templates/markdown/index.d.ts.map +1 -0
  275. package/dist/templates/markdown/index.js +52 -0
  276. package/dist/templates/markdown/index.js.map +1 -0
  277. package/dist/templates/markdown/spec/backend/database-guidelines.md.txt +51 -0
  278. package/dist/templates/markdown/spec/backend/directory-structure.md.txt +54 -0
  279. package/dist/templates/markdown/spec/backend/error-handling.md.txt +51 -0
  280. package/dist/templates/markdown/spec/backend/index.md +40 -0
  281. package/dist/templates/markdown/spec/backend/index.md.txt +38 -0
  282. package/dist/templates/markdown/spec/backend/logging-guidelines.md.txt +51 -0
  283. package/dist/templates/markdown/spec/backend/quality-guidelines.md.txt +51 -0
  284. package/dist/templates/markdown/spec/backend/script-conventions.md +467 -0
  285. package/dist/templates/markdown/spec/frontend/component-guidelines.md.txt +59 -0
  286. package/dist/templates/markdown/spec/frontend/directory-structure.md.txt +54 -0
  287. package/dist/templates/markdown/spec/frontend/hook-guidelines.md.txt +51 -0
  288. package/dist/templates/markdown/spec/frontend/index.md.txt +39 -0
  289. package/dist/templates/markdown/spec/frontend/quality-guidelines.md.txt +51 -0
  290. package/dist/templates/markdown/spec/frontend/state-management.md.txt +51 -0
  291. package/dist/templates/markdown/spec/frontend/type-safety.md.txt +51 -0
  292. package/dist/templates/markdown/spec/guides/code-reuse-thinking-guide.md +118 -0
  293. package/dist/templates/markdown/spec/guides/code-reuse-thinking-guide.md.txt +92 -0
  294. package/dist/templates/markdown/spec/guides/cross-layer-thinking-guide.md.txt +94 -0
  295. package/dist/templates/markdown/spec/guides/cross-platform-thinking-guide.md +394 -0
  296. package/dist/templates/markdown/spec/guides/cross-platform-thinking-guide.md.txt +319 -0
  297. package/dist/templates/markdown/spec/guides/index.md.txt +79 -0
  298. package/dist/templates/markdown/workspace-index.md +123 -0
  299. package/dist/templates/markdown/worktree.yaml.txt +58 -0
  300. package/dist/templates/opencode/agents/check.md +146 -0
  301. package/dist/templates/opencode/agents/debug.md +129 -0
  302. package/dist/templates/opencode/agents/dispatch.md +223 -0
  303. package/dist/templates/opencode/agents/implement.md +120 -0
  304. package/dist/templates/opencode/agents/research.md +147 -0
  305. package/dist/templates/opencode/agents/trellis-plan.md +427 -0
  306. package/dist/templates/opencode/commands/trellis/before-backend-dev.md +13 -0
  307. package/dist/templates/opencode/commands/trellis/before-frontend-dev.md +13 -0
  308. package/dist/templates/opencode/commands/trellis/brainstorm.md +474 -0
  309. package/dist/templates/opencode/commands/trellis/break-loop.md +125 -0
  310. package/dist/templates/opencode/commands/trellis/check-backend.md +13 -0
  311. package/dist/templates/opencode/commands/trellis/check-cross-layer.md +153 -0
  312. package/dist/templates/opencode/commands/trellis/check-frontend.md +13 -0
  313. package/dist/templates/opencode/commands/trellis/create-command.md +154 -0
  314. package/dist/templates/opencode/commands/trellis/finish-work.md +144 -0
  315. package/dist/templates/opencode/commands/trellis/integrate-skill.md +219 -0
  316. package/dist/templates/opencode/commands/trellis/migrate-specs.md +0 -0
  317. package/dist/templates/opencode/commands/trellis/onboard.md +358 -0
  318. package/dist/templates/opencode/commands/trellis/parallel.md +194 -0
  319. package/dist/templates/opencode/commands/trellis/record-session.md +62 -0
  320. package/dist/templates/opencode/commands/trellis/start.md +338 -0
  321. package/dist/templates/opencode/commands/trellis/update-spec.md +354 -0
  322. package/dist/templates/opencode/lib/trellis-context.js +436 -0
  323. package/dist/templates/opencode/package.json +5 -0
  324. package/dist/templates/opencode/plugin/inject-subagent-context.js +538 -0
  325. package/dist/templates/opencode/plugin/session-start.js +192 -0
  326. package/dist/templates/trellis/VERSION +1 -0
  327. package/dist/templates/trellis/deliverables/README.md +51 -0
  328. package/dist/templates/trellis/gitignore.txt +29 -0
  329. package/dist/templates/trellis/index.d.ts +49 -0
  330. package/dist/templates/trellis/index.d.ts.map +1 -0
  331. package/dist/templates/trellis/index.js +92 -0
  332. package/dist/templates/trellis/index.js.map +1 -0
  333. package/dist/templates/trellis/paths.README.md +277 -0
  334. package/dist/templates/trellis/paths.yaml +41 -0
  335. package/dist/templates/trellis/pool/implementations.json +5 -0
  336. package/dist/templates/trellis/pool/prototypes.json +5 -0
  337. package/dist/templates/trellis/pool/requirements.json +5 -0
  338. package/dist/templates/trellis/scripts/__init__.py +5 -0
  339. package/dist/templates/trellis/scripts/add_session.py +391 -0
  340. package/dist/templates/trellis/scripts/common/__init__.py +80 -0
  341. package/dist/templates/trellis/scripts/common/cli_adapter.py +522 -0
  342. package/dist/templates/trellis/scripts/common/developer.py +189 -0
  343. package/dist/templates/trellis/scripts/common/git_context.py +383 -0
  344. package/dist/templates/trellis/scripts/common/paths.py +346 -0
  345. package/dist/templates/trellis/scripts/common/phase.py +253 -0
  346. package/dist/templates/trellis/scripts/common/project_paths.py +189 -0
  347. package/dist/templates/trellis/scripts/common/registry.py +365 -0
  348. package/dist/templates/trellis/scripts/common/task_queue.py +255 -0
  349. package/dist/templates/trellis/scripts/common/task_utils.py +177 -0
  350. package/dist/templates/trellis/scripts/common/worktree.py +218 -0
  351. package/dist/templates/trellis/scripts/create_bootstrap.py +290 -0
  352. package/dist/templates/trellis/scripts/get_context.py +16 -0
  353. package/dist/templates/trellis/scripts/get_developer.py +26 -0
  354. package/dist/templates/trellis/scripts/handoff_generator.py +380 -0
  355. package/dist/templates/trellis/scripts/init_developer.py +51 -0
  356. package/dist/templates/trellis/scripts/multi_agent/__init__.py +5 -0
  357. package/dist/templates/trellis/scripts/multi_agent/cleanup.py +403 -0
  358. package/dist/templates/trellis/scripts/multi_agent/create_pr.py +329 -0
  359. package/dist/templates/trellis/scripts/multi_agent/plan.py +233 -0
  360. package/dist/templates/trellis/scripts/multi_agent/start.py +461 -0
  361. package/dist/templates/trellis/scripts/multi_agent/status.py +817 -0
  362. package/dist/templates/trellis/scripts/pool.py +373 -0
  363. package/dist/templates/trellis/scripts/task.py +1162 -0
  364. package/dist/templates/trellis/scripts-shell-archive/add-session.sh +384 -0
  365. package/dist/templates/trellis/scripts-shell-archive/common/developer.sh +129 -0
  366. package/dist/templates/trellis/scripts-shell-archive/common/git-context.sh +263 -0
  367. package/dist/templates/trellis/scripts-shell-archive/common/paths.sh +208 -0
  368. package/dist/templates/trellis/scripts-shell-archive/common/phase.sh +150 -0
  369. package/dist/templates/trellis/scripts-shell-archive/common/registry.sh +247 -0
  370. package/dist/templates/trellis/scripts-shell-archive/common/task-queue.sh +142 -0
  371. package/dist/templates/trellis/scripts-shell-archive/common/task-utils.sh +151 -0
  372. package/dist/templates/trellis/scripts-shell-archive/common/worktree.sh +128 -0
  373. package/dist/templates/trellis/scripts-shell-archive/create-bootstrap.sh +299 -0
  374. package/dist/templates/trellis/scripts-shell-archive/get-context.sh +7 -0
  375. package/dist/templates/trellis/scripts-shell-archive/get-developer.sh +15 -0
  376. package/dist/templates/trellis/scripts-shell-archive/init-developer.sh +34 -0
  377. package/dist/templates/trellis/scripts-shell-archive/multi-agent/cleanup.sh +396 -0
  378. package/dist/templates/trellis/scripts-shell-archive/multi-agent/create-pr.sh +241 -0
  379. package/dist/templates/trellis/scripts-shell-archive/multi-agent/plan.sh +207 -0
  380. package/dist/templates/trellis/scripts-shell-archive/multi-agent/start.sh +317 -0
  381. package/dist/templates/trellis/scripts-shell-archive/multi-agent/status.sh +828 -0
  382. package/dist/templates/trellis/scripts-shell-archive/task.sh +1204 -0
  383. package/dist/templates/trellis/spec/roles/designer/index.md +243 -0
  384. package/dist/templates/trellis/spec/roles/designer/mock-data-standards.md +481 -0
  385. package/dist/templates/trellis/spec/roles/designer/prototype-guidelines.md +429 -0
  386. package/dist/templates/trellis/spec/roles/frontend-impl/api-integration.md +565 -0
  387. package/dist/templates/trellis/spec/roles/frontend-impl/index.md +321 -0
  388. package/dist/templates/trellis/spec/roles/frontend-impl/state-management.md +599 -0
  389. package/dist/templates/trellis/spec/roles/pm/index.md +112 -0
  390. package/dist/templates/trellis/spec/roles/pm/prd-template.md +124 -0
  391. package/dist/templates/trellis/tasks/.gitkeep +0 -0
  392. package/dist/templates/trellis/workflow.md +416 -0
  393. package/dist/templates/trellis/worktree.yaml +47 -0
  394. package/dist/types/ai-tools.d.ts +56 -0
  395. package/dist/types/ai-tools.d.ts.map +1 -0
  396. package/dist/types/ai-tools.js +103 -0
  397. package/dist/types/ai-tools.js.map +1 -0
  398. package/dist/types/migration.d.ts +86 -0
  399. package/dist/types/migration.d.ts.map +1 -0
  400. package/dist/types/migration.js +8 -0
  401. package/dist/types/migration.js.map +1 -0
  402. package/dist/utils/compare-versions.d.ts +12 -0
  403. package/dist/utils/compare-versions.d.ts.map +1 -0
  404. package/dist/utils/compare-versions.js +76 -0
  405. package/dist/utils/compare-versions.js.map +1 -0
  406. package/dist/utils/file-writer.d.ts +23 -0
  407. package/dist/utils/file-writer.d.ts.map +1 -0
  408. package/dist/utils/file-writer.js +140 -0
  409. package/dist/utils/file-writer.js.map +1 -0
  410. package/dist/utils/project-detector.d.ts +16 -0
  411. package/dist/utils/project-detector.d.ts.map +1 -0
  412. package/dist/utils/project-detector.js +186 -0
  413. package/dist/utils/project-detector.js.map +1 -0
  414. package/dist/utils/template-fetcher.d.ts +51 -0
  415. package/dist/utils/template-fetcher.d.ts.map +1 -0
  416. package/dist/utils/template-fetcher.js +174 -0
  417. package/dist/utils/template-fetcher.js.map +1 -0
  418. package/dist/utils/template-hash.d.ts +78 -0
  419. package/dist/utils/template-hash.d.ts.map +1 -0
  420. package/dist/utils/template-hash.js +233 -0
  421. package/dist/utils/template-hash.js.map +1 -0
  422. package/package.json +87 -0
@@ -0,0 +1,330 @@
1
+ ---
2
+ name: start
3
+ description: "Start Session"
4
+ ---
5
+
6
+ # Start Session
7
+
8
+ Initialize your AI development session and begin working on tasks.
9
+
10
+ ---
11
+
12
+ ## Operation Types
13
+
14
+ | Marker | Meaning | Executor |
15
+ |--------|---------|----------|
16
+ | `[AI]` | Bash scripts or tool calls executed by AI | You (AI) |
17
+ | `[USER]` | Skills executed by user | User |
18
+
19
+ ---
20
+
21
+ ## Initialization `[AI]`
22
+
23
+ ### Step 1: Understand Development Workflow
24
+
25
+ First, read the workflow guide to understand the development process:
26
+
27
+ ```bash
28
+ cat .trellis/workflow.md
29
+ ```
30
+
31
+ **Follow the instructions in workflow.md** - it contains:
32
+ - Core principles (Read Before Write, Follow Standards, etc.)
33
+ - File system structure
34
+ - Development process
35
+ - Best practices
36
+
37
+ ### Step 2: Get Current Context
38
+
39
+ ```bash
40
+ python3 ./.trellis/scripts/get_context.py
41
+ ```
42
+
43
+ This shows: developer identity, git status, current task (if any), active tasks.
44
+
45
+ ### Step 3: Read Guidelines Index
46
+
47
+ ```bash
48
+ cat .trellis/spec/frontend/index.md # Frontend guidelines
49
+ cat .trellis/spec/backend/index.md # Backend guidelines
50
+ cat .trellis/spec/guides/index.md # Thinking guides
51
+ ```
52
+
53
+ ### Step 4: Report and Ask
54
+
55
+ Report what you learned and ask: "What would you like to work on?"
56
+
57
+ ---
58
+
59
+ ## Task Classification
60
+
61
+ When user describes a task, classify it:
62
+
63
+ | Type | Criteria | Workflow |
64
+ |------|----------|----------|
65
+ | **Question** | User asks about code, architecture, or how something works | Answer directly |
66
+ | **Trivial Fix** | Typo fix, comment update, single-line change, < 5 minutes | Direct Edit |
67
+ | **Simple Task** | Clear goal, 1-2 files, well-defined scope | Quick confirm → Task Workflow |
68
+ | **Complex Task** | Vague goal, multiple files, architectural decisions | **Brainstorm → Task Workflow** |
69
+
70
+ ### Decision Rule
71
+
72
+ > **If in doubt, use Brainstorm + Task Workflow.**
73
+ >
74
+ > Task Workflow ensures code-specs are injected to the right context, resulting in higher quality code.
75
+ > The overhead is minimal, but the benefit is significant.
76
+
77
+ ---
78
+
79
+ ## Question / Trivial Fix
80
+
81
+ For questions or trivial fixes, work directly:
82
+
83
+ 1. Answer question or make the fix
84
+ 2. If code was changed, remind user to run `$finish-work`
85
+
86
+ ---
87
+
88
+ ## Simple Task
89
+
90
+ For simple, well-defined tasks:
91
+
92
+ 1. Quick confirm: "I understand you want to [goal]. Ready to proceed?"
93
+ 2. If yes, proceed to **Task Workflow Phase 1 Path B** (create task, write PRD, then research)
94
+ 3. If no, clarify and confirm again
95
+
96
+ ---
97
+
98
+ ## Complex Task - Brainstorm First
99
+
100
+ For complex or vague tasks, use the brainstorm process to clarify requirements.
101
+
102
+ See `$brainstorm` for the full process. Summary:
103
+
104
+ 1. **Acknowledge and classify** - State your understanding
105
+ 2. **Create task directory** - Track evolving requirements in `prd.md`
106
+ 3. **Ask questions one at a time** - Update PRD after each answer
107
+ 4. **Propose approaches** - For architectural decisions
108
+ 5. **Confirm final requirements** - Get explicit approval
109
+ 6. **Proceed to Task Workflow** - With clear requirements in PRD
110
+
111
+ ---
112
+
113
+ ## Task Workflow (Development Tasks)
114
+
115
+ **Why this workflow?**
116
+ - Run a dedicated research pass before coding
117
+ - Configure specs in jsonl context files
118
+ - Implement using injected context
119
+ - Verify with a separate check pass
120
+ - Result: Code that follows project conventions automatically
121
+
122
+ ### Overview: Two Entry Points
123
+
124
+ ```
125
+ From Brainstorm (Complex Task):
126
+ PRD confirmed → Research → Configure Context → Activate → Implement → Check → Complete
127
+
128
+ From Simple Task:
129
+ Confirm → Create Task → Write PRD → Research → Configure Context → Activate → Implement → Check → Complete
130
+ ```
131
+
132
+ **Key principle: Research happens AFTER requirements are clear (PRD exists).**
133
+
134
+ ---
135
+
136
+ ### Phase 1: Establish Requirements
137
+
138
+ #### Path A: From Brainstorm (skip to Phase 2)
139
+
140
+ PRD and task directory already exist from brainstorm. Skip directly to Phase 2.
141
+
142
+ #### Path B: From Simple Task
143
+
144
+ **Step 1: Confirm Understanding** `[AI]`
145
+
146
+ Quick confirm:
147
+ - What is the goal?
148
+ - What type of development? (frontend / backend / fullstack)
149
+ - Any specific requirements or constraints?
150
+
151
+ If unclear, ask clarifying questions.
152
+
153
+ **Step 2: Create Task Directory** `[AI]`
154
+
155
+ ```bash
156
+ TASK_DIR=$(python3 ./.trellis/scripts/task.py create "<title>" --slug <name>)
157
+ ```
158
+
159
+ **Step 3: Write PRD** `[AI]`
160
+
161
+ Create `prd.md` in the task directory with:
162
+
163
+ ```markdown
164
+ # <Task Title>
165
+
166
+ ## Goal
167
+ <What we're trying to achieve>
168
+
169
+ ## Requirements
170
+ - <Requirement 1>
171
+ - <Requirement 2>
172
+
173
+ ## Acceptance Criteria
174
+ - [ ] <Criterion 1>
175
+ - [ ] <Criterion 2>
176
+
177
+ ## Technical Notes
178
+ <Any technical decisions or constraints>
179
+ ```
180
+
181
+ ---
182
+
183
+ ### Phase 2: Prepare for Implementation (shared)
184
+
185
+ > Both paths converge here. PRD and task directory must exist before proceeding.
186
+
187
+ **Step 4: Code-Spec Depth Check** `[AI]`
188
+
189
+ If the task touches infra or cross-layer contracts, do not start implementation until code-spec depth is defined.
190
+
191
+ Trigger this requirement when the change includes any of:
192
+ - New or changed command/API signatures
193
+ - Database schema or migration changes
194
+ - Infra integrations (storage, queue, cache, secrets, env contracts)
195
+ - Cross-layer payload transformations
196
+
197
+ Must-have before proceeding:
198
+ - [ ] Target code-spec files to update are identified
199
+ - [ ] Concrete contract is defined (signature, fields, env keys)
200
+ - [ ] Validation and error matrix is defined
201
+ - [ ] At least one Good/Base/Bad case is defined
202
+
203
+ **Step 5: Research the Codebase** `[AI]`
204
+
205
+ Based on the confirmed PRD, run a focused research pass and produce:
206
+
207
+ 1. Relevant spec files in `.trellis/spec/`
208
+ 2. Existing code patterns to follow (2-3 examples)
209
+ 3. Files that will likely need modification
210
+
211
+ Use this output format:
212
+
213
+ ```markdown
214
+ ## Relevant Specs
215
+ - <path>: <why it's relevant>
216
+
217
+ ## Code Patterns Found
218
+ - <pattern>: <example file path>
219
+
220
+ ## Files to Modify
221
+ - <path>: <what change>
222
+ ```
223
+
224
+ **Step 6: Configure Context** `[AI]`
225
+
226
+ Initialize default context:
227
+
228
+ ```bash
229
+ python3 ./.trellis/scripts/task.py init-context "$TASK_DIR" <type>
230
+ # type: backend | frontend | fullstack
231
+ ```
232
+
233
+ Add specs found in your research pass:
234
+
235
+ ```bash
236
+ # For each relevant spec and code pattern:
237
+ python3 ./.trellis/scripts/task.py add-context "$TASK_DIR" implement "<path>" "<reason>"
238
+ python3 ./.trellis/scripts/task.py add-context "$TASK_DIR" check "<path>" "<reason>"
239
+ ```
240
+
241
+ **Step 7: Activate Task** `[AI]`
242
+
243
+ ```bash
244
+ python3 ./.trellis/scripts/task.py start "$TASK_DIR"
245
+ ```
246
+
247
+ This sets `.current-task` so hooks can inject context.
248
+
249
+ ---
250
+
251
+ ### Phase 3: Execute (shared)
252
+
253
+ **Step 8: Implement** `[AI]`
254
+
255
+ Implement the task described in `prd.md`.
256
+
257
+ - Follow all specs injected into implement context
258
+ - Keep changes scoped to requirements
259
+ - Run lint and typecheck before finishing
260
+
261
+ **Step 9: Check Quality** `[AI]`
262
+
263
+ Run a quality pass against check context:
264
+
265
+ - Review all code changes against the specs
266
+ - Fix issues directly
267
+ - Ensure lint and typecheck pass
268
+
269
+ **Step 10: Complete** `[AI]`
270
+
271
+ 1. Verify lint and typecheck pass
272
+ 2. Report what was implemented
273
+ 3. Remind user to:
274
+ - Test the changes
275
+ - Commit when ready
276
+ - Run `$record-session` to record this session
277
+
278
+ ---
279
+
280
+ ## Continuing Existing Task
281
+
282
+ If `get_context.py` shows a current task:
283
+
284
+ 1. Read the task's `prd.md` to understand the goal
285
+ 2. Check `task.json` for current status and phase
286
+ 3. Ask user: "Continue working on <task-name>?"
287
+
288
+ If yes, resume from the appropriate step (usually Step 7 or 8).
289
+
290
+ ---
291
+
292
+ ## Skills Reference
293
+
294
+ ### User Skills `[USER]`
295
+
296
+ | Skill | When to Use |
297
+ |---------|-------------|
298
+ | `$start` | Begin a session (this skill) |
299
+ | `$finish-work` | Before committing changes |
300
+ | `$record-session` | After completing a task |
301
+
302
+ ### AI Scripts `[AI]`
303
+
304
+ | Script | Purpose |
305
+ |--------|---------|
306
+ | `python3 ./.trellis/scripts/get_context.py` | Get session context |
307
+ | `python3 ./.trellis/scripts/task.py create` | Create task directory |
308
+ | `python3 ./.trellis/scripts/task.py init-context` | Initialize jsonl files |
309
+ | `python3 ./.trellis/scripts/task.py add-context` | Add spec to jsonl |
310
+ | `python3 ./.trellis/scripts/task.py start` | Set current task |
311
+ | `python3 ./.trellis/scripts/task.py finish` | Clear current task |
312
+ | `python3 ./.trellis/scripts/task.py archive` | Archive completed task |
313
+
314
+ ### Workflow Phases `[AI]`
315
+
316
+ | Phase | Purpose | Context Source |
317
+ |-------|---------|----------------|
318
+ | research | Analyze codebase | direct repo inspection |
319
+ | implement | Write code | `implement.jsonl` |
320
+ | check | Review & fix | `check.jsonl` |
321
+ | debug | Fix specific issues | `debug.jsonl` |
322
+
323
+ ---
324
+
325
+ ## Key Principle
326
+
327
+ > **Code-spec context is injected, not remembered.**
328
+ >
329
+ > The Task Workflow ensures agents receive relevant code-spec context automatically.
330
+ > This is more reliable than hoping the AI "remembers" conventions.
@@ -0,0 +1,335 @@
1
+ ---
2
+ name: update-spec
3
+ description: "Update Code-Spec - Capture Executable Contracts"
4
+ ---
5
+
6
+ # Update Code-Spec - Capture Executable Contracts
7
+
8
+ When you learn something valuable (from debugging, implementing, or discussion), use this skill to update the relevant code-spec documents.
9
+
10
+ **Timing**: After completing a task, fixing a bug, or discovering a new pattern
11
+
12
+ ---
13
+
14
+ ## Code-Spec First Rule (CRITICAL)
15
+
16
+ In this project, "spec" for implementation work means **code-spec**:
17
+ - Executable contracts (not principle-only text)
18
+ - Concrete signatures, payload fields, env keys, and boundary behavior
19
+ - Testable validation/error behavior
20
+
21
+ If the change touches infra or cross-layer contracts, code-spec depth is mandatory.
22
+
23
+ Required sections for infra/cross-layer specs:
24
+ 1. Scope / Trigger
25
+ 2. Signatures (command/API/DB)
26
+ 3. Contracts (request/response/env)
27
+ 4. Validation & Error Matrix
28
+ 5. Good/Base/Bad Cases
29
+ 6. Tests Required (with assertion points)
30
+ 7. Wrong vs Correct (at least one pair)
31
+
32
+ ---
33
+
34
+ ## When to Update Code-Specs
35
+
36
+ | Trigger | Example | Target Spec |
37
+ |---------|---------|-------------|
38
+ | **Implemented a feature** | Added template download with giget | Relevant `backend/` or `frontend/` file |
39
+ | **Made a design decision** | Used type field + mapping table for extensibility | Relevant code-spec + "Design Decisions" section |
40
+ | **Fixed a bug** | Found a subtle issue with error handling | `backend/error-handling.md` |
41
+ | **Discovered a pattern** | Found a better way to structure code | Relevant `backend/` or `frontend/` file |
42
+ | **Hit a gotcha** | Learned that X must be done before Y | Relevant code-spec + "Common Mistakes" section |
43
+ | **Established a convention** | Team agreed on naming pattern | `quality-guidelines.md` |
44
+ | **New thinking trigger** | "Don't forget to check X before doing Y" | `guides/*.md` (as a checklist item, not detailed rules) |
45
+
46
+ **Key Insight**: Code-spec updates are NOT just for problems. Every feature implementation contains design decisions and contracts that future AI/developers need to execute safely.
47
+
48
+ ---
49
+
50
+ ## Spec Structure Overview
51
+
52
+ ```
53
+ .trellis/spec/
54
+ ├── backend/ # Backend coding standards
55
+ │ ├── index.md # Overview and links
56
+ │ └── *.md # Topic-specific guidelines
57
+ ├── frontend/ # Frontend coding standards
58
+ │ ├── index.md # Overview and links
59
+ │ └── *.md # Topic-specific guidelines
60
+ └── guides/ # Thinking checklists (NOT coding specs!)
61
+ ├── index.md # Guide index
62
+ └── *.md # Topic-specific guides
63
+ ```
64
+
65
+ ### CRITICAL: Code-Spec vs Guide - Know the Difference
66
+
67
+ | Type | Location | Purpose | Content Style |
68
+ |------|----------|---------|---------------|
69
+ | **Code-Spec** | `backend/*.md`, `frontend/*.md` | Tell AI "how to implement safely" | Signatures, contracts, matrices, cases, test points |
70
+ | **Guide** | `guides/*.md` | Help AI "what to think about" | Checklists, questions, pointers to specs |
71
+
72
+ **Decision Rule**: Ask yourself:
73
+
74
+ - "This is **how to write** the code" → Put in `backend/` or `frontend/`
75
+ - "This is **what to consider** before writing" → Put in `guides/`
76
+
77
+ **Example**:
78
+
79
+ | Learning | Wrong Location | Correct Location |
80
+ |----------|----------------|------------------|
81
+ | "Use `reconfigure()` not `TextIOWrapper` for Windows stdout" | ❌ `guides/cross-platform-thinking-guide.md` | ✅ `backend/script-conventions.md` |
82
+ | "Remember to check encoding when writing cross-platform code" | ❌ `backend/script-conventions.md` | ✅ `guides/cross-platform-thinking-guide.md` |
83
+
84
+ **Guides should be short checklists that point to specs**, not duplicate the detailed rules.
85
+
86
+ ---
87
+
88
+ ## Update Process
89
+
90
+ ### Step 1: Identify What You Learned
91
+
92
+ Answer these questions:
93
+
94
+ 1. **What did you learn?** (Be specific)
95
+ 2. **Why is it important?** (What problem does it prevent?)
96
+ 3. **Where does it belong?** (Which spec file?)
97
+
98
+ ### Step 2: Classify the Update Type
99
+
100
+ | Type | Description | Action |
101
+ |------|-------------|--------|
102
+ | **Design Decision** | Why we chose approach X over Y | Add to "Design Decisions" section |
103
+ | **Project Convention** | How we do X in this project | Add to relevant section with examples |
104
+ | **New Pattern** | A reusable approach discovered | Add to "Patterns" section |
105
+ | **Forbidden Pattern** | Something that causes problems | Add to "Anti-patterns" or "Don't" section |
106
+ | **Common Mistake** | Easy-to-make error | Add to "Common Mistakes" section |
107
+ | **Convention** | Agreed-upon standard | Add to relevant section |
108
+ | **Gotcha** | Non-obvious behavior | Add warning callout |
109
+
110
+ ### Step 3: Read the Target Code-Spec
111
+
112
+ Before editing, read the current code-spec to:
113
+ - Understand existing structure
114
+ - Avoid duplicating content
115
+ - Find the right section for your update
116
+
117
+ ```bash
118
+ cat .trellis/spec/<category>/<file>.md
119
+ ```
120
+
121
+ ### Step 4: Make the Update
122
+
123
+ Follow these principles:
124
+
125
+ 1. **Be Specific**: Include concrete examples, not just abstract rules
126
+ 2. **Explain Why**: State the problem this prevents
127
+ 3. **Show Contracts**: Add signatures, payload fields, and error behavior
128
+ 4. **Show Code**: Add code snippets for key patterns
129
+ 5. **Keep it Short**: One concept per section
130
+
131
+ ### Step 5: Update the Index (if needed)
132
+
133
+ If you added a new section or the code-spec status changed, update the category's `index.md`.
134
+
135
+ ---
136
+
137
+ ## Update Templates
138
+
139
+ ### Mandatory Template for Infra/Cross-Layer Work
140
+
141
+ ```markdown
142
+ ## Scenario: <name>
143
+
144
+ ### 1. Scope / Trigger
145
+ - Trigger: <why this requires code-spec depth>
146
+
147
+ ### 2. Signatures
148
+ ### 3. Contracts
149
+ ### 4. Validation & Error Matrix
150
+ ### 5. Good/Base/Bad Cases
151
+ ### 6. Tests Required
152
+ ### 7. Wrong vs Correct
153
+ #### Wrong
154
+ ...
155
+ #### Correct
156
+ ...
157
+ ```
158
+
159
+ ### Adding a Design Decision
160
+
161
+ ```markdown
162
+ ### Design Decision: [Decision Name]
163
+
164
+ **Context**: What problem were we solving?
165
+
166
+ **Options Considered**:
167
+ 1. Option A - brief description
168
+ 2. Option B - brief description
169
+
170
+ **Decision**: We chose Option X because...
171
+
172
+ **Example**:
173
+ \`\`\`typescript
174
+ // How it's implemented
175
+ code example
176
+ \`\`\`
177
+
178
+ **Extensibility**: How to extend this in the future...
179
+ ```
180
+
181
+ ### Adding a Project Convention
182
+
183
+ ```markdown
184
+ ### Convention: [Convention Name]
185
+
186
+ **What**: Brief description of the convention.
187
+
188
+ **Why**: Why we do it this way in this project.
189
+
190
+ **Example**:
191
+ \`\`\`typescript
192
+ // How to follow this convention
193
+ code example
194
+ \`\`\`
195
+
196
+ **Related**: Links to related conventions or specs.
197
+ ```
198
+
199
+ ### Adding a New Pattern
200
+
201
+ ```markdown
202
+ ### Pattern Name
203
+
204
+ **Problem**: What problem does this solve?
205
+
206
+ **Solution**: Brief description of the approach.
207
+
208
+ **Example**:
209
+ \`\`\`
210
+ // Good
211
+ code example
212
+
213
+ // Bad
214
+ code example
215
+ \`\`\`
216
+
217
+ **Why**: Explanation of why this works better.
218
+ ```
219
+
220
+ ### Adding a Forbidden Pattern
221
+
222
+ ```markdown
223
+ ### Don't: Pattern Name
224
+
225
+ **Problem**:
226
+ \`\`\`
227
+ // Don't do this
228
+ bad code example
229
+ \`\`\`
230
+
231
+ **Why it's bad**: Explanation of the issue.
232
+
233
+ **Instead**:
234
+ \`\`\`
235
+ // Do this instead
236
+ good code example
237
+ \`\`\`
238
+ ```
239
+
240
+ ### Adding a Common Mistake
241
+
242
+ ```markdown
243
+ ### Common Mistake: Description
244
+
245
+ **Symptom**: What goes wrong
246
+
247
+ **Cause**: Why this happens
248
+
249
+ **Fix**: How to correct it
250
+
251
+ **Prevention**: How to avoid it in the future
252
+ ```
253
+
254
+ ### Adding a Gotcha
255
+
256
+ ```markdown
257
+ > **Warning**: Brief description of the non-obvious behavior.
258
+ >
259
+ > Details about when this happens and how to handle it.
260
+ ```
261
+
262
+ ---
263
+
264
+ ## Interactive Mode
265
+
266
+ If you're unsure what to update, answer these prompts:
267
+
268
+ 1. **What did you just finish?**
269
+ - [ ] Fixed a bug
270
+ - [ ] Implemented a feature
271
+ - [ ] Refactored code
272
+ - [ ] Had a discussion about approach
273
+
274
+ 2. **What did you learn or decide?**
275
+ - Design decision (why X over Y)
276
+ - Project convention (how we do X)
277
+ - Non-obvious behavior (gotcha)
278
+ - Better approach (pattern)
279
+
280
+ 3. **Would future AI/developers need to know this?**
281
+ - To understand how the code works → Yes, update spec
282
+ - To maintain or extend the feature → Yes, update spec
283
+ - To avoid repeating mistakes → Yes, update spec
284
+ - Purely one-off implementation detail → Maybe skip
285
+
286
+ 4. **Which area does it relate to?**
287
+ - [ ] Backend code
288
+ - [ ] Frontend code
289
+ - [ ] Cross-layer data flow
290
+ - [ ] Code organization/reuse
291
+ - [ ] Quality/testing
292
+
293
+ ---
294
+
295
+ ## Quality Checklist
296
+
297
+ Before finishing your code-spec update:
298
+
299
+ - [ ] Is the content specific and actionable?
300
+ - [ ] Did you include a code example?
301
+ - [ ] Did you explain WHY, not just WHAT?
302
+ - [ ] Did you include executable signatures/contracts?
303
+ - [ ] Did you include validation and error matrix?
304
+ - [ ] Did you include Good/Base/Bad cases?
305
+ - [ ] Did you include required tests with assertion points?
306
+ - [ ] Is it in the right code-spec file?
307
+ - [ ] Does it duplicate existing content?
308
+ - [ ] Would a new team member understand it?
309
+
310
+ ---
311
+
312
+ ## Relationship to Other Commands
313
+
314
+ ```
315
+ Development Flow:
316
+ Learn something → $update-spec → Knowledge captured
317
+ ↑ ↓
318
+ $break-loop ←──────────────────── Future sessions benefit
319
+ (deep bug analysis)
320
+ ```
321
+
322
+ - `$break-loop` - Analyzes bugs deeply, often reveals spec updates needed
323
+ - `$update-spec` - Actually makes the updates (this skill)
324
+ - `$finish-work` - Reminds you to check if specs need updates
325
+
326
+ ---
327
+
328
+ ## Core Philosophy
329
+
330
+ > **Code-specs are living documents. Every debugging session, every "aha moment" is an opportunity to make the implementation contract clearer.**
331
+
332
+ The goal is **institutional memory**:
333
+ - What one person learns, everyone benefits from
334
+ - What AI learns in one session, persists to future sessions
335
+ - Mistakes become documented guardrails
@@ -0,0 +1,13 @@
1
+ Read the backend development guidelines before starting your development task.
2
+
3
+ Execute these steps:
4
+ 1. Read `.trellis/spec/backend/index.md` to understand available guidelines
5
+ 2. Based on your task, read the relevant guideline files:
6
+ - Database work → `.trellis/spec/backend/database-guidelines.md`
7
+ - Error handling → `.trellis/spec/backend/error-handling.md`
8
+ - Logging → `.trellis/spec/backend/logging-guidelines.md`
9
+ - Type questions → `.trellis/spec/backend/type-safety.md`
10
+ 3. Understand the coding standards and patterns you need to follow
11
+ 4. Then proceed with your development plan
12
+
13
+ This step is **mandatory** before writing any backend code.
@@ -0,0 +1,13 @@
1
+ Read the frontend development guidelines before starting your development task.
2
+
3
+ Execute these steps:
4
+ 1. Read `.trellis/spec/frontend/index.md` to understand available guidelines
5
+ 2. Based on your task, read the relevant guideline files:
6
+ - Component work → `.trellis/spec/frontend/component-guidelines.md`
7
+ - Hook work → `.trellis/spec/frontend/hook-guidelines.md`
8
+ - State management → `.trellis/spec/frontend/state-management.md`
9
+ - Type questions → `.trellis/spec/frontend/type-safety.md`
10
+ 3. Understand the coding standards and patterns you need to follow
11
+ 4. Then proceed with your development plan
12
+
13
+ This step is **mandatory** before writing any frontend code.