@mindfoldhq/trellis 0.4.0 → 0.5.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/index.js +0 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/commands/init.d.ts +0 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +2 -4
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/update.d.ts +5 -0
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +100 -24
- package/dist/commands/update.js.map +1 -1
- package/dist/configurators/antigravity.d.ts +3 -4
- package/dist/configurators/antigravity.d.ts.map +1 -1
- package/dist/configurators/antigravity.js +17 -10
- package/dist/configurators/antigravity.js.map +1 -1
- package/dist/configurators/claude.d.ts +5 -28
- package/dist/configurators/claude.d.ts.map +1 -1
- package/dist/configurators/claude.js +30 -51
- package/dist/configurators/claude.js.map +1 -1
- package/dist/configurators/codebuddy.d.ts +6 -7
- package/dist/configurators/codebuddy.d.ts.map +1 -1
- package/dist/configurators/codebuddy.js +23 -51
- package/dist/configurators/codebuddy.js.map +1 -1
- package/dist/configurators/codex.d.ts +3 -6
- package/dist/configurators/codex.d.ts.map +1 -1
- package/dist/configurators/codex.js +29 -12
- package/dist/configurators/codex.js.map +1 -1
- package/dist/configurators/copilot.d.ts +6 -5
- package/dist/configurators/copilot.d.ts.map +1 -1
- package/dist/configurators/copilot.js +42 -13
- package/dist/configurators/copilot.js.map +1 -1
- package/dist/configurators/cursor.d.ts +6 -1
- package/dist/configurators/cursor.d.ts.map +1 -1
- package/dist/configurators/cursor.js +22 -45
- package/dist/configurators/cursor.js.map +1 -1
- package/dist/configurators/droid.d.ts +6 -1
- package/dist/configurators/droid.d.ts.map +1 -1
- package/dist/configurators/droid.js +23 -41
- package/dist/configurators/droid.js.map +1 -1
- package/dist/configurators/gemini.d.ts +8 -4
- package/dist/configurators/gemini.d.ts.map +1 -1
- package/dist/configurators/gemini.js +28 -47
- package/dist/configurators/gemini.js.map +1 -1
- package/dist/configurators/index.d.ts +1 -1
- package/dist/configurators/index.d.ts.map +1 -1
- package/dist/configurators/index.js +142 -98
- package/dist/configurators/index.js.map +1 -1
- package/dist/configurators/kilo.d.ts +3 -4
- package/dist/configurators/kilo.d.ts.map +1 -1
- package/dist/configurators/kilo.js +19 -46
- package/dist/configurators/kilo.js.map +1 -1
- package/dist/configurators/kiro.d.ts +4 -4
- package/dist/configurators/kiro.d.ts.map +1 -1
- package/dist/configurators/kiro.js +18 -14
- package/dist/configurators/kiro.js.map +1 -1
- package/dist/configurators/opencode.d.ts +3 -28
- package/dist/configurators/opencode.d.ts.map +1 -1
- package/dist/configurators/opencode.js +23 -48
- package/dist/configurators/opencode.js.map +1 -1
- package/dist/configurators/qoder.d.ts +6 -4
- package/dist/configurators/qoder.d.ts.map +1 -1
- package/dist/configurators/qoder.js +20 -47
- package/dist/configurators/qoder.js.map +1 -1
- package/dist/configurators/shared.d.ts +66 -3
- package/dist/configurators/shared.d.ts.map +1 -1
- package/dist/configurators/shared.js +251 -3
- package/dist/configurators/shared.js.map +1 -1
- package/dist/configurators/windsurf.d.ts +3 -4
- package/dist/configurators/windsurf.d.ts.map +1 -1
- package/dist/configurators/windsurf.js +17 -10
- package/dist/configurators/windsurf.js.map +1 -1
- package/dist/configurators/workflow.d.ts +0 -3
- package/dist/configurators/workflow.d.ts.map +1 -1
- package/dist/configurators/workflow.js +1 -7
- package/dist/configurators/workflow.js.map +1 -1
- package/dist/migrations/manifests/0.4.0.json +1 -1
- package/dist/migrations/manifests/0.5.0-beta.0.json +1644 -0
- package/dist/templates/claude/agents/check.md +2 -29
- package/dist/templates/claude/agents/research.md +70 -52
- package/dist/templates/claude/index.d.ts +5 -37
- package/dist/templates/claude/index.d.ts.map +1 -1
- package/dist/templates/claude/index.js +3 -42
- package/dist/templates/claude/index.js.map +1 -1
- package/dist/templates/claude/settings.json +3 -4
- package/dist/templates/{iflow → codebuddy}/agents/check.md +3 -30
- package/dist/templates/{iflow → codebuddy}/agents/implement.md +1 -1
- package/dist/templates/codebuddy/agents/research.md +138 -0
- package/dist/templates/codebuddy/index.d.ts +6 -16
- package/dist/templates/codebuddy/index.d.ts.map +1 -1
- package/dist/templates/codebuddy/index.js +6 -36
- package/dist/templates/codebuddy/index.js.map +1 -1
- package/dist/templates/codebuddy/settings.json +59 -0
- package/dist/templates/codex/agents/research.toml +50 -16
- package/dist/templates/codex/config.toml +10 -0
- package/dist/templates/codex/hooks/session-start.py +65 -29
- package/dist/templates/codex/hooks.json +11 -0
- package/dist/templates/codex/index.d.ts +0 -1
- package/dist/templates/codex/index.d.ts.map +1 -1
- package/dist/templates/codex/index.js +1 -8
- package/dist/templates/codex/index.js.map +1 -1
- package/dist/templates/common/commands/continue.md +51 -0
- package/dist/templates/common/commands/finish-work.md +32 -0
- package/dist/templates/common/commands/start.md +56 -0
- package/dist/templates/common/index.d.ts +28 -0
- package/dist/templates/common/index.d.ts.map +1 -0
- package/dist/templates/common/index.js +55 -0
- package/dist/templates/common/index.js.map +1 -0
- package/dist/templates/{codebuddy/commands/trellis → common/skills}/brainstorm.md +4 -4
- package/dist/templates/{opencode/commands/trellis → common/skills}/break-loop.md +4 -4
- package/dist/templates/common/skills/check.md +87 -0
- package/dist/templates/{codebuddy/commands/trellis → common/skills}/update-spec.md +18 -21
- package/dist/templates/copilot/hooks/session-start.py +65 -29
- package/dist/templates/copilot/hooks.json +8 -0
- package/dist/templates/cursor/agents/check.md +95 -0
- package/dist/templates/cursor/agents/implement.md +95 -0
- package/dist/templates/cursor/agents/research.md +138 -0
- package/dist/templates/cursor/hooks.json +24 -0
- package/dist/templates/cursor/index.d.ts +6 -17
- package/dist/templates/cursor/index.d.ts.map +1 -1
- package/dist/templates/cursor/index.js +6 -37
- package/dist/templates/cursor/index.js.map +1 -1
- package/dist/templates/droid/droids/check.md +95 -0
- package/dist/templates/droid/droids/implement.md +95 -0
- package/dist/templates/droid/droids/research.md +138 -0
- package/dist/templates/droid/index.d.ts +7 -19
- package/dist/templates/droid/index.d.ts.map +1 -1
- package/dist/templates/droid/index.js +7 -39
- package/dist/templates/droid/index.js.map +1 -1
- package/dist/templates/droid/settings.json +59 -0
- package/dist/templates/extract.d.ts +7 -193
- package/dist/templates/extract.d.ts.map +1 -1
- package/dist/templates/extract.js +7 -310
- package/dist/templates/extract.js.map +1 -1
- package/dist/templates/gemini/agents/check.md +95 -0
- package/dist/templates/gemini/agents/implement.md +95 -0
- package/dist/templates/gemini/agents/research.md +138 -0
- package/dist/templates/gemini/index.d.ts +6 -14
- package/dist/templates/gemini/index.d.ts.map +1 -1
- package/dist/templates/gemini/index.js +6 -37
- package/dist/templates/gemini/index.js.map +1 -1
- package/dist/templates/gemini/settings.json +28 -0
- package/dist/templates/kiro/agents/check.json +13 -0
- package/dist/templates/kiro/agents/implement.json +13 -0
- package/dist/templates/kiro/agents/research.json +21 -0
- package/dist/templates/kiro/index.d.ts +11 -11
- package/dist/templates/kiro/index.d.ts.map +1 -1
- package/dist/templates/kiro/index.js +11 -33
- package/dist/templates/kiro/index.js.map +1 -1
- package/dist/templates/opencode/agents/check.md +3 -30
- package/dist/templates/opencode/agents/implement.md +1 -1
- package/dist/templates/opencode/agents/research.md +1 -2
- package/dist/templates/opencode/plugins/inject-subagent-context.js +9 -183
- package/dist/templates/opencode/plugins/inject-workflow-state.js +160 -0
- package/dist/templates/opencode/plugins/session-start.js +71 -32
- package/dist/templates/qoder/agents/check.md +95 -0
- package/dist/templates/qoder/agents/implement.md +95 -0
- package/dist/templates/qoder/agents/research.md +138 -0
- package/dist/templates/qoder/index.d.ts +7 -10
- package/dist/templates/qoder/index.d.ts.map +1 -1
- package/dist/templates/qoder/index.js +7 -32
- package/dist/templates/qoder/index.js.map +1 -1
- package/dist/templates/qoder/settings.json +47 -0
- package/dist/templates/shared-hooks/index.d.ts +19 -0
- package/dist/templates/shared-hooks/index.d.ts.map +1 -0
- package/dist/templates/shared-hooks/index.js +30 -0
- package/dist/templates/shared-hooks/index.js.map +1 -0
- package/dist/templates/{iflow/hooks → shared-hooks}/inject-subagent-context.py +74 -263
- package/dist/templates/shared-hooks/inject-workflow-state.py +231 -0
- package/dist/templates/{claude/hooks → shared-hooks}/session-start.py +162 -55
- 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 +60 -0
- package/dist/templates/template-utils.js.map +1 -0
- package/dist/templates/trellis/index.d.ts +1 -14
- package/dist/templates/trellis/index.d.ts.map +1 -1
- package/dist/templates/trellis/index.js +2 -27
- package/dist/templates/trellis/index.js.map +1 -1
- package/dist/templates/trellis/scripts/common/cli_adapter.py +2 -2
- package/dist/templates/trellis/scripts/common/config.py +126 -1
- package/dist/templates/trellis/scripts/common/git_context.py +25 -2
- package/dist/templates/trellis/scripts/common/task_context.py +3 -23
- package/dist/templates/trellis/scripts/common/task_store.py +0 -12
- package/dist/templates/trellis/scripts/common/workflow_phase.py +176 -0
- package/dist/templates/trellis/scripts/task.py +6 -35
- package/dist/templates/trellis/workflow.md +274 -297
- package/dist/types/ai-tools.d.ts +21 -3
- package/dist/types/ai-tools.d.ts.map +1 -1
- package/dist/types/ai-tools.js +106 -15
- package/dist/types/ai-tools.js.map +1 -1
- package/dist/types/migration.d.ts +8 -1
- package/dist/types/migration.d.ts.map +1 -1
- package/package.json +3 -2
- package/dist/configurators/iflow.d.ts +0 -33
- package/dist/configurators/iflow.d.ts.map +0 -1
- package/dist/configurators/iflow.js +0 -99
- package/dist/configurators/iflow.js.map +0 -1
- package/dist/templates/antigravity/index.d.ts +0 -12
- package/dist/templates/antigravity/index.d.ts.map +0 -1
- package/dist/templates/antigravity/index.js +0 -29
- package/dist/templates/antigravity/index.js.map +0 -1
- package/dist/templates/claude/agents/debug.md +0 -106
- package/dist/templates/claude/agents/dispatch.md +0 -213
- package/dist/templates/claude/agents/plan.md +0 -396
- package/dist/templates/claude/commands/trellis/brainstorm.md +0 -487
- package/dist/templates/claude/commands/trellis/break-loop.md +0 -125
- package/dist/templates/claude/commands/trellis/check-cross-layer.md +0 -153
- package/dist/templates/claude/commands/trellis/check.md +0 -25
- package/dist/templates/claude/commands/trellis/create-command.md +0 -154
- package/dist/templates/claude/commands/trellis/finish-work.md +0 -153
- package/dist/templates/claude/commands/trellis/integrate-skill.md +0 -219
- package/dist/templates/claude/commands/trellis/onboard.md +0 -358
- package/dist/templates/claude/commands/trellis/parallel.md +0 -192
- package/dist/templates/claude/commands/trellis/record-session.md +0 -62
- package/dist/templates/claude/commands/trellis/start.md +0 -393
- package/dist/templates/claude/commands/trellis/update-spec.md +0 -354
- package/dist/templates/claude/hooks/inject-subagent-context.py +0 -803
- package/dist/templates/claude/hooks/ralph-loop.py +0 -396
- package/dist/templates/codebuddy/commands/trellis/before-dev.md +0 -29
- package/dist/templates/codebuddy/commands/trellis/break-loop.md +0 -107
- package/dist/templates/codebuddy/commands/trellis/check-cross-layer.md +0 -153
- package/dist/templates/codebuddy/commands/trellis/check.md +0 -25
- package/dist/templates/codebuddy/commands/trellis/create-command.md +0 -154
- package/dist/templates/codebuddy/commands/trellis/finish-work.md +0 -143
- package/dist/templates/codebuddy/commands/trellis/integrate-skill.md +0 -219
- package/dist/templates/codebuddy/commands/trellis/onboard.md +0 -358
- package/dist/templates/codebuddy/commands/trellis/record-session.md +0 -61
- package/dist/templates/codebuddy/commands/trellis/start.md +0 -373
- package/dist/templates/codex/codex-skills/parallel/SKILL.md +0 -194
- package/dist/templates/cursor/commands/trellis-before-dev.md +0 -29
- package/dist/templates/cursor/commands/trellis-brainstorm.md +0 -487
- package/dist/templates/cursor/commands/trellis-break-loop.md +0 -107
- package/dist/templates/cursor/commands/trellis-check-cross-layer.md +0 -153
- package/dist/templates/cursor/commands/trellis-check.md +0 -25
- package/dist/templates/cursor/commands/trellis-create-command.md +0 -154
- package/dist/templates/cursor/commands/trellis-finish-work.md +0 -143
- package/dist/templates/cursor/commands/trellis-integrate-skill.md +0 -219
- package/dist/templates/cursor/commands/trellis-onboard.md +0 -358
- package/dist/templates/cursor/commands/trellis-record-session.md +0 -62
- package/dist/templates/cursor/commands/trellis-start.md +0 -373
- package/dist/templates/cursor/commands/trellis-update-spec.md +0 -354
- package/dist/templates/droid/commands/trellis/before-dev.md +0 -33
- package/dist/templates/droid/commands/trellis/brainstorm.md +0 -491
- package/dist/templates/droid/commands/trellis/break-loop.md +0 -111
- package/dist/templates/droid/commands/trellis/check-cross-layer.md +0 -157
- package/dist/templates/droid/commands/trellis/check.md +0 -29
- package/dist/templates/droid/commands/trellis/create-command.md +0 -158
- package/dist/templates/droid/commands/trellis/finish-work.md +0 -147
- package/dist/templates/droid/commands/trellis/integrate-skill.md +0 -223
- package/dist/templates/droid/commands/trellis/onboard.md +0 -362
- package/dist/templates/droid/commands/trellis/record-session.md +0 -66
- package/dist/templates/droid/commands/trellis/start.md +0 -377
- package/dist/templates/droid/commands/trellis/update-spec.md +0 -358
- package/dist/templates/gemini/commands/trellis/before-dev.toml +0 -33
- package/dist/templates/gemini/commands/trellis/brainstorm.toml +0 -435
- package/dist/templates/gemini/commands/trellis/break-loop.toml +0 -129
- package/dist/templates/gemini/commands/trellis/check-cross-layer.toml +0 -147
- package/dist/templates/gemini/commands/trellis/check.toml +0 -29
- package/dist/templates/gemini/commands/trellis/create-command.toml +0 -119
- package/dist/templates/gemini/commands/trellis/finish-work.toml +0 -133
- package/dist/templates/gemini/commands/trellis/integrate-skill.toml +0 -104
- package/dist/templates/gemini/commands/trellis/onboard.toml +0 -111
- package/dist/templates/gemini/commands/trellis/record-session.toml +0 -66
- package/dist/templates/gemini/commands/trellis/start.toml +0 -354
- package/dist/templates/gemini/commands/trellis/update-spec.toml +0 -132
- package/dist/templates/iflow/agents/debug.md +0 -106
- package/dist/templates/iflow/agents/dispatch.md +0 -213
- package/dist/templates/iflow/agents/plan.md +0 -396
- package/dist/templates/iflow/agents/research.md +0 -120
- package/dist/templates/iflow/commands/trellis/before-dev.md +0 -29
- package/dist/templates/iflow/commands/trellis/brainstorm.md +0 -487
- package/dist/templates/iflow/commands/trellis/break-loop.md +0 -125
- package/dist/templates/iflow/commands/trellis/check-cross-layer.md +0 -153
- package/dist/templates/iflow/commands/trellis/check.md +0 -25
- package/dist/templates/iflow/commands/trellis/create-command.md +0 -152
- package/dist/templates/iflow/commands/trellis/finish-work.md +0 -153
- package/dist/templates/iflow/commands/trellis/integrate-skill.md +0 -219
- package/dist/templates/iflow/commands/trellis/onboard.md +0 -358
- package/dist/templates/iflow/commands/trellis/parallel.md +0 -192
- package/dist/templates/iflow/commands/trellis/record-session.md +0 -62
- package/dist/templates/iflow/commands/trellis/start.md +0 -393
- package/dist/templates/iflow/commands/trellis/update-spec.md +0 -354
- package/dist/templates/iflow/hooks/ralph-loop.py +0 -395
- package/dist/templates/iflow/hooks/session-start.py +0 -403
- package/dist/templates/iflow/index.d.ts +0 -54
- package/dist/templates/iflow/index.d.ts.map +0 -1
- package/dist/templates/iflow/index.js +0 -85
- package/dist/templates/iflow/index.js.map +0 -1
- package/dist/templates/iflow/settings.json +0 -60
- package/dist/templates/kilo/index.d.ts +0 -16
- package/dist/templates/kilo/index.d.ts.map +0 -1
- package/dist/templates/kilo/index.js +0 -39
- package/dist/templates/kilo/index.js.map +0 -1
- package/dist/templates/kilo/workflows/before-dev.md +0 -29
- package/dist/templates/kilo/workflows/brainstorm.md +0 -487
- package/dist/templates/kilo/workflows/break-loop.md +0 -125
- package/dist/templates/kilo/workflows/check-cross-layer.md +0 -153
- package/dist/templates/kilo/workflows/check.md +0 -25
- package/dist/templates/kilo/workflows/create-command.md +0 -152
- package/dist/templates/kilo/workflows/finish-work.md +0 -129
- package/dist/templates/kilo/workflows/integrate-skill.md +0 -219
- package/dist/templates/kilo/workflows/onboard.md +0 -358
- package/dist/templates/kilo/workflows/parallel.md +0 -193
- package/dist/templates/kilo/workflows/record-session.md +0 -62
- package/dist/templates/kilo/workflows/start.md +0 -387
- package/dist/templates/kilo/workflows/update-spec.md +0 -285
- package/dist/templates/kiro/skills/before-dev/SKILL.md +0 -34
- package/dist/templates/kiro/skills/brainstorm/SKILL.md +0 -492
- package/dist/templates/kiro/skills/break-loop/SKILL.md +0 -130
- package/dist/templates/kiro/skills/check/SKILL.md +0 -30
- package/dist/templates/kiro/skills/check-cross-layer/SKILL.md +0 -158
- package/dist/templates/kiro/skills/create-command/SKILL.md +0 -101
- package/dist/templates/kiro/skills/finish-work/SKILL.md +0 -148
- package/dist/templates/kiro/skills/integrate-skill/SKILL.md +0 -221
- package/dist/templates/kiro/skills/onboard/SKILL.md +0 -363
- package/dist/templates/kiro/skills/record-session/SKILL.md +0 -67
- package/dist/templates/kiro/skills/start/SKILL.md +0 -351
- package/dist/templates/kiro/skills/update-spec/SKILL.md +0 -335
- package/dist/templates/opencode/agents/debug.md +0 -129
- package/dist/templates/opencode/agents/dispatch.md +0 -223
- package/dist/templates/opencode/agents/trellis-plan.md +0 -427
- package/dist/templates/opencode/commands/trellis/before-dev.md +0 -29
- package/dist/templates/opencode/commands/trellis/brainstorm.md +0 -487
- package/dist/templates/opencode/commands/trellis/check-cross-layer.md +0 -153
- package/dist/templates/opencode/commands/trellis/check.md +0 -25
- package/dist/templates/opencode/commands/trellis/create-command.md +0 -154
- package/dist/templates/opencode/commands/trellis/finish-work.md +0 -144
- package/dist/templates/opencode/commands/trellis/integrate-skill.md +0 -219
- package/dist/templates/opencode/commands/trellis/migrate-specs.md +0 -0
- package/dist/templates/opencode/commands/trellis/onboard.md +0 -358
- package/dist/templates/opencode/commands/trellis/parallel.md +0 -193
- package/dist/templates/opencode/commands/trellis/record-session.md +0 -62
- package/dist/templates/opencode/commands/trellis/start.md +0 -351
- package/dist/templates/opencode/commands/trellis/update-spec.md +0 -354
- package/dist/templates/qoder/skills/before-dev/SKILL.md +0 -34
- package/dist/templates/qoder/skills/brainstorm/SKILL.md +0 -492
- package/dist/templates/qoder/skills/break-loop/SKILL.md +0 -130
- package/dist/templates/qoder/skills/check/SKILL.md +0 -30
- package/dist/templates/qoder/skills/check-cross-layer/SKILL.md +0 -158
- package/dist/templates/qoder/skills/create-command/SKILL.md +0 -101
- package/dist/templates/qoder/skills/finish-work/SKILL.md +0 -134
- package/dist/templates/qoder/skills/integrate-skill/SKILL.md +0 -221
- package/dist/templates/qoder/skills/onboard/SKILL.md +0 -363
- package/dist/templates/qoder/skills/record-session/SKILL.md +0 -67
- package/dist/templates/qoder/skills/start/SKILL.md +0 -388
- package/dist/templates/qoder/skills/update-spec/SKILL.md +0 -290
- package/dist/templates/trellis/scripts/common/phase.py +0 -254
- package/dist/templates/trellis/scripts/common/registry.py +0 -335
- package/dist/templates/trellis/scripts/common/worktree.py +0 -305
- package/dist/templates/trellis/scripts/multi_agent/__init__.py +0 -5
- package/dist/templates/trellis/scripts/multi_agent/_bootstrap.py +0 -17
- package/dist/templates/trellis/scripts/multi_agent/cleanup.py +0 -398
- package/dist/templates/trellis/scripts/multi_agent/create_pr.py +0 -620
- package/dist/templates/trellis/scripts/multi_agent/plan.py +0 -213
- package/dist/templates/trellis/scripts/multi_agent/start.py +0 -539
- package/dist/templates/trellis/scripts/multi_agent/status.py +0 -76
- package/dist/templates/trellis/scripts/multi_agent/status_display.py +0 -542
- package/dist/templates/trellis/scripts/multi_agent/status_monitor.py +0 -225
- package/dist/templates/trellis/scripts-shell-archive/add-session.sh +0 -384
- package/dist/templates/trellis/scripts-shell-archive/common/developer.sh +0 -129
- package/dist/templates/trellis/scripts-shell-archive/common/git-context.sh +0 -263
- package/dist/templates/trellis/scripts-shell-archive/common/paths.sh +0 -208
- package/dist/templates/trellis/scripts-shell-archive/common/phase.sh +0 -150
- package/dist/templates/trellis/scripts-shell-archive/common/registry.sh +0 -247
- package/dist/templates/trellis/scripts-shell-archive/common/task-queue.sh +0 -142
- package/dist/templates/trellis/scripts-shell-archive/common/task-utils.sh +0 -151
- package/dist/templates/trellis/scripts-shell-archive/common/worktree.sh +0 -128
- package/dist/templates/trellis/scripts-shell-archive/create-bootstrap.sh +0 -299
- package/dist/templates/trellis/scripts-shell-archive/get-context.sh +0 -7
- package/dist/templates/trellis/scripts-shell-archive/get-developer.sh +0 -15
- package/dist/templates/trellis/scripts-shell-archive/init-developer.sh +0 -34
- package/dist/templates/trellis/scripts-shell-archive/multi-agent/cleanup.sh +0 -396
- package/dist/templates/trellis/scripts-shell-archive/multi-agent/create-pr.sh +0 -241
- package/dist/templates/trellis/scripts-shell-archive/multi-agent/plan.sh +0 -207
- package/dist/templates/trellis/scripts-shell-archive/multi-agent/start.sh +0 -317
- package/dist/templates/trellis/scripts-shell-archive/multi-agent/status.sh +0 -828
- package/dist/templates/trellis/scripts-shell-archive/task.sh +0 -1204
- package/dist/templates/trellis/worktree.yaml +0 -47
- package/dist/templates/windsurf/index.d.ts +0 -21
- package/dist/templates/windsurf/index.d.ts.map +0 -1
- package/dist/templates/windsurf/index.js +0 -44
- package/dist/templates/windsurf/index.js.map +0 -1
- package/dist/templates/windsurf/workflows/trellis-before-dev.md +0 -31
- package/dist/templates/windsurf/workflows/trellis-brainstorm.md +0 -491
- package/dist/templates/windsurf/workflows/trellis-break-loop.md +0 -111
- package/dist/templates/windsurf/workflows/trellis-check-cross-layer.md +0 -157
- package/dist/templates/windsurf/workflows/trellis-check.md +0 -27
- package/dist/templates/windsurf/workflows/trellis-create-command.md +0 -154
- package/dist/templates/windsurf/workflows/trellis-finish-work.md +0 -147
- package/dist/templates/windsurf/workflows/trellis-integrate-skill.md +0 -220
- package/dist/templates/windsurf/workflows/trellis-onboard.md +0 -362
- package/dist/templates/windsurf/workflows/trellis-record-session.md +0 -66
- package/dist/templates/windsurf/workflows/trellis-start.md +0 -373
- package/dist/templates/windsurf/workflows/trellis-update-spec.md +0 -358
- /package/dist/templates/{claude/commands/trellis → common/skills}/before-dev.md +0 -0
- /package/dist/templates/{claude/hooks → shared-hooks}/statusline.py +0 -0
|
@@ -11,7 +11,7 @@ Guide AI through collaborative requirements discovery **before implementation**,
|
|
|
11
11
|
|
|
12
12
|
## When to Use
|
|
13
13
|
|
|
14
|
-
Triggered from
|
|
14
|
+
Triggered from {{CMD_REF:start}} when the user describes a development task, especially when:
|
|
15
15
|
|
|
16
16
|
* requirements are unclear or evolving
|
|
17
17
|
* there are multiple valid implementation paths
|
|
@@ -482,6 +482,6 @@ The task directory and PRD already exist from brainstorm, so Phase 1 of the Task
|
|
|
482
482
|
|
|
483
483
|
| Command | When to Use |
|
|
484
484
|
|---------|-------------|
|
|
485
|
-
|
|
|
486
|
-
|
|
|
487
|
-
|
|
|
485
|
+
| `{{CMD_REF:start}}` | Entry point that triggers brainstorm |
|
|
486
|
+
| `{{CMD_REF:finish-work}}` | After implementation is complete |
|
|
487
|
+
| `{{CMD_REF:update-spec}}` | If new patterns emerge during work |
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Break the Loop - Deep Bug Analysis
|
|
2
2
|
|
|
3
|
-
When debug is complete, use this
|
|
3
|
+
When debug is complete, use this for deep analysis to break the "fix bug -> forget -> repeat" cycle.
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -37,7 +37,7 @@ What mechanisms would prevent this from happening again?
|
|
|
37
37
|
|------|-------------|---------|
|
|
38
38
|
| **Documentation** | Write it down so people know | Update thinking guide |
|
|
39
39
|
| **Architecture** | Make the error impossible structurally | Type-safe wrappers |
|
|
40
|
-
| **Compile-time** |
|
|
40
|
+
| **Compile-time** | Strict type checking, no escape hatches | Signature change causes compile error |
|
|
41
41
|
| **Runtime** | Monitoring, alerts, scans | Detect orphan entities |
|
|
42
42
|
| **Test Coverage** | E2E tests, integration tests | Verify full flow |
|
|
43
43
|
| **Code Review** | Checklist, PR template | "Did you check X?" |
|
|
@@ -56,10 +56,10 @@ What broader problems does this bug reveal?
|
|
|
56
56
|
Solidify insights into the system:
|
|
57
57
|
|
|
58
58
|
- [ ] Update `.trellis/spec/guides/` thinking guides
|
|
59
|
-
- [ ] Update `.trellis/spec
|
|
59
|
+
- [ ] Update relevant `.trellis/spec/` docs
|
|
60
60
|
- [ ] Create issue record (if applicable)
|
|
61
61
|
- [ ] Create feature ticket for root fix
|
|
62
|
-
- [ ] Update check
|
|
62
|
+
- [ ] Update check guidelines if needed
|
|
63
63
|
|
|
64
64
|
---
|
|
65
65
|
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# Code Quality Check
|
|
2
|
+
|
|
3
|
+
Comprehensive quality verification for recently written code. Combines spec compliance, cross-layer safety, and pre-commit checks.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Step 1: Identify What Changed
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
git diff --name-only HEAD
|
|
11
|
+
git status
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## Step 2: Read Applicable Specs
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
python3 ./.trellis/scripts/get_context.py --mode packages
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
For each changed package/layer, read the spec index and follow its **Quality Check** section:
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
cat .trellis/spec/<package>/<layer>/index.md
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Read the specific guideline files referenced — the index is a pointer, not the goal.
|
|
27
|
+
|
|
28
|
+
## Step 3: Run Project Checks
|
|
29
|
+
|
|
30
|
+
Run the project's lint, type-check, and test commands. Fix any failures before proceeding.
|
|
31
|
+
|
|
32
|
+
## Step 4: Review Against Checklist
|
|
33
|
+
|
|
34
|
+
### Code Quality
|
|
35
|
+
|
|
36
|
+
- [ ] Linter passes?
|
|
37
|
+
- [ ] Type checker passes (if applicable)?
|
|
38
|
+
- [ ] Tests pass?
|
|
39
|
+
- [ ] No debug logging left in?
|
|
40
|
+
- [ ] No suppressed warnings or type-safety bypasses?
|
|
41
|
+
|
|
42
|
+
### Test Coverage
|
|
43
|
+
|
|
44
|
+
- [ ] New function → unit test added?
|
|
45
|
+
- [ ] Bug fix → regression test added?
|
|
46
|
+
- [ ] Changed behavior → existing tests updated?
|
|
47
|
+
|
|
48
|
+
### Spec Sync
|
|
49
|
+
|
|
50
|
+
- [ ] Does `.trellis/spec/` need updates? (new patterns, conventions, lessons learned)
|
|
51
|
+
|
|
52
|
+
> "If I fixed a bug or discovered something non-obvious, should I document it so future me won't hit the same issue?" → If YES, update the relevant spec doc.
|
|
53
|
+
|
|
54
|
+
## Step 5: Cross-Layer Dimensions (if applicable)
|
|
55
|
+
|
|
56
|
+
Skip this step if your change is confined to a single layer.
|
|
57
|
+
|
|
58
|
+
### A. Data Flow (changes touch 3+ layers)
|
|
59
|
+
|
|
60
|
+
- [ ] Read flow traces correctly: Storage → Service → API → UI
|
|
61
|
+
- [ ] Write flow traces correctly: UI → API → Service → Storage
|
|
62
|
+
- [ ] Types/schemas correctly passed between layers?
|
|
63
|
+
- [ ] Errors properly propagated to caller?
|
|
64
|
+
|
|
65
|
+
### B. Code Reuse (modifying constants, creating utilities)
|
|
66
|
+
|
|
67
|
+
- [ ] Searched for existing similar code before creating new?
|
|
68
|
+
```bash
|
|
69
|
+
grep -r "pattern" src/
|
|
70
|
+
```
|
|
71
|
+
- [ ] If 2+ places define same value → extracted to shared constant?
|
|
72
|
+
- [ ] After batch modification, all occurrences updated?
|
|
73
|
+
|
|
74
|
+
### C. Import/Dependency (creating new files)
|
|
75
|
+
|
|
76
|
+
- [ ] Correct import paths (relative vs absolute)?
|
|
77
|
+
- [ ] No circular dependencies?
|
|
78
|
+
|
|
79
|
+
### D. Same-Layer Consistency
|
|
80
|
+
|
|
81
|
+
- [ ] Other places using the same concept are consistent?
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## Step 6: Report and Fix
|
|
86
|
+
|
|
87
|
+
Report violations found and fix them directly. Re-run project checks after fixes.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Update Code-Spec - Capture Executable Contracts
|
|
2
2
|
|
|
3
|
-
When you learn something valuable (from debugging, implementing, or discussion), use this
|
|
3
|
+
When you learn something valuable (from debugging, implementing, or discussion), use this to update the relevant code-spec documents.
|
|
4
4
|
|
|
5
5
|
**Timing**: After completing a task, fixing a bug, or discovering a new pattern
|
|
6
6
|
|
|
@@ -40,13 +40,13 @@ For triggered tasks, include all sections below:
|
|
|
40
40
|
|
|
41
41
|
| Trigger | Example | Target Spec |
|
|
42
42
|
|---------|---------|-------------|
|
|
43
|
-
| **Implemented a feature** | Added
|
|
44
|
-
| **Made a design decision** |
|
|
45
|
-
| **Fixed a bug** | Found a subtle issue with error handling |
|
|
46
|
-
| **Discovered a pattern** | Found a better way to structure code | Relevant
|
|
47
|
-
| **Hit a gotcha** | Learned that X must be done before Y | Relevant
|
|
48
|
-
| **Established a convention** | Team agreed on naming pattern |
|
|
49
|
-
| **New thinking trigger** | "Don't forget to check X before doing Y" | `guides/*.md` (as a checklist item
|
|
43
|
+
| **Implemented a feature** | Added a new integration or module | Relevant spec file |
|
|
44
|
+
| **Made a design decision** | Chose extensibility pattern over simplicity | Relevant spec + "Design Decisions" section |
|
|
45
|
+
| **Fixed a bug** | Found a subtle issue with error handling | Relevant spec (e.g., error-handling docs) |
|
|
46
|
+
| **Discovered a pattern** | Found a better way to structure code | Relevant spec file |
|
|
47
|
+
| **Hit a gotcha** | Learned that X must be done before Y | Relevant spec + "Common Mistakes" section |
|
|
48
|
+
| **Established a convention** | Team agreed on naming pattern | Quality guidelines |
|
|
49
|
+
| **New thinking trigger** | "Don't forget to check X before doing Y" | `guides/*.md` (as a checklist item) |
|
|
50
50
|
|
|
51
51
|
**Key Insight**: Code-spec updates are NOT just for problems. Every feature implementation contains design decisions and contracts that future AI/developers need to execute safely.
|
|
52
52
|
|
|
@@ -56,10 +56,7 @@ For triggered tasks, include all sections below:
|
|
|
56
56
|
|
|
57
57
|
```
|
|
58
58
|
.trellis/spec/
|
|
59
|
-
├──
|
|
60
|
-
│ ├── index.md # Overview and links
|
|
61
|
-
│ └── *.md # Topic-specific guidelines
|
|
62
|
-
├── frontend/ # Frontend coding standards
|
|
59
|
+
├── <layer>/ # Per-layer coding standards (e.g., backend/, frontend/, api/)
|
|
63
60
|
│ ├── index.md # Overview and links
|
|
64
61
|
│ └── *.md # Topic-specific guidelines
|
|
65
62
|
└── guides/ # Thinking checklists (NOT coding specs!)
|
|
@@ -71,20 +68,20 @@ For triggered tasks, include all sections below:
|
|
|
71
68
|
|
|
72
69
|
| Type | Location | Purpose | Content Style |
|
|
73
70
|
|------|----------|---------|---------------|
|
|
74
|
-
| **Code-Spec** |
|
|
71
|
+
| **Code-Spec** | `<layer>/*.md` | Tell AI "how to implement safely" | Signatures, contracts, matrices, cases, test points |
|
|
75
72
|
| **Guide** | `guides/*.md` | Help AI "what to think about" | Checklists, questions, pointers to specs |
|
|
76
73
|
|
|
77
74
|
**Decision Rule**: Ask yourself:
|
|
78
75
|
|
|
79
|
-
- "This is **how to write** the code" → Put in
|
|
76
|
+
- "This is **how to write** the code" → Put in a spec layer directory
|
|
80
77
|
- "This is **what to consider** before writing" → Put in `guides/`
|
|
81
78
|
|
|
82
79
|
**Example**:
|
|
83
80
|
|
|
84
81
|
| Learning | Wrong Location | Correct Location |
|
|
85
82
|
|----------|----------------|------------------|
|
|
86
|
-
| "Use
|
|
87
|
-
| "Remember to check
|
|
83
|
+
| "Use API X not API Y for this task" | ❌ `guides/` (too specific for a thinking guide) | ✅ Relevant spec file (concrete convention) |
|
|
84
|
+
| "Remember to check X when doing Y" | ❌ Spec file (too abstract for a spec) | ✅ `guides/` (thinking checklist) |
|
|
88
85
|
|
|
89
86
|
**Guides should be short checklists that point to specs**, not duplicate the detailed rules.
|
|
90
87
|
|
|
@@ -332,15 +329,15 @@ Before finishing your code-spec update:
|
|
|
332
329
|
|
|
333
330
|
```
|
|
334
331
|
Development Flow:
|
|
335
|
-
Learn something →
|
|
332
|
+
Learn something → {{CMD_REF:update-spec}} → Knowledge captured
|
|
336
333
|
↑ ↓
|
|
337
|
-
|
|
334
|
+
{{CMD_REF:break-loop}} ←──────────────────── Future sessions benefit
|
|
338
335
|
(deep bug analysis)
|
|
339
336
|
```
|
|
340
337
|
|
|
341
|
-
-
|
|
342
|
-
-
|
|
343
|
-
-
|
|
338
|
+
- `{{CMD_REF:break-loop}}` - Analyzes bugs deeply, often reveals spec updates needed
|
|
339
|
+
- `{{CMD_REF:update-spec}}` - Actually makes the updates
|
|
340
|
+
- `{{CMD_REF:finish-work}}` - Reminds you to check if specs need updates
|
|
344
341
|
|
|
345
342
|
---
|
|
346
343
|
|
|
@@ -125,30 +125,48 @@ def _get_task_status(trellis_dir: Path) -> str:
|
|
|
125
125
|
return f"Status: READY\nTask: {task_title}\nNext: Continue with implement or check"
|
|
126
126
|
|
|
127
127
|
|
|
128
|
-
def
|
|
129
|
-
"""
|
|
128
|
+
def _extract_range(content: str, start_header: str, end_header: str) -> str:
|
|
129
|
+
"""Extract lines starting at `## start_header` up to (but excluding) `## end_header`."""
|
|
130
|
+
lines = content.splitlines()
|
|
131
|
+
start: "int | None" = None
|
|
132
|
+
end: int = len(lines)
|
|
133
|
+
start_match = f"## {start_header}"
|
|
134
|
+
end_match = f"## {end_header}"
|
|
135
|
+
for i, line in enumerate(lines):
|
|
136
|
+
stripped = line.strip()
|
|
137
|
+
if start is None and stripped == start_match:
|
|
138
|
+
start = i
|
|
139
|
+
continue
|
|
140
|
+
if start is not None and stripped == end_match:
|
|
141
|
+
end = i
|
|
142
|
+
break
|
|
143
|
+
if start is None:
|
|
144
|
+
return ""
|
|
145
|
+
return "\n".join(lines[start:end]).rstrip()
|
|
130
146
|
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
"""
|
|
147
|
+
|
|
148
|
+
def _build_workflow_toc(workflow_path: Path) -> str:
|
|
149
|
+
"""Inject workflow guide: TOC + Phase Index + Phase 1/2/3 step details."""
|
|
134
150
|
content = read_file(workflow_path)
|
|
135
151
|
if not content:
|
|
136
152
|
return "No workflow.md found"
|
|
137
153
|
|
|
138
|
-
|
|
154
|
+
out_lines = [
|
|
139
155
|
"# Development Workflow — Section Index",
|
|
140
156
|
"Full guide: .trellis/workflow.md (read on demand)",
|
|
141
157
|
"",
|
|
158
|
+
"## Table of Contents",
|
|
142
159
|
]
|
|
143
160
|
for line in content.splitlines():
|
|
144
161
|
if line.startswith("## "):
|
|
145
|
-
|
|
162
|
+
out_lines.append(line)
|
|
163
|
+
out_lines += ["", "---", ""]
|
|
146
164
|
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
return "\n".join(
|
|
165
|
+
phases = _extract_range(content, "Phase Index", "Workflow State Breadcrumbs")
|
|
166
|
+
if phases:
|
|
167
|
+
out_lines.append(phases)
|
|
168
|
+
|
|
169
|
+
return "\n".join(out_lines).rstrip()
|
|
152
170
|
|
|
153
171
|
|
|
154
172
|
def main() -> None:
|
|
@@ -183,38 +201,56 @@ Read and follow all instructions below carefully.
|
|
|
183
201
|
output.write("\n</workflow>\n\n")
|
|
184
202
|
|
|
185
203
|
output.write("<guidelines>\n")
|
|
186
|
-
output.write(
|
|
187
|
-
|
|
188
|
-
|
|
204
|
+
output.write(
|
|
205
|
+
"Project spec indexes are listed by path below. Each index contains a "
|
|
206
|
+
"**Pre-Development Checklist** listing the specific guideline files to "
|
|
207
|
+
"read before coding.\n\n"
|
|
208
|
+
"- If you're spawning an implement/check sub-agent, context is injected "
|
|
209
|
+
"automatically via `{task}/implement.jsonl` / `check.jsonl`. You do NOT "
|
|
210
|
+
"need to read these indexes yourself.\n"
|
|
211
|
+
"- If you're editing code directly in the main session, Read the relevant "
|
|
212
|
+
"index(es) on-demand and follow their Pre-Dev Checklist.\n\n"
|
|
213
|
+
)
|
|
214
|
+
|
|
215
|
+
# guides/ inlined (cross-package thinking, broadly useful)
|
|
216
|
+
guides_index = trellis_dir / "spec" / "guides" / "index.md"
|
|
217
|
+
if guides_index.is_file():
|
|
218
|
+
output.write("## guides (inlined — cross-package thinking guides)\n")
|
|
219
|
+
output.write(read_file(guides_index))
|
|
220
|
+
output.write("\n\n")
|
|
221
|
+
|
|
222
|
+
# Other indexes — paths only
|
|
223
|
+
paths: list[str] = []
|
|
189
224
|
spec_dir = trellis_dir / "spec"
|
|
190
225
|
if spec_dir.is_dir():
|
|
191
226
|
for sub in sorted(spec_dir.iterdir()):
|
|
192
227
|
if not sub.is_dir() or sub.name.startswith("."):
|
|
193
228
|
continue
|
|
194
|
-
|
|
195
229
|
if sub.name == "guides":
|
|
196
|
-
index_file = sub / "index.md"
|
|
197
|
-
if index_file.is_file():
|
|
198
|
-
output.write(f"## {sub.name}\n")
|
|
199
|
-
output.write(read_file(index_file))
|
|
200
|
-
output.write("\n\n")
|
|
201
230
|
continue
|
|
202
|
-
|
|
203
231
|
index_file = sub / "index.md"
|
|
204
232
|
if index_file.is_file():
|
|
205
|
-
|
|
206
|
-
output.write(read_file(index_file))
|
|
207
|
-
output.write("\n\n")
|
|
233
|
+
paths.append(f".trellis/spec/{sub.name}/index.md")
|
|
208
234
|
else:
|
|
209
235
|
for nested in sorted(sub.iterdir()):
|
|
210
236
|
if not nested.is_dir():
|
|
211
237
|
continue
|
|
212
238
|
nested_index = nested / "index.md"
|
|
213
239
|
if nested_index.is_file():
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
240
|
+
paths.append(
|
|
241
|
+
f".trellis/spec/{sub.name}/{nested.name}/index.md"
|
|
242
|
+
)
|
|
243
|
+
|
|
244
|
+
if paths:
|
|
245
|
+
output.write("## Available spec indexes (read on demand)\n")
|
|
246
|
+
for p in paths:
|
|
247
|
+
output.write(f"- {p}\n")
|
|
248
|
+
output.write("\n")
|
|
249
|
+
|
|
250
|
+
output.write(
|
|
251
|
+
"Discover more via: "
|
|
252
|
+
"`python3 ./.trellis/scripts/get_context.py --mode packages`\n"
|
|
253
|
+
)
|
|
218
254
|
output.write("</guidelines>\n\n")
|
|
219
255
|
|
|
220
256
|
task_status = _get_task_status(trellis_dir)
|
|
@@ -6,6 +6,14 @@
|
|
|
6
6
|
"command": "{{PYTHON_CMD}} .github/copilot/hooks/session-start.py",
|
|
7
7
|
"timeout": 10
|
|
8
8
|
}
|
|
9
|
+
],
|
|
10
|
+
"userPromptSubmitted": [
|
|
11
|
+
{
|
|
12
|
+
"type": "command",
|
|
13
|
+
"bash": "{{PYTHON_CMD}} .github/copilot/hooks/inject-workflow-state.py",
|
|
14
|
+
"powershell": "{{PYTHON_CMD}} .github/copilot/hooks/inject-workflow-state.py",
|
|
15
|
+
"timeoutSec": 5
|
|
16
|
+
}
|
|
9
17
|
]
|
|
10
18
|
}
|
|
11
19
|
}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 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, mcp__exa__web_search_exa, mcp__exa__get_code_context_exa
|
|
6
|
+
model: opus
|
|
7
|
+
---
|
|
8
|
+
# Check Agent
|
|
9
|
+
|
|
10
|
+
You are the Check Agent in the Trellis workflow.
|
|
11
|
+
|
|
12
|
+
## Context
|
|
13
|
+
|
|
14
|
+
Before checking, read:
|
|
15
|
+
- `.trellis/spec/` - Development guidelines
|
|
16
|
+
- Pre-commit checklist for quality standards
|
|
17
|
+
|
|
18
|
+
## Core Responsibilities
|
|
19
|
+
|
|
20
|
+
1. **Get code changes** - Use git diff to get uncommitted code
|
|
21
|
+
2. **Check against specs** - Verify code follows guidelines
|
|
22
|
+
3. **Self-fix** - Fix issues yourself, not just report them
|
|
23
|
+
4. **Run verification** - typecheck and lint
|
|
24
|
+
|
|
25
|
+
## Important
|
|
26
|
+
|
|
27
|
+
**Fix issues yourself**, don't just report them.
|
|
28
|
+
|
|
29
|
+
You have write and edit tools, you can modify code directly.
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## Workflow
|
|
34
|
+
|
|
35
|
+
### Step 1: Get Changes
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
git diff --name-only # List changed files
|
|
39
|
+
git diff # View specific changes
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### Step 2: Check Against Specs
|
|
43
|
+
|
|
44
|
+
Read relevant specs in `.trellis/spec/` to check code:
|
|
45
|
+
|
|
46
|
+
- Does it follow directory structure conventions
|
|
47
|
+
- Does it follow naming conventions
|
|
48
|
+
- Does it follow code patterns
|
|
49
|
+
- Are there missing types
|
|
50
|
+
- Are there potential bugs
|
|
51
|
+
|
|
52
|
+
### Step 3: Self-Fix
|
|
53
|
+
|
|
54
|
+
After finding issues:
|
|
55
|
+
|
|
56
|
+
1. Fix the issue directly (use edit tool)
|
|
57
|
+
2. Record what was fixed
|
|
58
|
+
3. Continue checking other issues
|
|
59
|
+
|
|
60
|
+
### Step 4: Run Verification
|
|
61
|
+
|
|
62
|
+
Run project's lint and typecheck commands to verify changes.
|
|
63
|
+
|
|
64
|
+
If failed, fix issues and re-run.
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## Report Format
|
|
69
|
+
|
|
70
|
+
```markdown
|
|
71
|
+
## Self-Check Complete
|
|
72
|
+
|
|
73
|
+
### Files Checked
|
|
74
|
+
|
|
75
|
+
- src/components/Feature.tsx
|
|
76
|
+
- src/hooks/useFeature.ts
|
|
77
|
+
|
|
78
|
+
### Issues Found and Fixed
|
|
79
|
+
|
|
80
|
+
1. `<file>:<line>` - <what was fixed>
|
|
81
|
+
2. `<file>:<line>` - <what was fixed>
|
|
82
|
+
|
|
83
|
+
### Issues Not Fixed
|
|
84
|
+
|
|
85
|
+
(If there are issues that cannot be self-fixed, list them here with reasons)
|
|
86
|
+
|
|
87
|
+
### Verification Results
|
|
88
|
+
|
|
89
|
+
- TypeCheck: Passed
|
|
90
|
+
- Lint: Passed
|
|
91
|
+
|
|
92
|
+
### Summary
|
|
93
|
+
|
|
94
|
+
Checked X files, found Y issues, all fixed.
|
|
95
|
+
```
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 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, mcp__exa__web_search_exa, mcp__exa__get_code_context_exa
|
|
6
|
+
model: opus
|
|
7
|
+
---
|
|
8
|
+
# Implement Agent
|
|
9
|
+
|
|
10
|
+
You are the Implement Agent in the Trellis workflow.
|
|
11
|
+
|
|
12
|
+
## Context
|
|
13
|
+
|
|
14
|
+
Before implementing, read:
|
|
15
|
+
- `.trellis/workflow.md` - Project workflow
|
|
16
|
+
- `.trellis/spec/` - Development guidelines
|
|
17
|
+
- Task `prd.md` - Requirements document
|
|
18
|
+
- Task `info.md` - Technical design (if exists)
|
|
19
|
+
|
|
20
|
+
## Core Responsibilities
|
|
21
|
+
|
|
22
|
+
1. **Understand specs** - Read relevant spec files in `.trellis/spec/`
|
|
23
|
+
2. **Understand requirements** - Read prd.md and info.md
|
|
24
|
+
3. **Implement features** - Write code following specs and design
|
|
25
|
+
4. **Self-check** - Ensure code quality
|
|
26
|
+
5. **Report results** - Report completion status
|
|
27
|
+
|
|
28
|
+
## Forbidden Operations
|
|
29
|
+
|
|
30
|
+
**Do NOT execute these git commands:**
|
|
31
|
+
|
|
32
|
+
- `git commit`
|
|
33
|
+
- `git push`
|
|
34
|
+
- `git merge`
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## Workflow
|
|
39
|
+
|
|
40
|
+
### 1. Understand Specs
|
|
41
|
+
|
|
42
|
+
Read relevant specs based on task type:
|
|
43
|
+
|
|
44
|
+
- Spec layers: `.trellis/spec/<package>/<layer>/`
|
|
45
|
+
- Shared guides: `.trellis/spec/guides/`
|
|
46
|
+
|
|
47
|
+
### 2. Understand Requirements
|
|
48
|
+
|
|
49
|
+
Read the task's prd.md and info.md:
|
|
50
|
+
|
|
51
|
+
- What are the core requirements
|
|
52
|
+
- Key points of technical design
|
|
53
|
+
- Which files to modify/create
|
|
54
|
+
|
|
55
|
+
### 3. Implement Features
|
|
56
|
+
|
|
57
|
+
- Write code following specs and technical design
|
|
58
|
+
- Follow existing code patterns
|
|
59
|
+
- Only do what's required, no over-engineering
|
|
60
|
+
|
|
61
|
+
### 4. Verify
|
|
62
|
+
|
|
63
|
+
Run project's lint and typecheck commands to verify changes.
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## Report Format
|
|
68
|
+
|
|
69
|
+
```markdown
|
|
70
|
+
## Implementation Complete
|
|
71
|
+
|
|
72
|
+
### Files Modified
|
|
73
|
+
|
|
74
|
+
- `src/components/Feature.tsx` - New component
|
|
75
|
+
- `src/hooks/useFeature.ts` - New hook
|
|
76
|
+
|
|
77
|
+
### Implementation Summary
|
|
78
|
+
|
|
79
|
+
1. Created Feature component...
|
|
80
|
+
2. Added useFeature hook...
|
|
81
|
+
|
|
82
|
+
### Verification Results
|
|
83
|
+
|
|
84
|
+
- Lint: Passed
|
|
85
|
+
- TypeCheck: Passed
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## Code Standards
|
|
91
|
+
|
|
92
|
+
- Follow existing code patterns
|
|
93
|
+
- Don't add unnecessary abstractions
|
|
94
|
+
- Only do what's required, no over-engineering
|
|
95
|
+
- Keep code readable
|