@blulotus/trellis 0.7.0 → 0.7.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/cli/index.js +2 -29
- package/dist/cli/index.js.map +1 -1
- package/dist/commands/init.d.ts +0 -22
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +5 -12
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/mem.d.ts +2 -2
- package/dist/commands/mem.d.ts.map +1 -1
- package/dist/commands/mem.js +7 -40
- package/dist/commands/mem.js.map +1 -1
- package/dist/commands/uninstall.d.ts +1 -1
- package/dist/commands/uninstall.d.ts.map +1 -1
- package/dist/commands/uninstall.js +4 -34
- package/dist/commands/uninstall.js.map +1 -1
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +2 -28
- package/dist/commands/update.js.map +1 -1
- package/dist/configurators/index.d.ts.map +1 -1
- package/dist/configurators/index.js +7 -73
- package/dist/configurators/index.js.map +1 -1
- package/dist/configurators/shared.d.ts +18 -70
- package/dist/configurators/shared.d.ts.map +1 -1
- package/dist/configurators/shared.js +20 -299
- package/dist/configurators/shared.js.map +1 -1
- package/dist/configurators/workflow.d.ts +0 -14
- package/dist/configurators/workflow.d.ts.map +1 -1
- package/dist/configurators/workflow.js +1 -37
- package/dist/configurators/workflow.js.map +1 -1
- package/dist/migrations/manifests/0.1.9.json +0 -12
- package/dist/migrations/manifests/0.2.14.json +0 -84
- package/dist/migrations/manifests/0.3.0-beta.0.json +0 -87
- package/dist/migrations/manifests/0.3.4.json +1 -13
- package/dist/migrations/manifests/0.4.0-beta.1.json +24 -176
- package/dist/migrations/manifests/0.5.0-beta.0.json +67 -1203
- package/dist/migrations/manifests/0.5.0-beta.15.json +0 -96
- package/dist/migrations/manifests/0.5.0-beta.5.json +0 -168
- package/dist/migrations/manifests/0.5.0-beta.9.json +0 -20
- package/dist/migrations/manifests/0.6.0-beta.23.json +0 -66
- package/dist/migrations/manifests/0.6.3.json +1 -16
- package/dist/migrations/manifests/0.6.6.json +1 -9
- package/dist/migrations/manifests/0.7.0.json +9 -0
- package/dist/migrations/manifests/0.7.1.json +9 -0
- package/dist/migrations/manifests/0.7.2.json +9 -0
- package/dist/migrations/manifests/0.8.0.json +9 -0
- package/dist/templates/codex/hooks/session-start.py +37 -13
- package/dist/templates/codex/hooks.json +5 -0
- package/dist/templates/common/bundled-skills/trellis-meta/SKILL.md +5 -5
- package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-agents.md +0 -10
- package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-hooks.md +1 -1
- package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-skills-or-commands.md +1 -13
- package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/overview.md +2 -2
- package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/bundled-skills.md +9 -28
- package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/generated-files.md +5 -5
- package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/overview.md +1 -1
- package/dist/templates/common/bundled-skills/trellis-meta/references/platform-files/agents.md +1 -17
- package/dist/templates/common/bundled-skills/trellis-meta/references/platform-files/hooks-and-settings.md +4 -12
- package/dist/templates/common/bundled-skills/trellis-meta/references/platform-files/overview.md +6 -6
- package/dist/templates/common/bundled-skills/trellis-meta/references/platform-files/platform-map.md +5 -75
- package/dist/templates/common/bundled-skills/trellis-meta/references/platform-files/skills-and-commands.md +0 -16
- package/dist/templates/common/bundled-skills/trellis-session-insight/SKILL.md +1 -1
- package/dist/templates/common/bundled-skills/trellis-session-insight/references/cli-quick-reference.md +2 -3
- package/dist/templates/common/commands/continue.md +24 -4
- package/dist/templates/common/commands/finish-work.md +19 -9
- package/dist/templates/common/commands/start.md +38 -29
- package/dist/templates/extract.d.ts +0 -10
- package/dist/templates/extract.d.ts.map +1 -1
- package/dist/templates/extract.js +0 -24
- package/dist/templates/extract.js.map +1 -1
- package/dist/templates/markdown/spec/guides/code-reuse-thinking-guide.md.txt +7 -9
- package/dist/templates/markdown/spec/guides/cross-layer-thinking-guide.md.txt +4 -8
- package/dist/templates/markdown/spec/guides/cross-platform-thinking-guide.md.txt +5 -5
- package/dist/templates/shared-hooks/index.d.ts +11 -43
- package/dist/templates/shared-hooks/index.d.ts.map +1 -1
- package/dist/templates/shared-hooks/index.js +9 -86
- package/dist/templates/shared-hooks/index.js.map +1 -1
- package/dist/templates/shared-hooks/inject-spec-context.py +1 -1
- package/dist/templates/shared-hooks/inject-subagent-context.py +23 -85
- package/dist/templates/shared-hooks/inject-workflow-state.py +56 -86
- package/dist/templates/shared-hooks/session-start.py +76 -98
- package/dist/templates/trellis/config.yaml +8 -8
- package/dist/templates/trellis/index.d.ts +1 -4
- package/dist/templates/trellis/index.d.ts.map +1 -1
- package/dist/templates/trellis/index.js +1 -5
- package/dist/templates/trellis/index.js.map +1 -1
- package/dist/templates/trellis/scripts/add_session.py +12 -11
- package/dist/templates/trellis/scripts/common/__init__.py +2 -0
- package/dist/templates/trellis/scripts/common/active_task.py +80 -152
- package/dist/templates/trellis/scripts/common/config.py +7 -7
- package/dist/templates/trellis/scripts/common/git_context.py +1 -1
- package/dist/templates/trellis/scripts/common/session_context.py +2 -2
- package/dist/templates/trellis/scripts/common/spec_inject.py +2 -2
- package/dist/templates/trellis/scripts/common/task_store.py +8 -28
- package/dist/templates/trellis/scripts/common/workflow_phase.py +4 -8
- package/dist/templates/trellis/scripts/get_context.py +2 -2
- package/dist/templates/trellis/scripts/init_developer.py +1 -1
- package/dist/templates/trellis/scripts/task.py +90 -57
- package/dist/templates/trellis/workflow.md +44 -66
- package/dist/types/ai-tools.d.ts +10 -10
- package/dist/types/ai-tools.d.ts.map +1 -1
- package/dist/types/ai-tools.js +3 -434
- package/dist/types/ai-tools.js.map +1 -1
- package/dist/utils/uninstall-scrubbers.d.ts +3 -18
- package/dist/utils/uninstall-scrubbers.d.ts.map +1 -1
- package/dist/utils/uninstall-scrubbers.js +24 -154
- package/dist/utils/uninstall-scrubbers.js.map +1 -1
- package/package.json +2 -2
- package/dist/configurators/antigravity.d.ts +0 -7
- package/dist/configurators/antigravity.d.ts.map +0 -1
- package/dist/configurators/antigravity.js +0 -11
- package/dist/configurators/antigravity.js.map +0 -1
- package/dist/configurators/codebuddy.d.ts +0 -10
- package/dist/configurators/codebuddy.d.ts.map +0 -1
- package/dist/configurators/codebuddy.js +0 -24
- package/dist/configurators/codebuddy.js.map +0 -1
- package/dist/configurators/copilot.d.ts +0 -14
- package/dist/configurators/copilot.d.ts.map +0 -1
- package/dist/configurators/copilot.js +0 -46
- package/dist/configurators/copilot.js.map +0 -1
- package/dist/configurators/cursor.d.ts +0 -10
- package/dist/configurators/cursor.d.ts.map +0 -1
- package/dist/configurators/cursor.js +0 -23
- package/dist/configurators/cursor.js.map +0 -1
- package/dist/configurators/devin.d.ts +0 -8
- package/dist/configurators/devin.d.ts.map +0 -1
- package/dist/configurators/devin.js +0 -12
- package/dist/configurators/devin.js.map +0 -1
- package/dist/configurators/droid.d.ts +0 -10
- package/dist/configurators/droid.d.ts.map +0 -1
- package/dist/configurators/droid.js +0 -24
- package/dist/configurators/droid.js.map +0 -1
- package/dist/configurators/dsh.d.ts +0 -26
- package/dist/configurators/dsh.d.ts.map +0 -1
- package/dist/configurators/dsh.js +0 -76
- package/dist/configurators/dsh.js.map +0 -1
- package/dist/configurators/gemini.d.ts +0 -18
- package/dist/configurators/gemini.d.ts.map +0 -1
- package/dist/configurators/gemini.js +0 -39
- package/dist/configurators/gemini.js.map +0 -1
- package/dist/configurators/grok.d.ts +0 -17
- package/dist/configurators/grok.d.ts.map +0 -1
- package/dist/configurators/grok.js +0 -38
- package/dist/configurators/grok.js.map +0 -1
- package/dist/configurators/kilo.d.ts +0 -7
- package/dist/configurators/kilo.d.ts.map +0 -1
- package/dist/configurators/kilo.js +0 -11
- package/dist/configurators/kilo.js.map +0 -1
- package/dist/configurators/kimi.d.ts +0 -26
- package/dist/configurators/kimi.d.ts.map +0 -1
- package/dist/configurators/kimi.js +0 -74
- package/dist/configurators/kimi.js.map +0 -1
- package/dist/configurators/kiro.d.ts +0 -11
- package/dist/configurators/kiro.d.ts.map +0 -1
- package/dist/configurators/kiro.js +0 -30
- package/dist/configurators/kiro.js.map +0 -1
- package/dist/configurators/omp.d.ts +0 -6
- package/dist/configurators/omp.d.ts.map +0 -1
- package/dist/configurators/omp.js +0 -28
- package/dist/configurators/omp.js.map +0 -1
- package/dist/configurators/opencode.d.ts +0 -5
- package/dist/configurators/opencode.d.ts.map +0 -1
- package/dist/configurators/opencode.js +0 -84
- package/dist/configurators/opencode.js.map +0 -1
- package/dist/configurators/pi.d.ts +0 -5
- package/dist/configurators/pi.d.ts.map +0 -1
- package/dist/configurators/pi.js +0 -39
- package/dist/configurators/pi.js.map +0 -1
- package/dist/configurators/qoder.d.ts +0 -12
- package/dist/configurators/qoder.d.ts.map +0 -1
- package/dist/configurators/qoder.js +0 -30
- package/dist/configurators/qoder.js.map +0 -1
- package/dist/configurators/reasonix.d.ts +0 -17
- package/dist/configurators/reasonix.d.ts.map +0 -1
- package/dist/configurators/reasonix.js +0 -37
- package/dist/configurators/reasonix.js.map +0 -1
- package/dist/configurators/snow.d.ts +0 -25
- package/dist/configurators/snow.d.ts.map +0 -1
- package/dist/configurators/snow.js +0 -69
- package/dist/configurators/snow.js.map +0 -1
- package/dist/configurators/trae.d.ts +0 -16
- package/dist/configurators/trae.d.ts.map +0 -1
- package/dist/configurators/trae.js +0 -34
- package/dist/configurators/trae.js.map +0 -1
- package/dist/configurators/zcode.d.ts +0 -23
- package/dist/configurators/zcode.d.ts.map +0 -1
- package/dist/configurators/zcode.js +0 -63
- package/dist/configurators/zcode.js.map +0 -1
- package/dist/templates/codebuddy/agents/trellis-check.md +0 -115
- package/dist/templates/codebuddy/agents/trellis-implement.md +0 -115
- package/dist/templates/codebuddy/agents/trellis-research.md +0 -137
- package/dist/templates/codebuddy/index.d.ts +0 -15
- package/dist/templates/codebuddy/index.d.ts.map +0 -1
- package/dist/templates/codebuddy/index.js +0 -15
- package/dist/templates/codebuddy/index.js.map +0 -1
- package/dist/templates/codebuddy/settings.json +0 -69
- package/dist/templates/copilot/copilot-instructions.md +0 -11
- package/dist/templates/copilot/hooks/session-start.py +0 -564
- package/dist/templates/copilot/hooks.json +0 -19
- package/dist/templates/copilot/index.d.ts +0 -28
- package/dist/templates/copilot/index.d.ts.map +0 -1
- package/dist/templates/copilot/index.js +0 -61
- package/dist/templates/copilot/index.js.map +0 -1
- package/dist/templates/copilot/prompts/before-dev.prompt.md +0 -39
- package/dist/templates/copilot/prompts/brainstorm.prompt.md +0 -173
- package/dist/templates/copilot/prompts/break-loop.prompt.md +0 -129
- package/dist/templates/copilot/prompts/check-cross-layer.prompt.md +0 -170
- package/dist/templates/copilot/prompts/check.prompt.md +0 -110
- package/dist/templates/copilot/prompts/create-command.prompt.md +0 -116
- package/dist/templates/copilot/prompts/finish-work.prompt.md +0 -99
- package/dist/templates/copilot/prompts/integrate-skill.prompt.md +0 -223
- package/dist/templates/copilot/prompts/onboard.prompt.md +0 -362
- package/dist/templates/copilot/prompts/parallel.prompt.md +0 -204
- package/dist/templates/copilot/prompts/record-session.prompt.md +0 -66
- package/dist/templates/copilot/prompts/start.prompt.md +0 -63
- package/dist/templates/copilot/prompts/update-spec.prompt.md +0 -358
- package/dist/templates/cursor/agents/trellis-check.md +0 -114
- package/dist/templates/cursor/agents/trellis-implement.md +0 -114
- package/dist/templates/cursor/agents/trellis-research.md +0 -136
- package/dist/templates/cursor/hooks.json +0 -24
- package/dist/templates/cursor/index.d.ts +0 -13
- package/dist/templates/cursor/index.d.ts.map +0 -1
- package/dist/templates/cursor/index.js +0 -13
- package/dist/templates/cursor/index.js.map +0 -1
- package/dist/templates/droid/droids/trellis-check.md +0 -107
- package/dist/templates/droid/droids/trellis-implement.md +0 -107
- package/dist/templates/droid/droids/trellis-research.md +0 -137
- package/dist/templates/droid/index.d.ts +0 -15
- package/dist/templates/droid/index.d.ts.map +0 -1
- package/dist/templates/droid/index.js +0 -15
- package/dist/templates/droid/index.js.map +0 -1
- package/dist/templates/droid/settings.json +0 -69
- package/dist/templates/dsh/DSH.md +0 -80
- package/dist/templates/dsh/agents/trellis-check.md +0 -99
- package/dist/templates/dsh/agents/trellis-implement.md +0 -106
- package/dist/templates/dsh/agents/trellis-research.md +0 -134
- package/dist/templates/dsh/index.d.ts +0 -22
- package/dist/templates/dsh/index.d.ts.map +0 -1
- package/dist/templates/dsh/index.js +0 -27
- package/dist/templates/dsh/index.js.map +0 -1
- package/dist/templates/gemini/agents/trellis-check.md +0 -107
- package/dist/templates/gemini/agents/trellis-implement.md +0 -107
- package/dist/templates/gemini/agents/trellis-research.md +0 -136
- package/dist/templates/gemini/index.d.ts +0 -13
- package/dist/templates/gemini/index.d.ts.map +0 -1
- package/dist/templates/gemini/index.js +0 -13
- package/dist/templates/gemini/index.js.map +0 -1
- package/dist/templates/gemini/settings.json +0 -40
- package/dist/templates/grok/agents/trellis-check.md +0 -106
- package/dist/templates/grok/agents/trellis-implement.md +0 -121
- package/dist/templates/grok/agents/trellis-research.md +0 -146
- package/dist/templates/grok/index.d.ts +0 -16
- package/dist/templates/grok/index.d.ts.map +0 -1
- package/dist/templates/grok/index.js +0 -19
- package/dist/templates/grok/index.js.map +0 -1
- package/dist/templates/kimi/agents/trellis-check.md +0 -104
- package/dist/templates/kimi/agents/trellis-implement.md +0 -120
- package/dist/templates/kimi/agents/trellis-research.md +0 -144
- package/dist/templates/kimi/index.d.ts +0 -20
- package/dist/templates/kimi/index.d.ts.map +0 -1
- package/dist/templates/kimi/index.js +0 -23
- package/dist/templates/kimi/index.js.map +0 -1
- package/dist/templates/kiro/agents/trellis-check.json +0 -26
- package/dist/templates/kiro/agents/trellis-implement.json +0 -26
- package/dist/templates/kiro/agents/trellis-research.json +0 -30
- package/dist/templates/kiro/agents/trellis.json +0 -34
- package/dist/templates/kiro/hooks/trellis-workflow-state.kiro.hook +0 -14
- package/dist/templates/kiro/index.d.ts +0 -32
- package/dist/templates/kiro/index.d.ts.map +0 -1
- package/dist/templates/kiro/index.js +0 -28
- package/dist/templates/kiro/index.js.map +0 -1
- package/dist/templates/omp/agents/trellis-check.md +0 -41
- package/dist/templates/omp/agents/trellis-implement.md +0 -55
- package/dist/templates/omp/agents/trellis-research.md +0 -30
- package/dist/templates/omp/extensions/trellis/index.ts.txt +0 -592
- package/dist/templates/omp/index.d.ts +0 -4
- package/dist/templates/omp/index.d.ts.map +0 -1
- package/dist/templates/omp/index.js +0 -9
- package/dist/templates/omp/index.js.map +0 -1
- package/dist/templates/opencode/agents/trellis-check.md +0 -122
- package/dist/templates/opencode/agents/trellis-implement.md +0 -123
- package/dist/templates/opencode/agents/trellis-research.md +0 -145
- package/dist/templates/opencode/lib/context-visibility.js +0 -86
- package/dist/templates/opencode/lib/session-utils.js +0 -526
- package/dist/templates/opencode/lib/trellis-context.js +0 -627
- package/dist/templates/opencode/package.json +0 -5
- package/dist/templates/opencode/plugins/inject-spec-context.js +0 -121
- package/dist/templates/opencode/plugins/inject-subagent-context.js +0 -569
- package/dist/templates/opencode/plugins/inject-workflow-state.js +0 -340
- package/dist/templates/opencode/plugins/session-start.js +0 -74
- package/dist/templates/pi/agents/trellis-check.md +0 -37
- package/dist/templates/pi/agents/trellis-implement.md +0 -52
- package/dist/templates/pi/agents/trellis-research.md +0 -25
- package/dist/templates/pi/extensions/trellis/index.ts.txt +0 -2033
- package/dist/templates/pi/index.d.ts +0 -5
- package/dist/templates/pi/index.d.ts.map +0 -1
- package/dist/templates/pi/index.js +0 -12
- package/dist/templates/pi/index.js.map +0 -1
- package/dist/templates/pi/settings.json +0 -9
- package/dist/templates/qoder/agents/trellis-check.md +0 -108
- package/dist/templates/qoder/agents/trellis-implement.md +0 -108
- package/dist/templates/qoder/agents/trellis-research.md +0 -137
- package/dist/templates/qoder/index.d.ts +0 -15
- package/dist/templates/qoder/index.d.ts.map +0 -1
- package/dist/templates/qoder/index.js +0 -15
- package/dist/templates/qoder/index.js.map +0 -1
- package/dist/templates/qoder/settings.json +0 -59
- package/dist/templates/reasonix/agents/trellis-check.md +0 -36
- package/dist/templates/reasonix/agents/trellis-implement.md +0 -51
- package/dist/templates/reasonix/index.d.ts +0 -13
- package/dist/templates/reasonix/index.d.ts.map +0 -1
- package/dist/templates/reasonix/index.js +0 -16
- package/dist/templates/reasonix/index.js.map +0 -1
- package/dist/templates/shared-hooks/inject-shell-session-context.py +0 -292
- package/dist/templates/snow/SNOW.md +0 -86
- package/dist/templates/snow/agents/trellis-check.md +0 -136
- package/dist/templates/snow/agents/trellis-implement.md +0 -158
- package/dist/templates/snow/agents/trellis-research.md +0 -114
- package/dist/templates/snow/hooks/beforeSubAgentStart.json +0 -15
- package/dist/templates/snow/hooks/onSessionStart.json +0 -15
- package/dist/templates/snow/hooks/onUserMessage.json +0 -15
- package/dist/templates/snow/hooks/write-trellis-context.py +0 -644
- package/dist/templates/snow/index.d.ts +0 -26
- package/dist/templates/snow/index.d.ts.map +0 -1
- package/dist/templates/snow/index.js +0 -36
- package/dist/templates/snow/index.js.map +0 -1
- package/dist/templates/trae/agents/trellis-check.md +0 -108
- package/dist/templates/trae/agents/trellis-implement.md +0 -108
- package/dist/templates/trae/agents/trellis-research.md +0 -137
- package/dist/templates/trae/hooks.json +0 -39
- package/dist/templates/trae/index.d.ts +0 -15
- package/dist/templates/trae/index.d.ts.map +0 -1
- package/dist/templates/trae/index.js +0 -15
- package/dist/templates/trae/index.js.map +0 -1
- package/dist/templates/trellis/gitattributes.txt +0 -9
- package/dist/templates/trellis/scripts/common/cli_adapter.py +0 -982
- package/dist/templates/zcode/agents/trellis-check.md +0 -110
- package/dist/templates/zcode/agents/trellis-implement.md +0 -116
- package/dist/templates/zcode/agents/trellis-research.md +0 -133
- package/dist/templates/zcode/config.json +0 -52
- package/dist/templates/zcode/index.d.ts +0 -25
- package/dist/templates/zcode/index.d.ts.map +0 -1
- package/dist/templates/zcode/index.js +0 -29
- package/dist/templates/zcode/index.js.map +0 -1
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The Qoder file set — written at init and diffed by `trellis update`.
|
|
3
|
-
*
|
|
4
|
-
* Qoder is a pull-based class-2 platform. Custom Commands require YAML
|
|
5
|
-
* frontmatter with `name` + `description` and use a flat layout, so
|
|
6
|
-
* session-boundary commands get wrapped via `wrapWithCommandFrontmatter`;
|
|
7
|
-
* auto-trigger workflows stay as plain skills. `inject-subagent-context.py` is
|
|
8
|
-
* excluded because Qoder's hook can't inject sub-agent prompts — sub-agents
|
|
9
|
-
* pull task context themselves.
|
|
10
|
-
*/
|
|
11
|
-
export declare function collectQoderTemplates(): Map<string, string>;
|
|
12
|
-
//# sourceMappingURL=qoder.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"qoder.d.ts","sourceRoot":"","sources":["../../src/configurators/qoder.ts"],"names":[],"mappings":"AAWA;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAsB3D"}
|
|
@@ -1,30 +0,0 @@
|
|
|
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/qoder/index.js";
|
|
5
|
-
/**
|
|
6
|
-
* The Qoder file set — written at init and diffed by `trellis update`.
|
|
7
|
-
*
|
|
8
|
-
* Qoder is a pull-based class-2 platform. Custom Commands require YAML
|
|
9
|
-
* frontmatter with `name` + `description` and use a flat layout, so
|
|
10
|
-
* session-boundary commands get wrapped via `wrapWithCommandFrontmatter`;
|
|
11
|
-
* auto-trigger workflows stay as plain skills. `inject-subagent-context.py` is
|
|
12
|
-
* excluded because Qoder's hook can't inject sub-agent prompts — sub-agents
|
|
13
|
-
* pull task context themselves.
|
|
14
|
-
*/
|
|
15
|
-
export function collectQoderTemplates() {
|
|
16
|
-
const files = collectBothTemplates(AI_TOOLS.qoder.templateContext, (n) => `.qoder/commands/trellis-${n}.md`, ".qoder/skills", (filePath, content) => {
|
|
17
|
-
const name = path.basename(filePath, ".md");
|
|
18
|
-
return wrapWithCommandFrontmatter(name, content);
|
|
19
|
-
});
|
|
20
|
-
for (const agent of applyPullBasedPreludeMarkdown(getAllAgents())) {
|
|
21
|
-
files.set(`.qoder/agents/${agent.name}.md`, agent.content);
|
|
22
|
-
}
|
|
23
|
-
for (const [k, v] of collectSharedHooks(".qoder/hooks", "qoder")) {
|
|
24
|
-
files.set(k, v);
|
|
25
|
-
}
|
|
26
|
-
const settings = getSettingsTemplate();
|
|
27
|
-
files.set(`.qoder/${settings.targetPath}`, resolvePlaceholders(settings.content));
|
|
28
|
-
return files;
|
|
29
|
-
}
|
|
30
|
-
//# sourceMappingURL=qoder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"qoder.js","sourceRoot":"","sources":["../../src/configurators/qoder.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,6BAA6B,CAAC;AAEhF;;;;;;;;;GASG;AACH,MAAM,UAAU,qBAAqB;IACnC,MAAM,KAAK,GAAG,oBAAoB,CAChC,QAAQ,CAAC,KAAK,CAAC,eAAe,EAC9B,CAAC,CAAC,EAAE,EAAE,CAAC,2BAA2B,CAAC,KAAK,EACxC,eAAe,EACf,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,iBAAiB,KAAK,CAAC,IAAI,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7D,CAAC;IACD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,kBAAkB,CAAC,cAAc,EAAE,OAAO,CAAC,EAAE,CAAC;QACjE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,QAAQ,GAAG,mBAAmB,EAAE,CAAC;IACvC,KAAK,CAAC,GAAG,CACP,UAAU,QAAQ,CAAC,UAAU,EAAE,EAC/B,mBAAmB,CAAC,QAAQ,CAAC,OAAO,CAAC,CACtC,CAAC;IACF,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Reasonix configurator.
|
|
3
|
-
*
|
|
4
|
-
* Reasonix (DeepSeek-Reasonix) stores skills as `.reasonix/skills/<name>/SKILL.md`
|
|
5
|
-
* with YAML frontmatter (name + description). Slash commands are code-built-in,
|
|
6
|
-
* so no commands directory is generated.
|
|
7
|
-
*
|
|
8
|
-
* Workflow templates are surfaced as skills with `trellis-` prefix (invocable
|
|
9
|
-
* via `/skill trellis-start`, `/skill trellis-continue`, etc.).
|
|
10
|
-
* Subagent skills (trellis-implement, trellis-check) use `runAs: subagent`
|
|
11
|
-
* frontmatter so Reasonix spawns them as isolated subagent loops.
|
|
12
|
-
*/
|
|
13
|
-
/**
|
|
14
|
-
* The Reasonix file set — written at init and diffed by `trellis update`.
|
|
15
|
-
*/
|
|
16
|
-
export declare function collectReasonixTemplates(): Map<string, string>;
|
|
17
|
-
//# sourceMappingURL=reasonix.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"reasonix.d.ts","sourceRoot":"","sources":["../../src/configurators/reasonix.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAUH;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CA0B9D"}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Reasonix configurator.
|
|
3
|
-
*
|
|
4
|
-
* Reasonix (DeepSeek-Reasonix) stores skills as `.reasonix/skills/<name>/SKILL.md`
|
|
5
|
-
* with YAML frontmatter (name + description). Slash commands are code-built-in,
|
|
6
|
-
* so no commands directory is generated.
|
|
7
|
-
*
|
|
8
|
-
* Workflow templates are surfaced as skills with `trellis-` prefix (invocable
|
|
9
|
-
* via `/skill trellis-start`, `/skill trellis-continue`, etc.).
|
|
10
|
-
* Subagent skills (trellis-implement, trellis-check) use `runAs: subagent`
|
|
11
|
-
* frontmatter so Reasonix spawns them as isolated subagent loops.
|
|
12
|
-
*/
|
|
13
|
-
import { AI_TOOLS } from "../types/ai-tools.js";
|
|
14
|
-
import { getAllAgents } from "../templates/reasonix/index.js";
|
|
15
|
-
import { collectSkillTemplates, resolveAllAsSkills, resolveBundledSkills, } from "./shared.js";
|
|
16
|
-
/**
|
|
17
|
-
* The Reasonix file set — written at init and diffed by `trellis update`.
|
|
18
|
-
*/
|
|
19
|
-
export function collectReasonixTemplates() {
|
|
20
|
-
const config = AI_TOOLS.reasonix;
|
|
21
|
-
const ctx = config.templateContext;
|
|
22
|
-
const files = new Map();
|
|
23
|
-
// Subagent skill names that replace common-skill equivalents.
|
|
24
|
-
const agentNames = new Set(getAllAgents().map((a) => a.name));
|
|
25
|
-
// Workflow skills filtered to avoid collision with subagent skills.
|
|
26
|
-
const skills = resolveAllAsSkills(ctx).filter((s) => !agentNames.has(s.name));
|
|
27
|
-
for (const [filePath, content] of collectSkillTemplates(".reasonix/skills", skills, resolveBundledSkills(ctx))) {
|
|
28
|
-
files.set(filePath, content);
|
|
29
|
-
}
|
|
30
|
-
// Subagent skills (trellis-implement, trellis-check) — written with
|
|
31
|
-
// runAs: subagent frontmatter for isolated subagent loops.
|
|
32
|
-
for (const agent of getAllAgents()) {
|
|
33
|
-
files.set(`.reasonix/skills/${agent.name}/SKILL.md`, agent.content);
|
|
34
|
-
}
|
|
35
|
-
return files;
|
|
36
|
-
}
|
|
37
|
-
//# sourceMappingURL=reasonix.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"reasonix.js","sourceRoot":"","sources":["../../src/configurators/reasonix.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,aAAa,CAAC;AAErB;;GAEG;AACH,MAAM,UAAU,wBAAwB;IACtC,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC;IACjC,MAAM,GAAG,GAAG,MAAM,CAAC,eAAe,CAAC;IACnC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IAExC,8DAA8D;IAC9D,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAE9D,oEAAoE;IACpE,MAAM,MAAM,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAE9E,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,qBAAqB,CACrD,kBAAkB,EAClB,MAAM,EACN,oBAAoB,CAAC,GAAG,CAAC,CAC1B,EAAE,CAAC;QACF,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC/B,CAAC;IAED,oEAAoE;IACpE,2DAA2D;IAC3D,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,EAAE,CAAC;QACnC,KAAK,CAAC,GAAG,CAAC,oBAAoB,KAAK,CAAC,IAAI,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACtE,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -1,25 +0,0 @@
|
|
|
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
|
-
/**
|
|
22
|
-
* The Snow CLI file set — written at init and diffed by `trellis update`.
|
|
23
|
-
*/
|
|
24
|
-
export declare function collectSnowTemplates(): Map<string, string>;
|
|
25
|
-
//# sourceMappingURL=snow.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"snow.d.ts","sourceRoot":"","sources":["../../src/configurators/snow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AA+CH;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAgC1D"}
|
|
@@ -1,69 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,16 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,34 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,23 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,63 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: trellis-check
|
|
3
|
-
description: |
|
|
4
|
-
Code quality check expert. Reviews code changes against specs and self-fixes issues.
|
|
5
|
-
tools: Read, Write, Edit, Bash, Glob, Grep
|
|
6
|
-
---
|
|
7
|
-
# Check Agent
|
|
8
|
-
|
|
9
|
-
You are the Check Agent in the Trellis workflow.
|
|
10
|
-
|
|
11
|
-
## Recursion Guard
|
|
12
|
-
|
|
13
|
-
You are already the `trellis-check` sub-agent that the main session dispatched. Do the review and fixes directly.
|
|
14
|
-
|
|
15
|
-
- Do NOT spawn another `trellis-check` or `trellis-implement` sub-agent.
|
|
16
|
-
- If SessionStart context, workflow-state breadcrumbs, or workflow.md say to dispatch `trellis-implement` / `trellis-check`, treat that as a main-session instruction that is already satisfied by your current role.
|
|
17
|
-
- Only the main session may dispatch Trellis implement/check agents. If more implementation work is needed, report that recommendation instead of spawning.
|
|
18
|
-
|
|
19
|
-
## Trellis Context Loading Protocol
|
|
20
|
-
|
|
21
|
-
Look for the `<!-- trellis-hook-injected -->` marker in your input above.
|
|
22
|
-
|
|
23
|
-
- **If the marker is present**: task artifacts, spec, and research files have already been auto-loaded for you above. Proceed with the check work directly.
|
|
24
|
-
- **If the marker is absent**: hook injection didn't fire (Windows + Claude Code, `--continue` resume, fork distribution, hooks disabled, etc.). Find the active task path from your dispatch prompt's first line `Active task: <path>`, then Read `<task-path>/check.jsonl`, each listed file, `<task-path>/prd.md`, `<task-path>/design.md` if present, and `<task-path>/implement.md` if present before doing the work.
|
|
25
|
-
|
|
26
|
-
## Context
|
|
27
|
-
|
|
28
|
-
Before checking, read:
|
|
29
|
-
- `.trellis/spec/` - Development guidelines
|
|
30
|
-
- Task `prd.md` - Requirements document
|
|
31
|
-
- Task `design.md` - Technical design (if exists)
|
|
32
|
-
- Task `implement.md` - Execution plan (if exists)
|
|
33
|
-
- Pre-commit checklist for quality standards
|
|
34
|
-
|
|
35
|
-
## Core Responsibilities
|
|
36
|
-
|
|
37
|
-
1. **Get code changes** - Use git diff to get uncommitted code
|
|
38
|
-
2. **Review task artifacts** - Check changes against prd.md, design.md if present, and implement.md if present Then verify the red-evidence trail: every completed `implement.md` slice records the red output it started from, and for `meta.kind=bug` the Phase 1.2 repro command has been re-run green against the full scenario. A slice claiming green with no recorded red is a finding, not a pass.
|
|
39
|
-
3. **Check against specs** - Verify code follows guidelines
|
|
40
|
-
4. **Self-fix** - Fix issues yourself, not just report them
|
|
41
|
-
5. **Run verification** - typecheck and lint
|
|
42
|
-
|
|
43
|
-
## Important
|
|
44
|
-
|
|
45
|
-
**Fix issues yourself**, don't just report them.
|
|
46
|
-
|
|
47
|
-
You have write and edit tools, you can modify code directly.
|
|
48
|
-
|
|
49
|
-
---
|
|
50
|
-
|
|
51
|
-
## Workflow
|
|
52
|
-
|
|
53
|
-
### Step 1: Get Changes
|
|
54
|
-
|
|
55
|
-
```bash
|
|
56
|
-
git diff --name-only # List changed files
|
|
57
|
-
git diff # View specific changes
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
### Step 2: Check Against Specs and Task Artifacts
|
|
61
|
-
|
|
62
|
-
Read the task's prd.md, design.md if present, and implement.md if present, then read relevant specs in `.trellis/spec/` to check code:
|
|
63
|
-
|
|
64
|
-
- Does it satisfy the task requirements
|
|
65
|
-
- Does it follow the technical design and implementation plan when present
|
|
66
|
-
- Does it follow directory structure conventions
|
|
67
|
-
- Does it follow naming conventions
|
|
68
|
-
- Does it follow code patterns
|
|
69
|
-
- Are there missing types
|
|
70
|
-
- Are there potential bugs
|
|
71
|
-
|
|
72
|
-
### Step 3: Self-Fix
|
|
73
|
-
|
|
74
|
-
After finding issues:
|
|
75
|
-
|
|
76
|
-
1. Fix the issue directly (use edit tool)
|
|
77
|
-
2. Record what was fixed
|
|
78
|
-
3. Continue checking other issues
|
|
79
|
-
|
|
80
|
-
### Step 4: Run Verification
|
|
81
|
-
|
|
82
|
-
Run project's lint and typecheck commands to verify changes.
|
|
83
|
-
|
|
84
|
-
If failed, fix issues and re-run.
|
|
85
|
-
|
|
86
|
-
---
|
|
87
|
-
|
|
88
|
-
## Report Format
|
|
89
|
-
|
|
90
|
-
```markdown
|
|
91
|
-
## Self-Check Complete
|
|
92
|
-
|
|
93
|
-
### Files Checked
|
|
94
|
-
|
|
95
|
-
- src/components/Feature.tsx
|
|
96
|
-
- src/hooks/useFeature.ts
|
|
97
|
-
|
|
98
|
-
### Issues Found and Fixed
|
|
99
|
-
|
|
100
|
-
1. `<file>:<line>` - <what was fixed>
|
|
101
|
-
2. `<file>:<line>` - <what was fixed>
|
|
102
|
-
|
|
103
|
-
### Issues Not Fixed
|
|
104
|
-
|
|
105
|
-
(If there are issues that cannot be self-fixed, list them here with reasons)
|
|
106
|
-
|
|
107
|
-
### Verification Results
|
|
108
|
-
|
|
109
|
-
- TypeCheck: Passed
|
|
110
|
-
- Lint: Passed
|
|
111
|
-
|
|
112
|
-
### Summary
|
|
113
|
-
|
|
114
|
-
Checked X files, found Y issues, all fixed.
|
|
115
|
-
```
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: trellis-implement
|
|
3
|
-
description: |
|
|
4
|
-
Code implementation expert. Understands specs and requirements, then implements features. No git commit allowed.
|
|
5
|
-
tools: Read, Write, Edit, Bash, Glob, Grep
|
|
6
|
-
---
|
|
7
|
-
# Implement Agent
|
|
8
|
-
|
|
9
|
-
You are the Implement Agent in the Trellis workflow.
|
|
10
|
-
|
|
11
|
-
## Recursion Guard
|
|
12
|
-
|
|
13
|
-
You are already the `trellis-implement` sub-agent that the main session dispatched. Do the implementation work directly.
|
|
14
|
-
|
|
15
|
-
- Do NOT spawn another `trellis-implement` or `trellis-check` sub-agent.
|
|
16
|
-
- If SessionStart context, workflow-state breadcrumbs, or workflow.md say to dispatch `trellis-implement` / `trellis-check`, treat that as a main-session instruction that is already satisfied by your current role.
|
|
17
|
-
- Only the main session may dispatch Trellis implement/check agents. If more parallel work is needed, report that recommendation instead of spawning.
|
|
18
|
-
|
|
19
|
-
## Trellis Context Loading Protocol
|
|
20
|
-
|
|
21
|
-
Look for the `<!-- trellis-hook-injected -->` marker in your input above.
|
|
22
|
-
|
|
23
|
-
- **If the marker is present**: prd / spec / research files have already been auto-loaded for you above. Proceed with the implementation work directly.
|
|
24
|
-
- **If the marker is absent**: hook injection didn't fire (Windows + Claude Code, `--continue` resume, fork distribution, hooks disabled, etc.). Find the active task path from your dispatch prompt's first line `Active task: <path>`, then Read `<task-path>/implement.jsonl`, each listed file, `<task-path>/prd.md`, `<task-path>/design.md` if present, and `<task-path>/implement.md` if present before doing the work.
|
|
25
|
-
|
|
26
|
-
## Context
|
|
27
|
-
|
|
28
|
-
Before implementing, read:
|
|
29
|
-
- `.trellis/workflow.md` - Project workflow
|
|
30
|
-
- `.trellis/spec/` - Development guidelines
|
|
31
|
-
- Task `prd.md` - Requirements document
|
|
32
|
-
- Task `design.md` - Technical design (if exists)
|
|
33
|
-
- Task `implement.md` - Execution plan (if exists)
|
|
34
|
-
|
|
35
|
-
## Core Responsibilities
|
|
36
|
-
|
|
37
|
-
1. **Understand specs** - Read relevant spec files in `.trellis/spec/`
|
|
38
|
-
2. **Understand task artifacts** - Read prd.md, design.md if present, and implement.md if present
|
|
39
|
-
3. **Implement features** - Write code following specs and task artifacts
|
|
40
|
-
4. **Self-check** - Ensure code quality
|
|
41
|
-
5. **Report results** - Report completion status
|
|
42
|
-
|
|
43
|
-
## Forbidden Operations
|
|
44
|
-
|
|
45
|
-
**Do NOT execute these git commands:**
|
|
46
|
-
|
|
47
|
-
- `git commit`
|
|
48
|
-
- `git push`
|
|
49
|
-
- `git merge`
|
|
50
|
-
|
|
51
|
-
---
|
|
52
|
-
|
|
53
|
-
## Workflow
|
|
54
|
-
|
|
55
|
-
### 1. Understand Specs
|
|
56
|
-
|
|
57
|
-
Read relevant specs based on task type:
|
|
58
|
-
|
|
59
|
-
- Spec layers: `.trellis/spec/<package>/<layer>/`
|
|
60
|
-
- Shared guides: `.trellis/spec/guides/`
|
|
61
|
-
|
|
62
|
-
### 2. Understand Requirements
|
|
63
|
-
|
|
64
|
-
Read the task's prd.md, design.md if present, and implement.md if present:
|
|
65
|
-
|
|
66
|
-
- What are the core requirements
|
|
67
|
-
- Key points of technical design
|
|
68
|
-
- Implementation order, validation commands, and rollback points
|
|
69
|
-
|
|
70
|
-
### 3. Implement Features — Red Before Green
|
|
71
|
-
|
|
72
|
-
Work the `implement.md` slice checklist one slice at a time. Per slice: write the test at a seam confirmed in `design.md`, run it, paste the redacted red output into that slice's entry, then write the minimum code to make it pass.
|
|
73
|
-
|
|
74
|
-
- Do not invent a seam that is not in `design.md` — a missing seam is a planning defect. Report it instead of improvising one.
|
|
75
|
-
- No horizontal slicing, no testing of internals, no tautological assertions, no refactoring inside a red-green cycle.
|
|
76
|
-
- `meta.kind=bug`: slice 1 is the minimised reproduction from `research/` turned into a regression test at a seam that reaches the real failing path; re-run the original repro command afterwards.
|
|
77
|
-
- `meta.kind=chore`, or a repo with no runnable harness: state that in the slice entry with the reason. Never skip the cycle silently.
|
|
78
|
-
- Load the `trellis-tdd` skill for the full contract.
|
|
79
|
-
- Otherwise: follow specs and task artifacts, follow existing code patterns, only do what's required, no over-engineering.
|
|
80
|
-
|
|
81
|
-
### 4. Verify
|
|
82
|
-
|
|
83
|
-
Run project's lint and typecheck commands to verify changes.
|
|
84
|
-
|
|
85
|
-
---
|
|
86
|
-
|
|
87
|
-
## Report Format
|
|
88
|
-
|
|
89
|
-
```markdown
|
|
90
|
-
## Implementation Complete
|
|
91
|
-
|
|
92
|
-
### Files Modified
|
|
93
|
-
|
|
94
|
-
- `src/components/Feature.tsx` - New component
|
|
95
|
-
- `src/hooks/useFeature.ts` - New hook
|
|
96
|
-
|
|
97
|
-
### Implementation Summary
|
|
98
|
-
|
|
99
|
-
1. Created Feature component...
|
|
100
|
-
2. Added useFeature hook...
|
|
101
|
-
|
|
102
|
-
### Verification Results
|
|
103
|
-
|
|
104
|
-
- Lint: Passed
|
|
105
|
-
- TypeCheck: Passed
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
---
|
|
109
|
-
|
|
110
|
-
## Code Standards
|
|
111
|
-
|
|
112
|
-
- Follow existing code patterns
|
|
113
|
-
- Don't add unnecessary abstractions
|
|
114
|
-
- Only do what's required, no over-engineering
|
|
115
|
-
- Keep code readable
|