@mindfoldhq/trellis 0.4.0-beta.1 → 0.4.0-beta.10

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 (200) hide show
  1. package/README.md +19 -5
  2. package/dist/cli/index.js +3 -0
  3. package/dist/cli/index.js.map +1 -1
  4. package/dist/commands/init.d.ts +3 -0
  5. package/dist/commands/init.d.ts.map +1 -1
  6. package/dist/commands/init.js +48 -23
  7. package/dist/commands/init.js.map +1 -1
  8. package/dist/commands/update.d.ts.map +1 -1
  9. package/dist/commands/update.js +52 -41
  10. package/dist/commands/update.js.map +1 -1
  11. package/dist/configurators/codebuddy.d.ts +11 -0
  12. package/dist/configurators/codebuddy.d.ts.map +1 -0
  13. package/dist/configurators/codebuddy.js +58 -0
  14. package/dist/configurators/codebuddy.js.map +1 -0
  15. package/dist/configurators/codex.d.ts +7 -4
  16. package/dist/configurators/codex.d.ts.map +1 -1
  17. package/dist/configurators/codex.js +40 -10
  18. package/dist/configurators/codex.js.map +1 -1
  19. package/dist/configurators/copilot.d.ts +9 -0
  20. package/dist/configurators/copilot.d.ts.map +1 -0
  21. package/dist/configurators/copilot.js +34 -0
  22. package/dist/configurators/copilot.js.map +1 -0
  23. package/dist/configurators/index.d.ts +11 -1
  24. package/dist/configurators/index.d.ts.map +1 -1
  25. package/dist/configurators/index.js +72 -4
  26. package/dist/configurators/index.js.map +1 -1
  27. package/dist/configurators/opencode.d.ts +1 -1
  28. package/dist/configurators/opencode.js +1 -1
  29. package/dist/configurators/windsurf.d.ts +8 -0
  30. package/dist/configurators/windsurf.d.ts.map +1 -0
  31. package/dist/configurators/windsurf.js +18 -0
  32. package/dist/configurators/windsurf.js.map +1 -0
  33. package/dist/configurators/workflow.d.ts +1 -1
  34. package/dist/configurators/workflow.d.ts.map +1 -1
  35. package/dist/configurators/workflow.js +4 -2
  36. package/dist/configurators/workflow.js.map +1 -1
  37. package/dist/migrations/manifests/0.3.10.json +9 -0
  38. package/dist/migrations/manifests/0.4.0-beta.10.json +9 -0
  39. package/dist/migrations/manifests/0.4.0-beta.2.json +9 -0
  40. package/dist/migrations/manifests/0.4.0-beta.3.json +9 -0
  41. package/dist/migrations/manifests/0.4.0-beta.4.json +9 -0
  42. package/dist/migrations/manifests/0.4.0-beta.5.json +9 -0
  43. package/dist/migrations/manifests/0.4.0-beta.6.json +9 -0
  44. package/dist/migrations/manifests/0.4.0-beta.7.json +9 -0
  45. package/dist/migrations/manifests/0.4.0-beta.8.json +34 -0
  46. package/dist/migrations/manifests/0.4.0-beta.9.json +9 -0
  47. package/dist/templates/claude/commands/trellis/record-session.md +3 -2
  48. package/dist/templates/claude/hooks/inject-subagent-context.py +8 -1
  49. package/dist/templates/claude/hooks/ralph-loop.py +18 -10
  50. package/dist/templates/claude/hooks/session-start.py +33 -9
  51. package/dist/templates/claude/hooks/statusline.py +211 -0
  52. package/dist/templates/claude/settings.json +4 -0
  53. package/dist/templates/codebuddy/commands/trellis/before-dev.md +29 -0
  54. package/dist/templates/codebuddy/commands/trellis/brainstorm.md +487 -0
  55. package/dist/templates/codebuddy/commands/trellis/break-loop.md +107 -0
  56. package/dist/templates/codebuddy/commands/trellis/check-cross-layer.md +153 -0
  57. package/dist/templates/codebuddy/commands/trellis/check.md +25 -0
  58. package/dist/templates/codebuddy/commands/trellis/create-command.md +154 -0
  59. package/dist/templates/codebuddy/commands/trellis/finish-work.md +143 -0
  60. package/dist/templates/codebuddy/commands/trellis/integrate-skill.md +219 -0
  61. package/dist/templates/codebuddy/commands/trellis/onboard.md +358 -0
  62. package/dist/templates/codebuddy/commands/trellis/record-session.md +61 -0
  63. package/dist/templates/codebuddy/commands/trellis/start.md +373 -0
  64. package/dist/templates/codebuddy/commands/trellis/update-spec.md +354 -0
  65. package/dist/templates/codebuddy/index.d.ts +25 -0
  66. package/dist/templates/codebuddy/index.d.ts.map +1 -0
  67. package/dist/templates/codebuddy/index.js +45 -0
  68. package/dist/templates/codebuddy/index.js.map +1 -0
  69. package/dist/templates/codex/agents/check.toml +23 -0
  70. package/dist/templates/codex/agents/implement.toml +19 -0
  71. package/dist/templates/codex/agents/research.toml +26 -0
  72. package/dist/templates/codex/codex-skills/parallel/SKILL.md +194 -0
  73. package/dist/templates/codex/config.toml +5 -0
  74. package/dist/templates/codex/hooks/session-start.py +228 -0
  75. package/dist/templates/codex/hooks.json +16 -0
  76. package/dist/templates/codex/index.d.ts +27 -5
  77. package/dist/templates/codex/index.d.ts.map +1 -1
  78. package/dist/templates/codex/index.js +60 -8
  79. package/dist/templates/codex/index.js.map +1 -1
  80. package/dist/templates/codex/skills/before-dev/SKILL.md +1 -1
  81. package/dist/templates/codex/skills/brainstorm/SKILL.md +1 -1
  82. package/dist/templates/codex/skills/break-loop/SKILL.md +1 -1
  83. package/dist/templates/codex/skills/check/SKILL.md +1 -1
  84. package/dist/templates/codex/skills/check-cross-layer/SKILL.md +1 -1
  85. package/dist/templates/codex/skills/create-command/SKILL.md +1 -1
  86. package/dist/templates/codex/skills/finish-work/SKILL.md +1 -1
  87. package/dist/templates/codex/skills/improve-ut/SKILL.md +69 -0
  88. package/dist/templates/codex/skills/integrate-skill/SKILL.md +1 -1
  89. package/dist/templates/codex/skills/onboard/SKILL.md +1 -1
  90. package/dist/templates/codex/skills/record-session/SKILL.md +4 -3
  91. package/dist/templates/codex/skills/start/SKILL.md +1 -1
  92. package/dist/templates/codex/skills/update-spec/SKILL.md +1 -1
  93. package/dist/templates/copilot/hooks/session-start.py +218 -0
  94. package/dist/templates/copilot/hooks.json +11 -0
  95. package/dist/templates/copilot/index.d.ts +23 -0
  96. package/dist/templates/copilot/index.d.ts.map +1 -0
  97. package/dist/templates/copilot/index.js +54 -0
  98. package/dist/templates/copilot/index.js.map +1 -0
  99. package/dist/templates/copilot/prompts/before-dev.prompt.md +33 -0
  100. package/dist/templates/copilot/prompts/brainstorm.prompt.md +491 -0
  101. package/dist/templates/copilot/prompts/break-loop.prompt.md +129 -0
  102. package/dist/templates/copilot/prompts/check-cross-layer.prompt.md +157 -0
  103. package/dist/templates/copilot/prompts/check.prompt.md +29 -0
  104. package/dist/templates/copilot/prompts/create-command.prompt.md +116 -0
  105. package/dist/templates/copilot/prompts/finish-work.prompt.md +157 -0
  106. package/dist/templates/copilot/prompts/integrate-skill.prompt.md +223 -0
  107. package/dist/templates/copilot/prompts/onboard.prompt.md +362 -0
  108. package/dist/templates/copilot/prompts/parallel.prompt.md +196 -0
  109. package/dist/templates/copilot/prompts/record-session.prompt.md +66 -0
  110. package/dist/templates/copilot/prompts/start.prompt.md +397 -0
  111. package/dist/templates/copilot/prompts/update-spec.prompt.md +358 -0
  112. package/dist/templates/cursor/commands/trellis-record-session.md +3 -2
  113. package/dist/templates/extract.d.ts +36 -0
  114. package/dist/templates/extract.d.ts.map +1 -1
  115. package/dist/templates/extract.js +64 -0
  116. package/dist/templates/extract.js.map +1 -1
  117. package/dist/templates/gemini/commands/trellis/record-session.toml +3 -2
  118. package/dist/templates/iflow/commands/trellis/record-session.md +3 -2
  119. package/dist/templates/iflow/hooks/inject-subagent-context.py +8 -1
  120. package/dist/templates/iflow/hooks/ralph-loop.py +8 -1
  121. package/dist/templates/iflow/hooks/session-start.py +33 -9
  122. package/dist/templates/kilo/workflows/record-session.md +3 -2
  123. package/dist/templates/kiro/skills/before-dev/SKILL.md +1 -1
  124. package/dist/templates/kiro/skills/brainstorm/SKILL.md +1 -1
  125. package/dist/templates/kiro/skills/break-loop/SKILL.md +1 -1
  126. package/dist/templates/kiro/skills/check/SKILL.md +1 -1
  127. package/dist/templates/kiro/skills/check-cross-layer/SKILL.md +1 -1
  128. package/dist/templates/kiro/skills/create-command/SKILL.md +1 -1
  129. package/dist/templates/kiro/skills/finish-work/SKILL.md +1 -1
  130. package/dist/templates/kiro/skills/integrate-skill/SKILL.md +1 -1
  131. package/dist/templates/kiro/skills/onboard/SKILL.md +1 -1
  132. package/dist/templates/kiro/skills/record-session/SKILL.md +4 -3
  133. package/dist/templates/kiro/skills/start/SKILL.md +1 -1
  134. package/dist/templates/kiro/skills/update-spec/SKILL.md +1 -1
  135. package/dist/templates/markdown/agents.md +4 -0
  136. package/dist/templates/markdown/spec/backend/directory-structure.md +1 -1
  137. package/dist/templates/markdown/workspace-index.md +2 -0
  138. package/dist/templates/opencode/agents/dispatch.md +20 -19
  139. package/dist/templates/opencode/commands/trellis/record-session.md +3 -2
  140. package/dist/templates/opencode/lib/trellis-context.js +42 -2
  141. package/dist/templates/opencode/{plugin → plugins}/session-start.js +7 -27
  142. package/dist/templates/qoder/skills/before-dev/SKILL.md +1 -1
  143. package/dist/templates/qoder/skills/brainstorm/SKILL.md +1 -1
  144. package/dist/templates/qoder/skills/break-loop/SKILL.md +1 -1
  145. package/dist/templates/qoder/skills/check/SKILL.md +1 -1
  146. package/dist/templates/qoder/skills/check-cross-layer/SKILL.md +1 -1
  147. package/dist/templates/qoder/skills/create-command/SKILL.md +1 -1
  148. package/dist/templates/qoder/skills/finish-work/SKILL.md +1 -1
  149. package/dist/templates/qoder/skills/integrate-skill/SKILL.md +1 -1
  150. package/dist/templates/qoder/skills/onboard/SKILL.md +1 -1
  151. package/dist/templates/qoder/skills/record-session/SKILL.md +4 -3
  152. package/dist/templates/qoder/skills/start/SKILL.md +1 -1
  153. package/dist/templates/qoder/skills/update-spec/SKILL.md +1 -1
  154. package/dist/templates/trellis/scripts/add_session.py +69 -16
  155. package/dist/templates/trellis/scripts/common/__init__.py +2 -0
  156. package/dist/templates/trellis/scripts/common/cli_adapter.py +133 -21
  157. package/dist/templates/trellis/scripts/common/config.py +40 -0
  158. package/dist/templates/trellis/scripts/common/developer.py +2 -2
  159. package/dist/templates/trellis/scripts/common/packages_context.py +9 -4
  160. package/dist/templates/trellis/scripts/common/paths.py +57 -6
  161. package/dist/templates/trellis/scripts/common/session_context.py +98 -2
  162. package/dist/templates/trellis/scripts/common/task_context.py +27 -1
  163. package/dist/templates/trellis/scripts/common/task_store.py +6 -4
  164. package/dist/templates/trellis/scripts/common/task_utils.py +14 -8
  165. package/dist/templates/trellis/scripts/create_bootstrap.py +1 -1
  166. package/dist/templates/trellis/scripts/multi_agent/plan.py +7 -6
  167. package/dist/templates/trellis/scripts/multi_agent/start.py +16 -11
  168. package/dist/templates/trellis/scripts/task.py +1 -1
  169. package/dist/templates/trellis/scripts-shell-archive/create-bootstrap.sh +1 -1
  170. package/dist/templates/trellis/workflow.md +17 -4
  171. package/dist/templates/windsurf/index.d.ts +21 -0
  172. package/dist/templates/windsurf/index.d.ts.map +1 -0
  173. package/dist/templates/windsurf/index.js +44 -0
  174. package/dist/templates/windsurf/index.js.map +1 -0
  175. package/dist/templates/windsurf/workflows/trellis-before-dev.md +31 -0
  176. package/dist/templates/windsurf/workflows/trellis-brainstorm.md +491 -0
  177. package/dist/templates/windsurf/workflows/trellis-break-loop.md +111 -0
  178. package/dist/templates/windsurf/workflows/trellis-check-cross-layer.md +157 -0
  179. package/dist/templates/windsurf/workflows/trellis-check.md +27 -0
  180. package/dist/templates/windsurf/workflows/trellis-create-command.md +154 -0
  181. package/dist/templates/windsurf/workflows/trellis-finish-work.md +147 -0
  182. package/dist/templates/windsurf/workflows/trellis-integrate-skill.md +220 -0
  183. package/dist/templates/windsurf/workflows/trellis-onboard.md +362 -0
  184. package/dist/templates/windsurf/workflows/trellis-record-session.md +66 -0
  185. package/dist/templates/windsurf/workflows/trellis-start.md +373 -0
  186. package/dist/templates/windsurf/workflows/trellis-update-spec.md +358 -0
  187. package/dist/types/ai-tools.d.ts +15 -3
  188. package/dist/types/ai-tools.d.ts.map +1 -1
  189. package/dist/types/ai-tools.js +42 -2
  190. package/dist/types/ai-tools.js.map +1 -1
  191. package/dist/utils/project-detector.d.ts +5 -0
  192. package/dist/utils/project-detector.d.ts.map +1 -1
  193. package/dist/utils/project-detector.js +7 -0
  194. package/dist/utils/project-detector.js.map +1 -1
  195. package/dist/utils/template-fetcher.d.ts +24 -3
  196. package/dist/utils/template-fetcher.d.ts.map +1 -1
  197. package/dist/utils/template-fetcher.js +129 -16
  198. package/dist/utils/template-fetcher.js.map +1 -1
  199. package/package.json +1 -1
  200. /package/dist/templates/opencode/{plugin → plugins}/inject-subagent-context.js +0 -0
