@mindfoldhq/trellis 0.4.0 → 0.5.0-beta.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 (394) hide show
  1. package/dist/cli/index.js +0 -1
  2. package/dist/cli/index.js.map +1 -1
  3. package/dist/commands/init.d.ts +0 -1
  4. package/dist/commands/init.d.ts.map +1 -1
  5. package/dist/commands/init.js +2 -4
  6. package/dist/commands/init.js.map +1 -1
  7. package/dist/commands/update.d.ts +5 -0
  8. package/dist/commands/update.d.ts.map +1 -1
  9. package/dist/commands/update.js +83 -22
  10. package/dist/commands/update.js.map +1 -1
  11. package/dist/configurators/antigravity.d.ts +3 -4
  12. package/dist/configurators/antigravity.d.ts.map +1 -1
  13. package/dist/configurators/antigravity.js +17 -10
  14. package/dist/configurators/antigravity.js.map +1 -1
  15. package/dist/configurators/claude.d.ts +5 -28
  16. package/dist/configurators/claude.d.ts.map +1 -1
  17. package/dist/configurators/claude.js +30 -51
  18. package/dist/configurators/claude.js.map +1 -1
  19. package/dist/configurators/codebuddy.d.ts +6 -7
  20. package/dist/configurators/codebuddy.d.ts.map +1 -1
  21. package/dist/configurators/codebuddy.js +23 -51
  22. package/dist/configurators/codebuddy.js.map +1 -1
  23. package/dist/configurators/codex.d.ts +3 -6
  24. package/dist/configurators/codex.d.ts.map +1 -1
  25. package/dist/configurators/codex.js +29 -12
  26. package/dist/configurators/codex.js.map +1 -1
  27. package/dist/configurators/copilot.d.ts +6 -5
  28. package/dist/configurators/copilot.d.ts.map +1 -1
  29. package/dist/configurators/copilot.js +42 -13
  30. package/dist/configurators/copilot.js.map +1 -1
  31. package/dist/configurators/cursor.d.ts +6 -1
  32. package/dist/configurators/cursor.d.ts.map +1 -1
  33. package/dist/configurators/cursor.js +22 -45
  34. package/dist/configurators/cursor.js.map +1 -1
  35. package/dist/configurators/droid.d.ts +6 -1
  36. package/dist/configurators/droid.d.ts.map +1 -1
  37. package/dist/configurators/droid.js +23 -41
  38. package/dist/configurators/droid.js.map +1 -1
  39. package/dist/configurators/gemini.d.ts +8 -4
  40. package/dist/configurators/gemini.d.ts.map +1 -1
  41. package/dist/configurators/gemini.js +28 -47
  42. package/dist/configurators/gemini.js.map +1 -1
  43. package/dist/configurators/index.d.ts +1 -1
  44. package/dist/configurators/index.d.ts.map +1 -1
  45. package/dist/configurators/index.js +142 -98
  46. package/dist/configurators/index.js.map +1 -1
  47. package/dist/configurators/kilo.d.ts +3 -4
  48. package/dist/configurators/kilo.d.ts.map +1 -1
  49. package/dist/configurators/kilo.js +19 -46
  50. package/dist/configurators/kilo.js.map +1 -1
  51. package/dist/configurators/kiro.d.ts +4 -4
  52. package/dist/configurators/kiro.d.ts.map +1 -1
  53. package/dist/configurators/kiro.js +18 -14
  54. package/dist/configurators/kiro.js.map +1 -1
  55. package/dist/configurators/opencode.d.ts +3 -28
  56. package/dist/configurators/opencode.d.ts.map +1 -1
  57. package/dist/configurators/opencode.js +23 -48
  58. package/dist/configurators/opencode.js.map +1 -1
  59. package/dist/configurators/qoder.d.ts +6 -4
  60. package/dist/configurators/qoder.d.ts.map +1 -1
  61. package/dist/configurators/qoder.js +20 -47
  62. package/dist/configurators/qoder.js.map +1 -1
  63. package/dist/configurators/shared.d.ts +66 -3
  64. package/dist/configurators/shared.d.ts.map +1 -1
  65. package/dist/configurators/shared.js +251 -3
  66. package/dist/configurators/shared.js.map +1 -1
  67. package/dist/configurators/windsurf.d.ts +3 -4
  68. package/dist/configurators/windsurf.d.ts.map +1 -1
  69. package/dist/configurators/windsurf.js +17 -10
  70. package/dist/configurators/windsurf.js.map +1 -1
  71. package/dist/configurators/workflow.d.ts +0 -3
  72. package/dist/configurators/workflow.d.ts.map +1 -1
  73. package/dist/configurators/workflow.js +1 -7
  74. package/dist/configurators/workflow.js.map +1 -1
  75. package/dist/migrations/manifests/0.4.0.json +1 -1
  76. package/dist/migrations/manifests/0.5.0-beta.0.json +1644 -0
  77. package/dist/templates/claude/agents/check.md +2 -29
  78. package/dist/templates/claude/agents/research.md +70 -52
  79. package/dist/templates/claude/index.d.ts +5 -37
  80. package/dist/templates/claude/index.d.ts.map +1 -1
  81. package/dist/templates/claude/index.js +3 -42
  82. package/dist/templates/claude/index.js.map +1 -1
  83. package/dist/templates/claude/settings.json +3 -4
  84. package/dist/templates/{iflow → codebuddy}/agents/check.md +3 -30
  85. package/dist/templates/{iflow → codebuddy}/agents/implement.md +1 -1
  86. package/dist/templates/codebuddy/agents/research.md +138 -0
  87. package/dist/templates/codebuddy/index.d.ts +6 -16
  88. package/dist/templates/codebuddy/index.d.ts.map +1 -1
  89. package/dist/templates/codebuddy/index.js +6 -36
  90. package/dist/templates/codebuddy/index.js.map +1 -1
  91. package/dist/templates/codebuddy/settings.json +59 -0
  92. package/dist/templates/codex/agents/research.toml +50 -16
  93. package/dist/templates/codex/config.toml +10 -0
  94. package/dist/templates/codex/hooks/session-start.py +65 -29
  95. package/dist/templates/codex/hooks.json +11 -0
  96. package/dist/templates/codex/index.d.ts +0 -1
  97. package/dist/templates/codex/index.d.ts.map +1 -1
  98. package/dist/templates/codex/index.js +1 -8
  99. package/dist/templates/codex/index.js.map +1 -1
  100. package/dist/templates/common/commands/continue.md +51 -0
  101. package/dist/templates/common/commands/finish-work.md +32 -0
  102. package/dist/templates/common/commands/start.md +56 -0
  103. package/dist/templates/common/index.d.ts +28 -0
  104. package/dist/templates/common/index.d.ts.map +1 -0
  105. package/dist/templates/common/index.js +55 -0
  106. package/dist/templates/common/index.js.map +1 -0
  107. package/dist/templates/{codebuddy/commands/trellis → common/skills}/brainstorm.md +4 -4
  108. package/dist/templates/{opencode/commands/trellis → common/skills}/break-loop.md +4 -4
  109. package/dist/templates/common/skills/check.md +87 -0
  110. package/dist/templates/{codebuddy/commands/trellis → common/skills}/update-spec.md +18 -21
  111. package/dist/templates/copilot/hooks/session-start.py +65 -29
  112. package/dist/templates/copilot/hooks.json +8 -0
  113. package/dist/templates/cursor/agents/check.md +95 -0
  114. package/dist/templates/cursor/agents/implement.md +95 -0
  115. package/dist/templates/cursor/agents/research.md +138 -0
  116. package/dist/templates/cursor/hooks.json +24 -0
  117. package/dist/templates/cursor/index.d.ts +6 -17
  118. package/dist/templates/cursor/index.d.ts.map +1 -1
  119. package/dist/templates/cursor/index.js +6 -37
  120. package/dist/templates/cursor/index.js.map +1 -1
  121. package/dist/templates/droid/droids/check.md +95 -0
  122. package/dist/templates/droid/droids/implement.md +95 -0
  123. package/dist/templates/droid/droids/research.md +138 -0
  124. package/dist/templates/droid/index.d.ts +7 -19
  125. package/dist/templates/droid/index.d.ts.map +1 -1
  126. package/dist/templates/droid/index.js +7 -39
  127. package/dist/templates/droid/index.js.map +1 -1
  128. package/dist/templates/droid/settings.json +59 -0
  129. package/dist/templates/extract.d.ts +7 -193
  130. package/dist/templates/extract.d.ts.map +1 -1
  131. package/dist/templates/extract.js +7 -310
  132. package/dist/templates/extract.js.map +1 -1
  133. package/dist/templates/gemini/agents/check.md +95 -0
  134. package/dist/templates/gemini/agents/implement.md +95 -0
  135. package/dist/templates/gemini/agents/research.md +138 -0
  136. package/dist/templates/gemini/index.d.ts +6 -14
  137. package/dist/templates/gemini/index.d.ts.map +1 -1
  138. package/dist/templates/gemini/index.js +6 -37
  139. package/dist/templates/gemini/index.js.map +1 -1
  140. package/dist/templates/gemini/settings.json +28 -0
  141. package/dist/templates/kiro/agents/check.json +13 -0
  142. package/dist/templates/kiro/agents/implement.json +13 -0
  143. package/dist/templates/kiro/agents/research.json +21 -0
  144. package/dist/templates/kiro/index.d.ts +11 -11
  145. package/dist/templates/kiro/index.d.ts.map +1 -1
  146. package/dist/templates/kiro/index.js +11 -33
  147. package/dist/templates/kiro/index.js.map +1 -1
  148. package/dist/templates/opencode/agents/check.md +3 -30
  149. package/dist/templates/opencode/agents/implement.md +1 -1
  150. package/dist/templates/opencode/agents/research.md +1 -2
  151. package/dist/templates/opencode/plugins/inject-subagent-context.js +9 -183
  152. package/dist/templates/opencode/plugins/inject-workflow-state.js +160 -0
  153. package/dist/templates/opencode/plugins/session-start.js +71 -32
  154. package/dist/templates/qoder/agents/check.md +95 -0
  155. package/dist/templates/qoder/agents/implement.md +95 -0
  156. package/dist/templates/qoder/agents/research.md +138 -0
  157. package/dist/templates/qoder/index.d.ts +7 -10
  158. package/dist/templates/qoder/index.d.ts.map +1 -1
  159. package/dist/templates/qoder/index.js +7 -32
  160. package/dist/templates/qoder/index.js.map +1 -1
  161. package/dist/templates/qoder/settings.json +47 -0
  162. package/dist/templates/shared-hooks/index.d.ts +19 -0
  163. package/dist/templates/shared-hooks/index.d.ts.map +1 -0
  164. package/dist/templates/shared-hooks/index.js +30 -0
  165. package/dist/templates/shared-hooks/index.js.map +1 -0
  166. package/dist/templates/{iflow/hooks → shared-hooks}/inject-subagent-context.py +74 -263
  167. package/dist/templates/shared-hooks/inject-workflow-state.py +231 -0
  168. package/dist/templates/{claude/hooks → shared-hooks}/session-start.py +162 -55
  169. package/dist/templates/template-utils.d.ts +26 -0
  170. package/dist/templates/template-utils.d.ts.map +1 -0
  171. package/dist/templates/template-utils.js +60 -0
  172. package/dist/templates/template-utils.js.map +1 -0
  173. package/dist/templates/trellis/index.d.ts +1 -14
  174. package/dist/templates/trellis/index.d.ts.map +1 -1
  175. package/dist/templates/trellis/index.js +2 -27
  176. package/dist/templates/trellis/index.js.map +1 -1
  177. package/dist/templates/trellis/scripts/common/cli_adapter.py +2 -2
  178. package/dist/templates/trellis/scripts/common/config.py +126 -1
  179. package/dist/templates/trellis/scripts/common/git_context.py +25 -2
  180. package/dist/templates/trellis/scripts/common/task_context.py +3 -23
  181. package/dist/templates/trellis/scripts/common/task_store.py +0 -12
  182. package/dist/templates/trellis/scripts/common/workflow_phase.py +176 -0
  183. package/dist/templates/trellis/scripts/task.py +6 -35
  184. package/dist/templates/trellis/workflow.md +274 -297
  185. package/dist/types/ai-tools.d.ts +21 -3
  186. package/dist/types/ai-tools.d.ts.map +1 -1
  187. package/dist/types/ai-tools.js +106 -15
  188. package/dist/types/ai-tools.js.map +1 -1
  189. package/dist/types/migration.d.ts +8 -1
  190. package/dist/types/migration.d.ts.map +1 -1
  191. package/package.json +3 -2
  192. package/dist/configurators/iflow.d.ts +0 -33
  193. package/dist/configurators/iflow.d.ts.map +0 -1
  194. package/dist/configurators/iflow.js +0 -99
  195. package/dist/configurators/iflow.js.map +0 -1
  196. package/dist/templates/antigravity/index.d.ts +0 -12
  197. package/dist/templates/antigravity/index.d.ts.map +0 -1
  198. package/dist/templates/antigravity/index.js +0 -29
  199. package/dist/templates/antigravity/index.js.map +0 -1
  200. package/dist/templates/claude/agents/debug.md +0 -106
  201. package/dist/templates/claude/agents/dispatch.md +0 -213
  202. package/dist/templates/claude/agents/plan.md +0 -396
  203. package/dist/templates/claude/commands/trellis/brainstorm.md +0 -487
  204. package/dist/templates/claude/commands/trellis/break-loop.md +0 -125
  205. package/dist/templates/claude/commands/trellis/check-cross-layer.md +0 -153
  206. package/dist/templates/claude/commands/trellis/check.md +0 -25
  207. package/dist/templates/claude/commands/trellis/create-command.md +0 -154
  208. package/dist/templates/claude/commands/trellis/finish-work.md +0 -153
  209. package/dist/templates/claude/commands/trellis/integrate-skill.md +0 -219
  210. package/dist/templates/claude/commands/trellis/onboard.md +0 -358
  211. package/dist/templates/claude/commands/trellis/parallel.md +0 -192
  212. package/dist/templates/claude/commands/trellis/record-session.md +0 -62
  213. package/dist/templates/claude/commands/trellis/start.md +0 -393
  214. package/dist/templates/claude/commands/trellis/update-spec.md +0 -354
  215. package/dist/templates/claude/hooks/inject-subagent-context.py +0 -803
  216. package/dist/templates/claude/hooks/ralph-loop.py +0 -396
  217. package/dist/templates/codebuddy/commands/trellis/before-dev.md +0 -29
  218. package/dist/templates/codebuddy/commands/trellis/break-loop.md +0 -107
  219. package/dist/templates/codebuddy/commands/trellis/check-cross-layer.md +0 -153
  220. package/dist/templates/codebuddy/commands/trellis/check.md +0 -25
  221. package/dist/templates/codebuddy/commands/trellis/create-command.md +0 -154
  222. package/dist/templates/codebuddy/commands/trellis/finish-work.md +0 -143
  223. package/dist/templates/codebuddy/commands/trellis/integrate-skill.md +0 -219
  224. package/dist/templates/codebuddy/commands/trellis/onboard.md +0 -358
  225. package/dist/templates/codebuddy/commands/trellis/record-session.md +0 -61
  226. package/dist/templates/codebuddy/commands/trellis/start.md +0 -373
  227. package/dist/templates/codex/codex-skills/parallel/SKILL.md +0 -194
  228. package/dist/templates/cursor/commands/trellis-before-dev.md +0 -29
  229. package/dist/templates/cursor/commands/trellis-brainstorm.md +0 -487
  230. package/dist/templates/cursor/commands/trellis-break-loop.md +0 -107
  231. package/dist/templates/cursor/commands/trellis-check-cross-layer.md +0 -153
  232. package/dist/templates/cursor/commands/trellis-check.md +0 -25
  233. package/dist/templates/cursor/commands/trellis-create-command.md +0 -154
  234. package/dist/templates/cursor/commands/trellis-finish-work.md +0 -143
  235. package/dist/templates/cursor/commands/trellis-integrate-skill.md +0 -219
  236. package/dist/templates/cursor/commands/trellis-onboard.md +0 -358
  237. package/dist/templates/cursor/commands/trellis-record-session.md +0 -62
  238. package/dist/templates/cursor/commands/trellis-start.md +0 -373
  239. package/dist/templates/cursor/commands/trellis-update-spec.md +0 -354
  240. package/dist/templates/droid/commands/trellis/before-dev.md +0 -33
  241. package/dist/templates/droid/commands/trellis/brainstorm.md +0 -491
  242. package/dist/templates/droid/commands/trellis/break-loop.md +0 -111
  243. package/dist/templates/droid/commands/trellis/check-cross-layer.md +0 -157
  244. package/dist/templates/droid/commands/trellis/check.md +0 -29
  245. package/dist/templates/droid/commands/trellis/create-command.md +0 -158
  246. package/dist/templates/droid/commands/trellis/finish-work.md +0 -147
  247. package/dist/templates/droid/commands/trellis/integrate-skill.md +0 -223
  248. package/dist/templates/droid/commands/trellis/onboard.md +0 -362
  249. package/dist/templates/droid/commands/trellis/record-session.md +0 -66
  250. package/dist/templates/droid/commands/trellis/start.md +0 -377
  251. package/dist/templates/droid/commands/trellis/update-spec.md +0 -358
  252. package/dist/templates/gemini/commands/trellis/before-dev.toml +0 -33
  253. package/dist/templates/gemini/commands/trellis/brainstorm.toml +0 -435
  254. package/dist/templates/gemini/commands/trellis/break-loop.toml +0 -129
  255. package/dist/templates/gemini/commands/trellis/check-cross-layer.toml +0 -147
  256. package/dist/templates/gemini/commands/trellis/check.toml +0 -29
  257. package/dist/templates/gemini/commands/trellis/create-command.toml +0 -119
  258. package/dist/templates/gemini/commands/trellis/finish-work.toml +0 -133
  259. package/dist/templates/gemini/commands/trellis/integrate-skill.toml +0 -104
  260. package/dist/templates/gemini/commands/trellis/onboard.toml +0 -111
  261. package/dist/templates/gemini/commands/trellis/record-session.toml +0 -66
  262. package/dist/templates/gemini/commands/trellis/start.toml +0 -354
  263. package/dist/templates/gemini/commands/trellis/update-spec.toml +0 -132
  264. package/dist/templates/iflow/agents/debug.md +0 -106
  265. package/dist/templates/iflow/agents/dispatch.md +0 -213
  266. package/dist/templates/iflow/agents/plan.md +0 -396
  267. package/dist/templates/iflow/agents/research.md +0 -120
  268. package/dist/templates/iflow/commands/trellis/before-dev.md +0 -29
  269. package/dist/templates/iflow/commands/trellis/brainstorm.md +0 -487
  270. package/dist/templates/iflow/commands/trellis/break-loop.md +0 -125
  271. package/dist/templates/iflow/commands/trellis/check-cross-layer.md +0 -153
  272. package/dist/templates/iflow/commands/trellis/check.md +0 -25
  273. package/dist/templates/iflow/commands/trellis/create-command.md +0 -152
  274. package/dist/templates/iflow/commands/trellis/finish-work.md +0 -153
  275. package/dist/templates/iflow/commands/trellis/integrate-skill.md +0 -219
  276. package/dist/templates/iflow/commands/trellis/onboard.md +0 -358
  277. package/dist/templates/iflow/commands/trellis/parallel.md +0 -192
  278. package/dist/templates/iflow/commands/trellis/record-session.md +0 -62
  279. package/dist/templates/iflow/commands/trellis/start.md +0 -393
  280. package/dist/templates/iflow/commands/trellis/update-spec.md +0 -354
  281. package/dist/templates/iflow/hooks/ralph-loop.py +0 -395
  282. package/dist/templates/iflow/hooks/session-start.py +0 -403
  283. package/dist/templates/iflow/index.d.ts +0 -54
  284. package/dist/templates/iflow/index.d.ts.map +0 -1
  285. package/dist/templates/iflow/index.js +0 -85
  286. package/dist/templates/iflow/index.js.map +0 -1
  287. package/dist/templates/iflow/settings.json +0 -60
  288. package/dist/templates/kilo/index.d.ts +0 -16
  289. package/dist/templates/kilo/index.d.ts.map +0 -1
  290. package/dist/templates/kilo/index.js +0 -39
  291. package/dist/templates/kilo/index.js.map +0 -1
  292. package/dist/templates/kilo/workflows/before-dev.md +0 -29
  293. package/dist/templates/kilo/workflows/brainstorm.md +0 -487
  294. package/dist/templates/kilo/workflows/break-loop.md +0 -125
  295. package/dist/templates/kilo/workflows/check-cross-layer.md +0 -153
  296. package/dist/templates/kilo/workflows/check.md +0 -25
  297. package/dist/templates/kilo/workflows/create-command.md +0 -152
  298. package/dist/templates/kilo/workflows/finish-work.md +0 -129
  299. package/dist/templates/kilo/workflows/integrate-skill.md +0 -219
  300. package/dist/templates/kilo/workflows/onboard.md +0 -358
  301. package/dist/templates/kilo/workflows/parallel.md +0 -193
  302. package/dist/templates/kilo/workflows/record-session.md +0 -62
  303. package/dist/templates/kilo/workflows/start.md +0 -387
  304. package/dist/templates/kilo/workflows/update-spec.md +0 -285
  305. package/dist/templates/kiro/skills/before-dev/SKILL.md +0 -34
  306. package/dist/templates/kiro/skills/brainstorm/SKILL.md +0 -492
  307. package/dist/templates/kiro/skills/break-loop/SKILL.md +0 -130
  308. package/dist/templates/kiro/skills/check/SKILL.md +0 -30
  309. package/dist/templates/kiro/skills/check-cross-layer/SKILL.md +0 -158
  310. package/dist/templates/kiro/skills/create-command/SKILL.md +0 -101
  311. package/dist/templates/kiro/skills/finish-work/SKILL.md +0 -148
  312. package/dist/templates/kiro/skills/integrate-skill/SKILL.md +0 -221
  313. package/dist/templates/kiro/skills/onboard/SKILL.md +0 -363
  314. package/dist/templates/kiro/skills/record-session/SKILL.md +0 -67
  315. package/dist/templates/kiro/skills/start/SKILL.md +0 -351
  316. package/dist/templates/kiro/skills/update-spec/SKILL.md +0 -335
  317. package/dist/templates/opencode/agents/debug.md +0 -129
  318. package/dist/templates/opencode/agents/dispatch.md +0 -223
  319. package/dist/templates/opencode/agents/trellis-plan.md +0 -427
  320. package/dist/templates/opencode/commands/trellis/before-dev.md +0 -29
  321. package/dist/templates/opencode/commands/trellis/brainstorm.md +0 -487
  322. package/dist/templates/opencode/commands/trellis/check-cross-layer.md +0 -153
  323. package/dist/templates/opencode/commands/trellis/check.md +0 -25
  324. package/dist/templates/opencode/commands/trellis/create-command.md +0 -154
  325. package/dist/templates/opencode/commands/trellis/finish-work.md +0 -144
  326. package/dist/templates/opencode/commands/trellis/integrate-skill.md +0 -219
  327. package/dist/templates/opencode/commands/trellis/migrate-specs.md +0 -0
  328. package/dist/templates/opencode/commands/trellis/onboard.md +0 -358
  329. package/dist/templates/opencode/commands/trellis/parallel.md +0 -193
  330. package/dist/templates/opencode/commands/trellis/record-session.md +0 -62
  331. package/dist/templates/opencode/commands/trellis/start.md +0 -351
  332. package/dist/templates/opencode/commands/trellis/update-spec.md +0 -354
  333. package/dist/templates/qoder/skills/before-dev/SKILL.md +0 -34
  334. package/dist/templates/qoder/skills/brainstorm/SKILL.md +0 -492
  335. package/dist/templates/qoder/skills/break-loop/SKILL.md +0 -130
  336. package/dist/templates/qoder/skills/check/SKILL.md +0 -30
  337. package/dist/templates/qoder/skills/check-cross-layer/SKILL.md +0 -158
  338. package/dist/templates/qoder/skills/create-command/SKILL.md +0 -101
  339. package/dist/templates/qoder/skills/finish-work/SKILL.md +0 -134
  340. package/dist/templates/qoder/skills/integrate-skill/SKILL.md +0 -221
  341. package/dist/templates/qoder/skills/onboard/SKILL.md +0 -363
  342. package/dist/templates/qoder/skills/record-session/SKILL.md +0 -67
  343. package/dist/templates/qoder/skills/start/SKILL.md +0 -388
  344. package/dist/templates/qoder/skills/update-spec/SKILL.md +0 -290
  345. package/dist/templates/trellis/scripts/common/phase.py +0 -254
  346. package/dist/templates/trellis/scripts/common/registry.py +0 -335
  347. package/dist/templates/trellis/scripts/common/worktree.py +0 -305
  348. package/dist/templates/trellis/scripts/multi_agent/__init__.py +0 -5
  349. package/dist/templates/trellis/scripts/multi_agent/_bootstrap.py +0 -17
  350. package/dist/templates/trellis/scripts/multi_agent/cleanup.py +0 -398
  351. package/dist/templates/trellis/scripts/multi_agent/create_pr.py +0 -620
  352. package/dist/templates/trellis/scripts/multi_agent/plan.py +0 -213
  353. package/dist/templates/trellis/scripts/multi_agent/start.py +0 -539
  354. package/dist/templates/trellis/scripts/multi_agent/status.py +0 -76
  355. package/dist/templates/trellis/scripts/multi_agent/status_display.py +0 -542
  356. package/dist/templates/trellis/scripts/multi_agent/status_monitor.py +0 -225
  357. package/dist/templates/trellis/scripts-shell-archive/add-session.sh +0 -384
  358. package/dist/templates/trellis/scripts-shell-archive/common/developer.sh +0 -129
  359. package/dist/templates/trellis/scripts-shell-archive/common/git-context.sh +0 -263
  360. package/dist/templates/trellis/scripts-shell-archive/common/paths.sh +0 -208
  361. package/dist/templates/trellis/scripts-shell-archive/common/phase.sh +0 -150
  362. package/dist/templates/trellis/scripts-shell-archive/common/registry.sh +0 -247
  363. package/dist/templates/trellis/scripts-shell-archive/common/task-queue.sh +0 -142
  364. package/dist/templates/trellis/scripts-shell-archive/common/task-utils.sh +0 -151
  365. package/dist/templates/trellis/scripts-shell-archive/common/worktree.sh +0 -128
  366. package/dist/templates/trellis/scripts-shell-archive/create-bootstrap.sh +0 -299
  367. package/dist/templates/trellis/scripts-shell-archive/get-context.sh +0 -7
  368. package/dist/templates/trellis/scripts-shell-archive/get-developer.sh +0 -15
  369. package/dist/templates/trellis/scripts-shell-archive/init-developer.sh +0 -34
  370. package/dist/templates/trellis/scripts-shell-archive/multi-agent/cleanup.sh +0 -396
  371. package/dist/templates/trellis/scripts-shell-archive/multi-agent/create-pr.sh +0 -241
  372. package/dist/templates/trellis/scripts-shell-archive/multi-agent/plan.sh +0 -207
  373. package/dist/templates/trellis/scripts-shell-archive/multi-agent/start.sh +0 -317
  374. package/dist/templates/trellis/scripts-shell-archive/multi-agent/status.sh +0 -828
  375. package/dist/templates/trellis/scripts-shell-archive/task.sh +0 -1204
  376. package/dist/templates/trellis/worktree.yaml +0 -47
  377. package/dist/templates/windsurf/index.d.ts +0 -21
  378. package/dist/templates/windsurf/index.d.ts.map +0 -1
  379. package/dist/templates/windsurf/index.js +0 -44
  380. package/dist/templates/windsurf/index.js.map +0 -1
  381. package/dist/templates/windsurf/workflows/trellis-before-dev.md +0 -31
  382. package/dist/templates/windsurf/workflows/trellis-brainstorm.md +0 -491
  383. package/dist/templates/windsurf/workflows/trellis-break-loop.md +0 -111
  384. package/dist/templates/windsurf/workflows/trellis-check-cross-layer.md +0 -157
  385. package/dist/templates/windsurf/workflows/trellis-check.md +0 -27
  386. package/dist/templates/windsurf/workflows/trellis-create-command.md +0 -154
  387. package/dist/templates/windsurf/workflows/trellis-finish-work.md +0 -147
  388. package/dist/templates/windsurf/workflows/trellis-integrate-skill.md +0 -220
  389. package/dist/templates/windsurf/workflows/trellis-onboard.md +0 -362
  390. package/dist/templates/windsurf/workflows/trellis-record-session.md +0 -66
  391. package/dist/templates/windsurf/workflows/trellis-start.md +0 -373
  392. package/dist/templates/windsurf/workflows/trellis-update-spec.md +0 -358
  393. /package/dist/templates/{claude/commands/trellis → common/skills}/before-dev.md +0 -0
  394. /package/dist/templates/{claude/hooks → shared-hooks}/statusline.py +0 -0
