@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,29 +0,0 @@
1
- description = "Check if the code you just wrote follows the development guidelines"
2
-
3
- prompt = """
4
- Check if the code you just wrote follows the development guidelines.
5
-
6
- Execute these steps:
7
-
8
- 1. **Identify changed files**:
9
- ```bash
10
- git diff --name-only HEAD
11
- ```
12
-
13
- 2. **Determine which spec modules apply** based on the changed file paths:
14
- ```bash
15
- python3 ./.trellis/scripts/get_context.py --mode packages
16
- ```
17
-
18
- 3. **Read the spec index** for each relevant module:
19
- ```bash
20
- cat .trellis/spec/<package>/<layer>/index.md
21
- ```
22
- Follow the **"Quality Check"** section in the index.
23
-
24
- 4. **Read the specific guideline files** referenced in the Quality Check section (e.g., `quality-guidelines.md`, `conventions.md`). The index is NOT the goal -> it points you to the actual guideline files. Read those files and review your code against them.
25
-
26
- 5. **Run lint and typecheck** for the affected package.
27
-
28
- 6. **Report any violations** and fix them if found.
29
- """
@@ -1,119 +0,0 @@
1
- description = "Create a new slash command in the Gemini CLI commands directory"
2
-
3
- prompt = """
4
- # Create New Slash Command
5
-
6
- Create a new slash command in `.gemini/commands/trellis/` directory based on user requirements.
7
-
8
- ## Usage
9
-
10
- ```
11
- /trellis:create-command <command-name> <description>
12
- ```
13
-
14
- **Example**:
15
- ```
16
- /trellis:create-command review-pr Check PR code changes against project guidelines
17
- ```
18
-
19
- ## Execution Steps
20
-
21
- ### 1. Parse Input
22
-
23
- Extract from user input:
24
- - **Command name**: Use kebab-case (e.g., `review-pr`)
25
- - **Description**: What the command should accomplish
26
-
27
- ### 2. Analyze Requirements
28
-
29
- Determine command type based on description:
30
- - **Initialization**: Read docs, establish context
31
- - **Pre-development**: Read guidelines, check dependencies
32
- - **Code check**: Validate code quality and guideline compliance
33
- - **Recording**: Record progress, questions, structure changes
34
- - **Generation**: Generate docs, code templates
35
-
36
- ### 3. Generate Command Content
37
-
38
- Based on command type, generate appropriate TOML content:
39
-
40
- **Simple command**:
41
- ```toml
42
- description = "Short description"
43
-
44
- prompt = \"\"\"
45
- Concise instruction describing what to do
46
- \"\"\"
47
- ```
48
-
49
- **Complex command** (with steps):
50
- ```toml
51
- description = "Short description"
52
-
53
- prompt = \"\"\"
54
- # Command Title
55
-
56
- Command description
57
-
58
- ## Steps
59
-
60
- ### 1. First Step
61
- Specific action
62
-
63
- ### 2. Second Step
64
- Specific action
65
-
66
- ## Output Format (if needed)
67
-
68
- Template
69
- \"\"\"
70
- ```
71
-
72
- ### 4. Create File
73
-
74
- Create the TOML file:
75
- - `.gemini/commands/trellis/<command-name>.toml`
76
-
77
- ### 5. Confirm Creation
78
-
79
- Output result:
80
- ```
81
- [OK] Created Slash Command: /trellis:<command-name>
82
-
83
- File path:
84
- - .gemini/commands/trellis/<command-name>.toml
85
-
86
- Usage:
87
- /trellis:<command-name>
88
-
89
- Description:
90
- <description>
91
- ```
92
-
93
- ## Command Content Guidelines
94
-
95
- ### [OK] Good command content
96
-
97
- 1. **Clear and concise**: Immediately understandable
98
- 2. **Executable**: AI can follow steps directly
99
- 3. **Well-scoped**: Clear boundaries of what to do and not do
100
- 4. **Has output**: Specifies expected output format (if needed)
101
-
102
- ### [X] Avoid
103
-
104
- 1. **Too vague**: e.g., "optimize code"
105
- 2. **Too complex**: Single command should not exceed 100 lines
106
- 3. **Duplicate functionality**: Check if similar command exists first
107
-
108
- ## Naming Conventions
109
-
110
- | Command Type | Prefix | Example |
111
- |--------------|--------|---------|
112
- | Session Start | `start` | `start` |
113
- | Pre-development | `before-` | `before-dev` |
114
- | Check | `check-` | `check` |
115
- | Record | `record-` | `record-session` |
116
- | Generate | `generate-` | `generate-api-doc` |
117
- | Update | `update-` | `update-changelog` |
118
- | Other | Verb-first | `review-code`, `sync-data` |
119
- """
@@ -1,133 +0,0 @@
1
- description = "Pre-commit checklist to ensure work completeness before submitting"
2
-
3
- prompt = """
4
- # Finish Work - Pre-Commit Checklist
5
-
6
- Before submitting or committing, use this checklist to ensure work completeness.
7
-
8
- **Timing**: After code is written and tested, before commit
9
-
10
- ---
11
-
12
- ## Checklist
13
-
14
- ### 1. Code Quality
15
-
16
- ```bash
17
- # Must pass
18
- pnpm lint
19
- pnpm type-check
20
- pnpm test
21
- ```
22
-
23
- - [ ] `pnpm lint` passes with 0 errors?
24
- - [ ] `pnpm type-check` passes with no type errors?
25
- - [ ] Tests pass?
26
- - [ ] No `console.log` statements (use logger)?
27
- - [ ] No non-null assertions (the `x!` operator)?
28
- - [ ] No `any` types?
29
-
30
- ### 2. Documentation Sync
31
-
32
- **Structure Docs**:
33
- - [ ] Does `.trellis/spec/backend/` need updates?
34
- - New patterns, new modules, new conventions
35
- - [ ] Does `.trellis/spec/frontend/` need updates?
36
- - New components, new hooks, new patterns
37
- - [ ] Does `.trellis/spec/guides/` need updates?
38
- - New cross-layer flows, lessons from bugs
39
-
40
- **Key Question**:
41
- > "If I fixed a bug or discovered something non-obvious, should I document it so future me (or others) won't hit the same issue?"
42
-
43
- If YES -> Update the relevant spec doc.
44
-
45
- ### 3. API Changes
46
-
47
- If you modified API endpoints:
48
-
49
- - [ ] Input schema updated?
50
- - [ ] Output schema updated?
51
- - [ ] API documentation updated?
52
- - [ ] Client code updated to match?
53
-
54
- ### 4. Database Changes
55
-
56
- If you modified database schema:
57
-
58
- - [ ] Migration file created?
59
- - [ ] Schema file updated?
60
- - [ ] Related queries updated?
61
- - [ ] Seed data updated (if applicable)?
62
-
63
- ### 5. Cross-Layer Verification
64
-
65
- If the change spans multiple layers:
66
-
67
- - [ ] Data flows correctly through all layers?
68
- - [ ] Error handling works at each boundary?
69
- - [ ] Types are consistent across layers?
70
- - [ ] Loading states handled?
71
-
72
- ### 6. Manual Testing
73
-
74
- - [ ] Feature works in browser/app?
75
- - [ ] Edge cases tested?
76
- - [ ] Error states tested?
77
- - [ ] Works after page refresh?
78
-
79
- ---
80
-
81
- ## Quick Check Flow
82
-
83
- ```bash
84
- # 1. Code checks
85
- pnpm lint && pnpm type-check
86
-
87
- # 2. View changes
88
- git status
89
- git diff --name-only
90
-
91
- # 3. Based on changed files, check relevant items above
92
- ```
93
-
94
- ---
95
-
96
- ## Common Oversights
97
-
98
- | Oversight | Consequence | Check |
99
- |-----------|-------------|-------|
100
- | Structure docs not updated | Others don't know the change | Check .trellis/spec/ |
101
- | Migration not created | Schema out of sync | Check db/migrations/ |
102
- | Types not synced | Runtime errors | Check shared types |
103
- | Tests not updated | False confidence | Run full test suite |
104
- | Console.log left in | Noisy production logs | Search for console.log |
105
-
106
- ---
107
-
108
- ## Relationship to Other Commands
109
-
110
- ```
111
- Development Flow:
112
- Write code -> Test -> /trellis:finish-work -> git commit -> /trellis:record-session
113
- | |
114
- Ensure completeness Record progress
115
-
116
- Debug Flow:
117
- Hit bug -> Fix -> /trellis:break-loop -> Knowledge capture
118
- |
119
- Deep analysis
120
- ```
121
-
122
- - `/trellis:finish-work` - Check work completeness (this command)
123
- - `/trellis:record-session` - Record session and commits
124
- - `/trellis:break-loop` - Deep analysis after debugging
125
-
126
- ---
127
-
128
- ## Core Principle
129
-
130
- > **Delivery includes not just code, but also documentation, verification, and knowledge capture.**
131
-
132
- Complete work = Code + Docs + Tests + Verification
133
- """
@@ -1,104 +0,0 @@
1
- description = "Adapt and integrate an external skill into project development guidelines"
2
-
3
- prompt = """
4
- # Integrate Skill into Project Guidelines
5
-
6
- Adapt and integrate an external skill into your project's development guidelines (not directly into project code).
7
-
8
- ## Usage
9
-
10
- ```
11
- /trellis:integrate-skill <skill-name>
12
- ```
13
-
14
- **Examples**:
15
- ```
16
- /trellis:integrate-skill frontend-design
17
- /trellis:integrate-skill mcp-builder
18
- ```
19
-
20
- ## Core Principle
21
-
22
- > [!] **Important**: The goal of skill integration is to update **development guidelines**, not to generate project code directly.
23
- >
24
- > - Guidelines content -> Write to `.trellis/spec/{target}/doc.md`
25
- > - Code examples -> Place in `.trellis/spec/{target}/examples/skills/<skill-name>/`
26
- > - Example files -> Use `.template` suffix (e.g., `component.tsx.template`) to avoid IDE errors
27
- >
28
- > Where `{target}` is `frontend` or `backend`, determined by skill type.
29
-
30
- ## Execution Steps
31
-
32
- ### 1. Read Skill Content
33
-
34
- Locate and read the skill definition. If the skill doesn't exist, prompt user to check available skills.
35
-
36
- ### 2. Determine Integration Target
37
-
38
- Based on skill type, determine which guidelines to update:
39
-
40
- | Skill Category | Integration Target |
41
- |----------------|-------------------|
42
- | UI/Frontend (`frontend-design`, `web-artifacts-builder`) | `.trellis/spec/frontend/` |
43
- | Backend/API (`mcp-builder`) | `.trellis/spec/backend/` |
44
- | Documentation (`doc-coauthoring`, `docx`, `pdf`) | `.trellis/` or create dedicated guidelines |
45
- | Testing (`webapp-testing`) | `.trellis/spec/frontend/` (E2E) |
46
-
47
- ### 3. Analyze Skill Content
48
-
49
- Extract from the skill:
50
- - **Core concepts**: How the skill works and key concepts
51
- - **Best practices**: Recommended approaches
52
- - **Code patterns**: Reusable code templates
53
- - **Caveats**: Common issues and solutions
54
-
55
- ### 4. Execute Integration
56
-
57
- #### 4.1 Update Guidelines Document
58
-
59
- Add a new section to the corresponding `doc.md`.
60
-
61
- #### 4.2 Create Examples Directory (if code examples exist)
62
-
63
- ```bash
64
- # Directory structure ({target} = frontend or backend)
65
- .trellis/spec/{target}/
66
- |-- doc.md # Add skill-related section
67
- |-- index.md # Update index
68
- +-- examples/
69
- +-- skills/
70
- +-- <skill-name>/
71
- |-- README.md # Example documentation
72
- |-- example-1.ts.template # Code example (use .template suffix)
73
- +-- example-2.tsx.template
74
- ```
75
-
76
- **File naming conventions**:
77
- - Code files: `<name>.<ext>.template` (e.g., `component.tsx.template`)
78
- - Config files: `<name>.config.template` (e.g., `tailwind.config.template`)
79
- - Documentation: `README.md` (normal suffix)
80
-
81
- #### 4.3 Update Index File
82
-
83
- Add to the Quick Navigation table in `index.md`.
84
-
85
- ### 5. Generate Integration Report
86
-
87
- Report:
88
- - Skill description and integration target
89
- - Tech stack compatibility
90
- - Integration locations (files modified)
91
- - Dependencies needed (if any)
92
- - Completed changes checklist
93
-
94
- ---
95
-
96
- ## Common Skill Integration Reference
97
-
98
- | Skill | Integration Target | Examples Directory |
99
- |-------|-------------------|-------------------|
100
- | `frontend-design` | `frontend` | `examples/skills/frontend-design/` |
101
- | `mcp-builder` | `backend` | `examples/skills/mcp-builder/` |
102
- | `webapp-testing` | `frontend` | `examples/skills/webapp-testing/` |
103
- | `doc-coauthoring` | `.trellis/` | N/A (documentation workflow only) |
104
- """
@@ -1,111 +0,0 @@
1
- description = "Onboard a new team member to the Trellis AI-assisted workflow system"
2
-
3
- prompt = """
4
- You are a senior developer onboarding a new team member to this project's AI-assisted workflow system.
5
-
6
- YOUR ROLE: Be a mentor and teacher. Don't just list steps - EXPLAIN the underlying principles, why each command exists, what problem it solves at a fundamental level.
7
-
8
- ## CRITICAL INSTRUCTION - YOU MUST COMPLETE ALL SECTIONS
9
-
10
- This onboarding has THREE equally important parts:
11
-
12
- **PART 1: Core Concepts** (Sections: CORE PHILOSOPHY, SYSTEM STRUCTURE, COMMAND DEEP DIVE)
13
- - Explain WHY this workflow exists
14
- - Explain WHAT each command does and WHY
15
-
16
- **PART 2: Real-World Examples** (Section: REAL-WORLD WORKFLOW EXAMPLES)
17
- - Walk through ALL 5 examples in detail
18
- - For EACH step in EACH example, explain:
19
- - PRINCIPLE: Why this step exists
20
- - WHAT HAPPENS: What the command actually does
21
- - IF SKIPPED: What goes wrong without it
22
-
23
- **PART 3: Customize Your Development Guidelines** (Section: CUSTOMIZE YOUR DEVELOPMENT GUIDELINES)
24
- - Check if project guidelines are still empty templates
25
- - If empty, guide the developer to fill them with project-specific content
26
- - Explain the customization workflow
27
-
28
- DO NOT skip any part. All three parts are essential.
29
-
30
- After completing ALL THREE parts, ask the developer about their first task.
31
-
32
- ---
33
-
34
- ## CORE PHILOSOPHY: Why This Workflow Exists
35
-
36
- AI-assisted development has three fundamental challenges:
37
-
38
- ### Challenge 1: AI Has No Memory
39
-
40
- Every AI session starts with a blank slate. The `.trellis/workspace/` system captures what happened in each session. The `/trellis:start` command reads this history at session start, giving AI "artificial memory."
41
-
42
- ### Challenge 2: AI Has Generic Knowledge, Not Project-Specific Knowledge
43
-
44
- The `.trellis/spec/` directory contains project-specific guidelines. The `/before-*-dev` commands inject this specialized knowledge into AI context before coding starts.
45
-
46
- ### Challenge 3: AI Context Window Is Limited
47
-
48
- The `/check-*` commands re-verify code against guidelines AFTER writing, catching drift that occurred during development. The `/trellis:finish-work` command does a final holistic review.
49
-
50
- ---
51
-
52
- ## SYSTEM STRUCTURE
53
-
54
- ```
55
- .trellis/
56
- |-- .developer # Your identity (gitignored)
57
- |-- workflow.md # Complete workflow documentation
58
- |-- workspace/ # "AI Memory" - session history
59
- |-- tasks/ # Task tracking (unified)
60
- |-- spec/ # "AI Training Data" - project knowledge
61
- | |-- frontend/ # Frontend conventions
62
- | |-- backend/ # Backend conventions
63
- | +-- guides/ # Thinking patterns
64
- +-- scripts/ # Automation tools
65
- ```
66
-
67
- ---
68
-
69
- ## COMMAND DEEP DIVE
70
-
71
- ### /trellis:start - Restore AI Memory
72
- ### /trellis:before-dev - Inject Specialized Knowledge
73
- ### /trellis:check - Combat Context Drift
74
- ### /trellis:check-cross-layer - Multi-Dimension Verification
75
- ### /trellis:finish-work - Holistic Pre-Commit Review
76
- ### /trellis:record-session - Persist Memory for Future
77
-
78
- ---
79
-
80
- ## REAL-WORLD WORKFLOW EXAMPLES
81
-
82
- ### Example 1: Bug Fix Session
83
- ### Example 2: Planning Session (No Code)
84
- ### Example 3: Code Review Fixes
85
- ### Example 4: Large Refactoring
86
- ### Example 5: Debug Session
87
-
88
- Walk through each example explaining every step.
89
-
90
- ---
91
-
92
- ## KEY RULES TO EMPHASIZE
93
-
94
- 1. **AI NEVER commits** - Human tests and approves. AI prepares, human validates.
95
- 2. **Guidelines before code** - /before-*-dev commands inject project knowledge.
96
- 3. **Check after code** - /check-* commands catch context drift.
97
- 4. **Record everything** - /trellis:record-session persists memory.
98
-
99
- ---
100
-
101
- # PART 3: Customize Your Development Guidelines
102
-
103
- Check if `.trellis/spec/` contains empty templates or customized guidelines:
104
-
105
- ```bash
106
- grep -l "To be filled by the team" .trellis/spec/backend/*.md 2>/dev/null | wc -l
107
- grep -l "To be filled by the team" .trellis/spec/frontend/*.md 2>/dev/null | wc -l
108
- ```
109
-
110
- If empty templates, guide filling them. If already customized, proceed with first task.
111
- """
@@ -1,66 +0,0 @@
1
- description = "Record work progress after human has tested and committed code"
2
-
3
- prompt = """
4
- [!] **Prerequisite**: This command should only be used AFTER the human has tested and committed the code.
5
-
6
- **Do NOT run `git commit` directly** — the scripts below handle their own commits for `.trellis/` metadata. You only need to read git history (`git log`, `git status`, `git diff`) and run the Python scripts.
7
-
8
- ---
9
-
10
- ## Record Work Progress
11
-
12
- ### Step 1: Get Context & Check Tasks
13
-
14
- ```bash
15
- python3 ./.trellis/scripts/get_context.py --mode record
16
- ```
17
-
18
- [!] Archive tasks whose work is **actually done** — judge by work status, not the `status` field in task.json:
19
- - Code committed? → Archive it (don't wait for PR)
20
- - All acceptance criteria met? → Archive it
21
- - Don't skip archiving just because `status` still says `planning` or `in_progress`
22
-
23
- ```bash
24
- python3 ./.trellis/scripts/task.py archive <task-name>
25
- ```
26
-
27
- ### Step 2: One-Click Add Session
28
-
29
- ```bash
30
- # Method 1: Simple parameters
31
- python3 ./.trellis/scripts/add_session.py \\
32
- --title "Session Title" \\
33
- --commit "hash1,hash2" \\
34
- --summary "Brief summary of what was done"
35
-
36
- # Method 2: Pass detailed content via stdin
37
- cat << 'EOF' | python3 ./.trellis/scripts/add_session.py --stdin --title "Title" --commit "hash"
38
- | Feature | Description |
39
- |---------|-------------|
40
- | New API | Added user authentication endpoint |
41
- | Frontend | Updated login form |
42
-
43
- **Updated Files**:
44
- - `packages/api/modules/auth/router.ts`
45
- - `apps/web/modules/auth/components/login-form.tsx`
46
- EOF
47
- ```
48
-
49
- **Auto-completes**:
50
- - [OK] Appends session to journal-N.md
51
- - [OK] Auto-detects line count, creates new file if >2000 lines
52
- - [OK] Auto-detects Branch context (`--branch` override; otherwise Branch = task.json -> current git branch; missing values are omitted gracefully)
53
- - [OK] Updates index.md (Total Sessions +1, Last Active, line stats, history)
54
- - [OK] Auto-commits .trellis/workspace and .trellis/tasks changes
55
-
56
- ---
57
-
58
- ## Script Command Reference
59
-
60
- | Command | Purpose |
61
- |---------|---------|
62
- | `python3 ./.trellis/scripts/get_context.py --mode record` | Get context for record-session |
63
- | `python3 ./.trellis/scripts/add_session.py --title "..." --commit "..."` | **One-click add session (recommended, branch auto-complete)** |
64
- | `python3 ./.trellis/scripts/task.py archive <name>` | Archive completed task (auto-commits) |
65
- | `python3 ./.trellis/scripts/task.py list` | List active tasks |
66
- """