package/README.md CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
  <p align="center">
10
10
  <strong>A multi-platform AI coding framework that rules</strong><br/>
11
- <sub>Supports Claude Code, Cursor, OpenCode, iFlow, Codex, Kilo, Kiro, Gemini CLI, Antigravity, and Qoder.</sub>
11
+ <sub>Supports Claude Code, Cursor, OpenCode, iFlow, Codex, Kilo, Kiro, Gemini CLI, Antigravity, Windsurf, Qoder, CodeBuddy, and GitHub Copilot.</sub>
12
12
  </p>
13
13
 
14
14
  <p align="center">
@@ -21,10 +21,19 @@
21
21
 
22
22
  <p align="center">
23
23
  <a href="https://www.npmjs.com/package/@mindfoldhq/trellis"><img src="https://img.shields.io/npm/v/@mindfoldhq/trellis.svg?style=flat-square&color=2563eb" alt="npm version" /></a>
24
+ <a href="https://www.npmjs.com/package/@mindfoldhq/trellis"><img src="https://img.shields.io/npm/dw/@mindfoldhq/trellis?style=flat-square&color=cb3837&label=downloads" alt="npm downloads" /></a>
24
25
  <a href="https://github.com/mindfold-ai/Trellis/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-AGPL--3.0-16a34a.svg?style=flat-square" alt="license" /></a>
25
26
  <a href="https://github.com/mindfold-ai/Trellis/stargazers"><img src="https://img.shields.io/github/stars/mindfold-ai/Trellis?style=flat-square&color=eab308" alt="stars" /></a>
26
27
  <a href="https://docs.trytrellis.app/"><img src="https://img.shields.io/badge/docs-trytrellis.app-0f766e?style=flat-square" alt="docs" /></a>
27
28
  <a href="https://discord.com/invite/tWcCZ3aRHc"><img src="https://img.shields.io/badge/Discord-Join-5865F2?style=flat-square&logo=discord&logoColor=white" alt="Discord" /></a>
29
+ <a href="https://github.com/mindfold-ai/Trellis/issues"><img src="https://img.shields.io/github/issues/mindfold-ai/Trellis?style=flat-square&color=e67e22" alt="open issues" /></a>
30
+ <a href="https://github.com/mindfold-ai/Trellis/pulls"><img src="https://img.shields.io/github/issues-pr/mindfold-ai/Trellis?style=flat-square&color=9b59b6" alt="open PRs" /></a>
31
+ <a href="https://deepwiki.com/mindfold-ai/Trellis"><img src="https://img.shields.io/badge/Ask-DeepWiki-blue?style=flat-square" alt="Ask DeepWiki" /></a>
32
+ <a href="https://chatgpt.com/?q=Explain+the+project+mindfold-ai/Trellis+on+GitHub"><img src="https://img.shields.io/badge/Ask-ChatGPT-74aa9c?style=flat-square&logo=openai&logoColor=white" alt="Ask ChatGPT" /></a>
33
+ </p>
34
+
35
+ <p align="center">
36
+ <img src="assets/trellis-demo.gif" alt="Trellis workflow demo" width="100%">
28
37
  </p>