@@ -1,354 +0,0 @@
1
- description = "Initialize your AI development session and begin working on tasks"
2
-
3
- prompt = """
4
- # Start Session
5
-
6
- Initialize your AI development session and begin working on tasks.
7
-
8
- ---
9
-
10
- ## Operation Types
11
-
12
- | Marker | Meaning | Executor |
13
- |--------|---------|----------|
14
- | `[AI]` | Bash scripts or Task calls executed by AI | You (AI) |
15
- | `[USER]` | Slash commands executed by user | User |
16
-
17
- ---
18
-
19
- ## Initialization `[AI]`
20
-
21
- ### Step 1: Understand Development Workflow
22
-
23
- First, read the workflow guide to understand the development process:
24
-
25
- ```bash
26
- cat .trellis/workflow.md
27
- ```
28
-
29
- **Follow the instructions in workflow.md** - it contains:
30
- - Core principles (Read Before Write, Follow Standards, etc.)
31
- - File system structure
32
- - Development process
33
- - Best practices
34
-
35
- ### Step 2: Get Current Context
36
-
37
- ```bash
38
- python3 ./.trellis/scripts/get_context.py
39
- ```
40
-
41
- This shows: developer identity, git status, current task (if any), active tasks.
42
-
43
- ### Step 3: Read Guidelines Index
44
-
45
- ```bash
46
- python3 ./.trellis/scripts/get_context.py --mode packages
47
- ```
48
-
49
- This shows available packages and their spec layers. Read the relevant spec indexes:
50
-
51
- ```bash
52
- cat .trellis/spec/<package>/<layer>/index.md # Package-specific guidelines
53
- cat .trellis/spec/guides/index.md # Thinking guides (always read)
54
- ```
55
-
56
- > **Important**: The index files are navigation -- they list the actual guideline files (e.g., `error-handling.md`, `conventions.md`, `mock-strategies.md`).
57
- > At this step, just read the indexes to understand what's available.
58
- > When you start actual development, you MUST go back and read the specific guideline files relevant to your task, as listed in the index's Pre-Development Checklist.
59
-
60
- ### Step 4: Report and Ask
61
-
62
- Report what you learned and ask: "What would you like to work on?"
63
-
64
- ---
65
-
66
- ## Task Classification
67
-
68
- When user describes a task, classify it:
69
-
70
- | Type | Criteria | Workflow |
71
- |------|----------|----------|
72
- | **Question** | User asks about code, architecture, or how something works | Answer directly |
73
- | **Trivial Fix** | Typo fix, comment update, single-line change | Direct Edit |
74
- | **Simple Task** | Clear goal, 1-2 files, well-defined scope | Quick confirm → Implement |
75
- | **Complex Task** | Vague goal, multiple files, architectural decisions | **Brainstorm → Task Workflow** |
76
-
77
- ### Classification Signals
78
-
79
- **Trivial/Simple indicators:**
80
- - User specifies exact file and change
81
- - "Fix the typo in X"
82
- - "Add field Y to component Z"
83
- - Clear acceptance criteria already stated
84
-
85
- **Complex indicators:**
86
- - "I want to add a feature for..."
87
- - "Can you help me improve..."
88
- - Mentions multiple areas or systems
89
- - No clear implementation path
90
- - User seems unsure about approach
91
-
92
- ### Decision Rule
93
-
94
- > **If in doubt, use Brainstorm + Task Workflow.**
95
- >
96
- > Task Workflow ensures specs are injected to agents, resulting in higher quality code.
97
- > The overhead is minimal, but the benefit is significant.
98
-
99
- ---
100
-
101
- ## Question / Trivial Fix
102
-
103
- For questions or trivial fixes, work directly:
104
-
105
- 1. Answer question or make the fix
106
- 2. If code was changed, remind user to run `/trellis:finish-work`
107
-
108
- ---
109
-
110
- ## Simple Task
111
-
112
- For simple, well-defined tasks:
113
-
114
- 1. Quick confirm: "I understand you want to [goal]. Shall I proceed?"
115
- 2. If no, clarify and confirm again
116
- 3. **If yes: execute ALL steps below without stopping. Do NOT ask for additional confirmation between steps.**
117
- - Create task directory (Phase 1 Path B, Step 2)
118
- - Write PRD (Step 3)
119
- - Research codebase (Phase 2, Step 5)
120
- - Configure context (Step 6)
121
- - Activate task (Step 7)
122
- - Implement (Phase 3, Step 8)
123
- - Check quality (Step 9)
124
- - Complete (Step 10)
125
-
126
- ---
127
-
128
- ## Complex Task - Brainstorm First
129
-
130
- For complex or vague tasks, **automatically start the brainstorm process** — do NOT skip directly to implementation.
131
-
132
- See `/trellis:brainstorm` for the full process. Summary:
133
-
134
- 1. **Acknowledge and classify** - State your understanding
135
- 2. **Create task directory** - Track evolving requirements in `prd.md`
136
- 3. **Ask questions one at a time** - Update PRD after each answer
137
- 4. **Propose approaches** - For architectural decisions
138
- 5. **Confirm final requirements** - Get explicit approval
139
- 6. **Proceed to Task Workflow** - With clear requirements in PRD
140
-
141
- > **Subtask Decomposition**: If brainstorm reveals multiple independent work items,
142
- > consider creating subtasks using `--parent` flag or `add-subtask` command.
143
- > See `/trellis:brainstorm` Step 8 for details.
144
-
145
- ---
146
-
147
- ## Task Workflow (Development Tasks)
148
-
149
- **Why this workflow?**
150
- - Research Agent analyzes what specs are needed
151
- - Specs are configured in jsonl files
152
- - Implement Agent receives specs via Hook injection
153
- - Check Agent verifies against specs
154
- - Result: Code that follows project conventions automatically
155
-
156
- ### Overview: Two Entry Points
157
-
158
- ```
159
- From Brainstorm (Complex Task):
160
- PRD confirmed -> Research -> Configure Context -> Activate -> Implement -> Check -> Complete
161
-
162
- From Simple Task:
163
- Confirm -> Create Task -> Write PRD -> Research -> Configure Context -> Activate -> Implement -> Check -> Complete
164
- ```
165
-
166
- **Key principle: Research happens AFTER requirements are clear (PRD exists).**
167
-
168
- ---
169
-
170
- ### Phase 1: Establish Requirements
171
-
172
- #### Path A: From Brainstorm (skip to Phase 2)
173
-
174
- PRD and task directory already exist from brainstorm. Skip directly to Phase 2.
175
-
176
- #### Path B: From Simple Task
177
-
178
- **Step 1: Confirm Understanding** `[AI]`
179
-
180
- Quick confirm:
181
- - What is the goal?
182
- - What type of development? (frontend / backend / fullstack)
183
- - Any specific requirements or constraints?
184
-
185
- **Step 2: Create Task Directory** `[AI]`
186
-
187
- ```bash
188
- TASK_DIR=$(python3 ./.trellis/scripts/task.py create "<title>" --slug <name>)
189
- ```
190
-
191
- **Step 3: Write PRD** `[AI]`
192
-
193
- Create `prd.md` in the task directory with:
194
-
195
- ```markdown
196
- # <Task Title>
197
-
198
- ## Goal
199
- <What we're trying to achieve>
200
-
201
- ## Requirements
202
- - <Requirement 1>
203
- - <Requirement 2>
204
-
205
- ## Acceptance Criteria
206
- - [ ] <Criterion 1>
207
- - [ ] <Criterion 2>
208
-
209
- ## Technical Notes
210
- <Any technical decisions or constraints>
211
- ```
212
-
213
- ---
214
-
215
- ### Phase 2: Prepare for Implementation (shared)
216
-
217
- > Both paths converge here. PRD and task directory must exist before proceeding.
218
-
219
- **Step 4: Code-Spec Depth Check** `[AI]`
220
-
221
- If the task touches infra or cross-layer contracts, do not start implementation until code-spec depth is defined.
222
-
223
- Trigger this requirement when the change includes any of:
224
- - New or changed command/API signatures
225
- - Database schema or migration changes
226
- - Infra integrations (storage, queue, cache, secrets, env contracts)
227
- - Cross-layer payload transformations
228
-
229
- Must-have before proceeding:
230
- - [ ] Target spec files to update are identified
231
- - [ ] Concrete contract is defined (signature, fields, env keys)
232
- - [ ] Validation and error matrix is defined
233
- - [ ] At least one Good/Base/Bad case is defined
234
-
235
- **Step 5: Research the Codebase** `[AI]`
236
-
237
- Based on the confirmed PRD, run a focused research pass and produce:
238
-
239
- 1. Relevant spec files in `.trellis/spec/`
240
- 2. Existing code patterns to follow (2-3 examples)
241
- 3. Files that will likely need modification
242
-
243
- Use this output format:
244
-
245
- ```markdown
246
- ## Relevant Specs
247
- - <path>: <why it's relevant>
248
-
249
- ## Code Patterns Found
250
- - <pattern>: <example file path>
251
-
252
- ## Files to Modify
253
- - <path>: <what change>
254
- ```
255
-
256
- **Step 6: Configure Context** `[AI]`
257
-
258
- Initialize default context:
259
-
260
- ```bash
261
- python3 ./.trellis/scripts/task.py init-context "$TASK_DIR" <type>
262
- # type: backend | frontend | fullstack
263
- ```
264
-
265
- Add specs found in your research pass:
266
-
267
- ```bash
268
- # For each relevant spec and code pattern:
269
- python3 ./.trellis/scripts/task.py add-context "$TASK_DIR" implement "<path>" "<reason>"
270
- python3 ./.trellis/scripts/task.py add-context "$TASK_DIR" check "<path>" "<reason>"
271
- ```
272
-
273
- **Step 7: Activate Task** `[AI]`
274
-
275
- ```bash
276
- python3 ./.trellis/scripts/task.py start "$TASK_DIR"
277
- ```
278
-
279
- This sets `.current-task` so hooks can inject context.
280
-
281
- ---
282
-
283
- ### Phase 3: Execute (shared)
284
-
285
- **Step 8: Implement** `[AI]`
286
-
287
- Implement the task described in `prd.md`.
288
-
289
- - Follow all specs injected into implement context
290
- - Keep changes scoped to requirements
291
- - Run lint and typecheck before finishing
292
-
293
- **Step 9: Check Quality** `[AI]`
294
-
295
- Run a quality pass against check context:
296
-
297
- - Review all code changes against the specs
298
- - Fix issues directly
299
- - Ensure lint and typecheck pass
300
-
301
- **Step 10: Complete** `[AI]`
302
-
303
- 1. Verify lint and typecheck pass
304
- 2. Report what was implemented
305
- 3. Remind user to:
306
- - Test the changes
307
- - Commit when ready
308
- - Run `/trellis:record-session` to record this session
309
-
310
- ---
311
-
312
- ## Continuing Existing Task
313
-
314
- If `get_context.py` shows a current task:
315
-
316
- 1. Read the task's `prd.md` to understand the goal
317
- 2. Check `task.json` for current status and phase
318
- 3. Ask user: "Continue working on <task-name>?"
319
-
320
- If yes, resume from the appropriate step (usually Step 7 or 8).
321
-
322
- ---
323
-
324
- ## Commands Reference
325
-
326
- ### User Commands `[USER]`
327
-
328
- | Command | When to Use |
329
- |---------|-------------|
330
- | `/trellis:start` | Begin a session (this command) |
331
- | `/trellis:finish-work` | Before committing changes |
332
- | `/trellis:record-session` | After completing a task |
333
-
334
- ### AI Scripts `[AI]`
335
-
336
- | Script | Purpose |
337
- |--------|---------|
338
- | `python3 ./.trellis/scripts/get_context.py` | Get session context |
339
- | `python3 ./.trellis/scripts/task.py create` | Create task directory |
340
- | `python3 ./.trellis/scripts/task.py init-context` | Initialize jsonl files |
341
- | `python3 ./.trellis/scripts/task.py add-context` | Add spec to jsonl |
342
- | `python3 ./.trellis/scripts/task.py start` | Set current task |
343
- | `python3 ./.trellis/scripts/task.py finish` | Clear current task |
344
- | `python3 ./.trellis/scripts/task.py archive` | Archive completed task |
345
-
346
- ---
347
-
348
- ## Key Principle
349
-
350
- > **Specs are injected, not remembered.**
351
- >
352
- > The Task Workflow ensures agents receive relevant specs automatically.
353
- > This is more reliable than hoping the AI "remembers" conventions.
354
- """
@@ -1,132 +0,0 @@
1
- description = "Capture knowledge into spec documents after learning something valuable"
2
-
3
- prompt = """
4
- # Update Spec - Capture Knowledge into Specifications
5
-
6
- When you learn something valuable (from debugging, implementing, or discussion), use this command to update the relevant spec documents.
7
-
8
- **Timing**: After completing a task, fixing a bug, or discovering a new pattern
9
-
10
- ---
11
-
12
- ## When to Update Specs
13
-
14
- | Trigger | Example | Target Spec |
15
- |---------|---------|-------------|
16
- | **Implemented a feature** | Added template download with giget | Relevant `backend/` or `frontend/` file |
17
- | **Made a design decision** | Used type field + mapping table for extensibility | Relevant spec + "Design Decisions" section |
18
- | **Fixed a bug** | Found a subtle issue with error handling | `backend/error-handling.md` |
19
- | **Discovered a pattern** | Found a better way to structure code | Relevant `backend/` or `frontend/` file |
20
- | **Hit a gotcha** | Learned that X must be done before Y | Relevant spec + "Common Mistakes" section |
21
- | **Established a convention** | Team agreed on naming pattern | `quality-guidelines.md` |
22
- | **New thinking trigger** | "Don't forget to check X before doing Y" | `guides/*.md` (as a checklist item, not detailed rules) |
23
-
24
- ---
25
-
26
- ## Spec Structure Overview
27
-
28
- ```
29
- .trellis/spec/
30
- +-- backend/ # Backend coding standards
31
- | +-- index.md # Overview and links
32
- | +-- *.md # Topic-specific guidelines
33
- +-- frontend/ # Frontend coding standards
34
- | +-- index.md # Overview and links
35
- | +-- *.md # Topic-specific guidelines
36
- +-- guides/ # Thinking checklists (NOT coding specs!)
37
- +-- index.md # Guide index
38
- +-- *.md # Topic-specific guides
39
- ```
40
-
41
- ### CRITICAL: Spec vs Guide - Know the Difference
42
-
43
- | Type | Location | Purpose | Content Style |
44
- |------|----------|---------|---------------|
45
- | **Spec** | `backend/*.md`, `frontend/*.md` | Tell AI "how to write code" | Detailed rules, code examples, forbidden patterns |
46
- | **Guide** | `guides/*.md` | Help AI "what to think about" | Checklists, questions, pointers to specs |
47
-
48
- **Decision Rule**: Ask yourself:
49
-
50
- - "This is **how to write** the code" -> Put in `backend/` or `frontend/`
51
- - "This is **what to consider** before writing" -> Put in `guides/`
52
-
53
- ---
54
-
55
- ## Update Process
56
-
57
- ### Step 1: Identify What You Learned
58
-
59
- Answer these questions:
60
-
61
- 1. **What did you learn?** (Be specific)
62
- 2. **Why is it important?** (What problem does it prevent?)
63
- 3. **Where does it belong?** (Which spec file?)
64
-
65
- ### Step 2: Classify the Update Type
66
-
67
- | Type | Description | Action |
68
- |------|-------------|--------|
69
- | **Design Decision** | Why we chose approach X over Y | Add to "Design Decisions" section |
70
- | **Project Convention** | How we do X in this project | Add to relevant section with examples |
71
- | **New Pattern** | A reusable approach discovered | Add to "Patterns" section |
72
- | **Forbidden Pattern** | Something that causes problems | Add to "Anti-patterns" or "Don't" section |
73
- | **Common Mistake** | Easy-to-make error | Add to "Common Mistakes" section |
74
- | **Convention** | Agreed-upon standard | Add to relevant section |
75
- | **Gotcha** | Non-obvious behavior | Add warning callout |
76
-
77
- ### Step 3: Read the Target Spec
78
-
79
- Before editing, read the current spec to:
80
- - Understand existing structure
81
- - Avoid duplicating content
82
- - Find the right section for your update
83
-
84
- ```bash
85
- cat .trellis/spec/<category>/<file>.md
86
- ```
87
-
88
- ### Step 4: Make the Update
89
-
90
- Follow these principles:
91
-
92
- 1. **Be Specific**: Include concrete examples, not just abstract rules
93
- 2. **Explain Why**: State the problem this prevents
94
- 3. **Show Code**: Add code snippets for patterns
95
- 4. **Keep it Short**: One concept per section
96
-
97
- ### Step 5: Update the Index (if needed)
98
-
99
- If you added a new section or the spec status changed, update the category's `index.md`.
100
-
101
- ---
102
-
103
- ## Quality Checklist
104
-
105
- Before finishing your spec update:
106
-
107
- - [ ] Is the content specific and actionable?
108
- - [ ] Did you include a code example?
109
- - [ ] Did you explain WHY, not just WHAT?
110
- - [ ] Is it in the right spec file?
111
- - [ ] Does it duplicate existing content?
112
- - [ ] Would a new team member understand it?
113
-
114
- ---
115
-
116
- ## Relationship to Other Commands
117
-
118
- - `/trellis:break-loop` - Analyzes bugs deeply, often reveals spec updates needed
119
- - `/trellis:update-spec` - Actually makes the updates (this command)
120
- - `/trellis:finish-work` - Reminds you to check if specs need updates
121
-
122
- ---
123
-
124
- ## Core Philosophy
125
-
126
- > **Specs are living documents. Every debugging session, every "aha moment" is an opportunity to make the spec better.**
127
-
128
- The goal is **institutional memory**:
129
- - What one person learns, everyone benefits from
130
- - What AI learns in one session, persists to future sessions
131
- - Mistakes become documented guardrails
132
- """
@@ -1,106 +0,0 @@
1
- ---
2
- name: debug
3
- description: |
4
- Issue fixing expert. Understands issues, fixes against specs, and verifies fixes. Precise fixes only.
5
- tools: Read, Write, Edit, Bash, Glob, Grep, mcp__exa__web_search_exa, mcp__exa__get_code_context_exa
6
- color: red
7
- ---
8
- # Debug Agent
9
-
10
- You are the Debug Agent in the Trellis workflow.
11
-
12
- ## Context
13
-
14
- Before debugging, read:
15
- - `.trellis/spec/` - Development guidelines
16
- - Error messages or issue descriptions provided
17
-
18
- ## Core Responsibilities
19
-
20
- 1. **Understand issues** - Analyze error messages or reported issues
21
- 2. **Fix against specs** - Fix issues following dev specs
22
- 3. **Verify fixes** - Run typecheck to ensure no new issues
23
- 4. **Report results** - Report fix status
24
-
25
- ---
26
-
27
- ## Workflow
28
-
29
- ### Step 1: Understand Issues
30
-
31
- Parse the issue, categorize by priority:
32
-
33
- - `[P1]` - Must fix (blocking)
34
- - `[P2]` - Should fix (important)
35
- - `[P3]` - Optional fix (nice to have)
36
-
37
- ### Step 2: Research if Needed
38
-
39
- If you need additional info:
40
-
41
- ```bash
42
- # Check knowledge base
43
- ls .trellis/big-question/
44
- ```
45
-
46
- ### Step 3: Fix One by One
47
-
48
- For each issue:
49
-
50
- 1. Locate the exact position
51
- 2. Fix following specs
52
- 3. Run typecheck to verify
53
-
54
- ### Step 4: Verify
55
-
56
- Run project's lint and typecheck commands to verify fixes.
57
-
58
- If fix introduces new issues:
59
-
60
- 1. Revert the fix
61
- 2. Use a more complete solution
62
- 3. Re-verify
63
-
64
- ---
65
-
66
- ## Report Format
67
-
68
- ```markdown
69
- ## Fix Report
70
-
71
- ### Issues Fixed
72
-
73
- 1. `[P1]` `<file>:<line>` - <what was fixed>
74
- 2. `[P2]` `<file>:<line>` - <what was fixed>
75
-
76
- ### Issues Not Fixed
77
-
78
- - `<file>:<line>` - <reason why not fixed>
79
-
80
- ### Verification
81
-
82
- - TypeCheck: Pass
83
- - Lint: Pass
84
-
85
- ### Summary
86
-
87
- Fixed X/Y issues. Z issues require discussion.
88
- ```
89
-
90
- ---
91
-
92
- ## Guidelines
93
-
94
- ### DO
95
-
96
- - Precise fixes for reported issues
97
- - Follow specs
98
- - Verify each fix
99
-
100
- ### DON'T
101
-
102
- - Don't refactor surrounding code
103
- - Don't add new features
104
- - Don't modify unrelated files
105
- - Don't use non-null assertion (`x!` operator)
106
- - Don't execute git commit