@blulotus/trellis 0.7.0
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.
- package/LICENSE +235 -0
- package/README.md +149 -0
- package/bin/trellis.js +3 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +276 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/commands/channel/adapters/claude.d.ts +29 -0
- package/dist/commands/channel/adapters/claude.d.ts.map +1 -0
- package/dist/commands/channel/adapters/claude.js +203 -0
- package/dist/commands/channel/adapters/claude.js.map +1 -0
- package/dist/commands/channel/adapters/codex.d.ts +93 -0
- package/dist/commands/channel/adapters/codex.d.ts.map +1 -0
- package/dist/commands/channel/adapters/codex.js +573 -0
- package/dist/commands/channel/adapters/codex.js.map +1 -0
- package/dist/commands/channel/adapters/index.d.ts +86 -0
- package/dist/commands/channel/adapters/index.d.ts.map +1 -0
- package/dist/commands/channel/adapters/index.js +115 -0
- package/dist/commands/channel/adapters/index.js.map +1 -0
- package/dist/commands/channel/adapters/types.d.ts +33 -0
- package/dist/commands/channel/adapters/types.d.ts.map +1 -0
- package/dist/commands/channel/adapters/types.js +2 -0
- package/dist/commands/channel/adapters/types.js.map +1 -0
- package/dist/commands/channel/agent-loader.d.ts +32 -0
- package/dist/commands/channel/agent-loader.d.ts.map +1 -0
- package/dist/commands/channel/agent-loader.js +158 -0
- package/dist/commands/channel/agent-loader.js.map +1 -0
- package/dist/commands/channel/context-loader.d.ts +26 -0
- package/dist/commands/channel/context-loader.d.ts.map +1 -0
- package/dist/commands/channel/context-loader.js +311 -0
- package/dist/commands/channel/context-loader.js.map +1 -0
- package/dist/commands/channel/context-trust.d.ts +31 -0
- package/dist/commands/channel/context-trust.d.ts.map +1 -0
- package/dist/commands/channel/context-trust.js +139 -0
- package/dist/commands/channel/context-trust.js.map +1 -0
- package/dist/commands/channel/context.d.ts +16 -0
- package/dist/commands/channel/context.d.ts.map +1 -0
- package/dist/commands/channel/context.js +83 -0
- package/dist/commands/channel/context.js.map +1 -0
- package/dist/commands/channel/create.d.ts +27 -0
- package/dist/commands/channel/create.d.ts.map +1 -0
- package/dist/commands/channel/create.js +39 -0
- package/dist/commands/channel/create.js.map +1 -0
- package/dist/commands/channel/dev-parse-trace.d.ts +14 -0
- package/dist/commands/channel/dev-parse-trace.d.ts.map +1 -0
- package/dist/commands/channel/dev-parse-trace.js +70 -0
- package/dist/commands/channel/dev-parse-trace.js.map +1 -0
- package/dist/commands/channel/guard.d.ts +150 -0
- package/dist/commands/channel/guard.d.ts.map +1 -0
- package/dist/commands/channel/guard.js +479 -0
- package/dist/commands/channel/guard.js.map +1 -0
- package/dist/commands/channel/index.d.ts +3 -0
- package/dist/commands/channel/index.d.ts.map +1 -0
- package/dist/commands/channel/index.js +535 -0
- package/dist/commands/channel/index.js.map +1 -0
- package/dist/commands/channel/interrupt.d.ts +10 -0
- package/dist/commands/channel/interrupt.d.ts.map +1 -0
- package/dist/commands/channel/interrupt.js +22 -0
- package/dist/commands/channel/interrupt.js.map +1 -0
- package/dist/commands/channel/kill.d.ts +7 -0
- package/dist/commands/channel/kill.d.ts.map +1 -0
- package/dist/commands/channel/kill.js +121 -0
- package/dist/commands/channel/kill.js.map +1 -0
- package/dist/commands/channel/list.d.ts +17 -0
- package/dist/commands/channel/list.d.ts.map +1 -0
- package/dist/commands/channel/list.js +233 -0
- package/dist/commands/channel/list.js.map +1 -0
- package/dist/commands/channel/messages.d.ts +15 -0
- package/dist/commands/channel/messages.d.ts.map +1 -0
- package/dist/commands/channel/messages.js +245 -0
- package/dist/commands/channel/messages.js.map +1 -0
- package/dist/commands/channel/rm.d.ts +27 -0
- package/dist/commands/channel/rm.d.ts.map +1 -0
- package/dist/commands/channel/rm.js +216 -0
- package/dist/commands/channel/rm.js.map +1 -0
- package/dist/commands/channel/run.d.ts +30 -0
- package/dist/commands/channel/run.d.ts.map +1 -0
- package/dist/commands/channel/run.js +130 -0
- package/dist/commands/channel/run.js.map +1 -0
- package/dist/commands/channel/send.d.ts +11 -0
- package/dist/commands/channel/send.d.ts.map +1 -0
- package/dist/commands/channel/send.js +24 -0
- package/dist/commands/channel/send.js.map +1 -0
- package/dist/commands/channel/spawn.d.ts +43 -0
- package/dist/commands/channel/spawn.d.ts.map +1 -0
- package/dist/commands/channel/spawn.js +247 -0
- package/dist/commands/channel/spawn.js.map +1 -0
- package/dist/commands/channel/store/events.d.ts +39 -0
- package/dist/commands/channel/store/events.d.ts.map +1 -0
- package/dist/commands/channel/store/events.js +87 -0
- package/dist/commands/channel/store/events.js.map +1 -0
- package/dist/commands/channel/store/filter.d.ts +3 -0
- package/dist/commands/channel/store/filter.d.ts.map +1 -0
- package/dist/commands/channel/store/filter.js +2 -0
- package/dist/commands/channel/store/filter.js.map +1 -0
- package/dist/commands/channel/store/lock.d.ts +23 -0
- package/dist/commands/channel/store/lock.d.ts.map +1 -0
- package/dist/commands/channel/store/lock.js +99 -0
- package/dist/commands/channel/store/lock.js.map +1 -0
- package/dist/commands/channel/store/paths.d.ts +77 -0
- package/dist/commands/channel/store/paths.d.ts.map +1 -0
- package/dist/commands/channel/store/paths.js +272 -0
- package/dist/commands/channel/store/paths.js.map +1 -0
- package/dist/commands/channel/store/schema.d.ts +27 -0
- package/dist/commands/channel/store/schema.d.ts.map +1 -0
- package/dist/commands/channel/store/schema.js +34 -0
- package/dist/commands/channel/store/schema.js.map +1 -0
- package/dist/commands/channel/store/thread-state.d.ts +5 -0
- package/dist/commands/channel/store/thread-state.d.ts.map +1 -0
- package/dist/commands/channel/store/thread-state.js +16 -0
- package/dist/commands/channel/store/thread-state.js.map +1 -0
- package/dist/commands/channel/store/watch.d.ts +19 -0
- package/dist/commands/channel/store/watch.d.ts.map +1 -0
- package/dist/commands/channel/store/watch.js +146 -0
- package/dist/commands/channel/store/watch.js.map +1 -0
- package/dist/commands/channel/supervisor/idle.d.ts +45 -0
- package/dist/commands/channel/supervisor/idle.d.ts.map +1 -0
- package/dist/commands/channel/supervisor/idle.js +70 -0
- package/dist/commands/channel/supervisor/idle.js.map +1 -0
- package/dist/commands/channel/supervisor/inbox.d.ts +30 -0
- package/dist/commands/channel/supervisor/inbox.d.ts.map +1 -0
- package/dist/commands/channel/supervisor/inbox.js +160 -0
- package/dist/commands/channel/supervisor/inbox.js.map +1 -0
- package/dist/commands/channel/supervisor/shutdown.d.ts +68 -0
- package/dist/commands/channel/supervisor/shutdown.d.ts.map +1 -0
- package/dist/commands/channel/supervisor/shutdown.js +146 -0
- package/dist/commands/channel/supervisor/shutdown.js.map +1 -0
- package/dist/commands/channel/supervisor/stdout.d.ts +53 -0
- package/dist/commands/channel/supervisor/stdout.d.ts.map +1 -0
- package/dist/commands/channel/supervisor/stdout.js +168 -0
- package/dist/commands/channel/supervisor/stdout.js.map +1 -0
- package/dist/commands/channel/supervisor/turns.d.ts +31 -0
- package/dist/commands/channel/supervisor/turns.d.ts.map +1 -0
- package/dist/commands/channel/supervisor/turns.js +45 -0
- package/dist/commands/channel/supervisor/turns.js.map +1 -0
- package/dist/commands/channel/supervisor/warning.d.ts +48 -0
- package/dist/commands/channel/supervisor/warning.d.ts.map +1 -0
- package/dist/commands/channel/supervisor/warning.js +77 -0
- package/dist/commands/channel/supervisor/warning.js.map +1 -0
- package/dist/commands/channel/supervisor.d.ts +75 -0
- package/dist/commands/channel/supervisor.d.ts.map +1 -0
- package/dist/commands/channel/supervisor.js +397 -0
- package/dist/commands/channel/supervisor.js.map +1 -0
- package/dist/commands/channel/text-body.d.ts +13 -0
- package/dist/commands/channel/text-body.d.ts.map +1 -0
- package/dist/commands/channel/text-body.js +47 -0
- package/dist/commands/channel/text-body.js.map +1 -0
- package/dist/commands/channel/threads.d.ts +39 -0
- package/dist/commands/channel/threads.d.ts.map +1 -0
- package/dist/commands/channel/threads.js +106 -0
- package/dist/commands/channel/threads.js.map +1 -0
- package/dist/commands/channel/title.d.ts +12 -0
- package/dist/commands/channel/title.d.ts.map +1 -0
- package/dist/commands/channel/title.js +24 -0
- package/dist/commands/channel/title.js.map +1 -0
- package/dist/commands/channel/wait.d.ts +17 -0
- package/dist/commands/channel/wait.d.ts.map +1 -0
- package/dist/commands/channel/wait.js +75 -0
- package/dist/commands/channel/wait.js.map +1 -0
- package/dist/commands/init.d.ts +71 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +1603 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/mem.d.ts +30 -0
- package/dist/commands/mem.d.ts.map +1 -0
- package/dist/commands/mem.js +447 -0
- package/dist/commands/mem.js.map +1 -0
- package/dist/commands/uninstall.d.ts +36 -0
- package/dist/commands/uninstall.d.ts.map +1 -0
- package/dist/commands/uninstall.js +410 -0
- package/dist/commands/uninstall.js.map +1 -0
- package/dist/commands/update.d.ts +111 -0
- package/dist/commands/update.d.ts.map +1 -0
- package/dist/commands/update.js +2152 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/commands/upgrade.d.ts +28 -0
- package/dist/commands/upgrade.d.ts.map +1 -0
- package/dist/commands/upgrade.js +84 -0
- package/dist/commands/upgrade.js.map +1 -0
- package/dist/commands/workflow.d.ts +52 -0
- package/dist/commands/workflow.d.ts.map +1 -0
- package/dist/commands/workflow.js +454 -0
- package/dist/commands/workflow.js.map +1 -0
- package/dist/configurators/antigravity.d.ts +7 -0
- package/dist/configurators/antigravity.d.ts.map +1 -0
- package/dist/configurators/antigravity.js +11 -0
- package/dist/configurators/antigravity.js.map +1 -0
- package/dist/configurators/claude.d.ts +23 -0
- package/dist/configurators/claude.d.ts.map +1 -0
- package/dist/configurators/claude.js +123 -0
- package/dist/configurators/claude.js.map +1 -0
- package/dist/configurators/codebuddy.d.ts +10 -0
- package/dist/configurators/codebuddy.d.ts.map +1 -0
- package/dist/configurators/codebuddy.js +24 -0
- package/dist/configurators/codebuddy.js.map +1 -0
- package/dist/configurators/codex.d.ts +57 -0
- package/dist/configurators/codex.d.ts.map +1 -0
- package/dist/configurators/codex.js +170 -0
- package/dist/configurators/codex.js.map +1 -0
- package/dist/configurators/copilot.d.ts +14 -0
- package/dist/configurators/copilot.d.ts.map +1 -0
- package/dist/configurators/copilot.js +46 -0
- package/dist/configurators/copilot.js.map +1 -0
- package/dist/configurators/cursor.d.ts +10 -0
- package/dist/configurators/cursor.d.ts.map +1 -0
- package/dist/configurators/cursor.js +23 -0
- package/dist/configurators/cursor.js.map +1 -0
- package/dist/configurators/devin.d.ts +8 -0
- package/dist/configurators/devin.d.ts.map +1 -0
- package/dist/configurators/devin.js +12 -0
- package/dist/configurators/devin.js.map +1 -0
- package/dist/configurators/droid.d.ts +10 -0
- package/dist/configurators/droid.d.ts.map +1 -0
- package/dist/configurators/droid.js +24 -0
- package/dist/configurators/droid.js.map +1 -0
- package/dist/configurators/dsh.d.ts +26 -0
- package/dist/configurators/dsh.d.ts.map +1 -0
- package/dist/configurators/dsh.js +76 -0
- package/dist/configurators/dsh.js.map +1 -0
- package/dist/configurators/gemini.d.ts +18 -0
- package/dist/configurators/gemini.d.ts.map +1 -0
- package/dist/configurators/gemini.js +39 -0
- package/dist/configurators/gemini.js.map +1 -0
- package/dist/configurators/grok.d.ts +17 -0
- package/dist/configurators/grok.d.ts.map +1 -0
- package/dist/configurators/grok.js +38 -0
- package/dist/configurators/grok.js.map +1 -0
- package/dist/configurators/index.d.ts +68 -0
- package/dist/configurators/index.d.ts.map +1 -0
- package/dist/configurators/index.js +191 -0
- package/dist/configurators/index.js.map +1 -0
- package/dist/configurators/kilo.d.ts +7 -0
- package/dist/configurators/kilo.d.ts.map +1 -0
- package/dist/configurators/kilo.js +11 -0
- package/dist/configurators/kilo.js.map +1 -0
- package/dist/configurators/kimi.d.ts +26 -0
- package/dist/configurators/kimi.d.ts.map +1 -0
- package/dist/configurators/kimi.js +74 -0
- package/dist/configurators/kimi.js.map +1 -0
- package/dist/configurators/kiro.d.ts +11 -0
- package/dist/configurators/kiro.d.ts.map +1 -0
- package/dist/configurators/kiro.js +30 -0
- package/dist/configurators/kiro.js.map +1 -0
- package/dist/configurators/omp.d.ts +6 -0
- package/dist/configurators/omp.d.ts.map +1 -0
- package/dist/configurators/omp.js +28 -0
- package/dist/configurators/omp.js.map +1 -0
- package/dist/configurators/opencode.d.ts +5 -0
- package/dist/configurators/opencode.d.ts.map +1 -0
- package/dist/configurators/opencode.js +84 -0
- package/dist/configurators/opencode.js.map +1 -0
- package/dist/configurators/pi.d.ts +5 -0
- package/dist/configurators/pi.d.ts.map +1 -0
- package/dist/configurators/pi.js +39 -0
- package/dist/configurators/pi.js.map +1 -0
- package/dist/configurators/qoder.d.ts +12 -0
- package/dist/configurators/qoder.d.ts.map +1 -0
- package/dist/configurators/qoder.js +30 -0
- package/dist/configurators/qoder.js.map +1 -0
- package/dist/configurators/reasonix.d.ts +17 -0
- package/dist/configurators/reasonix.d.ts.map +1 -0
- package/dist/configurators/reasonix.js +37 -0
- package/dist/configurators/reasonix.js.map +1 -0
- package/dist/configurators/shared.d.ts +187 -0
- package/dist/configurators/shared.d.ts.map +1 -0
- package/dist/configurators/shared.js +590 -0
- package/dist/configurators/shared.js.map +1 -0
- package/dist/configurators/snow.d.ts +25 -0
- package/dist/configurators/snow.d.ts.map +1 -0
- package/dist/configurators/snow.js +69 -0
- package/dist/configurators/snow.js.map +1 -0
- package/dist/configurators/trae.d.ts +16 -0
- package/dist/configurators/trae.d.ts.map +1 -0
- package/dist/configurators/trae.js +34 -0
- package/dist/configurators/trae.js.map +1 -0
- package/dist/configurators/workflow.d.ts +51 -0
- package/dist/configurators/workflow.d.ts.map +1 -0
- package/dist/configurators/workflow.js +210 -0
- package/dist/configurators/workflow.js.map +1 -0
- package/dist/configurators/zcode.d.ts +23 -0
- package/dist/configurators/zcode.d.ts.map +1 -0
- package/dist/configurators/zcode.js +63 -0
- package/dist/configurators/zcode.js.map +1 -0
- package/dist/constants/paths.d.ts +74 -0
- package/dist/constants/paths.d.ts.map +1 -0
- package/dist/constants/paths.js +83 -0
- package/dist/constants/paths.js.map +1 -0
- package/dist/constants/version.d.ts +9 -0
- package/dist/constants/version.d.ts.map +1 -0
- package/dist/constants/version.js +15 -0
- package/dist/constants/version.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -0
- package/dist/migrations/index.d.ts +62 -0
- package/dist/migrations/index.d.ts.map +1 -0
- package/dist/migrations/index.js +187 -0
- package/dist/migrations/index.js.map +1 -0
- package/dist/migrations/manifests/0.1.9.json +30 -0
- package/dist/migrations/manifests/0.2.0.json +49 -0
- package/dist/migrations/manifests/0.2.12.json +9 -0
- package/dist/migrations/manifests/0.2.13.json +9 -0
- package/dist/migrations/manifests/0.2.14.json +175 -0
- package/dist/migrations/manifests/0.2.15.json +33 -0
- package/dist/migrations/manifests/0.3.0-beta.0.json +297 -0
- package/dist/migrations/manifests/0.3.0-beta.1.json +9 -0
- package/dist/migrations/manifests/0.3.0-beta.10.json +9 -0
- package/dist/migrations/manifests/0.3.0-beta.11.json +9 -0
- package/dist/migrations/manifests/0.3.0-beta.12.json +9 -0
- package/dist/migrations/manifests/0.3.0-beta.13.json +9 -0
- package/dist/migrations/manifests/0.3.0-beta.14.json +9 -0
- package/dist/migrations/manifests/0.3.0-beta.15.json +9 -0
- package/dist/migrations/manifests/0.3.0-beta.16.json +9 -0
- package/dist/migrations/manifests/0.3.0-beta.2.json +9 -0
- package/dist/migrations/manifests/0.3.0-beta.3.json +9 -0
- package/dist/migrations/manifests/0.3.0-beta.4.json +9 -0
- package/dist/migrations/manifests/0.3.0-beta.5.json +9 -0
- package/dist/migrations/manifests/0.3.0-beta.6.json +9 -0
- package/dist/migrations/manifests/0.3.0-beta.7.json +11 -0
- package/dist/migrations/manifests/0.3.0-beta.8.json +9 -0
- package/dist/migrations/manifests/0.3.0-beta.9.json +9 -0
- package/dist/migrations/manifests/0.3.0-rc.0.json +9 -0
- package/dist/migrations/manifests/0.3.0-rc.1.json +9 -0
- package/dist/migrations/manifests/0.3.0-rc.2.json +9 -0
- package/dist/migrations/manifests/0.3.0-rc.3.json +9 -0
- package/dist/migrations/manifests/0.3.0-rc.4.json +9 -0
- package/dist/migrations/manifests/0.3.0-rc.5.json +9 -0
- package/dist/migrations/manifests/0.3.0-rc.6.json +9 -0
- package/dist/migrations/manifests/0.3.0.json +11 -0
- package/dist/migrations/manifests/0.3.1.json +9 -0
- package/dist/migrations/manifests/0.3.10.json +9 -0
- package/dist/migrations/manifests/0.3.2.json +9 -0
- package/dist/migrations/manifests/0.3.3.json +9 -0
- package/dist/migrations/manifests/0.3.4.json +21 -0
- package/dist/migrations/manifests/0.3.5.json +9 -0
- package/dist/migrations/manifests/0.3.6.json +9 -0
- package/dist/migrations/manifests/0.3.7.json +9 -0
- package/dist/migrations/manifests/0.3.8.json +9 -0
- package/dist/migrations/manifests/0.3.9.json +9 -0
- package/dist/migrations/manifests/0.4.0-beta.1.json +228 -0
- package/dist/migrations/manifests/0.4.0-beta.10.json +9 -0
- package/dist/migrations/manifests/0.4.0-beta.2.json +9 -0
- package/dist/migrations/manifests/0.4.0-beta.3.json +9 -0
- package/dist/migrations/manifests/0.4.0-beta.4.json +9 -0
- package/dist/migrations/manifests/0.4.0-beta.5.json +9 -0
- package/dist/migrations/manifests/0.4.0-beta.6.json +9 -0
- package/dist/migrations/manifests/0.4.0-beta.7.json +9 -0
- package/dist/migrations/manifests/0.4.0-beta.8.json +34 -0
- package/dist/migrations/manifests/0.4.0-beta.9.json +9 -0
- package/dist/migrations/manifests/0.4.0-rc.0.json +9 -0
- package/dist/migrations/manifests/0.4.0-rc.1.json +9 -0
- package/dist/migrations/manifests/0.4.0.json +9 -0
- package/dist/migrations/manifests/0.5.0-beta.0.json +1646 -0
- package/dist/migrations/manifests/0.5.0-beta.1.json +9 -0
- package/dist/migrations/manifests/0.5.0-beta.10.json +9 -0
- package/dist/migrations/manifests/0.5.0-beta.11.json +9 -0
- package/dist/migrations/manifests/0.5.0-beta.12.json +9 -0
- package/dist/migrations/manifests/0.5.0-beta.13.json +9 -0
- package/dist/migrations/manifests/0.5.0-beta.14.json +9 -0
- package/dist/migrations/manifests/0.5.0-beta.15.json +116 -0
- package/dist/migrations/manifests/0.5.0-beta.16.json +9 -0
- package/dist/migrations/manifests/0.5.0-beta.17.json +9 -0
- package/dist/migrations/manifests/0.5.0-beta.18.json +9 -0
- package/dist/migrations/manifests/0.5.0-beta.19.json +9 -0
- package/dist/migrations/manifests/0.5.0-beta.2.json +9 -0
- package/dist/migrations/manifests/0.5.0-beta.3.json +9 -0
- package/dist/migrations/manifests/0.5.0-beta.4.json +9 -0
- package/dist/migrations/manifests/0.5.0-beta.5.json +222 -0
- package/dist/migrations/manifests/0.5.0-beta.6.json +9 -0
- package/dist/migrations/manifests/0.5.0-beta.7.json +9 -0
- package/dist/migrations/manifests/0.5.0-beta.8.json +9 -0
- package/dist/migrations/manifests/0.5.0-beta.9.json +48 -0
- package/dist/migrations/manifests/0.5.0-rc.0.json +9 -0
- package/dist/migrations/manifests/0.5.0-rc.1.json +9 -0
- package/dist/migrations/manifests/0.5.0-rc.2.json +9 -0
- package/dist/migrations/manifests/0.5.0-rc.3.json +9 -0
- package/dist/migrations/manifests/0.5.0-rc.4.json +9 -0
- package/dist/migrations/manifests/0.5.0-rc.5.json +9 -0
- package/dist/migrations/manifests/0.5.0-rc.6.json +9 -0
- package/dist/migrations/manifests/0.5.0-rc.7.json +9 -0
- package/dist/migrations/manifests/0.5.0.json +9 -0
- package/dist/migrations/manifests/0.5.1.json +9 -0
- package/dist/migrations/manifests/0.5.10.json +9 -0
- package/dist/migrations/manifests/0.5.11.json +16 -0
- package/dist/migrations/manifests/0.5.12.json +9 -0
- package/dist/migrations/manifests/0.5.13.json +9 -0
- package/dist/migrations/manifests/0.5.14.json +9 -0
- package/dist/migrations/manifests/0.5.15.json +9 -0
- package/dist/migrations/manifests/0.5.16.json +9 -0
- package/dist/migrations/manifests/0.5.17.json +9 -0
- package/dist/migrations/manifests/0.5.18.json +9 -0
- package/dist/migrations/manifests/0.5.19.json +9 -0
- package/dist/migrations/manifests/0.5.2.json +9 -0
- package/dist/migrations/manifests/0.5.3.json +9 -0
- package/dist/migrations/manifests/0.5.4.json +9 -0
- package/dist/migrations/manifests/0.5.5.json +9 -0
- package/dist/migrations/manifests/0.5.6.json +9 -0
- package/dist/migrations/manifests/0.5.7.json +16 -0
- package/dist/migrations/manifests/0.5.8.json +9 -0
- package/dist/migrations/manifests/0.5.9.json +9 -0
- package/dist/migrations/manifests/0.6.0-beta.0.json +16 -0
- package/dist/migrations/manifests/0.6.0-beta.1.json +9 -0
- package/dist/migrations/manifests/0.6.0-beta.10.json +9 -0
- package/dist/migrations/manifests/0.6.0-beta.11.json +9 -0
- package/dist/migrations/manifests/0.6.0-beta.12.json +9 -0
- package/dist/migrations/manifests/0.6.0-beta.13.json +9 -0
- package/dist/migrations/manifests/0.6.0-beta.14.json +9 -0
- package/dist/migrations/manifests/0.6.0-beta.15.json +9 -0
- package/dist/migrations/manifests/0.6.0-beta.16.json +9 -0
- package/dist/migrations/manifests/0.6.0-beta.17.json +9 -0
- package/dist/migrations/manifests/0.6.0-beta.18.json +16 -0
- package/dist/migrations/manifests/0.6.0-beta.19.json +9 -0
- package/dist/migrations/manifests/0.6.0-beta.2.json +9 -0
- package/dist/migrations/manifests/0.6.0-beta.20.json +9 -0
- package/dist/migrations/manifests/0.6.0-beta.21.json +9 -0
- package/dist/migrations/manifests/0.6.0-beta.22.json +9 -0
- package/dist/migrations/manifests/0.6.0-beta.23.json +88 -0
- package/dist/migrations/manifests/0.6.0-beta.3.json +9 -0
- package/dist/migrations/manifests/0.6.0-beta.4.json +9 -0
- package/dist/migrations/manifests/0.6.0-beta.5.json +9 -0
- package/dist/migrations/manifests/0.6.0-beta.6.json +16 -0
- package/dist/migrations/manifests/0.6.0-beta.7.json +9 -0
- package/dist/migrations/manifests/0.6.0-beta.8.json +9 -0
- package/dist/migrations/manifests/0.6.0-beta.9.json +9 -0
- package/dist/migrations/manifests/0.6.0-rc.0.json +9 -0
- package/dist/migrations/manifests/0.6.0.json +1 -0
- package/dist/migrations/manifests/0.6.1.json +9 -0
- package/dist/migrations/manifests/0.6.10.json +9 -0
- package/dist/migrations/manifests/0.6.11.json +9 -0
- package/dist/migrations/manifests/0.6.12.json +9 -0
- package/dist/migrations/manifests/0.6.13.json +9 -0
- package/dist/migrations/manifests/0.6.14.json +9 -0
- package/dist/migrations/manifests/0.6.2.json +9 -0
- package/dist/migrations/manifests/0.6.3.json +24 -0
- package/dist/migrations/manifests/0.6.4.json +9 -0
- package/dist/migrations/manifests/0.6.5.json +9 -0
- package/dist/migrations/manifests/0.6.6.json +17 -0
- package/dist/migrations/manifests/0.6.7.json +9 -0
- package/dist/migrations/manifests/0.6.8.json +17 -0
- package/dist/migrations/manifests/0.6.9.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.0.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.1.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.2.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.3.json +9 -0
- package/dist/templates/claude/agents/trellis-check.md +115 -0
- package/dist/templates/claude/agents/trellis-implement.md +115 -0
- package/dist/templates/claude/agents/trellis-research.md +137 -0
- package/dist/templates/claude/hooks/statusline.py +332 -0
- package/dist/templates/claude/index.d.ts +31 -0
- package/dist/templates/claude/index.d.ts.map +1 -0
- package/dist/templates/claude/index.js +57 -0
- package/dist/templates/claude/index.js.map +1 -0
- package/dist/templates/claude/settings.json +95 -0
- package/dist/templates/codebuddy/agents/trellis-check.md +115 -0
- package/dist/templates/codebuddy/agents/trellis-implement.md +115 -0
- package/dist/templates/codebuddy/agents/trellis-research.md +137 -0
- package/dist/templates/codebuddy/index.d.ts +15 -0
- package/dist/templates/codebuddy/index.d.ts.map +1 -0
- package/dist/templates/codebuddy/index.js +15 -0
- package/dist/templates/codebuddy/index.js.map +1 -0
- package/dist/templates/codebuddy/settings.json +69 -0
- package/dist/templates/codex/agents/trellis-check.toml +56 -0
- package/dist/templates/codex/agents/trellis-implement.toml +37 -0
- package/dist/templates/codex/agents/trellis-research.toml +78 -0
- package/dist/templates/codex/config.toml +39 -0
- package/dist/templates/codex/hooks/session-start.py +568 -0
- package/dist/templates/codex/hooks.json +52 -0
- package/dist/templates/codex/index.d.ts +35 -0
- package/dist/templates/codex/index.d.ts.map +1 -0
- package/dist/templates/codex/index.js +67 -0
- package/dist/templates/codex/index.js.map +1 -0
- package/dist/templates/common/bundled-skills/trellis-channel/SKILL.md +67 -0
- package/dist/templates/common/bundled-skills/trellis-channel/references/command-reference.md +480 -0
- package/dist/templates/common/bundled-skills/trellis-channel/references/forum.md +233 -0
- package/dist/templates/common/bundled-skills/trellis-channel/references/progress-debugging.md +226 -0
- package/dist/templates/common/bundled-skills/trellis-channel/references/workers.md +276 -0
- package/dist/templates/common/bundled-skills/trellis-channel/references/workflows.md +128 -0
- package/dist/templates/common/bundled-skills/trellis-meta/SKILL.md +85 -0
- package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/add-project-local-conventions.md +83 -0
- package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-agents.md +56 -0
- package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-context-loading.md +84 -0
- package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-hooks.md +57 -0
- package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-skills-or-commands.md +123 -0
- package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-spec-structure.md +83 -0
- package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-task-lifecycle.md +90 -0
- package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-workflow.md +65 -0
- package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/overview.md +55 -0
- package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/bundled-skills.md +159 -0
- package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/context-injection.md +68 -0
- package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/generated-files.md +80 -0
- package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/multi-agent-channel.md +69 -0
- package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/overview.md +51 -0
- package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/spec-system.md +102 -0
- package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/task-system.md +130 -0
- package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/workflow.md +75 -0
- package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/workspace-memory.md +71 -0
- package/dist/templates/common/bundled-skills/trellis-meta/references/platform-files/agents.md +84 -0
- package/dist/templates/common/bundled-skills/trellis-meta/references/platform-files/hooks-and-settings.md +73 -0
- package/dist/templates/common/bundled-skills/trellis-meta/references/platform-files/overview.md +59 -0
- package/dist/templates/common/bundled-skills/trellis-meta/references/platform-files/platform-map.md +113 -0
- package/dist/templates/common/bundled-skills/trellis-meta/references/platform-files/skills-and-commands.md +87 -0
- package/dist/templates/common/bundled-skills/trellis-session-insight/SKILL.md +81 -0
- package/dist/templates/common/bundled-skills/trellis-session-insight/references/cli-quick-reference.md +65 -0
- package/dist/templates/common/bundled-skills/trellis-session-insight/references/triggering-patterns.md +93 -0
- package/dist/templates/common/bundled-skills/trellis-spec-bootstrap/SKILL.md +41 -0
- package/dist/templates/common/bundled-skills/trellis-spec-bootstrap/references/mcp-setup.md +90 -0
- package/dist/templates/common/bundled-skills/trellis-spec-bootstrap/references/repository-analysis.md +59 -0
- package/dist/templates/common/bundled-skills/trellis-spec-bootstrap/references/spec-task-planning.md +61 -0
- package/dist/templates/common/bundled-skills/trellis-spec-bootstrap/references/spec-writing.md +70 -0
- package/dist/templates/common/commands/continue.md +56 -0
- package/dist/templates/common/commands/finish-work.md +66 -0
- package/dist/templates/common/commands/start.md +59 -0
- package/dist/templates/common/index.d.ts +48 -0
- package/dist/templates/common/index.d.ts.map +1 -0
- package/dist/templates/common/index.js +104 -0
- package/dist/templates/common/index.js.map +1 -0
- package/dist/templates/common/skills/before-dev.md +46 -0
- package/dist/templates/common/skills/brainstorm.md +212 -0
- package/dist/templates/common/skills/break-loop.md +184 -0
- package/dist/templates/common/skills/check.md +106 -0
- package/dist/templates/common/skills/tdd.md +142 -0
- package/dist/templates/common/skills/update-spec.md +351 -0
- package/dist/templates/copilot/copilot-instructions.md +11 -0
- package/dist/templates/copilot/hooks/session-start.py +564 -0
- package/dist/templates/copilot/hooks.json +19 -0
- package/dist/templates/copilot/index.d.ts +28 -0
- package/dist/templates/copilot/index.d.ts.map +1 -0
- package/dist/templates/copilot/index.js +61 -0
- package/dist/templates/copilot/index.js.map +1 -0
- package/dist/templates/copilot/prompts/before-dev.prompt.md +39 -0
- package/dist/templates/copilot/prompts/brainstorm.prompt.md +173 -0
- package/dist/templates/copilot/prompts/break-loop.prompt.md +129 -0
- package/dist/templates/copilot/prompts/check-cross-layer.prompt.md +170 -0
- package/dist/templates/copilot/prompts/check.prompt.md +110 -0
- package/dist/templates/copilot/prompts/create-command.prompt.md +116 -0
- package/dist/templates/copilot/prompts/finish-work.prompt.md +99 -0
- package/dist/templates/copilot/prompts/integrate-skill.prompt.md +223 -0
- package/dist/templates/copilot/prompts/onboard.prompt.md +362 -0
- package/dist/templates/copilot/prompts/parallel.prompt.md +204 -0
- package/dist/templates/copilot/prompts/record-session.prompt.md +66 -0
- package/dist/templates/copilot/prompts/start.prompt.md +63 -0
- package/dist/templates/copilot/prompts/update-spec.prompt.md +358 -0
- package/dist/templates/cursor/agents/trellis-check.md +114 -0
- package/dist/templates/cursor/agents/trellis-implement.md +114 -0
- package/dist/templates/cursor/agents/trellis-research.md +136 -0
- package/dist/templates/cursor/hooks.json +24 -0
- package/dist/templates/cursor/index.d.ts +13 -0
- package/dist/templates/cursor/index.d.ts.map +1 -0
- package/dist/templates/cursor/index.js +13 -0
- package/dist/templates/cursor/index.js.map +1 -0
- package/dist/templates/droid/droids/trellis-check.md +107 -0
- package/dist/templates/droid/droids/trellis-implement.md +107 -0
- package/dist/templates/droid/droids/trellis-research.md +137 -0
- package/dist/templates/droid/index.d.ts +15 -0
- package/dist/templates/droid/index.d.ts.map +1 -0
- package/dist/templates/droid/index.js +15 -0
- package/dist/templates/droid/index.js.map +1 -0
- package/dist/templates/droid/settings.json +69 -0
- package/dist/templates/dsh/DSH.md +80 -0
- package/dist/templates/dsh/agents/trellis-check.md +99 -0
- package/dist/templates/dsh/agents/trellis-implement.md +106 -0
- package/dist/templates/dsh/agents/trellis-research.md +134 -0
- package/dist/templates/dsh/index.d.ts +22 -0
- package/dist/templates/dsh/index.d.ts.map +1 -0
- package/dist/templates/dsh/index.js +27 -0
- package/dist/templates/dsh/index.js.map +1 -0
- package/dist/templates/extract.d.ts +40 -0
- package/dist/templates/extract.d.ts.map +1 -0
- package/dist/templates/extract.js +106 -0
- package/dist/templates/extract.js.map +1 -0
- package/dist/templates/gemini/agents/trellis-check.md +107 -0
- package/dist/templates/gemini/agents/trellis-implement.md +107 -0
- package/dist/templates/gemini/agents/trellis-research.md +136 -0
- package/dist/templates/gemini/index.d.ts +13 -0
- package/dist/templates/gemini/index.d.ts.map +1 -0
- package/dist/templates/gemini/index.js +13 -0
- package/dist/templates/gemini/index.js.map +1 -0
- package/dist/templates/gemini/settings.json +40 -0
- package/dist/templates/grok/agents/trellis-check.md +106 -0
- package/dist/templates/grok/agents/trellis-implement.md +121 -0
- package/dist/templates/grok/agents/trellis-research.md +146 -0
- package/dist/templates/grok/index.d.ts +16 -0
- package/dist/templates/grok/index.d.ts.map +1 -0
- package/dist/templates/grok/index.js +19 -0
- package/dist/templates/grok/index.js.map +1 -0
- package/dist/templates/kimi/agents/trellis-check.md +104 -0
- package/dist/templates/kimi/agents/trellis-implement.md +120 -0
- package/dist/templates/kimi/agents/trellis-research.md +144 -0
- package/dist/templates/kimi/index.d.ts +20 -0
- package/dist/templates/kimi/index.d.ts.map +1 -0
- package/dist/templates/kimi/index.js +23 -0
- package/dist/templates/kimi/index.js.map +1 -0
- package/dist/templates/kiro/agents/trellis-check.json +26 -0
- package/dist/templates/kiro/agents/trellis-implement.json +26 -0
- package/dist/templates/kiro/agents/trellis-research.json +30 -0
- package/dist/templates/kiro/agents/trellis.json +34 -0
- package/dist/templates/kiro/hooks/trellis-workflow-state.kiro.hook +14 -0
- package/dist/templates/kiro/index.d.ts +32 -0
- package/dist/templates/kiro/index.d.ts.map +1 -0
- package/dist/templates/kiro/index.js +28 -0
- package/dist/templates/kiro/index.js.map +1 -0
- package/dist/templates/markdown/agents.md +21 -0
- package/dist/templates/markdown/gitignore.txt +15 -0
- package/dist/templates/markdown/index.d.ts +27 -0
- package/dist/templates/markdown/index.d.ts.map +1 -0
- package/dist/templates/markdown/index.js +52 -0
- package/dist/templates/markdown/index.js.map +1 -0
- package/dist/templates/markdown/spec/backend/database-guidelines.md.txt +51 -0
- package/dist/templates/markdown/spec/backend/directory-structure.md.txt +54 -0
- package/dist/templates/markdown/spec/backend/error-handling.md.txt +51 -0
- package/dist/templates/markdown/spec/backend/index.md.txt +38 -0
- package/dist/templates/markdown/spec/backend/logging-guidelines.md.txt +51 -0
- package/dist/templates/markdown/spec/backend/quality-guidelines.md.txt +51 -0
- package/dist/templates/markdown/spec/frontend/component-guidelines.md.txt +59 -0
- package/dist/templates/markdown/spec/frontend/directory-structure.md.txt +54 -0
- package/dist/templates/markdown/spec/frontend/hook-guidelines.md.txt +51 -0
- package/dist/templates/markdown/spec/frontend/index.md.txt +39 -0
- package/dist/templates/markdown/spec/frontend/quality-guidelines.md.txt +51 -0
- package/dist/templates/markdown/spec/frontend/state-management.md.txt +51 -0
- package/dist/templates/markdown/spec/frontend/type-safety.md.txt +51 -0
- package/dist/templates/markdown/spec/guides/code-reuse-thinking-guide.md.txt +223 -0
- package/dist/templates/markdown/spec/guides/cross-layer-thinking-guide.md.txt +327 -0
- package/dist/templates/markdown/spec/guides/cross-platform-thinking-guide.md.txt +633 -0
- package/dist/templates/markdown/spec/guides/index.md.txt +97 -0
- package/dist/templates/markdown/workspace-index.md +125 -0
- package/dist/templates/markdown/worktree.yaml.txt +58 -0
- package/dist/templates/omp/agents/trellis-check.md +41 -0
- package/dist/templates/omp/agents/trellis-implement.md +55 -0
- package/dist/templates/omp/agents/trellis-research.md +30 -0
- package/dist/templates/omp/extensions/trellis/index.ts.txt +592 -0
- package/dist/templates/omp/index.d.ts +4 -0
- package/dist/templates/omp/index.d.ts.map +1 -0
- package/dist/templates/omp/index.js +9 -0
- package/dist/templates/omp/index.js.map +1 -0
- package/dist/templates/opencode/agents/trellis-check.md +122 -0
- package/dist/templates/opencode/agents/trellis-implement.md +123 -0
- package/dist/templates/opencode/agents/trellis-research.md +145 -0
- package/dist/templates/opencode/lib/context-visibility.js +86 -0
- package/dist/templates/opencode/lib/session-utils.js +526 -0
- package/dist/templates/opencode/lib/trellis-context.js +627 -0
- package/dist/templates/opencode/package.json +5 -0
- package/dist/templates/opencode/plugins/inject-spec-context.js +121 -0
- package/dist/templates/opencode/plugins/inject-subagent-context.js +569 -0
- package/dist/templates/opencode/plugins/inject-workflow-state.js +340 -0
- package/dist/templates/opencode/plugins/session-start.js +74 -0
- package/dist/templates/pi/agents/trellis-check.md +37 -0
- package/dist/templates/pi/agents/trellis-implement.md +52 -0
- package/dist/templates/pi/agents/trellis-research.md +25 -0
- package/dist/templates/pi/extensions/trellis/index.ts.txt +2033 -0
- package/dist/templates/pi/index.d.ts +5 -0
- package/dist/templates/pi/index.d.ts.map +1 -0
- package/dist/templates/pi/index.js +12 -0
- package/dist/templates/pi/index.js.map +1 -0
- package/dist/templates/pi/settings.json +9 -0
- package/dist/templates/qoder/agents/trellis-check.md +108 -0
- package/dist/templates/qoder/agents/trellis-implement.md +108 -0
- package/dist/templates/qoder/agents/trellis-research.md +137 -0
- package/dist/templates/qoder/index.d.ts +15 -0
- package/dist/templates/qoder/index.d.ts.map +1 -0
- package/dist/templates/qoder/index.js +15 -0
- package/dist/templates/qoder/index.js.map +1 -0
- package/dist/templates/qoder/settings.json +59 -0
- package/dist/templates/reasonix/agents/trellis-check.md +36 -0
- package/dist/templates/reasonix/agents/trellis-implement.md +51 -0
- package/dist/templates/reasonix/index.d.ts +13 -0
- package/dist/templates/reasonix/index.d.ts.map +1 -0
- package/dist/templates/reasonix/index.js +16 -0
- package/dist/templates/reasonix/index.js.map +1 -0
- package/dist/templates/shared-hooks/index.d.ts +83 -0
- package/dist/templates/shared-hooks/index.d.ts.map +1 -0
- package/dist/templates/shared-hooks/index.js +152 -0
- package/dist/templates/shared-hooks/index.js.map +1 -0
- package/dist/templates/shared-hooks/inject-shell-session-context.py +292 -0
- package/dist/templates/shared-hooks/inject-spec-context.py +844 -0
- package/dist/templates/shared-hooks/inject-subagent-context.py +1175 -0
- package/dist/templates/shared-hooks/inject-workflow-state.py +501 -0
- package/dist/templates/shared-hooks/session-start.py +969 -0
- package/dist/templates/snow/SNOW.md +86 -0
- package/dist/templates/snow/agents/trellis-check.md +136 -0
- package/dist/templates/snow/agents/trellis-implement.md +158 -0
- package/dist/templates/snow/agents/trellis-research.md +114 -0
- package/dist/templates/snow/hooks/beforeSubAgentStart.json +15 -0
- package/dist/templates/snow/hooks/onSessionStart.json +15 -0
- package/dist/templates/snow/hooks/onUserMessage.json +15 -0
- package/dist/templates/snow/hooks/write-trellis-context.py +644 -0
- package/dist/templates/snow/index.d.ts +26 -0
- package/dist/templates/snow/index.d.ts.map +1 -0
- package/dist/templates/snow/index.js +36 -0
- package/dist/templates/snow/index.js.map +1 -0
- package/dist/templates/template-utils.d.ts +26 -0
- package/dist/templates/template-utils.d.ts.map +1 -0
- package/dist/templates/template-utils.js +64 -0
- package/dist/templates/template-utils.js.map +1 -0
- package/dist/templates/trae/agents/trellis-check.md +108 -0
- package/dist/templates/trae/agents/trellis-implement.md +108 -0
- package/dist/templates/trae/agents/trellis-research.md +137 -0
- package/dist/templates/trae/hooks.json +39 -0
- package/dist/templates/trae/index.d.ts +15 -0
- package/dist/templates/trae/index.d.ts.map +1 -0
- package/dist/templates/trae/index.js +15 -0
- package/dist/templates/trae/index.js.map +1 -0
- package/dist/templates/trellis/agents/check.md +70 -0
- package/dist/templates/trellis/agents/implement.md +81 -0
- package/dist/templates/trellis/config.yaml +205 -0
- package/dist/templates/trellis/gitattributes.txt +9 -0
- package/dist/templates/trellis/gitignore.txt +32 -0
- package/dist/templates/trellis/index.d.ts +70 -0
- package/dist/templates/trellis/index.d.ts.map +1 -0
- package/dist/templates/trellis/index.js +127 -0
- package/dist/templates/trellis/index.js.map +1 -0
- package/dist/templates/trellis/scripts/__init__.py +5 -0
- package/dist/templates/trellis/scripts/add_session.py +681 -0
- package/dist/templates/trellis/scripts/common/__init__.py +92 -0
- package/dist/templates/trellis/scripts/common/active_task.py +787 -0
- package/dist/templates/trellis/scripts/common/cli_adapter.py +982 -0
- package/dist/templates/trellis/scripts/common/config.py +587 -0
- package/dist/templates/trellis/scripts/common/developer.py +190 -0
- package/dist/templates/trellis/scripts/common/git.py +74 -0
- package/dist/templates/trellis/scripts/common/git_context.py +138 -0
- package/dist/templates/trellis/scripts/common/io.py +61 -0
- package/dist/templates/trellis/scripts/common/log.py +45 -0
- package/dist/templates/trellis/scripts/common/packages_context.py +238 -0
- package/dist/templates/trellis/scripts/common/paths.py +508 -0
- package/dist/templates/trellis/scripts/common/safe_commit.py +315 -0
- package/dist/templates/trellis/scripts/common/session_context.py +892 -0
- package/dist/templates/trellis/scripts/common/spec_inject.py +439 -0
- package/dist/templates/trellis/scripts/common/spec_match.py +395 -0
- package/dist/templates/trellis/scripts/common/task_context.py +372 -0
- package/dist/templates/trellis/scripts/common/task_queue.py +188 -0
- package/dist/templates/trellis/scripts/common/task_store.py +1016 -0
- package/dist/templates/trellis/scripts/common/task_utils.py +309 -0
- package/dist/templates/trellis/scripts/common/tasks.py +112 -0
- package/dist/templates/trellis/scripts/common/trellis_config.py +132 -0
- package/dist/templates/trellis/scripts/common/types.py +110 -0
- package/dist/templates/trellis/scripts/common/workflow_phase.py +243 -0
- package/dist/templates/trellis/scripts/common/workflow_selection.py +177 -0
- package/dist/templates/trellis/scripts/get_context.py +16 -0
- package/dist/templates/trellis/scripts/get_developer.py +26 -0
- package/dist/templates/trellis/scripts/hooks/linear_sync.py +243 -0
- package/dist/templates/trellis/scripts/init_developer.py +51 -0
- package/dist/templates/trellis/scripts/task.py +694 -0
- package/dist/templates/trellis/tasks/.gitkeep +0 -0
- package/dist/templates/trellis/workflow.md +777 -0
- package/dist/templates/zcode/agents/trellis-check.md +110 -0
- package/dist/templates/zcode/agents/trellis-implement.md +116 -0
- package/dist/templates/zcode/agents/trellis-research.md +133 -0
- package/dist/templates/zcode/config.json +52 -0
- package/dist/templates/zcode/index.d.ts +25 -0
- package/dist/templates/zcode/index.d.ts.map +1 -0
- package/dist/templates/zcode/index.js +29 -0
- package/dist/templates/zcode/index.js.map +1 -0
- package/dist/types/ai-tools.d.ts +95 -0
- package/dist/types/ai-tools.d.ts.map +1 -0
- package/dist/types/ai-tools.js +509 -0
- package/dist/types/ai-tools.js.map +1 -0
- package/dist/types/migration.d.ts +125 -0
- package/dist/types/migration.d.ts.map +1 -0
- package/dist/types/migration.js +8 -0
- package/dist/types/migration.js.map +1 -0
- package/dist/utils/agent-refs.d.ts +31 -0
- package/dist/utils/agent-refs.d.ts.map +1 -0
- package/dist/utils/agent-refs.js +63 -0
- package/dist/utils/agent-refs.js.map +1 -0
- package/dist/utils/atomic-write.d.ts +12 -0
- package/dist/utils/atomic-write.d.ts.map +1 -0
- package/dist/utils/atomic-write.js +30 -0
- package/dist/utils/atomic-write.js.map +1 -0
- package/dist/utils/compare-versions.d.ts +12 -0
- package/dist/utils/compare-versions.d.ts.map +1 -0
- package/dist/utils/compare-versions.js +86 -0
- package/dist/utils/compare-versions.js.map +1 -0
- package/dist/utils/cwd-guard.d.ts +38 -0
- package/dist/utils/cwd-guard.d.ts.map +1 -0
- package/dist/utils/cwd-guard.js +62 -0
- package/dist/utils/cwd-guard.js.map +1 -0
- package/dist/utils/file-writer.d.ts +36 -0
- package/dist/utils/file-writer.d.ts.map +1 -0
- package/dist/utils/file-writer.js +204 -0
- package/dist/utils/file-writer.js.map +1 -0
- package/dist/utils/manifest-prune.d.ts +61 -0
- package/dist/utils/manifest-prune.d.ts.map +1 -0
- package/dist/utils/manifest-prune.js +136 -0
- package/dist/utils/manifest-prune.js.map +1 -0
- package/dist/utils/posix.d.ts +13 -0
- package/dist/utils/posix.d.ts.map +1 -0
- package/dist/utils/posix.js +15 -0
- package/dist/utils/posix.js.map +1 -0
- package/dist/utils/project-detector.d.ts +46 -0
- package/dist/utils/project-detector.d.ts.map +1 -0
- package/dist/utils/project-detector.js +666 -0
- package/dist/utils/project-detector.js.map +1 -0
- package/dist/utils/proxy.d.ts +25 -0
- package/dist/utils/proxy.d.ts.map +1 -0
- package/dist/utils/proxy.js +60 -0
- package/dist/utils/proxy.js.map +1 -0
- package/dist/utils/registry-config.d.ts +7 -0
- package/dist/utils/registry-config.d.ts.map +1 -0
- package/dist/utils/registry-config.js +172 -0
- package/dist/utils/registry-config.js.map +1 -0
- package/dist/utils/task-json.d.ts +13 -0
- package/dist/utils/task-json.d.ts.map +1 -0
- package/dist/utils/task-json.js +12 -0
- package/dist/utils/task-json.js.map +1 -0
- package/dist/utils/template-fetcher.d.ts +161 -0
- package/dist/utils/template-fetcher.d.ts.map +1 -0
- package/dist/utils/template-fetcher.js +994 -0
- package/dist/utils/template-fetcher.js.map +1 -0
- package/dist/utils/template-hash.d.ts +123 -0
- package/dist/utils/template-hash.d.ts.map +1 -0
- package/dist/utils/template-hash.js +335 -0
- package/dist/utils/template-hash.js.map +1 -0
- package/dist/utils/uninstall-scrubbers.d.ts +67 -0
- package/dist/utils/uninstall-scrubbers.d.ts.map +1 -0
- package/dist/utils/uninstall-scrubbers.js +361 -0
- package/dist/utils/uninstall-scrubbers.js.map +1 -0
- package/dist/utils/workflow-resolver.d.ts +86 -0
- package/dist/utils/workflow-resolver.d.ts.map +1 -0
- package/dist/utils/workflow-resolver.js +265 -0
- package/dist/utils/workflow-resolver.js.map +1 -0
- package/package.json +89 -0
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Snow CLI configurator.
|
|
3
|
+
*
|
|
4
|
+
* Snow CLI is a class-1 platform (agentCapable + auto context inject +
|
|
5
|
+
* project agent discovery + beforeSubAgentStart), same capability class as
|
|
6
|
+
* Claude Code / OMP — host protocol differs, workflow surface matches.
|
|
7
|
+
*
|
|
8
|
+
* Output paths:
|
|
9
|
+
* - `.snow/skills/` — workflow + bundled skills (Claude Code Skills layout)
|
|
10
|
+
* - `.snow/commands/trellis-*.json` — custom prompt slash commands (no trellis-start)
|
|
11
|
+
* - `.snow/agents/` — project sub-agents (auto-discovered by Snow; primary path)
|
|
12
|
+
* - `.snow/hooks/` — inject hooks (session / user / beforeSubAgentStart)
|
|
13
|
+
* - `.snow/SNOW.md` — operator guide
|
|
14
|
+
*
|
|
15
|
+
* Modern Snow does NOT ship `.snow/sub-agents.trellis.json` (legacy merge
|
|
16
|
+
* fragment for older hosts without project-agent discovery).
|
|
17
|
+
*
|
|
18
|
+
* hasHooks=true → filterCommands drops `start`; SessionStart injects context.
|
|
19
|
+
* Agents are written without class-2 pull-based prelude (hook inject is primary).
|
|
20
|
+
*/
|
|
21
|
+
import { AI_TOOLS } from "../types/ai-tools.js";
|
|
22
|
+
import { getAllAgents, getAllHooks, getSnowGuide, } from "../templates/snow/index.js";
|
|
23
|
+
import { collectSkillTemplates, resolveAllAsSkills, resolveBundledSkills, resolveCommands, replacePythonCommandLiterals, } from "./shared.js";
|
|
24
|
+
function buildSnowCommandJson(name, content) {
|
|
25
|
+
const description = name === "continue"
|
|
26
|
+
? "Resume the current Trellis task at the right workflow phase."
|
|
27
|
+
: name === "finish-work"
|
|
28
|
+
? "Wrap up the current Trellis session: archive tasks and record journal."
|
|
29
|
+
: `Trellis: ${name}`;
|
|
30
|
+
return (JSON.stringify({
|
|
31
|
+
type: "prompt",
|
|
32
|
+
description,
|
|
33
|
+
command: content,
|
|
34
|
+
location: "project",
|
|
35
|
+
}, null, 2) + "\n");
|
|
36
|
+
}
|
|
37
|
+
function collectSnowStaticFiles() {
|
|
38
|
+
const files = new Map();
|
|
39
|
+
for (const hook of getAllHooks()) {
|
|
40
|
+
files.set(`.snow/hooks/${hook.targetPath}`, hook.content);
|
|
41
|
+
}
|
|
42
|
+
files.set(".snow/SNOW.md", getSnowGuide());
|
|
43
|
+
return files;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* The Snow CLI file set — written at init and diffed by `trellis update`.
|
|
47
|
+
*/
|
|
48
|
+
export function collectSnowTemplates() {
|
|
49
|
+
const config = AI_TOOLS.snow;
|
|
50
|
+
const ctx = config.templateContext;
|
|
51
|
+
const files = new Map();
|
|
52
|
+
// hasHooks=true → resolveAllAsSkills drops trellis-start.
|
|
53
|
+
for (const [filePath, content] of collectSkillTemplates(".snow/skills", resolveAllAsSkills(ctx), resolveBundledSkills(ctx))) {
|
|
54
|
+
files.set(filePath, content);
|
|
55
|
+
}
|
|
56
|
+
for (const cmd of resolveCommands(ctx)) {
|
|
57
|
+
const body = replacePythonCommandLiterals(cmd.content);
|
|
58
|
+
files.set(`.snow/commands/trellis-${cmd.name}.json`, buildSnowCommandJson(cmd.name, body));
|
|
59
|
+
}
|
|
60
|
+
// class-1: no applyPullBasedPreludeMarkdown (hook inject is primary)
|
|
61
|
+
for (const agent of getAllAgents()) {
|
|
62
|
+
files.set(`.snow/agents/${agent.name}.md`, agent.content);
|
|
63
|
+
}
|
|
64
|
+
for (const [filePath, content] of collectSnowStaticFiles()) {
|
|
65
|
+
files.set(filePath, content);
|
|
66
|
+
}
|
|
67
|
+
return files;
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=snow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snow.js","sourceRoot":"","sources":["../../src/configurators/snow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EACL,YAAY,EACZ,WAAW,EACX,YAAY,GACb,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,4BAA4B,GAC7B,MAAM,aAAa,CAAC;AAErB,SAAS,oBAAoB,CAAC,IAAY,EAAE,OAAe;IACzD,MAAM,WAAW,GACf,IAAI,KAAK,UAAU;QACjB,CAAC,CAAC,8DAA8D;QAChE,CAAC,CAAC,IAAI,KAAK,aAAa;YACtB,CAAC,CAAC,wEAAwE;YAC1E,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC;IAE3B,OAAO,CACL,IAAI,CAAC,SAAS,CACZ;QACE,IAAI,EAAE,QAAQ;QACd,WAAW;QACX,OAAO,EAAE,OAAO;QAChB,QAAQ,EAAE,SAAS;KACpB,EACD,IAAI,EACJ,CAAC,CACF,GAAG,IAAI,CACT,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB;IAC7B,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IACxC,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,EAAE,CAAC;QACjC,KAAK,CAAC,GAAG,CAAC,eAAe,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5D,CAAC;IACD,KAAK,CAAC,GAAG,CAAC,eAAe,EAAE,YAAY,EAAE,CAAC,CAAC;IAC3C,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB;IAClC,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC;IAC7B,MAAM,GAAG,GAAG,MAAM,CAAC,eAAe,CAAC;IACnC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IAExC,0DAA0D;IAC1D,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,qBAAqB,CACrD,cAAc,EACd,kBAAkB,CAAC,GAAG,CAAC,EACvB,oBAAoB,CAAC,GAAG,CAAC,CAC1B,EAAE,CAAC;QACF,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,4BAA4B,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACvD,KAAK,CAAC,GAAG,CACP,0BAA0B,GAAG,CAAC,IAAI,OAAO,EACzC,oBAAoB,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CACrC,CAAC;IACJ,CAAC;IAED,qEAAqE;IACrE,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,EAAE,CAAC;QACnC,KAAK,CAAC,GAAG,CAAC,gBAAgB,KAAK,CAAC,IAAI,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,sBAAsB,EAAE,EAAE,CAAC;QAC3D,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The Trae IDE file set — written at init and diffed by `trellis update`.
|
|
3
|
+
*
|
|
4
|
+
* Trae is a class-2 platform: hooks fire on SessionStart + UserPromptSubmit in
|
|
5
|
+
* the main session, but cannot inject sub-agent prompts. Sub-agents use a
|
|
6
|
+
* pull-based prelude to load context themselves.
|
|
7
|
+
*
|
|
8
|
+
* .trae/
|
|
9
|
+
* ├── commands/ # Slash commands (trellis-*.md with frontmatter)
|
|
10
|
+
* ├── skills/ # Skill definitions
|
|
11
|
+
* ├── agents/ # Sub-agent definitions with pull-based prelude
|
|
12
|
+
* ├── hooks/ # Shared Python hook scripts
|
|
13
|
+
* └── hooks.json # Hook event registration
|
|
14
|
+
*/
|
|
15
|
+
export declare function collectTraeTemplates(): Map<string, string>;
|
|
16
|
+
//# sourceMappingURL=trae.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trae.d.ts","sourceRoot":"","sources":["../../src/configurators/trae.ts"],"names":[],"mappings":"AAWA;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAsB1D"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
import { AI_TOOLS } from "../types/ai-tools.js";
|
|
3
|
+
import { resolvePlaceholders, wrapWithCommandFrontmatter, collectBothTemplates, collectSharedHooks, applyPullBasedPreludeMarkdown, } from "./shared.js";
|
|
4
|
+
import { getAllAgents, getSettingsTemplate } from "../templates/trae/index.js";
|
|
5
|
+
/**
|
|
6
|
+
* The Trae IDE file set — written at init and diffed by `trellis update`.
|
|
7
|
+
*
|
|
8
|
+
* Trae is a class-2 platform: hooks fire on SessionStart + UserPromptSubmit in
|
|
9
|
+
* the main session, but cannot inject sub-agent prompts. Sub-agents use a
|
|
10
|
+
* pull-based prelude to load context themselves.
|
|
11
|
+
*
|
|
12
|
+
* .trae/
|
|
13
|
+
* ├── commands/ # Slash commands (trellis-*.md with frontmatter)
|
|
14
|
+
* ├── skills/ # Skill definitions
|
|
15
|
+
* ├── agents/ # Sub-agent definitions with pull-based prelude
|
|
16
|
+
* ├── hooks/ # Shared Python hook scripts
|
|
17
|
+
* └── hooks.json # Hook event registration
|
|
18
|
+
*/
|
|
19
|
+
export function collectTraeTemplates() {
|
|
20
|
+
const files = collectBothTemplates(AI_TOOLS.trae.templateContext, (n) => `.trae/commands/trellis-${n}.md`, ".trae/skills", (filePath, content) => {
|
|
21
|
+
const name = path.basename(filePath, ".md");
|
|
22
|
+
return wrapWithCommandFrontmatter(name, content);
|
|
23
|
+
});
|
|
24
|
+
for (const agent of applyPullBasedPreludeMarkdown(getAllAgents())) {
|
|
25
|
+
files.set(`.trae/agents/${agent.name}.md`, agent.content);
|
|
26
|
+
}
|
|
27
|
+
for (const [k, v] of collectSharedHooks(".trae/hooks", "trae")) {
|
|
28
|
+
files.set(k, v);
|
|
29
|
+
}
|
|
30
|
+
const settings = getSettingsTemplate();
|
|
31
|
+
files.set(`.trae/${settings.targetPath}`, resolvePlaceholders(settings.content));
|
|
32
|
+
return files;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=trae.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trae.js","sourceRoot":"","sources":["../../src/configurators/trae.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EACL,mBAAmB,EACnB,0BAA0B,EAC1B,oBAAoB,EACpB,kBAAkB,EAClB,6BAA6B,GAC9B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAE/E;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,oBAAoB;IAClC,MAAM,KAAK,GAAG,oBAAoB,CAChC,QAAQ,CAAC,IAAI,CAAC,eAAe,EAC7B,CAAC,CAAC,EAAE,EAAE,CAAC,0BAA0B,CAAC,KAAK,EACvC,cAAc,EACd,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE;QACpB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC5C,OAAO,0BAA0B,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC,CACF,CAAC;IACF,KAAK,MAAM,KAAK,IAAI,6BAA6B,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC;QAClE,KAAK,CAAC,GAAG,CAAC,gBAAgB,KAAK,CAAC,IAAI,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAC5D,CAAC;IACD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,kBAAkB,CAAC,aAAa,EAAE,MAAM,CAAC,EAAE,CAAC;QAC/D,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,QAAQ,GAAG,mBAAmB,EAAE,CAAC;IACvC,KAAK,CAAC,GAAG,CACP,SAAS,QAAQ,CAAC,UAAU,EAAE,EAC9B,mBAAmB,CAAC,QAAQ,CAAC,OAAO,CAAC,CACtC,CAAC;IACF,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { type ProjectType, type DetectedPackage } from "../utils/project-detector.js";
|
|
2
|
+
/**
|
|
3
|
+
* Options for creating workflow structure
|
|
4
|
+
*/
|
|
5
|
+
export interface WorkflowOptions {
|
|
6
|
+
/** Detected or specified project type */
|
|
7
|
+
projectType: ProjectType;
|
|
8
|
+
/** Skip creating local spec templates (when using remote template) — single-repo mode */
|
|
9
|
+
skipSpecTemplates?: boolean;
|
|
10
|
+
/** Detected monorepo packages (enables monorepo spec creation) */
|
|
11
|
+
packages?: DetectedPackage[];
|
|
12
|
+
/** Package names that use remote templates (skip blank spec for these) */
|
|
13
|
+
remoteSpecPackages?: Set<string>;
|
|
14
|
+
/**
|
|
15
|
+
* Optional override for `.trellis/workflow.md` content. When omitted the
|
|
16
|
+
* bundled native template is written. Set by `init --workflow` (or
|
|
17
|
+
* `--workflow-source`) after the resolver has fetched marketplace content.
|
|
18
|
+
* Caller is still responsible for removing the `.trellis/workflow.md` hash
|
|
19
|
+
* entry for non-native workflows so update.ts treats them as user-managed.
|
|
20
|
+
*/
|
|
21
|
+
workflowMdOverride?: string;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Ensure the project-root `.gitattributes` carries the journal `merge=union`
|
|
25
|
+
* rule, without ever overwriting a user's existing file wholesale.
|
|
26
|
+
*
|
|
27
|
+
* - No `.gitattributes` yet: write the bundled template directly.
|
|
28
|
+
* - Existing file that already has a `journal-*.md merge=union` rule (user's
|
|
29
|
+
* own or from a previous `trellis init`/`update`): no-op, avoids duplicates.
|
|
30
|
+
* - Existing file without that rule: append the bundled template content.
|
|
31
|
+
*
|
|
32
|
+
* Intentionally does NOT go through the standard `writeFile` conflict-prompt
|
|
33
|
+
* flow — this file is additive-only and never a candidate for whole-file
|
|
34
|
+
* overwrite.
|
|
35
|
+
*/
|
|
36
|
+
export declare function ensureGitattributes(cwd: string): void;
|
|
37
|
+
/**
|
|
38
|
+
* Create workflow structure based on project type
|
|
39
|
+
*
|
|
40
|
+
* This function creates the .trellis/ directory structure by:
|
|
41
|
+
* 1. Copying scripts/ directory directly (dogfooding)
|
|
42
|
+
* 2. Copying workflow.md and .gitignore (dogfooding)
|
|
43
|
+
* 3. Creating workspace/ with index.md
|
|
44
|
+
* 4. Creating tasks/ directory
|
|
45
|
+
* 5. Creating spec/ with templates (not dogfooded - generic templates)
|
|
46
|
+
*
|
|
47
|
+
* @param cwd - Current working directory
|
|
48
|
+
* @param options - Workflow options including project type
|
|
49
|
+
*/
|
|
50
|
+
export declare function createWorkflowStructure(cwd: string, options?: WorkflowOptions): Promise<void>;
|
|
51
|
+
//# sourceMappingURL=workflow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../src/configurators/workflow.ts"],"names":[],"mappings":"AAyCA,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,eAAe,EACrB,MAAM,8BAA8B,CAAC;AAOtC;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,yCAAyC;IACzC,WAAW,EAAE,WAAW,CAAC;IACzB,yFAAyF;IACzF,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,kEAAkE;IAClE,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;IAC7B,0EAA0E;IAC1E,kBAAkB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACjC;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AASD;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAerD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,uBAAuB,CAC3C,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,IAAI,CAAC,CAmEf"}
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
import fs from "node:fs";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { DIR_NAMES, PATHS } from "../constants/paths.js";
|
|
4
|
+
import { copyTrellisDir } from "../templates/extract.js";
|
|
5
|
+
// Import trellis templates (generic, not project-specific)
|
|
6
|
+
import { workflowMdTemplate, configYamlTemplate, gitignoreTemplate, gitattributesTemplate, getAllAgents, } from "../templates/trellis/index.js";
|
|
7
|
+
// Import markdown templates
|
|
8
|
+
import { agentProgressIndexContent,
|
|
9
|
+
// Backend structure (multi-doc)
|
|
10
|
+
backendIndexContent, backendDirectoryStructureContent, backendDatabaseGuidelinesContent, backendLoggingGuidelinesContent, backendQualityGuidelinesContent, backendErrorHandlingContent,
|
|
11
|
+
// Frontend structure (multi-doc)
|
|
12
|
+
frontendIndexContent, frontendDirectoryStructureContent, frontendTypeSafetyContent, frontendHookGuidelinesContent, frontendComponentGuidelinesContent, frontendQualityGuidelinesContent, frontendStateManagementContent,
|
|
13
|
+
// Guides structure
|
|
14
|
+
guidesIndexContent, guidesCrossLayerThinkingGuideContent, guidesCodeReuseThinkingGuideContent, } from "../templates/markdown/index.js";
|
|
15
|
+
import { writeFile, ensureDir } from "../utils/file-writer.js";
|
|
16
|
+
import { replacePythonCommandLiterals } from "./shared.js";
|
|
17
|
+
import { sanitizePkgName, } from "../utils/project-detector.js";
|
|
18
|
+
/**
|
|
19
|
+
* Regex used to detect an existing `journal-*.md merge=union` gitattributes
|
|
20
|
+
* rule (any whitespace variant), so `ensureGitattributes` never appends a
|
|
21
|
+
* duplicate entry to a project's pre-existing `.gitattributes`.
|
|
22
|
+
*/
|
|
23
|
+
const JOURNAL_MERGE_UNION_PATTERN = /journal-\*\.md\s+merge=union/;
|
|
24
|
+
/**
|
|
25
|
+
* Ensure the project-root `.gitattributes` carries the journal `merge=union`
|
|
26
|
+
* rule, without ever overwriting a user's existing file wholesale.
|
|
27
|
+
*
|
|
28
|
+
* - No `.gitattributes` yet: write the bundled template directly.
|
|
29
|
+
* - Existing file that already has a `journal-*.md merge=union` rule (user's
|
|
30
|
+
* own or from a previous `trellis init`/`update`): no-op, avoids duplicates.
|
|
31
|
+
* - Existing file without that rule: append the bundled template content.
|
|
32
|
+
*
|
|
33
|
+
* Intentionally does NOT go through the standard `writeFile` conflict-prompt
|
|
34
|
+
* flow — this file is additive-only and never a candidate for whole-file
|
|
35
|
+
* overwrite.
|
|
36
|
+
*/
|
|
37
|
+
export function ensureGitattributes(cwd) {
|
|
38
|
+
const targetPath = path.join(cwd, ".gitattributes");
|
|
39
|
+
if (!fs.existsSync(targetPath)) {
|
|
40
|
+
fs.writeFileSync(targetPath, gitattributesTemplate);
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
const existing = fs.readFileSync(targetPath, "utf-8");
|
|
44
|
+
if (JOURNAL_MERGE_UNION_PATTERN.test(existing)) {
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
const separator = existing.endsWith("\n") ? "\n" : "\n\n";
|
|
48
|
+
fs.writeFileSync(targetPath, existing + separator + gitattributesTemplate);
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Create workflow structure based on project type
|
|
52
|
+
*
|
|
53
|
+
* This function creates the .trellis/ directory structure by:
|
|
54
|
+
* 1. Copying scripts/ directory directly (dogfooding)
|
|
55
|
+
* 2. Copying workflow.md and .gitignore (dogfooding)
|
|
56
|
+
* 3. Creating workspace/ with index.md
|
|
57
|
+
* 4. Creating tasks/ directory
|
|
58
|
+
* 5. Creating spec/ with templates (not dogfooded - generic templates)
|
|
59
|
+
*
|
|
60
|
+
* @param cwd - Current working directory
|
|
61
|
+
* @param options - Workflow options including project type
|
|
62
|
+
*/
|
|
63
|
+
export async function createWorkflowStructure(cwd, options) {
|
|
64
|
+
const projectType = options?.projectType ?? "fullstack";
|
|
65
|
+
const skipSpecTemplates = options?.skipSpecTemplates ?? false;
|
|
66
|
+
const packages = options?.packages;
|
|
67
|
+
const remoteSpecPackages = options?.remoteSpecPackages;
|
|
68
|
+
const workflowMd = options?.workflowMdOverride ?? workflowMdTemplate;
|
|
69
|
+
// Create base .trellis directory
|
|
70
|
+
ensureDir(path.join(cwd, DIR_NAMES.WORKFLOW));
|
|
71
|
+
// Copy scripts/ directory from templates
|
|
72
|
+
await copyTrellisDir("scripts", path.join(cwd, PATHS.SCRIPTS), {
|
|
73
|
+
executable: true,
|
|
74
|
+
});
|
|
75
|
+
// Copy workflow.md (native bundled template or selected marketplace variant)
|
|
76
|
+
await writeFile(path.join(cwd, PATHS.WORKFLOW_GUIDE_FILE), replacePythonCommandLiterals(workflowMd));
|
|
77
|
+
// Copy .gitignore from templates
|
|
78
|
+
await writeFile(path.join(cwd, DIR_NAMES.WORKFLOW, ".gitignore"), gitignoreTemplate);
|
|
79
|
+
// Copy config.yaml from templates
|
|
80
|
+
await writeFile(path.join(cwd, DIR_NAMES.WORKFLOW, "config.yaml"), configYamlTemplate);
|
|
81
|
+
// Ensure project-root .gitattributes carries the journal merge=union rule
|
|
82
|
+
// (additive-only — never overwrites a user's existing file wholesale).
|
|
83
|
+
ensureGitattributes(cwd);
|
|
84
|
+
// Dispatch channel runtime agent definitions. These are platform-agnostic
|
|
85
|
+
// Trellis runtime files consumed by `trellis channel spawn --agent <name>`
|
|
86
|
+
// through `packages/cli/src/commands/channel/agent-loader.ts`. They are
|
|
87
|
+
// dispatched on every init regardless of selected workflow because the user
|
|
88
|
+
// can switch to a channel-driven workflow at any time via `trellis workflow
|
|
89
|
+
// --template`.
|
|
90
|
+
ensureDir(path.join(cwd, PATHS.AGENTS));
|
|
91
|
+
for (const [agentFile, content] of getAllAgents()) {
|
|
92
|
+
await writeFile(path.join(cwd, PATHS.AGENTS, agentFile), content);
|
|
93
|
+
}
|
|
94
|
+
// Create workspace/ with index.md
|
|
95
|
+
ensureDir(path.join(cwd, PATHS.WORKSPACE));
|
|
96
|
+
await writeFile(path.join(cwd, PATHS.WORKSPACE, "index.md"), replacePythonCommandLiterals(agentProgressIndexContent));
|
|
97
|
+
// Create tasks/ directory
|
|
98
|
+
ensureDir(path.join(cwd, PATHS.TASKS));
|
|
99
|
+
// Create spec templates based on project type
|
|
100
|
+
// These are NOT dogfooded - they are generic templates for new projects
|
|
101
|
+
if (packages && packages.length > 0) {
|
|
102
|
+
// Monorepo mode: create per-package spec directories
|
|
103
|
+
await createSpecTemplates(cwd, projectType, packages, remoteSpecPackages);
|
|
104
|
+
}
|
|
105
|
+
else if (!skipSpecTemplates) {
|
|
106
|
+
// Single-repo mode: create global spec (skip if using remote template)
|
|
107
|
+
await createSpecTemplates(cwd, projectType);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Write backend spec docs into a target spec directory.
|
|
112
|
+
*/
|
|
113
|
+
async function writeBackendDocs(specBase) {
|
|
114
|
+
const backendDir = path.join(specBase, "backend");
|
|
115
|
+
ensureDir(backendDir);
|
|
116
|
+
const docs = [
|
|
117
|
+
{ name: "index.md", content: backendIndexContent },
|
|
118
|
+
{
|
|
119
|
+
name: "directory-structure.md",
|
|
120
|
+
content: backendDirectoryStructureContent,
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
name: "database-guidelines.md",
|
|
124
|
+
content: backendDatabaseGuidelinesContent,
|
|
125
|
+
},
|
|
126
|
+
{ name: "logging-guidelines.md", content: backendLoggingGuidelinesContent },
|
|
127
|
+
{ name: "quality-guidelines.md", content: backendQualityGuidelinesContent },
|
|
128
|
+
{ name: "error-handling.md", content: backendErrorHandlingContent },
|
|
129
|
+
];
|
|
130
|
+
for (const doc of docs) {
|
|
131
|
+
await writeFile(path.join(backendDir, doc.name), doc.content);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Write frontend spec docs into a target spec directory.
|
|
136
|
+
*/
|
|
137
|
+
async function writeFrontendDocs(specBase) {
|
|
138
|
+
const frontendDir = path.join(specBase, "frontend");
|
|
139
|
+
ensureDir(frontendDir);
|
|
140
|
+
const docs = [
|
|
141
|
+
{ name: "index.md", content: frontendIndexContent },
|
|
142
|
+
{
|
|
143
|
+
name: "directory-structure.md",
|
|
144
|
+
content: frontendDirectoryStructureContent,
|
|
145
|
+
},
|
|
146
|
+
{ name: "type-safety.md", content: frontendTypeSafetyContent },
|
|
147
|
+
{ name: "hook-guidelines.md", content: frontendHookGuidelinesContent },
|
|
148
|
+
{
|
|
149
|
+
name: "component-guidelines.md",
|
|
150
|
+
content: frontendComponentGuidelinesContent,
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
name: "quality-guidelines.md",
|
|
154
|
+
content: frontendQualityGuidelinesContent,
|
|
155
|
+
},
|
|
156
|
+
{ name: "state-management.md", content: frontendStateManagementContent },
|
|
157
|
+
];
|
|
158
|
+
for (const doc of docs) {
|
|
159
|
+
await writeFile(path.join(frontendDir, doc.name), doc.content);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Write spec docs for a given project type into a target spec directory.
|
|
164
|
+
*/
|
|
165
|
+
async function writeSpecForType(specBase, projectType) {
|
|
166
|
+
if (projectType !== "frontend") {
|
|
167
|
+
await writeBackendDocs(specBase);
|
|
168
|
+
}
|
|
169
|
+
if (projectType !== "backend") {
|
|
170
|
+
await writeFrontendDocs(specBase);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
async function createSpecTemplates(cwd, projectType, packages, remoteSpecPackages) {
|
|
174
|
+
// Ensure spec directory exists
|
|
175
|
+
ensureDir(path.join(cwd, PATHS.SPEC));
|
|
176
|
+
// Guides - always created regardless of mode
|
|
177
|
+
const guidesDir = path.join(cwd, `${PATHS.SPEC}/guides`);
|
|
178
|
+
ensureDir(guidesDir);
|
|
179
|
+
const guidesDocs = [
|
|
180
|
+
{ name: "index.md", content: guidesIndexContent },
|
|
181
|
+
{
|
|
182
|
+
name: "cross-layer-thinking-guide.md",
|
|
183
|
+
content: guidesCrossLayerThinkingGuideContent,
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
name: "code-reuse-thinking-guide.md",
|
|
187
|
+
content: guidesCodeReuseThinkingGuideContent,
|
|
188
|
+
},
|
|
189
|
+
];
|
|
190
|
+
for (const doc of guidesDocs) {
|
|
191
|
+
await writeFile(path.join(guidesDir, doc.name), doc.content);
|
|
192
|
+
}
|
|
193
|
+
if (packages && packages.length > 0) {
|
|
194
|
+
// Monorepo mode: create spec/<name>/ for each package
|
|
195
|
+
for (const pkg of packages) {
|
|
196
|
+
const dirName = sanitizePkgName(pkg.name);
|
|
197
|
+
if (remoteSpecPackages?.has(dirName))
|
|
198
|
+
continue;
|
|
199
|
+
const pkgSpecBase = path.join(cwd, `${PATHS.SPEC}/${dirName}`);
|
|
200
|
+
ensureDir(pkgSpecBase);
|
|
201
|
+
const pkgType = pkg.type === "unknown" ? "fullstack" : pkg.type;
|
|
202
|
+
await writeSpecForType(pkgSpecBase, pkgType);
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
else {
|
|
206
|
+
// Single-repo mode
|
|
207
|
+
await writeSpecForType(path.join(cwd, PATHS.SPEC), projectType);
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
//# sourceMappingURL=workflow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../src/configurators/workflow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD,2DAA2D;AAC3D,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,YAAY,GACb,MAAM,+BAA+B,CAAC;AAEvC,4BAA4B;AAC5B,OAAO,EACL,yBAAyB;AACzB,gCAAgC;AAChC,mBAAmB,EACnB,gCAAgC,EAChC,gCAAgC,EAChC,+BAA+B,EAC/B,+BAA+B,EAC/B,2BAA2B;AAC3B,iCAAiC;AACjC,oBAAoB,EACpB,iCAAiC,EACjC,yBAAyB,EACzB,6BAA6B,EAC7B,kCAAkC,EAClC,gCAAgC,EAChC,8BAA8B;AAC9B,mBAAmB;AACnB,kBAAkB,EAClB,oCAAoC,EACpC,mCAAmC,GACpC,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EACL,eAAe,GAGhB,MAAM,8BAA8B,CAAC;AA6BtC;;;;GAIG;AACH,MAAM,2BAA2B,GAAG,8BAA8B,CAAC;AAEnE;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAW;IAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;IAEpD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,qBAAqB,CAAC,CAAC;QACpD,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACtD,IAAI,2BAA2B,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/C,OAAO;IACT,CAAC;IAED,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;IAC1D,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,QAAQ,GAAG,SAAS,GAAG,qBAAqB,CAAC,CAAC;AAC7E,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,GAAW,EACX,OAAyB;IAEzB,MAAM,WAAW,GAAG,OAAO,EAAE,WAAW,IAAI,WAAW,CAAC;IACxD,MAAM,iBAAiB,GAAG,OAAO,EAAE,iBAAiB,IAAI,KAAK,CAAC;IAC9D,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,CAAC;IACnC,MAAM,kBAAkB,GAAG,OAAO,EAAE,kBAAkB,CAAC;IACvD,MAAM,UAAU,GAAG,OAAO,EAAE,kBAAkB,IAAI,kBAAkB,CAAC;IAErE,iCAAiC;IACjC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE9C,yCAAyC;IACzC,MAAM,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE;QAC7D,UAAU,EAAE,IAAI;KACjB,CAAC,CAAC;IAEH,6EAA6E;IAC7E,MAAM,SAAS,CACb,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,mBAAmB,CAAC,EACzC,4BAA4B,CAAC,UAAU,CAAC,CACzC,CAAC;IAEF,iCAAiC;IACjC,MAAM,SAAS,CACb,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,QAAQ,EAAE,YAAY,CAAC,EAChD,iBAAiB,CAClB,CAAC;IAEF,kCAAkC;IAClC,MAAM,SAAS,CACb,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,QAAQ,EAAE,aAAa,CAAC,EACjD,kBAAkB,CACnB,CAAC;IAEF,0EAA0E;IAC1E,uEAAuE;IACvE,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAEzB,0EAA0E;IAC1E,2EAA2E;IAC3E,wEAAwE;IACxE,4EAA4E;IAC5E,4EAA4E;IAC5E,eAAe;IACf,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACxC,KAAK,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,YAAY,EAAE,EAAE,CAAC;QAClD,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC;IACpE,CAAC;IAED,kCAAkC;IAClC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;IAC3C,MAAM,SAAS,CACb,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,SAAS,EAAE,UAAU,CAAC,EAC3C,4BAA4B,CAAC,yBAAyB,CAAC,CACxD,CAAC;IAEF,0BAA0B;IAC1B,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAEvC,8CAA8C;IAC9C,wEAAwE;IACxE,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,qDAAqD;QACrD,MAAM,mBAAmB,CAAC,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,kBAAkB,CAAC,CAAC;IAC5E,CAAC;SAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC9B,uEAAuE;QACvE,MAAM,mBAAmB,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,gBAAgB,CAAC,QAAgB;IAC9C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAClD,SAAS,CAAC,UAAU,CAAC,CAAC;IACtB,MAAM,IAAI,GAAoB;QAC5B,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,mBAAmB,EAAE;QAClD;YACE,IAAI,EAAE,wBAAwB;YAC9B,OAAO,EAAE,gCAAgC;SAC1C;QACD;YACE,IAAI,EAAE,wBAAwB;YAC9B,OAAO,EAAE,gCAAgC;SAC1C;QACD,EAAE,IAAI,EAAE,uBAAuB,EAAE,OAAO,EAAE,+BAA+B,EAAE;QAC3E,EAAE,IAAI,EAAE,uBAAuB,EAAE,OAAO,EAAE,+BAA+B,EAAE;QAC3E,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,2BAA2B,EAAE;KACpE,CAAC;IACF,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IAChE,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,iBAAiB,CAAC,QAAgB;IAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACpD,SAAS,CAAC,WAAW,CAAC,CAAC;IACvB,MAAM,IAAI,GAAoB;QAC5B,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,oBAAoB,EAAE;QACnD;YACE,IAAI,EAAE,wBAAwB;YAC9B,OAAO,EAAE,iCAAiC;SAC3C;QACD,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,yBAAyB,EAAE;QAC9D,EAAE,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,6BAA6B,EAAE;QACtE;YACE,IAAI,EAAE,yBAAyB;YAC/B,OAAO,EAAE,kCAAkC;SAC5C;QACD;YACE,IAAI,EAAE,uBAAuB;YAC7B,OAAO,EAAE,gCAAgC;SAC1C;QACD,EAAE,IAAI,EAAE,qBAAqB,EAAE,OAAO,EAAE,8BAA8B,EAAE;KACzE,CAAC;IACF,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IACjE,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,gBAAgB,CAC7B,QAAgB,EAChB,WAAwB;IAExB,IAAI,WAAW,KAAK,UAAU,EAAE,CAAC;QAC/B,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IACD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,GAAW,EACX,WAAwB,EACxB,QAA4B,EAC5B,kBAAgC;IAEhC,+BAA+B;IAC/B,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAEtC,6CAA6C;IAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,IAAI,SAAS,CAAC,CAAC;IACzD,SAAS,CAAC,SAAS,CAAC,CAAC;IACrB,MAAM,UAAU,GAAoB;QAClC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAkB,EAAE;QACjD;YACE,IAAI,EAAE,+BAA+B;YACrC,OAAO,EAAE,oCAAoC;SAC9C;QACD;YACE,IAAI,EAAE,8BAA8B;YACpC,OAAO,EAAE,mCAAmC;SAC7C;KACF,CAAC;IACF,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IAC/D,CAAC;IAED,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,sDAAsD;QACtD,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,kBAAkB,EAAE,GAAG,CAAC,OAAO,CAAC;gBAAE,SAAS;YAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC,CAAC;YAC/D,SAAS,CAAC,WAAW,CAAC,CAAC;YACvB,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;YAChE,MAAM,gBAAgB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;SAAM,CAAC;QACN,mBAAmB;QACnB,MAAM,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC;IAClE,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ZCode configurator.
|
|
3
|
+
*
|
|
4
|
+
* ZCode (智谱) is an agentCapable class-1 platform. Since ZCode 3.x it exposes
|
|
5
|
+
* a workspace hook config at `.zcode/config.json` (SessionStart,
|
|
6
|
+
* UserPromptSubmit, and PreToolUse for Agent/Task), so `hasHooks` is true.
|
|
7
|
+
* Four output paths:
|
|
8
|
+
* - `.zcode/skills/` — ZCode-private workflow and bundled skills
|
|
9
|
+
* - `.zcode/commands/trellis/` — slash commands (invoked as /trellis:<name>)
|
|
10
|
+
* - `.zcode/agents/` — sub-agent definitions with hook-injection fallback
|
|
11
|
+
* - `.zcode/hooks/` + `.zcode/config.json` — shared Python hook scripts and
|
|
12
|
+
* the workspace hook registration
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* The ZCode file set — written at init and diffed by `trellis update`.
|
|
16
|
+
*/
|
|
17
|
+
export declare function collectZcodeTemplates(): Map<string, string>;
|
|
18
|
+
/**
|
|
19
|
+
* Configure ZCode at init time: write the collected file set, then the one
|
|
20
|
+
* thing a `Map<path, content>` cannot carry — a console notice.
|
|
21
|
+
*/
|
|
22
|
+
export declare function configureZcode(cwd: string): Promise<void>;
|
|
23
|
+
//# sourceMappingURL=zcode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zcode.d.ts","sourceRoot":"","sources":["../../src/configurators/zcode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAiBH;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAqC3D;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAa/D"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ZCode configurator.
|
|
3
|
+
*
|
|
4
|
+
* ZCode (智谱) is an agentCapable class-1 platform. Since ZCode 3.x it exposes
|
|
5
|
+
* a workspace hook config at `.zcode/config.json` (SessionStart,
|
|
6
|
+
* UserPromptSubmit, and PreToolUse for Agent/Task), so `hasHooks` is true.
|
|
7
|
+
* Four output paths:
|
|
8
|
+
* - `.zcode/skills/` — ZCode-private workflow and bundled skills
|
|
9
|
+
* - `.zcode/commands/trellis/` — slash commands (invoked as /trellis:<name>)
|
|
10
|
+
* - `.zcode/agents/` — sub-agent definitions with hook-injection fallback
|
|
11
|
+
* - `.zcode/hooks/` + `.zcode/config.json` — shared Python hook scripts and
|
|
12
|
+
* the workspace hook registration
|
|
13
|
+
*/
|
|
14
|
+
import { AI_TOOLS } from "../types/ai-tools.js";
|
|
15
|
+
import { getAllAgents, getHooksConfig } from "../templates/zcode/index.js";
|
|
16
|
+
import { getSharedHookScriptsForPlatform } from "../templates/shared-hooks/index.js";
|
|
17
|
+
import { collectSkillTemplates, resolveBundledSkills, resolveCommands, resolvePlaceholders, resolveSkills, writeTemplateMap, } from "./shared.js";
|
|
18
|
+
/** Shared hooks directory written for ZCode (mirrors the configure path). */
|
|
19
|
+
const ZCODE_HOOKS_DIR = ".zcode/hooks";
|
|
20
|
+
/**
|
|
21
|
+
* The ZCode file set — written at init and diffed by `trellis update`.
|
|
22
|
+
*/
|
|
23
|
+
export function collectZcodeTemplates() {
|
|
24
|
+
const config = AI_TOOLS.zcode;
|
|
25
|
+
const ctx = config.templateContext;
|
|
26
|
+
const files = new Map();
|
|
27
|
+
// 1. ZCode-private workflow and bundled skills → .zcode/skills/.
|
|
28
|
+
for (const [filePath, content] of collectSkillTemplates(".zcode/skills", resolveSkills(ctx), resolveBundledSkills(ctx))) {
|
|
29
|
+
files.set(filePath, content);
|
|
30
|
+
}
|
|
31
|
+
// 2. Commands → .zcode/commands/trellis/
|
|
32
|
+
for (const cmd of resolveCommands(ctx)) {
|
|
33
|
+
files.set(`.zcode/commands/trellis/${cmd.name}.md`, cmd.content);
|
|
34
|
+
}
|
|
35
|
+
// 3. Sub-agents → .zcode/agents/ (hook-inject; templates carry fallback).
|
|
36
|
+
for (const agent of getAllAgents()) {
|
|
37
|
+
files.set(`.zcode/agents/${agent.name}.md`, agent.content);
|
|
38
|
+
}
|
|
39
|
+
// 4. Shared hook scripts → .zcode/hooks/.
|
|
40
|
+
// Content is platform-independent (no placeholders), collected as-is.
|
|
41
|
+
for (const hook of getSharedHookScriptsForPlatform("zcode")) {
|
|
42
|
+
files.set(`${ZCODE_HOOKS_DIR}/${hook.name}`, hook.content);
|
|
43
|
+
}
|
|
44
|
+
// 5. Workspace hook registration → .zcode/config.json
|
|
45
|
+
files.set(".zcode/config.json", resolvePlaceholders(getHooksConfig().content));
|
|
46
|
+
return files;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Configure ZCode at init time: write the collected file set, then the one
|
|
50
|
+
* thing a `Map<path, content>` cannot carry — a console notice.
|
|
51
|
+
*/
|
|
52
|
+
export async function configureZcode(cwd) {
|
|
53
|
+
await writeTemplateMap(cwd, collectZcodeTemplates());
|
|
54
|
+
// ZCode loads hook config at session start and does NOT hot-reload it, so
|
|
55
|
+
// users must open a new session for these hooks to fire. Mirrors the Codex
|
|
56
|
+
// one-shot hint pattern; silent under test/quiet environments.
|
|
57
|
+
if (!process.env.VITEST && !process.env.TRELLIS_QUIET) {
|
|
58
|
+
process.stderr.write("ℹ️ ZCode loads hooks at session start (no hot-reload). " +
|
|
59
|
+
"Open a NEW ZCode session for the Trellis SessionStart / " +
|
|
60
|
+
"UserPromptSubmit / PreToolUse hooks in .zcode/config.json to take effect.\n");
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=zcode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zcode.js","sourceRoot":"","sources":["../../src/configurators/zcode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC3E,OAAO,EAAE,+BAA+B,EAAE,MAAM,oCAAoC,CAAC;AACrF,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,eAAe,EACf,mBAAmB,EACnB,aAAa,EACb,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAErB,6EAA6E;AAC7E,MAAM,eAAe,GAAG,cAAc,CAAC;AAEvC;;GAEG;AACH,MAAM,UAAU,qBAAqB;IACnC,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC;IAC9B,MAAM,GAAG,GAAG,MAAM,CAAC,eAAe,CAAC;IACnC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IAExC,iEAAiE;IACjE,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,qBAAqB,CACrD,eAAe,EACf,aAAa,CAAC,GAAG,CAAC,EAClB,oBAAoB,CAAC,GAAG,CAAC,CAC1B,EAAE,CAAC;QACF,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC/B,CAAC;IAED,yCAAyC;IACzC,KAAK,MAAM,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;QACvC,KAAK,CAAC,GAAG,CAAC,2BAA2B,GAAG,CAAC,IAAI,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IACnE,CAAC;IAED,0EAA0E;IAC1E,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,EAAE,CAAC;QACnC,KAAK,CAAC,GAAG,CAAC,iBAAiB,KAAK,CAAC,IAAI,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7D,CAAC;IAED,0CAA0C;IAC1C,yEAAyE;IACzE,KAAK,MAAM,IAAI,IAAI,+BAA+B,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5D,KAAK,CAAC,GAAG,CAAC,GAAG,eAAe,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7D,CAAC;IAED,sDAAsD;IACtD,KAAK,CAAC,GAAG,CACP,oBAAoB,EACpB,mBAAmB,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,CAC9C,CAAC;IAEF,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,GAAW;IAC9C,MAAM,gBAAgB,CAAC,GAAG,EAAE,qBAAqB,EAAE,CAAC,CAAC;IAErD,0EAA0E;IAC1E,2EAA2E;IAC3E,+DAA+D;IAC/D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QACtD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,0DAA0D;YACxD,0DAA0D;YAC1D,6EAA6E,CAChF,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Path constants for Trellis workflow structure
|
|
3
|
+
*
|
|
4
|
+
* Change these values to rename directories across the entire project.
|
|
5
|
+
* All paths should be relative to the project root.
|
|
6
|
+
*/
|
|
7
|
+
export declare const DIR_NAMES: {
|
|
8
|
+
/** Root workflow directory */
|
|
9
|
+
readonly WORKFLOW: ".trellis";
|
|
10
|
+
/** Workspace directory (under .trellis/) - developer work areas */
|
|
11
|
+
readonly WORKSPACE: "workspace";
|
|
12
|
+
/** Tasks directory (under .trellis/) - unified task storage */
|
|
13
|
+
readonly TASKS: "tasks";
|
|
14
|
+
/** Archive directory (under tasks/) */
|
|
15
|
+
readonly ARCHIVE: "archive";
|
|
16
|
+
/** Spec/guidelines directory (under .trellis/) */
|
|
17
|
+
readonly SPEC: "spec";
|
|
18
|
+
/** Scripts directory (under .trellis/) */
|
|
19
|
+
readonly SCRIPTS: "scripts";
|
|
20
|
+
/** Channel runtime agent definitions (under .trellis/) */
|
|
21
|
+
readonly AGENTS: "agents";
|
|
22
|
+
};
|
|
23
|
+
export declare const FILE_NAMES: {
|
|
24
|
+
/** Root agent instructions file */
|
|
25
|
+
readonly AGENTS: "AGENTS.md";
|
|
26
|
+
/** Developer identity file */
|
|
27
|
+
readonly DEVELOPER: ".developer";
|
|
28
|
+
/** Current task pointer */
|
|
29
|
+
readonly CURRENT_TASK: ".current-task";
|
|
30
|
+
/** Task metadata */
|
|
31
|
+
readonly TASK_JSON: "task.json";
|
|
32
|
+
/** Requirements document */
|
|
33
|
+
readonly PRD: "prd.md";
|
|
34
|
+
/** Workflow guide */
|
|
35
|
+
readonly WORKFLOW_GUIDE: "workflow.md";
|
|
36
|
+
/** Journal file prefix */
|
|
37
|
+
readonly JOURNAL_PREFIX: "journal-";
|
|
38
|
+
};
|
|
39
|
+
export declare const PATHS: {
|
|
40
|
+
/** .trellis/ */
|
|
41
|
+
readonly WORKFLOW: ".trellis";
|
|
42
|
+
/** .trellis/workspace/ */
|
|
43
|
+
readonly WORKSPACE: ".trellis/workspace";
|
|
44
|
+
/** .trellis/tasks/ */
|
|
45
|
+
readonly TASKS: ".trellis/tasks";
|
|
46
|
+
/** .trellis/spec/ */
|
|
47
|
+
readonly SPEC: ".trellis/spec";
|
|
48
|
+
/** .trellis/scripts/ */
|
|
49
|
+
readonly SCRIPTS: ".trellis/scripts";
|
|
50
|
+
/** .trellis/agents/ */
|
|
51
|
+
readonly AGENTS: ".trellis/agents";
|
|
52
|
+
/** .trellis/.developer */
|
|
53
|
+
readonly DEVELOPER_FILE: ".trellis/.developer";
|
|
54
|
+
/** .trellis/.current-task */
|
|
55
|
+
readonly CURRENT_TASK_FILE: ".trellis/.current-task";
|
|
56
|
+
/** .trellis/workflow.md */
|
|
57
|
+
readonly WORKFLOW_GUIDE_FILE: ".trellis/workflow.md";
|
|
58
|
+
};
|
|
59
|
+
/**
|
|
60
|
+
* Get developer's workspace directory path
|
|
61
|
+
* @example getWorkspaceDir("john") => ".trellis/workspace/john"
|
|
62
|
+
*/
|
|
63
|
+
export declare function getWorkspaceDir(developer: string): string;
|
|
64
|
+
/**
|
|
65
|
+
* Get task directory path
|
|
66
|
+
* @example getTaskDir("01-21-my-task") => ".trellis/tasks/01-21-my-task"
|
|
67
|
+
*/
|
|
68
|
+
export declare function getTaskDir(taskName: string): string;
|
|
69
|
+
/**
|
|
70
|
+
* Get archive directory path
|
|
71
|
+
* @example getArchiveDir() => ".trellis/tasks/archive"
|
|
72
|
+
*/
|
|
73
|
+
export declare function getArchiveDir(): string;
|
|
74
|
+
//# sourceMappingURL=paths.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/constants/paths.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,eAAO,MAAM,SAAS;IACpB,8BAA8B;;IAE9B,mEAAmE;;IAEnE,+DAA+D;;IAE/D,uCAAuC;;IAEvC,kDAAkD;;IAElD,0CAA0C;;IAE1C,0DAA0D;;CAElD,CAAC;AAGX,eAAO,MAAM,UAAU;IACrB,mCAAmC;;IAEnC,8BAA8B;;IAE9B,2BAA2B;;IAE3B,oBAAoB;;IAEpB,4BAA4B;;IAE5B,qBAAqB;;IAErB,0BAA0B;;CAElB,CAAC;AAGX,eAAO,MAAM,KAAK;IAChB,gBAAgB;;IAEhB,0BAA0B;;IAE1B,sBAAsB;;IAEtB,qBAAqB;;IAErB,wBAAwB;;IAExB,uBAAuB;;IAEvB,0BAA0B;;IAE1B,6BAA6B;;IAE7B,2BAA2B;;CAEnB,CAAC;AAEX;;;GAGG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;;GAGG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC"}
|