29
38
 
30
39
  ## Why Trellis?
@@ -36,7 +45,12 @@
36
45
  | **Parallel agent execution** | Run multiple AI tasks side by side with git worktrees instead of turning one branch into a traffic jam. |
37
46
  | **Project memory** | Journals in `.trellis/workspace/` preserve what happened last time, so each new session starts with real context. |
38
47
  | **Team-shared standards** | Specs live in the repo, so one person’s hard-won workflow or rule can benefit the whole team. |
39
- | **Multi-platform setup** | Bring the same Trellis structure to 10 AI coding platforms instead of rebuilding your workflow per tool. |
48
+ | **Multi-platform setup** | Bring the same Trellis structure to 13 AI coding platforms instead of rebuilding your workflow per tool. |
49
+
50
+ ## Prerequisites
51
+
52
+ - **Node.js** ≥ 18
53
+ - **Python** ≥ 3.10 (required for hooks and automation scripts)
40
54
 
41
55
  ## Quick Start
42
56
 
@@ -52,7 +66,7 @@ trellis init --cursor --opencode --codex -u your-name
52
66
  ```
53
67
 
54
68
  - `-u your-name` creates `.trellis/workspace/your-name/` for personal journals and session continuity.
55
- - Platform flags can be mixed and matched. Current options include `--cursor`, `--opencode`, `--iflow`, `--codex`, `--kilo`, `--kiro`, `--gemini`, `--antigravity`, and `--qoder`.
69
+ - Platform flags can be mixed and matched. Current options include `--cursor`, `--opencode`, `--iflow`, `--codex`, `--kilo`, `--kiro`, `--gemini`, `--antigravity`, `--windsurf`, `--qoder`, `--codebuddy`, and `--copilot`.
56
70
  - For platform-specific setup, entry commands, and upgrade paths, use the docs:
57
71
  [Quick Start](https://docs.trytrellis.app/guide/ch02-quick-start) •
58
72
  [Supported Platforms](https://docs.trytrellis.app/guide/ch13-multi-platform) •
@@ -89,7 +103,7 @@ Trellis keeps the core workflow in `.trellis/` and generates the platform-specif
89
103
  └── scripts/ # Utilities that power the workflow
90
104
  ```
91
105
 
92
- Depending on the platforms you enable, Trellis also creates tool-specific integration files such as `.claude/`, `.cursor/`, `AGENTS.md`, `.agents/`, `.kilocode/`, and `.kiro/`.
106
+ Depending on the platforms you enable, Trellis also creates tool-specific integration files such as `.claude/`, `.cursor/`, `AGENTS.md`, `.agents/`, `.codex/`, `.kilocode/`, `.kiro/`, `.github/copilot/`, and `.github/hooks/`. For Codex, Trellis now installs both project skills under `.agents/skills/` and project-scoped config/custom agents under `.codex/`.
93
107
 
94
108
  At a high level, the workflow is simple:
95
109
 
@@ -129,7 +143,7 @@ Those files are useful, but they tend to become monolithic. Trellis adds structu
129
143
  <details>
130
144
  <summary><strong>Is Trellis only for Claude Code?</strong></summary>
131
145
 
132
- No. Trellis currently supports Claude Code, Cursor, OpenCode, iFlow, Codex, Kilo, Kiro, Gemini CLI, and Antigravity. The detailed setup and entry command for each tool lives in the supported platforms guide.
146
+ No. Trellis currently supports Claude Code, Cursor, OpenCode, iFlow, Codex, Kilo, Kiro, Gemini CLI, Antigravity, Windsurf, Qoder, CodeBuddy, and GitHub Copilot. The detailed setup and entry command for each tool lives in the supported platforms guide.
133
147
 
134
148
  </details>
135
149
 
package/dist/cli/index.js CHANGED
@@ -52,7 +52,10 @@ program
52
52
  .option("--kiro", "Include Kiro Code skills")
53
53
  .option("--gemini", "Include Gemini CLI commands")
54
54
  .option("--antigravity", "Include Antigravity workflows")
55
+ .option("--windsurf", "Include Windsurf workflows")
55
56
  .option("--qoder", "Include Qoder commands")
57
+ .option("--codebuddy", "Include CodeBuddy commands")
58
+ .option("--copilot", "Include GitHub Copilot hooks")
56
59
  .option("-y, --yes", "Skip prompts and use defaults")
57
60
  .option("-u, --user <name>", "Initialize developer identity with specified name")
58
61
  .option("-f, --force", "Overwrite existing files without asking")
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,10 @@ interface InitOptions {
8
8
  kiro?: boolean;
9
9
  gemini?: boolean;
10
10
  antigravity?: boolean;
11
+ windsurf?: boolean;
11
12
  qoder?: boolean;
13
+ codebuddy?: boolean;
14
+ copilot?: boolean;
12
15
  yes?: boolean;
13
16
  user?: string;
14
17
  force?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AA2VA,UAAU,WAAW;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AA2DD,wBAAsB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA2sB9D"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AA8XA,UAAU,WAAW;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AA2DD,wBAAsB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAmtB9D"}
@@ -12,30 +12,54 @@ import { DIR_NAMES, FILE_NAMES, PATHS } from "../constants/paths.js";
12
12
  import { VERSION } from "../constants/version.js";
13
13
  import { agentsMdContent } from "../templates/markdown/index.js";
14
14
  import { setWriteMode, writeFile, } from "../utils/file-writer.js";
15
- import { detectProjectType, detectMonorepo, } from "../utils/project-detector.js";
15
+ import { detectProjectType, detectMonorepo, sanitizePkgName, } from "../utils/project-detector.js";
16
16
  import { initializeHashes } from "../utils/template-hash.js";
17
17
  import { fetchTemplateIndex, probeRegistryIndex, downloadTemplateById, downloadRegistryDirect, parseRegistrySource, TIMEOUTS, TEMPLATE_INDEX_URL, } from "../utils/template-fetcher.js";
18
18
  import { setupProxy, maskProxyUrl } from "../utils/proxy.js";
19
19
  /**
20
- * Detect available Python command (python3 or python)
20
+ * Detect available Python command (python3 or python) and verify version >= 3.10
21
21
  */
22
22
  function getPythonCommand() {
23
- // Try python3 first (preferred on macOS/Linux)
24
- try {
25
- execSync("python3 --version", { stdio: "pipe" });
23
+ const MIN_MAJOR = 3;
24
+ const MIN_MINOR = 10;
25
+ function checkVersion(cmd) {
26
+ try {
27
+ const output = execSync(`${cmd} --version`, { stdio: "pipe" })
28
+ .toString()
29
+ .trim();
30
+ const match = output.match(/Python (\d+)\.(\d+)/);
31
+ if (!match)
32
+ return false;
33
+ const [, major, minor] = match.map(Number);
34
+ return major > MIN_MAJOR || (major === MIN_MAJOR && minor >= MIN_MINOR);
35
+ }
36
+ catch {
37
+ return false;
38
+ }
39
+ }
40
+ if (checkVersion("python3"))
26
41
  return "python3";
42
+ if (checkVersion("python"))
43
+ return "python";
44
+ // Check if Python exists but is too old
45
+ try {
46
+ const output = execSync("python3 --version", { stdio: "pipe" })
47
+ .toString()
48
+ .trim();
49
+ console.warn(chalk.yellow(`⚠️ ${output} detected, but Trellis requires Python ≥ 3.10`));
27
50
  }
28
51
  catch {
29
- // Fall back to python (common on Windows)
30
52
  try {
31
- execSync("python --version", { stdio: "pipe" });
32
- return "python";
53
+ const output = execSync("python --version", { stdio: "pipe" })
54
+ .toString()
55
+ .trim();
56
+ console.warn(chalk.yellow(`⚠️ ${output} detected, but Trellis requires Python ≥ 3.10`));
33
57
  }
34
58
  catch {
35
- // Default to python3, let it fail with a clear error
36
- return "python3";
59
+ // No Python at all
37
60
  }
38
61
  }
62
+ return "python3";
39
63
  }
40
64
  // =============================================================================
41
65
  // Bootstrap Task Creation
@@ -49,7 +73,7 @@ function getBootstrapPrdContent(projectType, packages) {
49
73
  Welcome to Trellis! This is your first task.
50
74
 
51
75
  AI agents use \`.trellis/spec/\` to understand YOUR project's coding conventions.
52
- **Empty templates = AI writes generic code that doesn't match your project style.**
76
+ **Starting from scratch = AI writes generic code that doesn't match your project style.**
53
77
 
54
78
  Filling these guidelines is a one-time setup that pays off for every future AI session.
55
79
 
@@ -102,7 +126,7 @@ Many projects already have coding conventions documented. **Check these first**
102
126
  | File / Directory | Tool |
103
127
  |------|------|
104
128
  | \`CLAUDE.md\` / \`CLAUDE.local.md\` | Claude Code |
105
- | \`AGENTS.md\` | Claude Code |
129
+ | \`AGENTS.md\` | Codex / Claude Code / agent-compatible tools |
106
130
  | \`.cursorrules\` | Cursor |
107
131
  | \`.cursor/rules/*.mdc\` | Cursor (rules directory) |
108
132
  | \`.windsurfrules\` | Windsurf |
@@ -164,12 +188,13 @@ After completing this task:
164
188
  // Monorepo: generate per-package sections
165
189
  for (const pkg of packages) {
166
190
  const pkgType = pkg.type === "unknown" ? "fullstack" : pkg.type;
167
- content += `\n### Package: ${pkg.name} (\`spec/${pkg.name}/\`)\n`;
191
+ const specName = sanitizePkgName(pkg.name);
192
+ content += `\n### Package: ${pkg.name} (\`spec/${specName}/\`)\n`;
168
193
  if (pkgType !== "frontend") {
169
- content += `\n- Backend guidelines: \`.trellis/spec/${pkg.name}/backend/\`\n`;
194
+ content += `\n- Backend guidelines: \`.trellis/spec/${specName}/backend/\`\n`;
170
195
  }
171
196
  if (pkgType !== "backend") {
172
- content += `\n- Frontend guidelines: \`.trellis/spec/${pkg.name}/frontend/\`\n`;
197
+ content += `\n- Frontend guidelines: \`.trellis/spec/${specName}/frontend/\`\n`;
173
198
  }
174
199
  }
175
200
  }
