@mindfoldhq/trellis 0.4.0 → 0.5.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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 +100 -24
  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,129 +0,0 @@
1
- #!/bin/bash
2
- # Developer management utilities
3
- #
4
- # Usage: source this file in other scripts
5
- # source "$(dirname "$0")/common/developer.sh"
6
- #
7
- # Provides:
8
- # init_developer - Initialize developer
9
- # ensure_developer - Ensure developer is initialized (exit if not)
10
- # show_developer_info - Show developer information
11
-
12
- # Ensure paths.sh is loaded
13
- if ! type get_repo_root &>/dev/null; then
14
- source "$(dirname "${BASH_SOURCE[0]}")/paths.sh"
15
- fi
16
-
17
- # =============================================================================
18
- # Developer Initialization
19
- # =============================================================================
20
-
21
- init_developer() {
22
- local name="$1"
23
- local repo_root="${2:-$(get_repo_root)}"
24
-
25
- if [[ -z "$name" ]]; then
26
- echo "Error: developer name is required" >&2
27
- return 1
28
- fi
29
-
30
- local dev_file="$repo_root/$DIR_WORKFLOW/$FILE_DEVELOPER"
31
- local workspace_dir="$repo_root/$DIR_WORKFLOW/$DIR_WORKSPACE/$name"
32
-
33
- # Create .developer file
34
- cat > "$dev_file" << EOF
35
- name=$name
36
- initialized_at=$(date -Iseconds)
37
- EOF
38
-
39
- # Create workspace directory structure
40
- mkdir -p "$workspace_dir"
41
-
42
- # Create initial journal file
43
- local journal_file="$workspace_dir/${FILE_JOURNAL_PREFIX}1.md"
44
- if [[ ! -f "$journal_file" ]]; then
45
- cat > "$journal_file" << JOURNAL_EOF
46
- # Journal - $name (Part 1)
47
-
48
- > AI development session journal
49
- > Started: $(date +%Y-%m-%d)
50
-
51
- ---
52
-
53
- JOURNAL_EOF
54
- fi
55
-
56
- # Create index.md with markers for auto-update
57
- local index_file="$workspace_dir/index.md"
58
- if [[ ! -f "$index_file" ]]; then
59
- cat > "$index_file" << INDEX_EOF
60
- # Workspace Index - $name
61
-
62
- > Journal tracking for AI development sessions.
63
-
64
- ---
65
-
66
- ## Current Status
67
-
68
- <!-- @@@auto:current-status -->
69
- - **Active File**: \`journal-1.md\`
70
- - **Total Sessions**: 0
71
- - **Last Active**: -
72
- <!-- @@@/auto:current-status -->
73
-
74
- ---
75
-
76
- ## Active Documents
77
-
78
- <!-- @@@auto:active-documents -->
79
- | File | Lines | Status |
80
- |------|-------|--------|
81
- | \`journal-1.md\` | ~0 | Active |
82
- <!-- @@@/auto:active-documents -->
83
-
84
- ---
85
-
86
- ## Session History
87
-
88
- <!-- @@@auto:session-history -->
89
- | # | Date | Title | Commits |
90
- |---|------|-------|---------|
91
- <!-- @@@/auto:session-history -->
92
-
93
- ---
94
-
95
- ## Notes
96
-
97
- - Sessions are appended to journal files
98
- - New journal file created when current exceeds 2000 lines
99
- - Use \`add-session.sh\` to record sessions
100
- INDEX_EOF
101
- fi
102
-
103
- echo "Developer initialized: $name"
104
- echo " .developer file: $dev_file"
105
- echo " Workspace dir: $workspace_dir"
106
- }
107
-
108
- ensure_developer() {
109
- local repo_root="${1:-$(get_repo_root)}"
110
-
111
- if ! check_developer "$repo_root"; then
112
- echo "Error: Developer not initialized." >&2
113
- echo "Run: ./.trellis/scripts/init-developer.sh <your-name>" >&2
114
- exit 1
115
- fi
116
- }
117
-
118
- show_developer_info() {
119
- local repo_root="${1:-$(get_repo_root)}"
120
- local developer=$(get_developer "$repo_root")
121
-
122
- if [[ -z "$developer" ]]; then
123
- echo "Developer: (not initialized)"
124
- else
125
- echo "Developer: $developer"
126
- echo "Workspace: $DIR_WORKFLOW/$DIR_WORKSPACE/$developer/"
127
- echo "Tasks: $DIR_WORKFLOW/$DIR_TASKS/"
128
- fi
129
- }
@@ -1,263 +0,0 @@
1
- #!/bin/bash
2
- # Git and Session Context utilities
3
- #
4
- # Usage:
5
- # ./.trellis/scripts/common/git-context.sh # Full context output
6
- # ./.trellis/scripts/common/git-context.sh --json # JSON format
7
- #
8
- # Or source in other scripts:
9
- # source "$(dirname "$0")/common/git-context.sh"
10
-
11
- set -e
12
-
13
- COMMON_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
14
- source "$COMMON_DIR/paths.sh"
15
- source "$COMMON_DIR/developer.sh"
16
-
17
- # =============================================================================
18
- # JSON Output
19
- # =============================================================================
20
-
21
- output_json() {
22
- local repo_root=$(get_repo_root)
23
- local developer=$(get_developer "$repo_root")
24
- local tasks_dir=$(get_tasks_dir "$repo_root")
25
- local journal_file=$(get_active_journal_file "$repo_root")
26
- local journal_lines=0
27
- local journal_relative=""
28
-
29
- if [[ -n "$journal_file" ]]; then
30
- journal_lines=$(count_lines "$journal_file")
31
- journal_relative="$DIR_WORKFLOW/$DIR_WORKSPACE/$developer/$(basename "$journal_file")"
32
- fi
33
-
34
- local branch=$(git branch --show-current 2>/dev/null || echo "unknown")
35
- local git_status=$(git status --porcelain 2>/dev/null | wc -l | tr -d ' ')
36
- local is_clean="true"
37
- [[ "$git_status" != "0" ]] && is_clean="false"
38
-
39
- # Build commits JSON
40
- local commits_json="["
41
- local first=true
42
- while IFS= read -r line; do
43
- local hash=$(echo "$line" | cut -d' ' -f1)
44
- local msg=$(echo "$line" | cut -d' ' -f2-)
45
- msg=$(echo "$msg" | sed 's/"/\\"/g')
46
- if [[ "$first" == "true" ]]; then
47
- first=false
48
- else
49
- commits_json+=","
50
- fi
51
- commits_json+="{\"hash\":\"$hash\",\"message\":\"$msg\"}"
52
- done < <(git log --oneline -5 2>/dev/null || echo "")
53
- commits_json+="]"
54
-
55
- # Build tasks JSON
56
- local tasks_json="["
57
- first=true
58
- if [[ -d "$tasks_dir" ]]; then
59
- for d in "$tasks_dir"/*/; do
60
- if [[ -d "$d" ]] && [[ "$(basename "$d")" != "archive" ]]; then
61
- local task_json="$d/$FILE_TASK_JSON"
62
- if [[ -f "$task_json" ]]; then
63
- local dir_name=$(basename "$d")
64
- local name=$(jq -r '.name // .id // "unknown"' "$task_json" 2>/dev/null)
65
- local status=$(jq -r '.status // "unknown"' "$task_json" 2>/dev/null)
66
- if [[ "$first" == "true" ]]; then
67
- first=false
68
- else
69
- tasks_json+=","
70
- fi
71
- tasks_json+="{\"dir\":\"$dir_name\",\"name\":\"$name\",\"status\":\"$status\"}"
72
- fi
73
- fi
74
- done
75
- fi
76
- tasks_json+="]"
77
-
78
- cat << EOF
79
- {
80
- "developer": "$developer",
81
- "git": {
82
- "branch": "$branch",
83
- "isClean": $is_clean,
84
- "uncommittedChanges": $git_status,
85
- "recentCommits": $commits_json
86
- },
87
- "tasks": {
88
- "active": $tasks_json,
89
- "directory": "$DIR_WORKFLOW/$DIR_TASKS"
90
- },
91
- "journal": {
92
- "file": "$journal_relative",
93
- "lines": $journal_lines,
94
- "nearLimit": $([ "$journal_lines" -gt 1800 ] && echo "true" || echo "false")
95
- }
96
- }
97
- EOF
98
- }
99
-
100
- # =============================================================================
101
- # Text Output
102
- # =============================================================================
103
-
104
- output_text() {
105
- local repo_root=$(get_repo_root)
106
- local developer=$(get_developer "$repo_root")
107
-
108
- echo "========================================"
109
- echo "SESSION CONTEXT"
110
- echo "========================================"
111
- echo ""
112
-
113
- echo "## DEVELOPER"
114
- if [[ -z "$developer" ]]; then
115
- echo "ERROR: Not initialized. Run: ./$DIR_WORKFLOW/$DIR_SCRIPTS/init-developer.sh <name>"
116
- exit 1
117
- fi
118
- echo "Name: $developer"
119
- echo ""
120
-
121
- echo "## GIT STATUS"
122
- echo "Branch: $(git branch --show-current 2>/dev/null || echo 'unknown')"
123
- local status_count=$(git status --porcelain 2>/dev/null | wc -l | tr -d ' ')
124
- if [[ "$status_count" == "0" ]]; then
125
- echo "Working directory: Clean"
126
- else
127
- echo "Working directory: $status_count uncommitted change(s)"
128
- echo ""
129
- echo "Changes:"
130
- git status --short 2>/dev/null | head -10
131
- fi
132
- echo ""
133
-
134
- echo "## RECENT COMMITS"
135
- git log --oneline -5 2>/dev/null || echo "(no commits)"
136
- echo ""
137
-
138
- echo "## CURRENT TASK"
139
- local current_task=$(get_current_task "$repo_root")
140
- if [[ -n "$current_task" ]]; then
141
- local current_task_dir="$repo_root/$current_task"
142
- local task_json="$current_task_dir/$FILE_TASK_JSON"
143
- echo "Path: $current_task"
144
-
145
- if [[ -f "$task_json" ]]; then
146
- if command -v jq &> /dev/null; then
147
- local t_name=$(jq -r '.name // .id // "unknown"' "$task_json")
148
- local t_status=$(jq -r '.status // "unknown"' "$task_json")
149
- local t_created=$(jq -r '.createdAt // "unknown"' "$task_json")
150
- local t_desc=$(jq -r '.description // ""' "$task_json")
151
- echo "Name: $t_name"
152
- echo "Status: $t_status"
153
- echo "Created: $t_created"
154
- if [[ -n "$t_desc" ]]; then
155
- echo "Description: $t_desc"
156
- fi
157
- fi
158
- fi
159
-
160
- # Check for prd.md
161
- if [[ -f "$current_task_dir/prd.md" ]]; then
162
- echo ""
163
- echo "[!] This task has prd.md - read it for task details"
164
- fi
165
- else
166
- echo "(none)"
167
- fi
168
- echo ""
169
-
170
- echo "## ACTIVE TASKS"
171
- local tasks_dir=$(get_tasks_dir "$repo_root")
172
- local task_count=0
173
- if [[ -d "$tasks_dir" ]]; then
174
- for d in "$tasks_dir"/*/; do
175
- if [[ -d "$d" ]] && [[ "$(basename "$d")" != "archive" ]]; then
176
- local dir_name=$(basename "$d")
177
- local t_json="$d/$FILE_TASK_JSON"
178
- local status="unknown"
179
- local assignee="-"
180
- if [[ -f "$t_json" ]] && command -v jq &> /dev/null; then
181
- status=$(jq -r '.status // "unknown"' "$t_json")
182
- assignee=$(jq -r '.assignee // "-"' "$t_json")
183
- fi
184
- echo "- $dir_name/ ($status) @$assignee"
185
- ((task_count++)) || true
186
- fi
187
- done
188
- fi
189
- if [[ $task_count -eq 0 ]]; then
190
- echo "(no active tasks)"
191
- fi
192
- echo "Total: $task_count active task(s)"
193
- echo ""
194
-
195
- echo "## MY TASKS (Assigned to me)"
196
- local my_task_count=0
197
- if [[ -d "$tasks_dir" ]]; then
198
- for d in "$tasks_dir"/*/; do
199
- if [[ -d "$d" ]] && [[ "$(basename "$d")" != "archive" ]]; then
200
- local t_json="$d/$FILE_TASK_JSON"
201
- if [[ -f "$t_json" ]] && command -v jq &> /dev/null; then
202
- local assignee=$(jq -r '.assignee // ""' "$t_json")
203
- local status=$(jq -r '.status // "planning"' "$t_json")
204
- if [[ "$assignee" == "$developer" ]] && [[ "$status" != "done" ]]; then
205
- local title=$(jq -r '.title // .name // "unknown"' "$t_json")
206
- local priority=$(jq -r '.priority // "P2"' "$t_json")
207
- echo "- [$priority] $title ($status)"
208
- ((my_task_count++)) || true
209
- fi
210
- fi
211
- fi
212
- done
213
- fi
214
- if [[ $my_task_count -eq 0 ]]; then
215
- echo "(no tasks assigned to you)"
216
- fi
217
- echo ""
218
-
219
- echo "## JOURNAL FILE"
220
- local journal_file=$(get_active_journal_file "$repo_root")
221
- if [[ -n "$journal_file" ]]; then
222
- local lines=$(count_lines "$journal_file")
223
- local relative="$DIR_WORKFLOW/$DIR_WORKSPACE/$developer/$(basename "$journal_file")"
224
- echo "Active file: $relative"
225
- echo "Line count: $lines / 2000"
226
- if [[ "$lines" -gt 1800 ]]; then
227
- echo "[!] WARNING: Approaching 2000 line limit!"
228
- fi
229
- else
230
- echo "No journal file found"
231
- fi
232
- echo ""
233
-
234
- echo "## PATHS"
235
- echo "Workspace: $DIR_WORKFLOW/$DIR_WORKSPACE/$developer/"
236
- echo "Tasks: $DIR_WORKFLOW/$DIR_TASKS/"
237
- echo "Spec: $DIR_WORKFLOW/$DIR_SPEC/"
238
- echo ""
239
-
240
- echo "========================================"
241
- }
242
-
243
- # =============================================================================
244
- # Main Entry
245
- # =============================================================================
246
-
247
- if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then
248
- case "${1:-}" in
249
- --json|-j)
250
- output_json
251
- ;;
252
- --help|-h)
253
- echo "Get Session Context for AI Agent"
254
- echo ""
255
- echo "Usage:"
256
- echo " $0 Output context in text format"
257
- echo " $0 --json Output context in JSON format"
258
- ;;
259
- *)
260
- output_text
261
- ;;
262
- esac
263
- fi
@@ -1,208 +0,0 @@
1
- #!/bin/bash
2
- # Common path utilities for Trellis workflow
3
- #
4
- # Usage: source this file in other scripts
5
- # source "$(dirname "$0")/common/paths.sh"
6
- #
7
- # Provides:
8
- # get_repo_root - Get repository root directory
9
- # get_developer - Get developer name
10
- # get_workspace_dir - Get developer workspace directory
11
- # get_tasks_dir - Get tasks directory
12
- # get_active_journal_file - Get current journal file
13
-
14
- # =============================================================================
15
- # Path Constants (change here to rename directories)
16
- # =============================================================================
17
-
18
- # Directory names
19
- DIR_WORKFLOW=".trellis"
20
- DIR_WORKSPACE="workspace"
21
- DIR_TASKS="tasks"
22
- DIR_ARCHIVE="archive"
23
- DIR_SPEC="spec"
24
- DIR_SCRIPTS="scripts"
25
-
26
- # File names
27
- FILE_DEVELOPER=".developer"
28
- FILE_CURRENT_TASK=".current-task"
29
- FILE_TASK_JSON="task.json"
30
- FILE_JOURNAL_PREFIX="journal-"
31
-
32
- # =============================================================================
33
- # Repository Root
34
- # =============================================================================
35
-
36
- get_repo_root() {
37
- # Find the nearest directory containing .trellis/ folder
38
- # This handles nested git repos correctly (e.g., test project inside another repo)
39
- local current="$PWD"
40
-
41
- while [[ "$current" != "/" ]]; do
42
- if [[ -d "$current/$DIR_WORKFLOW" ]]; then
43
- echo "$current"
44
- return
45
- fi
46
- current=$(dirname "$current")
47
- done
48
-
49
- # Fallback to current directory if no .trellis/ found
50
- echo "$PWD"
51
- }
52
-
53
- # =============================================================================
54
- # Developer
55
- # =============================================================================
56
-
57
- get_developer() {
58
- local repo_root="${1:-$(get_repo_root)}"
59
- local dev_file="$repo_root/$DIR_WORKFLOW/$FILE_DEVELOPER"
60
-
61
- if [[ -f "$dev_file" ]]; then
62
- grep "^name=" "$dev_file" 2>/dev/null | cut -d'=' -f2
63
- fi
64
- }
65
-
66
- check_developer() {
67
- local developer=$(get_developer "$1")
68
- [[ -n "$developer" ]]
69
- }
70
-
71
- # =============================================================================
72
- # Tasks Directory
73
- # =============================================================================
74
-
75
- get_tasks_dir() {
76
- local repo_root="${1:-$(get_repo_root)}"
77
- echo "$repo_root/$DIR_WORKFLOW/$DIR_TASKS"
78
- }
79
-
80
- # =============================================================================
81
- # Workspace Directory
82
- # =============================================================================
83
-
84
- get_workspace_dir() {
85
- local repo_root="${1:-$(get_repo_root)}"
86
- local developer=$(get_developer "$repo_root")
87
-
88
- if [[ -n "$developer" ]]; then
89
- echo "$repo_root/$DIR_WORKFLOW/$DIR_WORKSPACE/$developer"
90
- fi
91
- }
92
-
93
- # =============================================================================
94
- # Journal File
95
- # =============================================================================
96
-
97
- get_active_journal_file() {
98
- local repo_root="${1:-$(get_repo_root)}"
99
- local workspace_dir=$(get_workspace_dir "$repo_root")
100
-
101
- if [[ -z "$workspace_dir" ]] || [[ ! -d "$workspace_dir" ]]; then
102
- echo ""
103
- return
104
- fi
105
-
106
- local latest=""
107
- local highest=0
108
- for f in "$workspace_dir"/${FILE_JOURNAL_PREFIX}*.md; do
109
- if [[ -f "$f" ]]; then
110
- local num=$(basename "$f" | sed "s/${FILE_JOURNAL_PREFIX}//" | sed 's/\.md//')
111
- if [[ "$num" =~ ^[0-9]+$ ]] && [[ "$num" -gt "$highest" ]]; then
112
- highest=$num
113
- latest="$f"
114
- fi
115
- fi
116
- done
117
-
118
- if [[ -n "$latest" ]]; then
119
- echo "$latest"
120
- fi
121
- }
122
-
123
- count_lines() {
124
- local file="$1"
125
- if [[ -f "$file" ]]; then
126
- wc -l < "$file" | tr -d ' '
127
- else
128
- echo "0"
129
- fi
130
- }
131
-
132
- # =============================================================================
133
- # Current Task Management
134
- # =============================================================================
135
-
136
- # Get .current-task file path
137
- _get_current_task_file() {
138
- local repo_root="${1:-$(get_repo_root)}"
139
- echo "$repo_root/$DIR_WORKFLOW/$FILE_CURRENT_TASK"
140
- }
141
-
142
- # Get current task directory path (relative to repo_root)
143
- get_current_task() {
144
- local repo_root="${1:-$(get_repo_root)}"
145
- local current_file=$(_get_current_task_file "$repo_root")
146
-
147
- if [[ -f "$current_file" ]]; then
148
- cat "$current_file" 2>/dev/null
149
- fi
150
- }
151
-
152
- # Get current task directory absolute path
153
- get_current_task_abs() {
154
- local repo_root="${1:-$(get_repo_root)}"
155
- local relative=$(get_current_task "$repo_root")
156
-
157
- if [[ -n "$relative" ]]; then
158
- echo "$repo_root/$relative"
159
- fi
160
- }
161
-
162
- # Set current task
163
- # Args: $1 - task directory path (relative to repo_root)
164
- set_current_task() {
165
- local task_path="$1"
166
- local repo_root="${2:-$(get_repo_root)}"
167
- local current_file=$(_get_current_task_file "$repo_root")
168
-
169
- if [[ -z "$task_path" ]]; then
170
- echo "Error: task path is required" >&2
171
- return 1
172
- fi
173
-
174
- # Verify task directory exists
175
- local full_path="$repo_root/$task_path"
176
- if [[ ! -d "$full_path" ]]; then
177
- echo "Error: task directory not found: $task_path" >&2
178
- return 1
179
- fi
180
-
181
- echo "$task_path" > "$current_file"
182
- }
183
-
184
- # Clear current task
185
- clear_current_task() {
186
- local repo_root="${1:-$(get_repo_root)}"
187
- local current_file=$(_get_current_task_file "$repo_root")
188
-
189
- if [[ -f "$current_file" ]]; then
190
- rm -f "$current_file"
191
- fi
192
- }
193
-
194
- # Check if has current task
195
- has_current_task() {
196
- local current=$(get_current_task "$1")
197
- [[ -n "$current" ]]
198
- }
199
-
200
- # =============================================================================
201
- # Task ID Generation
202
- # =============================================================================
203
-
204
- # Generate task ID based on date (MM-DD format)
205
- # Returns: MM-DD (e.g., "01-21")
206
- generate_task_date_prefix() {
207
- date +%m-%d
208
- }