@@ -198,7 +223,7 @@ function getBootstrapTaskJson(developer, projectType, packages) {
198
223
  status: "pending",
199
224
  }));
200
225
  subtasks.push({ name: "Add code examples", status: "pending" });
201
- relatedFiles = packages.map((pkg) => `.trellis/spec/${pkg.name}/`);
226
+ relatedFiles = packages.map((pkg) => `.trellis/spec/${sanitizePkgName(pkg.name)}/`);
202
227
  }
203
228
  else if (projectType === "frontend") {
204
229
  subtasks = [
@@ -292,7 +317,7 @@ function writeMonorepoConfig(cwd, packages) {
292
317
  }
293
318
  const lines = ["\n# Auto-detected monorepo packages", "packages:"];
294
319
  for (const pkg of packages) {
295
- lines.push(` ${pkg.name}:`);
320
+ lines.push(` ${sanitizePkgName(pkg.name)}:`);
296
321
  lines.push(` path: ${pkg.path}`);
297
322
  if (pkg.isSubmodule) {
298
323
  lines.push(" type: submodule");
@@ -430,7 +455,7 @@ export async function init(options) {
430
455
  name: "specSource",
431
456
  message: `Spec source for ${pkg.name} (${pkg.path}):`,
432
457
  choices: [
433
- { name: "Blank spec (Trellis default)", value: "blank" },
458
+ { name: "From scratch (Trellis default)", value: "blank" },
434
459
  { name: "Download remote template", value: "remote" },
435
460
  ],
436
461
  default: "blank",
@@ -438,7 +463,7 @@ export async function init(options) {
438
463
  ]);
439
464
  if (specSource === "remote") {
440
465
  // Use existing template download flow, targeting spec/<name>/
441
- const destDir = path.join(cwd, PATHS.SPEC, pkg.name);
466
+ const destDir = path.join(cwd, PATHS.SPEC, sanitizePkgName(pkg.name));
442
467
  console.log(chalk.blue(`📦 Select template for ${pkg.name}...`));
443
468
  // Fetch templates if not already done
444
469
  const templates = await fetchTemplateIndex();
@@ -460,7 +485,7 @@ export async function init(options) {
460
485
  const result = await downloadTemplateById(cwd, templateId, templateStrategy, templates.find((t) => t.id === templateId), undefined, destDir);
461
486
  if (result.success) {
462
487
  console.log(chalk.green(` ${result.message}`));
463
- remoteSpecPackages.add(pkg.name);
488
+ remoteSpecPackages.add(sanitizePkgName(pkg.name));
464
489
  }
465
490
  else {
466
491
  console.log(chalk.yellow(` ${result.message}`));
@@ -476,10 +501,10 @@ export async function init(options) {
476
501
  else if (options.template) {
477
502
  // --template as default for all packages
478
503
  for (const pkg of detected) {
479
- const destDir = path.join(cwd, PATHS.SPEC, pkg.name);
504
+ const destDir = path.join(cwd, PATHS.SPEC, sanitizePkgName(pkg.name));
480
505
  const result = await downloadTemplateById(cwd, options.template, templateStrategy, undefined, registry, destDir);
481
506
  if (result.success && !result.skipped) {
482
- remoteSpecPackages.add(pkg.name);
507
+ remoteSpecPackages.add(sanitizePkgName(pkg.name));
483
508
  }
484
509
  }
485
510
  }
@@ -588,7 +613,7 @@ export async function init(options) {
588
613
  ? specTemplates
589
614
  : [
590
615
  {
591
- name: "blank (default - empty templates)",
616
+ name: "from scratch (default)",
592
617
  value: "blank",
593
618
  },
594
619
  ...specTemplates,
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,2BAA2B,GAC5B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAgB,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EACL,YAAY,EACZ,SAAS,GAEV,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,iBAAiB,EACjB,cAAc,GAGf,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,EACtB,mBAAmB,EACnB,QAAQ,EACR,kBAAkB,GAInB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAE7D;;GAEG;AACH,SAAS,gBAAgB;IACvB,+CAA+C;IAC/C,IAAI,CAAC;QACH,QAAQ,CAAC,mBAAmB,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QACjD,OAAO,SAAS,CAAC;IACnB,CAAC;IAAC,MAAM,CAAC;QACP,0CAA0C;QAC1C,IAAI,CAAC;YACH,QAAQ,CAAC,kBAAkB,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YAChD,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,MAAM,CAAC;YACP,qDAAqD;YACrD,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,0BAA0B;AAC1B,gFAAgF;AAEhF,MAAM,mBAAmB,GAAG,yBAAyB,CAAC;AAEtD,SAAS,sBAAsB,CAC7B,WAAwB,EACxB,QAA4B;IAE5B,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;CAgBhB,CAAC;IAEA,MAAM,cAAc,GAAG;;;;;;;;;;;CAWxB,CAAC;IAEA,MAAM,eAAe,GAAG;;;;;;;;;;;;CAYzB,CAAC;IAEA,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0EhB,CAAC;IAEA,IAAI,OAAO,GAAG,MAAM,CAAC;IAErB,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,0CAA0C;QAC1C,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;YAChE,OAAO,IAAI,kBAAkB,GAAG,CAAC,IAAI,YAAY,GAAG,CAAC,IAAI,QAAQ,CAAC;YAClE,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;gBAC3B,OAAO,IAAI,2CAA2C,GAAG,CAAC,IAAI,eAAe,CAAC;YAChF,CAAC;YACD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,OAAO,IAAI,4CAA4C,GAAG,CAAC,IAAI,gBAAgB,CAAC;YAClF,CAAC;QACH,CAAC;IACH,CAAC;SAAM,IAAI,WAAW,KAAK,UAAU,EAAE,CAAC;QACtC,OAAO,IAAI,eAAe,CAAC;IAC7B,CAAC;SAAM,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QACrC,OAAO,IAAI,cAAc,CAAC;IAC5B,CAAC;SAAM,CAAC;QACN,YAAY;QACZ,OAAO,IAAI,cAAc,CAAC;QAC1B,OAAO,IAAI,eAAe,CAAC;IAC7B,CAAC;IACD,OAAO,IAAI,MAAM,CAAC;IAElB,OAAO,OAAO,CAAC;AACjB,CAAC;AAsBD,SAAS,oBAAoB,CAC3B,SAAiB,EACjB,WAAwB,EACxB,QAA4B;IAE5B,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAErD,IAAI,QAA4C,CAAC;IACjD,IAAI,YAAsB,CAAC;IAE3B,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,gCAAgC;QAChC,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAChC,IAAI,EAAE,uBAAuB,GAAG,CAAC,IAAI,EAAE;YACvC,MAAM,EAAE,SAAS;SAClB,CAAC,CAAC,CAAC;QACJ,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QAChE,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,iBAAiB,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;IACrE,CAAC;SAAM,IAAI,WAAW,KAAK,UAAU,EAAE,CAAC;QACtC,QAAQ,GAAG;YACT,EAAE,IAAI,EAAE,0BAA0B,EAAE,MAAM,EAAE,SAAS,EAAE;YACvD,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,SAAS,EAAE;SACjD,CAAC;QACF,YAAY,GAAG,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;SAAM,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QACrC,QAAQ,GAAG;YACT,EAAE,IAAI,EAAE,yBAAyB,EAAE,MAAM,EAAE,SAAS,EAAE;YACtD,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,SAAS,EAAE;SACjD,CAAC;QACF,YAAY,GAAG,CAAC,wBAAwB,CAAC,CAAC;IAC5C,CAAC;SAAM,CAAC;QACN,YAAY;QACZ,QAAQ,GAAG;YACT,EAAE,IAAI,EAAE,yBAAyB,EAAE,MAAM,EAAE,SAAS,EAAE;YACtD,EAAE,IAAI,EAAE,0BAA0B,EAAE,MAAM,EAAE,SAAS,EAAE;YACvD,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,SAAS,EAAE;SACjD,CAAC;QACF,YAAY,GAAG,CAAC,wBAAwB,EAAE,yBAAyB,CAAC,CAAC;IACvE,CAAC;IAED,OAAO;QACL,EAAE,EAAE,mBAAmB;QACvB,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EAAE,sDAAsD;QACnE,MAAM,EAAE,aAAa;QACrB,QAAQ,EAAE,MAAM;QAChB,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,SAAS;QAClB,QAAQ,EAAE,SAAS;QACnB,SAAS,EAAE,KAAK;QAChB,WAAW,EAAE,IAAI;QACjB,MAAM,EAAE,IAAI;QACZ,QAAQ;QACR,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,IAAI;QACZ,YAAY;QACZ,KAAK,EAAE,kDAAkD,WAAW,WAAW;QAC/E,IAAI,EAAE,EAAE;KACT,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAC1B,GAAW,EACX,SAAiB,EACjB,WAAwB,EACxB,QAA4B;IAE5B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;IACjE,MAAM,gBAAgB,GAAG,GAAG,KAAK,CAAC,KAAK,IAAI,mBAAmB,EAAE,CAAC;IAEjE,0BAA0B;IAC1B,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC,CAAC,+BAA+B;IAC9C,CAAC;IAED,IAAI,CAAC;QACH,wBAAwB;QACxB,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE3C,kBAAkB;QAClB,MAAM,QAAQ,GAAG,oBAAoB,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;QACxE,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,EACxC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EACjC,OAAO,CACR,CAAC;QAEF,eAAe;QACf,MAAM,UAAU,GAAG,sBAAsB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QACjE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QAE1E,sBAAsB;QACtB,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAChE,EAAE,CAAC,aAAa,CAAC,eAAe,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC;QAE7D,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AA8BD,MAAM,aAAa,GAA6B,IAAI,CAAC;AAErD;;;GAGG;AACH,SAAS,mBAAmB,CAAC,GAAW,EAAE,QAA2B;IACnE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IACrE,IAAI,OAAO,GAAG,EAAE,CAAC;IAEjB,IAAI,CAAC;QACH,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;QACP,qEAAqE;QACrE,OAAO;IACT,CAAC;IAED,6DAA6D;IAC7D,IAAI,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACnC,OAAO;IACT,CAAC;IAED,MAAM,KAAK,GAAG,CAAC,qCAAqC,EAAE,WAAW,CAAC,CAAC;IACnE,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QACpC,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;YACpB,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,wEAAwE;IACxE,MAAM,UAAU,GACd,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,IAAI,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;IAClE,IAAI,UAAU,EAAE,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,oBAAoB,UAAU,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,EAAE,CAAC,aAAa,CACd,UAAU,EACV,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,EAClD,OAAO,CACR,CAAC;AACJ,CAAC;AAQD,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,OAAoB;IAC7C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAE1B,kEAAkE;IAClE,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IACjD,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CACR,mEAAmE,CACpE,CACF,CAAC;IAEF,wCAAwC;IACxC,MAAM,QAAQ,GAAG,UAAU,EAAE,CAAC;IAC9B,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IACzE,CAAC;IAED,kCAAkC;IAClC,IAAI,SAAS,GAAc,KAAK,CAAC;IACjC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,SAAS,GAAG,OAAO,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC,CAAC;IACpE,CAAC;SAAM,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QAChC,SAAS,GAAG,MAAM,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC;IACzD,CAAC;IACD,YAAY,CAAC,SAAS,CAAC,CAAC;IAExB,mDAAmD;IACnD,IAAI,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IACjC,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,0DAA0D;QAC1D,MAAM,SAAS,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;QACxD,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC;gBACH,aAAa,GAAG,QAAQ,CAAC,sBAAsB,EAAE;oBAC/C,GAAG;oBACH,QAAQ,EAAE,OAAO;iBAClB,CAAC,CAAC,IAAI,EAAE,CAAC;YACZ,CAAC;YAAC,MAAM,CAAC;gBACP,+CAA+C;YACjD,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;IACtE,CAAC;SAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QACxB,6DAA6D;QAC7D,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CACR,wEAAwE;YACtE,wBAAwB,KAAK,CAAC,SAAS,mCAAmC;YAC1E,kEAAkE,CACrE,CACF,CAAC;QACF,aAAa,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC,CAAC;QAC9C,OAAO,CAAC,aAAa,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC;YAC9C,aAAa,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,2CAA2C;IAC3C,MAAM,YAAY,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAE5C,mFAAmF;IACnF,IAAI,QAAoC,CAAC;IACzC,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrB,IAAI,CAAC;YACH,QAAQ,GAAG,mBAAmB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CACP,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,yBAAyB,CACnE,CACF,CAAC;YACF,OAAO;QACT,CAAC;IACH,CAAC;IAED,qFAAqF;IACrF,IAAI,gBAAgB,GAAqB,MAAM,CAAC;IAChD,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,gBAAgB,GAAG,WAAW,CAAC;IACjC,CAAC;SAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QAC1B,gBAAgB,GAAG,QAAQ,CAAC;IAC9B,CAAC;IAED,6EAA6E;IAC7E,qBAAqB;IACrB,6EAA6E;IAE7E,IAAI,gBAA+C,CAAC;IACpD,IAAI,kBAA2C,CAAC;IAEhD,IAAI,OAAO,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;QAC/B,+EAA+E;QAC/E,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;QAErC,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC3C,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CACP,kEAAkE,CACnE,CACF,CAAC;YACF,OAAO;QACT,CAAC;QAED,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,IAAI,cAAc,GAAG,KAAK,CAAC;YAE3B,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;gBAC7C,cAAc,GAAG,IAAI,CAAC;YACxB,CAAC;iBAAM,CAAC;gBACN,iCAAiC;gBACjC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC,CAAC;gBAC5D,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;oBAC3B,MAAM,GAAG,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC9D,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;wBAC5B,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,GAAG,CAAC;wBAC5B,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,GAAG,CAAC;wBAC5B,GAAG,CACN,CAAC;gBACJ,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAEhB,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAE1C;oBACD;wBACE,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,aAAa;wBACnB,OAAO,EAAE,uBAAuB;wBAChC,OAAO,EAAE,IAAI;qBACd;iBACF,CAAC,CAAC;gBACH,cAAc,GAAG,WAAW,CAAC;YAC/B,CAAC;YAED,IAAI,cAAc,EAAE,CAAC;gBACnB,gBAAgB,GAAG,QAAQ,CAAC;gBAC5B,kBAAkB,GAAG,IAAI,GAAG,EAAU,CAAC;gBAEvC,sEAAsE;gBACtE,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;oBACtC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;wBAC3B,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAEzC;4BACD;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,YAAY;gCAClB,OAAO,EAAE,mBAAmB,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,IAAI;gCACrD,OAAO,EAAE;oCACP,EAAE,IAAI,EAAE,8BAA8B,EAAE,KAAK,EAAE,OAAO,EAAE;oCACxD,EAAE,IAAI,EAAE,0BAA0B,EAAE,KAAK,EAAE,QAAQ,EAAE;iCACtD;gCACD,OAAO,EAAE,OAAO;6BACjB;yBACF,CAAC,CAAC;wBAEH,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;4BAC5B,8DAA8D;4BAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;4BACrD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,0BAA0B,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;4BACjE,sCAAsC;4BACtC,MAAM,SAAS,GAAG,MAAM,kBAAkB,EAAE,CAAC;4BAC7C,MAAM,aAAa,GAAG,SAAS;iCAC5B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC;iCAChC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gCACX,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,GAAG;gCAC3B,KAAK,EAAE,CAAC,CAAC,EAAE;6BACZ,CAAC,CAAC,CAAC;4BAEN,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gCAC7B,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAEzC;oCACD;wCACE,IAAI,EAAE,MAAM;wCACZ,IAAI,EAAE,YAAY;wCAClB,OAAO,EAAE,uBAAuB,GAAG,CAAC,IAAI,GAAG;wCAC3C,OAAO,EAAE,aAAa;qCACvB;iCACF,CAAC,CAAC;gCAEH,MAAM,MAAM,GAAG,MAAM,oBAAoB,CACvC,GAAG,EACH,UAAU,EACV,gBAAgB,EAChB,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,UAAU,CAAC,EAC1C,SAAS,EACT,OAAO,CACR,CAAC;gCAEF,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oCACnB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;oCACjD,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gCACnC,CAAC;qCAAM,CAAC;oCACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;oCAClD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC,CAAC;gCAC9D,CAAC;4BACH,CAAC;iCAAM,CAAC;gCACN,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAC3D,CAAC;4BACJ,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;qBAAM,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;oBAC5B,yCAAyC;oBACzC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;wBAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;wBACrD,MAAM,MAAM,GAAG,MAAM,oBAAoB,CACvC,GAAG,EACH,OAAO,CAAC,QAAQ,EAChB,gBAAgB,EAChB,SAAS,EACT,QAAQ,EACR,OAAO,CACR,CAAC;wBACF,IAAI,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;4BACtC,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;wBACnC,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,kDAAkD;IAClD,MAAM,KAAK,GAAG,kBAAkB,EAAE,CAAC;IAEnC,kCAAkC;IAClC,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAChC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,GAAwB,CAAC,CAC3C,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAEpB,IAAI,KAAe,CAAC;IAEpB,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,4DAA4D;QAC5D,KAAK,GAAG,aAAa,CAAC;IACxB,CAAC;SAAM,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QACvB,uDAAuD;QACvD,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAClE,CAAC;SAAM,CAAC;QACN,mBAAmB;QACnB,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAc;YACjD;gBACE,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,+BAA+B;gBACxC,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACzB,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,KAAK,EAAE,CAAC,CAAC,GAAG;oBACZ,OAAO,EAAE,CAAC,CAAC,cAAc;iBAC1B,CAAC,CAAC;aACJ;SACF,CAAC,CAAC;QACH,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IACxB,CAAC;IAED,0CAA0C;IAC1C,MAAM,WAAW,GACf,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC;IAE1D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CAAC,mDAAmD,CAAC,CAClE,CAAC;QACF,OAAO;IACT,CAAC;IAED,6EAA6E;IAC7E,0EAA0E;IAC1E,6EAA6E;IAE7E,IAAI,gBAAgB,GAAkB,IAAI,CAAC;IAE3C,0FAA0F;IAC1F,IAAI,gBAAgB,GAAmB,EAAE,CAAC;IAE1C,4CAA4C;IAC5C,MAAM,QAAQ,GAAG,QAAQ;QACvB,CAAC,CAAC,GAAG,QAAQ,CAAC,UAAU,aAAa;QACrC,CAAC,CAAC,kBAAkB,CAAC;IAEvB,IAAI,gBAAgB,EAAE,CAAC;QACrB,qDAAqD;IACvD,CAAC;SAAM,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC5B,yCAAyC;QACzC,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC;IACtC,CAAC;SAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QACxB,4CAA4C;QAC5C,MAAM,UAAU,GAAG,QAAQ,CAAC,cAAc,GAAG,IAAI,CAAC;QAClD,MAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,kBAAkB,CAAC;QACzE,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CAAC,wCAAwC,WAAW,EAAE,CAAC,CAClE,CAAC;QACF,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE;YAC9B,OAAO,EAAE,CAAC;YACV,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,KAAK,KAAK,CAAC,IAAI,CAAC,iBAAiB,OAAO,KAAK,UAAU,GAAG,CAAC,EAAE,CAC9D,CAAC;QACJ,CAAC,EAAE,IAAI,CAAC,CAAC;QACT,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,UAAU,GAAG,CAAC,CAAC,CAAC;QACpE,IAAI,SAAyB,CAAC;QAC9B,IAAI,qBAAqB,GAAG,KAAK,CAAC;QAClC,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC,QAAQ,CAAC,CAAC;YACvD,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;YAClC,qBAAqB,GAAG,WAAW,CAAC,UAAU,CAAC;QACjD,CAAC;aAAM,CAAC;YACN,SAAS,GAAG,MAAM,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACjD,CAAC;QACD,aAAa,CAAC,MAAM,CAAC,CAAC;QACtB,yBAAyB;QACzB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAClC,gBAAgB,GAAG,SAAS,CAAC;QAE7B,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,IAAI,qBAAqB,EAAE,CAAC;YAChE,4EAA4E;YAC5E,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CACR,4EAA4E,CAC7E,CACF,CAAC;QACJ,CAAC;aAAM,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,EAAE,CAAC;YAC9C,0EAA0E;YAC1E,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CACP,mFAAmF,CACpF,CACF,CAAC;YACF,OAAO;QACT,CAAC;aAAM,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClC,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CACR,+DAA+D,CAChE,CACF,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC;QACzD,CAAC;QAED,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,yBAAyB;YACzB,MAAM,aAAa,GAAG,SAAS;iBAC5B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC;iBAChC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACX,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,GAAG;gBAC3B,KAAK,EAAE,CAAC,CAAC,EAAE;aACZ,CAAC,CAAC,CAAC;YAEN,MAAM,eAAe,GAAG,QAAQ;gBAC9B,CAAC,CAAC,aAAa;gBACf,CAAC,CAAC;oBACE;wBACE,IAAI,EAAE,mCAAmC;wBACzC,KAAK,EAAE,OAAO;qBACf;oBACD,GAAG,aAAa;oBAChB;wBACE,IAAI,EAAE,kCAAkC;wBACxC,KAAK,EAAE,YAAY;qBACpB;iBACF,CAAC;YAEN,sEAAsE;YACtE,IAAI,cAAc,GAAG,KAAK,CAAC;YAC3B,OAAO,eAAe,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACrD,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAuB;oBACjE;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,UAAU;wBAChB,OAAO,EAAE,yBAAyB;wBAClC,OAAO,EAAE,eAAe;wBACxB,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO;qBACxC;iBACF,CAAC,CAAC;gBAEH,IAAI,cAAc,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;oBAC7C,6DAA6D;oBAC7D,MAAM,YAAY,GAAG,MAAM,QAAQ,CACjC,kFAAkF,CACnF,CAAC;oBACF,IAAI,CAAC,YAAY,EAAE,CAAC;wBAClB,SAAS,CAAC,iBAAiB;oBAC7B,CAAC;oBACD,IAAI,CAAC;wBACH,QAAQ,GAAG,mBAAmB,CAAC,YAAY,CAAC,CAAC;wBAC7C,gBAAgB,GAAG,EAAE,CAAC,CAAC,iDAAiD;wBACxE,4DAA4D;wBAC5D,MAAM,cAAc,GAAG,GAAG,QAAQ,CAAC,UAAU,aAAa,CAAC;wBAC3D,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CACR,gCAAgC,QAAQ,CAAC,WAAW,KAAK,CAC1D,CACF,CAAC;wBACF,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC,cAAc,CAAC,CAAC;wBAC7D,MAAM,eAAe,GAAG,WAAW,CAAC,SAAS,CAAC;wBAC9C,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAC/B,sDAAsD;4BACtD,gBAAgB,GAAG,eAAe,CAAC;4BACnC,MAAM,aAAa,GAAG,eAAe;iCAClC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC;iCAChC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gCACX,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,GAAG;gCAC3B,KAAK,EAAE,CAAC,CAAC,EAAE;6BACZ,CAAC,CAAC,CAAC;4BACN,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gCAC7B,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,MAAM,CAEvC;oCACD;wCACE,IAAI,EAAE,MAAM;wCACZ,IAAI,EAAE,UAAU;wCAChB,OAAO,EAAE,yBAAyB;wCAClC,OAAO,EAAE,aAAa;qCACvB;iCACF,CAAC,CAAC;gCACH,gBAAgB,GAAG,YAAY,CAAC,QAAQ,CAAC;gCAEzC,4DAA4D;gCAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gCAC3C,IACE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;oCACtB,CAAC,OAAO,CAAC,SAAS;oCAClB,CAAC,OAAO,CAAC,MAAM,EACf,CAAC;oCACD,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,MAAM,CAEvC;wCACD;4CACE,IAAI,EAAE,MAAM;4CACZ,IAAI,EAAE,QAAQ;4CACd,OAAO,EAAE,aAAa,KAAK,CAAC,IAAI,0CAA0C;4CAC1E,OAAO,EAAE;gDACP,EAAE,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAE,MAAM,EAAE;gDAC/C;oDACE,IAAI,EAAE,yBAAyB;oDAC/B,KAAK,EAAE,WAAW;iDACnB;gDACD;oDACE,IAAI,EAAE,iCAAiC;oDACvC,KAAK,EAAE,QAAQ;iDAChB;6CACF;4CACD,OAAO,EAAE,MAAM;yCAChB;qCACF,CAAC,CAAC;oCACH,gBAAgB,GAAG,YAAY,CAAC,MAAM,CAAC;gCACzC,CAAC;4BACH,CAAC;4BACD,cAAc,GAAG,IAAI,CAAC;wBACxB,CAAC;6BAAM,IAAI,WAAW,CAAC,UAAU,EAAE,CAAC;4BAClC,uCAAuC;4BACvC,cAAc,GAAG,IAAI,CAAC;wBACxB,CAAC;6BAAM,CAAC;4BACN,2DAA2D;4BAC3D,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CACV,qFAAqF,CACtF,CACF,CAAC;4BACF,QAAQ,GAAG,SAAS,CAAC,CAAC,oDAAoD;wBAC5E,CAAC;oBACH,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CACP,KAAK,YAAY,KAAK;4BACpB,CAAC,CAAC,KAAK,CAAC,OAAO;4BACf,CAAC,CAAC,yBAAyB,CAC9B,CACF,CAAC;wBACF,sBAAsB;oBACxB,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,cAAc,GAAG,IAAI,CAAC;oBACtB,IAAI,cAAc,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;wBACxC,gBAAgB,GAAG,cAAc,CAAC,QAAQ,CAAC;wBAE3C,4DAA4D;wBAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;wBAC3C,IACE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;4BACtB,CAAC,OAAO,CAAC,SAAS;4BAClB,CAAC,OAAO,CAAC,MAAM,EACf,CAAC;4BACD,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,MAAM,CAEvC;gCACD;oCACE,IAAI,EAAE,MAAM;oCACZ,IAAI,EAAE,QAAQ;oCACd,OAAO,EAAE,aAAa,KAAK,CAAC,IAAI,0CAA0C;oCAC1E,OAAO,EAAE;wCACP,EAAE,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAE,MAAM,EAAE;wCAC/C,EAAE,IAAI,EAAE,yBAAyB,EAAE,KAAK,EAAE,WAAW,EAAE;wCACvD;4CACE,IAAI,EAAE,iCAAiC;4CACvC,KAAK,EAAE,QAAQ;yCAChB;qCACF;oCACD,OAAO,EAAE,MAAM;iCAChB;6BACF,CAAC,CAAC;4BACH,gBAAgB,GAAG,YAAY,CAAC,MAAM,CAAC;wBACzC,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,2EAA2E;IAC3E,0DAA0D;IAC1D,IAAI,OAAO,CAAC,GAAG,IAAI,QAAQ,IAAI,CAAC,gBAAgB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtE,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAC1C,GAAG,QAAQ,CAAC,UAAU,aAAa,CACpC,CAAC;QACF,IAAI,WAAW,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrC,sEAAsE;YACtE,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CACP,4DAA4D;gBAC1D,mFAAmF,CACtF,CACF,CAAC;YACF,OAAO;QACT,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;YAC5B,0EAA0E;YAC1E,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CACP,uFAAuF,CACxF,CACF,CAAC;YACF,OAAO;QACT,CAAC;QACD,+FAA+F;IACjG,CAAC;IAED,6EAA6E;IAC7E,qEAAqE;IACrE,6EAA6E;IAE7E,IAAI,iBAAiB,GAAG,KAAK,CAAC;IAE9B,IAAI,gBAAgB,EAAE,CAAC;QACrB,qDAAqD;QACrD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,4BAA4B,gBAAgB,MAAM,CAAC,CAAC,CAAC;QAC5E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC,CAAC;QAE1E,sDAAsD;QACtD,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,gBAAgB,CAAC,CAAC;QAE3E,MAAM,MAAM,GAAG,MAAM,oBAAoB,CACvC,GAAG,EACH,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,EACV,QAAQ,CACT,CAAC;QAEF,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAClD,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;gBACjD,iBAAiB,GAAG,IAAI,CAAC;YAC3B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAClD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC,CAAC;YACjE,MAAM,QAAQ,GAAG,QAAQ;gBACvB,CAAC,CAAC,2BAA2B,QAAQ,CAAC,WAAW,eAAe,gBAAgB,EAAE;gBAClF,CAAC,CAAC,2BAA2B,gBAAgB,EAAE,CAAC;YAClD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,2BAA2B,QAAQ,EAAE,CAAC,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;SAAM,IAAI,QAAQ,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrD,gFAAgF;QAChF,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CAAC,4BAA4B,QAAQ,CAAC,WAAW,KAAK,CAAC,CAClE,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC,CAAC;QAE1E,kDAAkD;QAClD,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3C,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3B,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,MAAM,CAEvC;oBACD;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,QAAQ;wBACd,OAAO,EAAE,aAAa,KAAK,CAAC,IAAI,0CAA0C;wBAC1E,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAE,MAAM,EAAE;4BAC/C,EAAE,IAAI,EAAE,yBAAyB,EAAE,KAAK,EAAE,WAAW,EAAE;4BACvD,EAAE,IAAI,EAAE,iCAAiC,EAAE,KAAK,EAAE,QAAQ,EAAE;yBAC7D;wBACD,OAAO,EAAE,MAAM;qBAChB;iBACF,CAAC,CAAC;gBACH,gBAAgB,GAAG,YAAY,CAAC,MAAM,CAAC;YACzC,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,sBAAsB,CACzC,GAAG,EACH,QAAQ,EACR,gBAAgB,CACjB,CAAC;QAEF,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAClD,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;gBACjD,iBAAiB,GAAG,IAAI,CAAC;YAC3B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAClD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC,CAAC;YACjE,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CACR,mDAAmD,QAAQ,CAAC,WAAW,EAAE,CAC1E,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,6EAA6E;IAC7E,4BAA4B;IAC5B,6EAA6E;IAE7E,8CAA8C;IAC9C,oCAAoC;IACpC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC,CAAC;IAC7D,MAAM,uBAAuB,CAAC,GAAG,EAAE;QACjC,WAAW;QACX,UAAU,EAAE,IAAI;QAChB,iBAAiB,EAAE,iBAAiB;QACpC,QAAQ,EAAE,gBAAgB;QAC1B,kBAAkB;KACnB,CAAC,CAAC;IAEH,iEAAiE;IACjE,IAAI,gBAAgB,EAAE,CAAC;QACrB,mBAAmB,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC,CAAC;IACzE,CAAC;IAED,yCAAyC;IACzC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACnE,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAEvC,sEAAsE;IACtE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,QAAQ,CAAC,UAAU,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;YAC1E,MAAM,iBAAiB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,yCAAyC;IACzC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,MAAM,eAAe,GAAG,2BAA2B,EAAE,CAAC;QACtD,MAAM,yBAAyB,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAC5D,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CACrC,CAAC;QACF,IAAI,yBAAyB,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CAAC,+CAA+C,CAAC,CAC9D,CAAC;QACJ,CAAC;IACH,CAAC;IAED,qCAAqC;IACrC,MAAM,eAAe,CAAC,GAAG,CAAC,CAAC;IAE3B,uDAAuD;IACvD,MAAM,WAAW,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAC1C,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CAAC,eAAe,WAAW,6BAA6B,CAAC,CACpE,CAAC;IACJ,CAAC;IAED,qDAAqD;IACrD,IAAI,aAAa,EAAE,CAAC;QAClB,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,gBAAgB,EAAE,CAAC;YACrC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;YACtE,QAAQ,CAAC,GAAG,SAAS,KAAK,UAAU,MAAM,aAAa,GAAG,EAAE;gBAC1D,GAAG;gBACH,KAAK,EAAE,MAAM,EAAE,SAAS;aACzB,CAAC,CAAC;YAEH,iEAAiE;YACjE,mBAAmB,CAAC,GAAG,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,CAAC,CAAC;QACzE,CAAC;QAAC,MAAM,CAAC;YACP,2DAA2D;QAC7D,CAAC;IACH,CAAC;IAED,gCAAgC;IAChC,gBAAgB,EAAE,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,SAAS,QAAQ,CAAC,MAAc;IAC9B,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC;QAClC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC;IAEH,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;YAC7B,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,GAAW;IACxC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAE/C,gCAAgC;IAChC,MAAM,aAAa,GAAG,MAAM,SAAS,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IACnE,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAClD,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,gBAAgB;IACvB,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,kCAAkC,CAAC,CACjD,CAAC;IAEF,wDAAwD;IACxD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,wCAAwC,CAAC,CAAC;IACzE,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;QACjB,KAAK,CAAC,KAAK,CAAC,yDAAyD,CAAC,CACzE,CAAC;IACF,uFAAuF;IACvF,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;QACd,yEAAyE,CAC5E,CAAC;IACF,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;QACjB,KAAK,CAAC,KAAK,CAAC,uDAAuD,CAAC,CACvE,CAAC;IACF,wDAAwD;IACxD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,sCAAsC,CAAC,CAAC;IACvE,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;QACjB,KAAK,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAChE,CAAC;IACF,4CAA4C;IAC5C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,sCAAsC,CAAC,CAAC;IACvE,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;QACjB,KAAK,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAChE,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,aAAa,EAKd,MAAM,uBAAuB,CAAC;AAyD/B,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AA2LD;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CA6DzD;AAyrBD;;;GAGG;AACH,0CAA0C;AAC1C,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAgCnE;AAED;;;;GAIG;AACH,0CAA0C;AAC1C,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,aAAa,EAAE,GAC1B,aAAa,EAAE,CAajB;AAsLD;;GAEG;AACH,wBAAsB,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAspBlE"}
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EACV,aAAa,EAKd,MAAM,uBAAuB,CAAC;AA8B/B,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AA2LD;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CA6DzD;AA6rBD;;;GAGG;AACH,0CAA0C;AAC1C,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAgCnE;AAED;;;;GAIG;AACH,0CAA0C;AAC1C,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,aAAa,EAAE,GAC1B,aAAa,EAAE,CAajB;AAsLD;;GAEG;AACH,wBAAsB,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA+qBlE"}
@@ -9,15 +9,7 @@ import { loadHashes, saveHashes, updateHashes, isTemplateModified, removeHash, r
9
9
  import { compareVersions } from "../utils/compare-versions.js";
10
10
  import { setupProxy } from "../utils/proxy.js";
11
11
  // Import templates for comparison
12
- import {
13
- // Python scripts - package init
14
- scriptsInit,
15
- // Python scripts - common
16
- commonInit, commonPaths, commonDeveloper, commonGitContext, commonWorktree, commonTaskQueue, commonTaskUtils, commonPhase, commonRegistry, commonCliAdapter, commonConfig,
17
- // Python scripts - multi_agent
18
- multiAgentInit, multiAgentStart, multiAgentCleanup, multiAgentStatus, multiAgentCreatePr, multiAgentPlan,
19
- // Python scripts - main
20
- getDeveloperScript, initDeveloperScript, taskScript, getContextScript, addSessionScript, createBootstrapScript,
12
+ import { getAllScripts,
21
13
  // Configuration
22
14
  configYamlTemplate, worktreeYamlTemplate, gitignoreTemplate, } from "../templates/trellis/index.js";
23
15
  import { ALL_MANAGED_DIRS, getConfiguredPlatforms, collectPlatformTemplates, isManagedPath, isManagedRootDir, } from "../configurators/index.js";
@@ -205,37 +197,39 @@ export function loadUpdateSkipPaths(cwd) {
205
197
  * Collect all template files that should be managed by update
206
198
  * Only collects templates for platforms that are already configured (have directories)
207
199
  */
208
- function collectTemplateFiles(cwd) {
200
+ /**
201
+ * Detect if legacy Codex upgrade is needed.
202
+ *
203
+ * Old Trellis versions used `.agents/skills/` as codex's configDir.
204
+ * New versions use `.codex/` for Codex-specific config and `.agents/skills/`
205
+ * as a shared layer.
206
+ *
207
+ * Detection: Trellis-tracked hashes contain `.agents/skills/` entries
208
+ * but `.codex/` does not exist. This avoids misclassifying repos that
209
+ * have `.agents/skills/` from other tools (Kimi CLI, Amp, etc.).
210
+ *
211
+ * Returns true if upgrade is needed. Does NOT perform the upgrade —
212
+ * caller should run configurePlatform("codex") after backup/confirm.
213
+ */
214
+ function needsCodexUpgrade(cwd) {
215
+ if (fs.existsSync(path.join(cwd, ".codex"))) {
216
+ return false;
217
+ }
218
+ const hashes = loadHashes(cwd);
219
+ return Object.keys(hashes).some((key) => key.startsWith(".agents/skills/"));
220
+ }
221
+ function collectTemplateFiles(cwd, extraPlatforms) {
209
222
  const files = new Map();
210
223
  const platforms = getConfiguredPlatforms(cwd);
211
- // Python scripts - package init
212
- files.set(`${PATHS.SCRIPTS}/__init__.py`, scriptsInit);
213
- // Python scripts - common
214
- files.set(`${PATHS.SCRIPTS}/common/__init__.py`, commonInit);
215
- files.set(`${PATHS.SCRIPTS}/common/paths.py`, commonPaths);
216
- files.set(`${PATHS.SCRIPTS}/common/developer.py`, commonDeveloper);
217
- files.set(`${PATHS.SCRIPTS}/common/git_context.py`, commonGitContext);
218
- files.set(`${PATHS.SCRIPTS}/common/worktree.py`, commonWorktree);
219
- files.set(`${PATHS.SCRIPTS}/common/task_queue.py`, commonTaskQueue);
220
- files.set(`${PATHS.SCRIPTS}/common/task_utils.py`, commonTaskUtils);
221
- files.set(`${PATHS.SCRIPTS}/common/phase.py`, commonPhase);
222
- files.set(`${PATHS.SCRIPTS}/common/registry.py`, commonRegistry);
223
- files.set(`${PATHS.SCRIPTS}/common/cli_adapter.py`, commonCliAdapter);
224
- files.set(`${PATHS.SCRIPTS}/common/config.py`, commonConfig);
225
- // Python scripts - multi_agent
226
- files.set(`${PATHS.SCRIPTS}/multi_agent/__init__.py`, multiAgentInit);
227
- files.set(`${PATHS.SCRIPTS}/multi_agent/start.py`, multiAgentStart);
228
- files.set(`${PATHS.SCRIPTS}/multi_agent/cleanup.py`, multiAgentCleanup);
229
- files.set(`${PATHS.SCRIPTS}/multi_agent/status.py`, multiAgentStatus);
230
- files.set(`${PATHS.SCRIPTS}/multi_agent/create_pr.py`, multiAgentCreatePr);
231
- files.set(`${PATHS.SCRIPTS}/multi_agent/plan.py`, multiAgentPlan);
232
- // Python scripts - main
233
- files.set(`${PATHS.SCRIPTS}/init_developer.py`, initDeveloperScript);
234
- files.set(`${PATHS.SCRIPTS}/get_developer.py`, getDeveloperScript);
235
- files.set(`${PATHS.SCRIPTS}/task.py`, taskScript);
236
- files.set(`${PATHS.SCRIPTS}/get_context.py`, getContextScript);
237
- files.set(`${PATHS.SCRIPTS}/add_session.py`, addSessionScript);
238
- files.set(`${PATHS.SCRIPTS}/create_bootstrap.py`, createBootstrapScript);
224
+ if (extraPlatforms) {
225
+ for (const p of extraPlatforms) {
226
+ platforms.add(p);
227
+ }
228
+ }
229
+ // Python scripts (single source of truth: getAllScripts())
230
+ for (const [scriptPath, content] of getAllScripts()) {
231
+ files.set(`${PATHS.SCRIPTS}/${scriptPath}`, content);
232
+ }
239
233
  // Configuration
240
234
  files.set(`${DIR_NAMES.WORKFLOW}/config.yaml`, configYamlTemplate);
241
235
  files.set(`${DIR_NAMES.WORKFLOW}/worktree.yaml`, worktreeYamlTemplate);
@@ -1071,8 +1065,13 @@ export async function update(options) {
1071
1065
  console.log(chalk.gray(" Template updates will still be applied."));
1072
1066
  console.log(chalk.gray(" Safe file cleanup will still run (hash-verified).\n"));
1073
1067
  }
1068
+ // Detect legacy Codex (has .agents/skills/ tracked by Trellis but no .codex/)
1069
+ const codexUpgradeNeeded = needsCodexUpgrade(cwd);
1070
+ if (codexUpgradeNeeded) {
1071
+ console.log(chalk.yellow(" Legacy Codex detected: .agents/skills/ tracked without .codex/ — will create .codex/ directory"));
1072
+ }
1074
1073
  // Collect templates (used for both migration classification and change analysis)
1075
- const templates = collectTemplateFiles(cwd);
1074
+ const templates = collectTemplateFiles(cwd, codexUpgradeNeeded ? new Set(["codex"]) : undefined);
1076
1075
  // Load update.skip paths (used for both safe-file-delete and template collection)
1077
1076
  const skipPaths = loadUpdateSkipPaths(cwd);
1078
1077
  // Collect safe-file-delete items from ALL manifests (hash match is the safety net)
@@ -1398,11 +1397,23 @@ export async function update(options) {
1398
1397
  // Check if task already exists
1399
1398
  if (!fs.existsSync(taskDir)) {
1400
1399
  fs.mkdirSync(taskDir, { recursive: true });
1401
- // Get current developer for assignee
1400
+ // Get current developer for assignee.
1401
+ // `.developer` is a key=value file (written by init_developer.py):
1402
+ // name=<developer-name>
1403
+ // initialized_at=<iso8601>
1404
+ // Reading it raw and .trim()-ing embeds the entire file contents
1405
+ // (including the `name=` prefix and the `initialized_at` line) into
1406
+ // the assignee field, producing bogus assignees like
1407
+ // "name=suyuan\ninitialized_at=2026-04-07T23:41:21.978312" that
1408
+ // later break session-start task rendering.
1402
1409
  const developerFile = path.join(cwd, DIR_NAMES.WORKFLOW, ".developer");
1403
1410
  let currentDeveloper = "unknown";
1404
1411
  if (fs.existsSync(developerFile)) {
1405
- currentDeveloper = fs.readFileSync(developerFile, "utf-8").trim();
1412
+ const raw = fs.readFileSync(developerFile, "utf-8");
1413
+ const nameMatch = raw.match(/^\s*name\s*=\s*(.+?)\s*$/m);
1414
+ if (nameMatch) {
1415
+ currentDeveloper = nameMatch[1];
1416
+ }
1406
1417
  }
1407
1418
  // Build task.json
1408
1419
  const taskTitle = `Migrate to v${cliVersion}`;