@mindfoldhq/trellis 0.4.0 → 0.5.0-beta.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/index.js +0 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/commands/init.d.ts +10 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +382 -120
- 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 +178 -61
- 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 +146 -100
- 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 +7 -25
- package/dist/configurators/opencode.d.ts.map +1 -1
- package/dist/configurators/opencode.js +57 -56
- package/dist/configurators/opencode.js.map +1 -1
- package/dist/configurators/qoder.d.ts +6 -3
- package/dist/configurators/qoder.d.ts.map +1 -1
- package/dist/configurators/qoder.js +27 -46
- package/dist/configurators/qoder.js.map +1 -1
- package/dist/configurators/shared.d.ts +68 -3
- package/dist/configurators/shared.d.ts.map +1 -1
- package/dist/configurators/shared.js +274 -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 +1646 -0
- package/dist/migrations/manifests/0.5.0-beta.1.json +9 -0
- package/dist/migrations/manifests/0.5.0-beta.2.json +9 -0
- package/dist/migrations/manifests/0.5.0-beta.3.json +9 -0
- package/dist/migrations/manifests/0.5.0-beta.4.json +9 -0
- package/dist/migrations/manifests/0.5.0-beta.5.json +222 -0
- package/dist/migrations/manifests/0.5.0-beta.6.json +9 -0
- package/dist/migrations/manifests/0.5.0-beta.7.json +9 -0
- package/dist/migrations/manifests/0.5.0-beta.8.json +9 -0
- package/dist/migrations/manifests/0.5.0-beta.9.json +48 -0
- package/dist/templates/claude/agents/{check.md → trellis-check.md} +3 -31
- package/dist/templates/claude/agents/{implement.md → trellis-implement.md} +1 -2
- package/dist/templates/claude/agents/trellis-research.md +137 -0
- 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 +6 -4
- package/dist/templates/{iflow/agents/check.md → codebuddy/agents/trellis-check.md} +3 -31
- package/dist/templates/{iflow/agents/implement.md → codebuddy/agents/trellis-implement.md} +1 -2
- package/dist/templates/codebuddy/agents/trellis-research.md +137 -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/trellis-check.toml +38 -0
- package/dist/templates/codex/agents/{implement.toml → trellis-implement.toml} +1 -1
- package/dist/templates/codex/agents/trellis-research.toml +60 -0
- 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/codex/skills/start/SKILL.md +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/{droid/commands/trellis → common/skills}/brainstorm.md +51 -12
- package/dist/templates/{iflow/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/copilot/prompts/start.prompt.md +13 -16
- package/dist/templates/cursor/agents/trellis-check.md +94 -0
- package/dist/templates/cursor/agents/trellis-implement.md +94 -0
- package/dist/templates/cursor/agents/trellis-research.md +137 -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/trellis-check.md +94 -0
- package/dist/templates/droid/droids/trellis-implement.md +94 -0
- package/dist/templates/droid/droids/trellis-research.md +137 -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/trellis-check.md +94 -0
- package/dist/templates/gemini/agents/trellis-implement.md +94 -0
- package/dist/templates/gemini/agents/trellis-research.md +137 -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/trellis-check.json +13 -0
- package/dist/templates/kiro/agents/trellis-implement.json +13 -0
- package/dist/templates/kiro/agents/trellis-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 → trellis-check.md} +3 -30
- package/dist/templates/opencode/agents/{implement.md → trellis-implement.md} +1 -1
- package/dist/templates/opencode/agents/{research.md → trellis-research.md} +1 -2
- package/dist/templates/opencode/plugins/inject-subagent-context.js +18 -190
- package/dist/templates/opencode/plugins/inject-workflow-state.js +172 -0
- package/dist/templates/opencode/plugins/session-start.js +76 -39
- package/dist/templates/qoder/agents/trellis-check.md +94 -0
- package/dist/templates/qoder/agents/trellis-implement.md +94 -0
- package/dist/templates/qoder/agents/trellis-research.md +137 -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 +77 -266
- package/dist/templates/shared-hooks/inject-workflow-state.py +244 -0
- package/dist/templates/{claude/hooks → shared-hooks}/session-start.py +172 -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/config.yaml +6 -0
- package/dist/templates/trellis/index.d.ts +1 -15
- package/dist/templates/trellis/index.d.ts.map +1 -1
- package/dist/templates/trellis/index.js +2 -29
- package/dist/templates/trellis/index.js.map +1 -1
- package/dist/templates/trellis/scripts/common/cli_adapter.py +31 -8
- 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 +23 -28
- package/dist/templates/trellis/scripts/common/task_store.py +0 -12
- package/dist/templates/trellis/scripts/common/types.py +0 -2
- package/dist/templates/trellis/scripts/common/workflow_phase.py +176 -0
- package/dist/templates/trellis/scripts/task.py +13 -35
- package/dist/templates/trellis/workflow.md +283 -298
- package/dist/types/ai-tools.d.ts +30 -3
- package/dist/types/ai-tools.d.ts.map +1 -1
- package/dist/types/ai-tools.js +119 -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/dist/utils/project-detector.d.ts +2 -0
- package/dist/utils/project-detector.d.ts.map +1 -1
- package/dist/utils/project-detector.js +120 -11
- package/dist/utils/project-detector.js.map +1 -1
- package/dist/utils/task-json.d.ts +46 -0
- package/dist/utils/task-json.d.ts.map +1 -0
- package/dist/utils/task-json.js +49 -0
- package/dist/utils/task-json.js.map +1 -0
- 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/agents/research.md +0 -120
- 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/brainstorm.md +0 -487
- 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/agents/check.toml +0 -23
- package/dist/templates/codex/agents/research.toml +0 -26
- 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/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/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/markdown/spec/backend/directory-structure.md +0 -292
- package/dist/templates/markdown/spec/backend/index.md +0 -40
- package/dist/templates/markdown/spec/backend/script-conventions.md +0 -742
- package/dist/templates/markdown/spec/guides/code-reuse-thinking-guide.md +0 -118
- package/dist/templates/markdown/spec/guides/cross-platform-thinking-guide.md +0 -394
- 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/break-loop.md +0 -125
- 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/create_bootstrap.py +0 -298
- 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
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Canonical task.json shape — single source of truth shared by all TS writers.
|
|
3
|
+
*
|
|
4
|
+
* The runtime Python writer is `.trellis/scripts/common/task_store.py` in
|
|
5
|
+
* `cmd_create` (lines ~147-172). This TS factory mirrors that 24-field shape
|
|
6
|
+
* so bootstrap tasks (trellis init) and migration tasks (trellis update
|
|
7
|
+
* --migrate) produce structurally identical task.json files.
|
|
8
|
+
*
|
|
9
|
+
* Field names, order, and null defaults match task_store.py exactly.
|
|
10
|
+
*/
|
|
11
|
+
export interface TaskJson {
|
|
12
|
+
id: string;
|
|
13
|
+
name: string;
|
|
14
|
+
title: string;
|
|
15
|
+
description: string;
|
|
16
|
+
status: string;
|
|
17
|
+
dev_type: string | null;
|
|
18
|
+
scope: string | null;
|
|
19
|
+
package: string | null;
|
|
20
|
+
priority: string;
|
|
21
|
+
creator: string;
|
|
22
|
+
assignee: string;
|
|
23
|
+
createdAt: string;
|
|
24
|
+
completedAt: string | null;
|
|
25
|
+
branch: string | null;
|
|
26
|
+
base_branch: string | null;
|
|
27
|
+
worktree_path: string | null;
|
|
28
|
+
commit: string | null;
|
|
29
|
+
pr_url: string | null;
|
|
30
|
+
subtasks: string[];
|
|
31
|
+
children: string[];
|
|
32
|
+
parent: string | null;
|
|
33
|
+
relatedFiles: string[];
|
|
34
|
+
notes: string;
|
|
35
|
+
meta: Record<string, unknown>;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Produce a fully-populated canonical-shape TaskJson.
|
|
39
|
+
*
|
|
40
|
+
* All 24 fields are emitted in canonical order. `overrides` shallow-merges on
|
|
41
|
+
* top — callers should supply the per-task values (id, name, title, assignee,
|
|
42
|
+
* createdAt, etc.) and leave null-default fields untouched unless they have a
|
|
43
|
+
* real value.
|
|
44
|
+
*/
|
|
45
|
+
export declare function emptyTaskJson(overrides?: Partial<TaskJson>): TaskJson;
|
|
46
|
+
//# sourceMappingURL=task-json.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-json.d.ts","sourceRoot":"","sources":["../../src/utils/task-json.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,SAAS,GAAE,OAAO,CAAC,QAAQ,CAAM,GAAG,QAAQ,CA6BzE"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Canonical task.json shape — single source of truth shared by all TS writers.
|
|
3
|
+
*
|
|
4
|
+
* The runtime Python writer is `.trellis/scripts/common/task_store.py` in
|
|
5
|
+
* `cmd_create` (lines ~147-172). This TS factory mirrors that 24-field shape
|
|
6
|
+
* so bootstrap tasks (trellis init) and migration tasks (trellis update
|
|
7
|
+
* --migrate) produce structurally identical task.json files.
|
|
8
|
+
*
|
|
9
|
+
* Field names, order, and null defaults match task_store.py exactly.
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Produce a fully-populated canonical-shape TaskJson.
|
|
13
|
+
*
|
|
14
|
+
* All 24 fields are emitted in canonical order. `overrides` shallow-merges on
|
|
15
|
+
* top — callers should supply the per-task values (id, name, title, assignee,
|
|
16
|
+
* createdAt, etc.) and leave null-default fields untouched unless they have a
|
|
17
|
+
* real value.
|
|
18
|
+
*/
|
|
19
|
+
export function emptyTaskJson(overrides = {}) {
|
|
20
|
+
const today = new Date().toISOString().split("T")[0];
|
|
21
|
+
const base = {
|
|
22
|
+
id: "",
|
|
23
|
+
name: "",
|
|
24
|
+
title: "",
|
|
25
|
+
description: "",
|
|
26
|
+
status: "planning",
|
|
27
|
+
dev_type: null,
|
|
28
|
+
scope: null,
|
|
29
|
+
package: null,
|
|
30
|
+
priority: "P2",
|
|
31
|
+
creator: "",
|
|
32
|
+
assignee: "",
|
|
33
|
+
createdAt: today,
|
|
34
|
+
completedAt: null,
|
|
35
|
+
branch: null,
|
|
36
|
+
base_branch: null,
|
|
37
|
+
worktree_path: null,
|
|
38
|
+
commit: null,
|
|
39
|
+
pr_url: null,
|
|
40
|
+
subtasks: [],
|
|
41
|
+
children: [],
|
|
42
|
+
parent: null,
|
|
43
|
+
relatedFiles: [],
|
|
44
|
+
notes: "",
|
|
45
|
+
meta: {},
|
|
46
|
+
};
|
|
47
|
+
return { ...base, ...overrides };
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=task-json.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-json.js","sourceRoot":"","sources":["../../src/utils/task-json.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AA6BH;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,YAA+B,EAAE;IAC7D,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,MAAM,IAAI,GAAa;QACrB,EAAE,EAAE,EAAE;QACN,IAAI,EAAE,EAAE;QACR,KAAK,EAAE,EAAE;QACT,WAAW,EAAE,EAAE;QACf,MAAM,EAAE,UAAU;QAClB,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,IAAI;QACX,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,KAAK;QAChB,WAAW,EAAE,IAAI;QACjB,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,IAAI;QACjB,aAAa,EAAE,IAAI;QACnB,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,IAAI;QACZ,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,IAAI;QACZ,YAAY,EAAE,EAAE;QAChB,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,EAAE;KACT,CAAC;IACF,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,SAAS,EAAE,CAAC;AACnC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mindfoldhq/trellis",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0-beta.10",
|
|
4
4
|
"description": "AI capabilities grow like ivy — Trellis provides the structure to guide them along a disciplined path",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -61,7 +61,8 @@
|
|
|
61
61
|
"url": "https://github.com/mindfold-ai/trellis.git"
|
|
62
62
|
},
|
|
63
63
|
"scripts": {
|
|
64
|
-
"build": "tsc && pnpm run copy-templates",
|
|
64
|
+
"build": "pnpm run clean && tsc && pnpm run copy-templates",
|
|
65
|
+
"clean": "node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"",
|
|
65
66
|
"copy-templates": "node scripts/copy-templates.js",
|
|
66
67
|
"dev": "tsc --watch",
|
|
67
68
|
"start": "node ./dist/cli/index.js",
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Configure iFlow CLI by copying from templates
|
|
3
|
-
*
|
|
4
|
-
* The iflow templates include:
|
|
5
|
-
* - commands/ - Slash commands
|
|
6
|
-
* - agents/ - Multi-agent pipeline configurations
|
|
7
|
-
* - hooks/ - Context injection hooks
|
|
8
|
-
* - settings.json - Hook and tool configurations
|
|
9
|
-
* - AGENTS.md - Agent documentation
|
|
10
|
-
*/
|
|
11
|
-
export declare function configureIflow(cwd: string): Promise<void>;
|
|
12
|
-
/**
|
|
13
|
-
* Configure iFlow CLI agents for Multi-Agent Pipeline
|
|
14
|
-
*
|
|
15
|
-
* @deprecated Agents are now included in the main .iflow directory copy.
|
|
16
|
-
* This function is kept for backwards compatibility but does nothing.
|
|
17
|
-
*/
|
|
18
|
-
export declare function configureIflowAgents(_cwd: string): Promise<void>;
|
|
19
|
-
/**
|
|
20
|
-
* Configure iFlow CLI hooks for context injection
|
|
21
|
-
*
|
|
22
|
-
* @deprecated Hooks are now included in the main .iflow directory copy.
|
|
23
|
-
* This function is kept for backwards compatibility but does nothing.
|
|
24
|
-
*/
|
|
25
|
-
export declare function configureIflowHooks(_cwd: string): Promise<void>;
|
|
26
|
-
/**
|
|
27
|
-
* Configure iFlow CLI with full Multi-Agent Pipeline support
|
|
28
|
-
*
|
|
29
|
-
* This is now equivalent to just calling configureIflow since the entire
|
|
30
|
-
* .iflow directory is copied at once.
|
|
31
|
-
*/
|
|
32
|
-
export declare function configureIflowFull(cwd: string): Promise<void>;
|
|
33
|
-
//# sourceMappingURL=iflow.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"iflow.d.ts","sourceRoot":"","sources":["../../src/configurators/iflow.ts"],"names":[],"mappings":"AA2DA;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAM/D;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGtE;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGrE;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEnE"}
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
import { readFileSync, readdirSync, statSync } from "node:fs";
|
|
2
|
-
import path from "node:path";
|
|
3
|
-
import { getIflowTemplatePath } from "../templates/extract.js";
|
|
4
|
-
import { ensureDir, writeFile } from "../utils/file-writer.js";
|
|
5
|
-
import { resolvePlaceholders } from "./shared.js";
|
|
6
|
-
/**
|
|
7
|
-
* Files to exclude when copying templates
|
|
8
|
-
* These are TypeScript compilation artifacts
|
|
9
|
-
*/
|
|
10
|
-
const EXCLUDE_PATTERNS = [
|
|
11
|
-
".d.ts",
|
|
12
|
-
".d.ts.map",
|
|
13
|
-
".js",
|
|
14
|
-
".js.map",
|
|
15
|
-
"__pycache__",
|
|
16
|
-
];
|
|
17
|
-
/**
|
|
18
|
-
* Check if a file should be excluded
|
|
19
|
-
*/
|
|
20
|
-
function shouldExclude(filename) {
|
|
21
|
-
for (const pattern of EXCLUDE_PATTERNS) {
|
|
22
|
-
if (filename.endsWith(pattern) || filename === pattern) {
|
|
23
|
-
return true;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
return false;
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Recursively copy directory, excluding build artifacts
|
|
30
|
-
* Uses writeFile to handle file conflicts with the global writeMode setting
|
|
31
|
-
*/
|
|
32
|
-
async function copyDirFiltered(src, dest) {
|
|
33
|
-
ensureDir(dest);
|
|
34
|
-
for (const entry of readdirSync(src)) {
|
|
35
|
-
if (shouldExclude(entry)) {
|
|
36
|
-
continue;
|
|
37
|
-
}
|
|
38
|
-
const srcPath = path.join(src, entry);
|
|
39
|
-
const destPath = path.join(dest, entry);
|
|
40
|
-
const stat = statSync(srcPath);
|
|
41
|
-
if (stat.isDirectory()) {
|
|
42
|
-
await copyDirFiltered(srcPath, destPath);
|
|
43
|
-
}
|
|
44
|
-
else {
|
|
45
|
-
let content = readFileSync(srcPath, "utf-8");
|
|
46
|
-
// Replace placeholders in settings.json
|
|
47
|
-
if (entry === "settings.json") {
|
|
48
|
-
content = resolvePlaceholders(content);
|
|
49
|
-
}
|
|
50
|
-
await writeFile(destPath, content);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Configure iFlow CLI by copying from templates
|
|
56
|
-
*
|
|
57
|
-
* The iflow templates include:
|
|
58
|
-
* - commands/ - Slash commands
|
|
59
|
-
* - agents/ - Multi-agent pipeline configurations
|
|
60
|
-
* - hooks/ - Context injection hooks
|
|
61
|
-
* - settings.json - Hook and tool configurations
|
|
62
|
-
* - AGENTS.md - Agent documentation
|
|
63
|
-
*/
|
|
64
|
-
export async function configureIflow(cwd) {
|
|
65
|
-
const sourcePath = getIflowTemplatePath();
|
|
66
|
-
const destPath = path.join(cwd, ".iflow");
|
|
67
|
-
// Copy templates, excluding build artifacts
|
|
68
|
-
await copyDirFiltered(sourcePath, destPath);
|
|
69
|
-
}
|
|
70
|
-
/**
|
|
71
|
-
* Configure iFlow CLI agents for Multi-Agent Pipeline
|
|
72
|
-
*
|
|
73
|
-
* @deprecated Agents are now included in the main .iflow directory copy.
|
|
74
|
-
* This function is kept for backwards compatibility but does nothing.
|
|
75
|
-
*/
|
|
76
|
-
export async function configureIflowAgents(_cwd) {
|
|
77
|
-
// Agents are now copied as part of configureIflow
|
|
78
|
-
// This function is kept for API compatibility
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
* Configure iFlow CLI hooks for context injection
|
|
82
|
-
*
|
|
83
|
-
* @deprecated Hooks are now included in the main .iflow directory copy.
|
|
84
|
-
* This function is kept for backwards compatibility but does nothing.
|
|
85
|
-
*/
|
|
86
|
-
export async function configureIflowHooks(_cwd) {
|
|
87
|
-
// Hooks are now copied as part of configureIflow
|
|
88
|
-
// This function is kept for API compatibility
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
* Configure iFlow CLI with full Multi-Agent Pipeline support
|
|
92
|
-
*
|
|
93
|
-
* This is now equivalent to just calling configureIflow since the entire
|
|
94
|
-
* .iflow directory is copied at once.
|
|
95
|
-
*/
|
|
96
|
-
export async function configureIflowFull(cwd) {
|
|
97
|
-
await configureIflow(cwd);
|
|
98
|
-
}
|
|
99
|
-
//# sourceMappingURL=iflow.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"iflow.js","sourceRoot":"","sources":["../../src/configurators/iflow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD;;;GAGG;AACH,MAAM,gBAAgB,GAAG;IACvB,OAAO;IACP,WAAW;IACX,KAAK;IACL,SAAS;IACT,aAAa;CACd,CAAC;AAEF;;GAEG;AACH,SAAS,aAAa,CAAC,QAAgB;IACrC,KAAK,MAAM,OAAO,IAAI,gBAAgB,EAAE,CAAC;QACvC,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YACvD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,eAAe,CAAC,GAAW,EAAE,IAAY;IACtD,SAAS,CAAC,IAAI,CAAC,CAAC;IAEhB,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;QACrC,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,SAAS;QACX,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;QAE/B,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACvB,MAAM,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC7C,wCAAwC;YACxC,IAAI,KAAK,KAAK,eAAe,EAAE,CAAC;gBAC9B,OAAO,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;YACzC,CAAC;YACD,MAAM,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,GAAW;IAC9C,MAAM,UAAU,GAAG,oBAAoB,EAAE,CAAC;IAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAE1C,4CAA4C;IAC5C,MAAM,eAAe,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;AAC9C,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,IAAY;IACrD,kDAAkD;IAClD,8CAA8C;AAChD,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,IAAY;IACpD,iDAAiD;IACjD,8CAA8C;AAChD,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,GAAW;IAClD,MAAM,cAAc,CAAC,GAAG,CAAC,CAAC;AAC5B,CAAC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Antigravity workflow templates
|
|
3
|
-
*
|
|
4
|
-
* Antigravity uses workspace workflows under .agent/workflows/.
|
|
5
|
-
* We reuse Codex skill content as workflow content.
|
|
6
|
-
*/
|
|
7
|
-
export interface WorkflowTemplate {
|
|
8
|
-
name: string;
|
|
9
|
-
content: string;
|
|
10
|
-
}
|
|
11
|
-
export declare function getAllWorkflows(): WorkflowTemplate[];
|
|
12
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/templates/antigravity/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AA6BD,wBAAgB,eAAe,IAAI,gBAAgB,EAAE,CAOpD"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Antigravity workflow templates
|
|
3
|
-
*
|
|
4
|
-
* Antigravity uses workspace workflows under .agent/workflows/.
|
|
5
|
-
* We reuse Codex skill content as workflow content.
|
|
6
|
-
*/
|
|
7
|
-
import { getAllSkills as getAllCodexSkills, } from "../codex/index.js";
|
|
8
|
-
function adaptSkillContentToWorkflow(content, workflowNames) {
|
|
9
|
-
const base = content
|
|
10
|
-
.replaceAll("Codex skills", "Antigravity workflows")
|
|
11
|
-
.replaceAll("Codex skill", "Antigravity workflow")
|
|
12
|
-
.replaceAll("Create New Skill", "Create New Workflow")
|
|
13
|
-
.replaceAll(".agents/skills/<skill-name>/SKILL.md", ".agent/workflows/<workflow-name>.md")
|
|
14
|
-
.replace(/\.agents\/skills\/([^/\s`]+)\/SKILL\.md/g, ".agent/workflows/$1.md")
|
|
15
|
-
.replaceAll(".agents/skills/", ".agent/workflows/")
|
|
16
|
-
.replaceAll("$<skill-name>", "/<workflow-name>")
|
|
17
|
-
.replaceAll("Or open /skills and select it", "Or type / and select it");
|
|
18
|
-
// Antigravity workflows are triggered with slash commands (/start), not "$skill".
|
|
19
|
-
return workflowNames.reduce((adapted, name) => adapted.replaceAll(`$${name}`, `/${name}`), base);
|
|
20
|
-
}
|
|
21
|
-
export function getAllWorkflows() {
|
|
22
|
-
const skills = getAllCodexSkills();
|
|
23
|
-
const workflowNames = skills.map((skill) => skill.name);
|
|
24
|
-
return skills.map((skill) => ({
|
|
25
|
-
name: skill.name,
|
|
26
|
-
content: adaptSkillContentToWorkflow(skill.content, workflowNames),
|
|
27
|
-
}));
|
|
28
|
-
}
|
|
29
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/templates/antigravity/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,YAAY,IAAI,iBAAiB,GAElC,MAAM,mBAAmB,CAAC;AAO3B,SAAS,2BAA2B,CAClC,OAAe,EACf,aAAuB;IAEvB,MAAM,IAAI,GAAG,OAAO;SACjB,UAAU,CAAC,cAAc,EAAE,uBAAuB,CAAC;SACnD,UAAU,CAAC,aAAa,EAAE,sBAAsB,CAAC;SACjD,UAAU,CAAC,kBAAkB,EAAE,qBAAqB,CAAC;SACrD,UAAU,CACT,sCAAsC,EACtC,qCAAqC,CACtC;SACA,OAAO,CACN,0CAA0C,EAC1C,wBAAwB,CACzB;SACA,UAAU,CAAC,iBAAiB,EAAE,mBAAmB,CAAC;SAClD,UAAU,CAAC,eAAe,EAAE,kBAAkB,CAAC;SAC/C,UAAU,CAAC,+BAA+B,EAAE,yBAAyB,CAAC,CAAC;IAE1E,kFAAkF;IAClF,OAAO,aAAa,CAAC,MAAM,CACzB,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,EAC7D,IAAI,CACL,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,MAAM,MAAM,GAAyB,iBAAiB,EAAE,CAAC;IACzD,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACxD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC5B,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO,EAAE,2BAA2B,CAAC,KAAK,CAAC,OAAO,EAAE,aAAa,CAAC;KACnE,CAAC,CAAC,CAAC;AACN,CAAC"}
|
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: debug
|
|
3
|
-
description: |
|
|
4
|
-
Issue fixing expert. Understands issues, fixes against specs, and verifies fixes. Precise fixes only.
|
|
5
|
-
tools: Read, Write, Edit, Bash, Glob, Grep, mcp__exa__web_search_exa, mcp__exa__get_code_context_exa
|
|
6
|
-
model: opus
|
|
7
|
-
---
|
|
8
|
-
# Debug Agent
|
|
9
|
-
|
|
10
|
-
You are the Debug Agent in the Trellis workflow.
|
|
11
|
-
|
|
12
|
-
## Context
|
|
13
|
-
|
|
14
|
-
Before debugging, read:
|
|
15
|
-
- `.trellis/spec/` - Development guidelines
|
|
16
|
-
- Error messages or issue descriptions provided
|
|
17
|
-
|
|
18
|
-
## Core Responsibilities
|
|
19
|
-
|
|
20
|
-
1. **Understand issues** - Analyze error messages or reported issues
|
|
21
|
-
2. **Fix against specs** - Fix issues following dev specs
|
|
22
|
-
3. **Verify fixes** - Run typecheck to ensure no new issues
|
|
23
|
-
4. **Report results** - Report fix status
|
|
24
|
-
|
|
25
|
-
---
|
|
26
|
-
|
|
27
|
-
## Workflow
|
|
28
|
-
|
|
29
|
-
### Step 1: Understand Issues
|
|
30
|
-
|
|
31
|
-
Parse the issue, categorize by priority:
|
|
32
|
-
|
|
33
|
-
- `[P1]` - Must fix (blocking)
|
|
34
|
-
- `[P2]` - Should fix (important)
|
|
35
|
-
- `[P3]` - Optional fix (nice to have)
|
|
36
|
-
|
|
37
|
-
### Step 2: Research if Needed
|
|
38
|
-
|
|
39
|
-
If you need additional info:
|
|
40
|
-
|
|
41
|
-
```bash
|
|
42
|
-
# Check knowledge base
|
|
43
|
-
ls .trellis/big-question/
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
### Step 3: Fix One by One
|
|
47
|
-
|
|
48
|
-
For each issue:
|
|
49
|
-
|
|
50
|
-
1. Locate the exact position
|
|
51
|
-
2. Fix following specs
|
|
52
|
-
3. Run typecheck to verify
|
|
53
|
-
|
|
54
|
-
### Step 4: Verify
|
|
55
|
-
|
|
56
|
-
Run project's lint and typecheck commands to verify fixes.
|
|
57
|
-
|
|
58
|
-
If fix introduces new issues:
|
|
59
|
-
|
|
60
|
-
1. Revert the fix
|
|
61
|
-
2. Use a more complete solution
|
|
62
|
-
3. Re-verify
|
|
63
|
-
|
|
64
|
-
---
|
|
65
|
-
|
|
66
|
-
## Report Format
|
|
67
|
-
|
|
68
|
-
```markdown
|
|
69
|
-
## Fix Report
|
|
70
|
-
|
|
71
|
-
### Issues Fixed
|
|
72
|
-
|
|
73
|
-
1. `[P1]` `<file>:<line>` - <what was fixed>
|
|
74
|
-
2. `[P2]` `<file>:<line>` - <what was fixed>
|
|
75
|
-
|
|
76
|
-
### Issues Not Fixed
|
|
77
|
-
|
|
78
|
-
- `<file>:<line>` - <reason why not fixed>
|
|
79
|
-
|
|
80
|
-
### Verification
|
|
81
|
-
|
|
82
|
-
- TypeCheck: Pass
|
|
83
|
-
- Lint: Pass
|
|
84
|
-
|
|
85
|
-
### Summary
|
|
86
|
-
|
|
87
|
-
Fixed X/Y issues. Z issues require discussion.
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
---
|
|
91
|
-
|
|
92
|
-
## Guidelines
|
|
93
|
-
|
|
94
|
-
### DO
|
|
95
|
-
|
|
96
|
-
- Precise fixes for reported issues
|
|
97
|
-
- Follow specs
|
|
98
|
-
- Verify each fix
|
|
99
|
-
|
|
100
|
-
### DON'T
|
|
101
|
-
|
|
102
|
-
- Don't refactor surrounding code
|
|
103
|
-
- Don't add new features
|
|
104
|
-
- Don't modify unrelated files
|
|
105
|
-
- Don't use non-null assertion (`x!` operator)
|
|
106
|
-
- Don't execute git commit
|
|
@@ -1,213 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: dispatch
|
|
3
|
-
description: |
|
|
4
|
-
Multi-Agent Pipeline main dispatcher. Pure dispatcher. Only responsible for calling subagents and scripts in phase order.
|
|
5
|
-
tools: Read, Bash, mcp__exa__web_search_exa, mcp__exa__get_code_context_exa
|
|
6
|
-
model: opus
|
|
7
|
-
---
|
|
8
|
-
# Dispatch Agent
|
|
9
|
-
|
|
10
|
-
You are the Dispatch Agent in the Multi-Agent Pipeline (pure dispatcher).
|
|
11
|
-
|
|
12
|
-
## Working Directory Convention
|
|
13
|
-
|
|
14
|
-
Current Task is specified by `.trellis/.current-task` file, content is the relative path to task directory.
|
|
15
|
-
|
|
16
|
-
Task directory path format: `.trellis/tasks/{MM}-{DD}-{name}/`
|
|
17
|
-
|
|
18
|
-
This directory contains all context files for the current task:
|
|
19
|
-
|
|
20
|
-
- `task.json` - Task configuration
|
|
21
|
-
- `prd.md` - Requirements document
|
|
22
|
-
- `info.md` - Technical design (optional)
|
|
23
|
-
- `implement.jsonl` - Implement context
|
|
24
|
-
- `check.jsonl` - Check context
|
|
25
|
-
- `debug.jsonl` - Debug context
|
|
26
|
-
|
|
27
|
-
## Core Principles
|
|
28
|
-
|
|
29
|
-
1. **You are a pure dispatcher** - Only responsible for calling subagents and scripts in order
|
|
30
|
-
2. **You don't read specs/requirements** - Hook will auto-inject all context to subagents
|
|
31
|
-
3. **You don't need resume** - Hook injects complete context on each subagent call
|
|
32
|
-
4. **You only need simple commands** - Tell subagent "start working" is enough
|
|
33
|
-
|
|
34
|
-
---
|
|
35
|
-
|
|
36
|
-
## Startup Flow
|
|
37
|
-
|
|
38
|
-
### Step 1: Determine Current Task Directory
|
|
39
|
-
|
|
40
|
-
Read `.trellis/.current-task` to get current task directory path:
|
|
41
|
-
|
|
42
|
-
```bash
|
|
43
|
-
TASK_DIR=$(cat .trellis/.current-task)
|
|
44
|
-
# e.g.: .trellis/tasks/02-03-my-feature
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
### Step 2: Read Task Configuration
|
|
48
|
-
|
|
49
|
-
```bash
|
|
50
|
-
cat ${TASK_DIR}/task.json
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
Get the `next_action` array, which defines the list of phases to execute.
|
|
54
|
-
|
|
55
|
-
### Step 3: Execute in Phase Order
|
|
56
|
-
|
|
57
|
-
Execute each step in `phase` order.
|
|
58
|
-
|
|
59
|
-
> **Note**: You do NOT need to manually update `current_phase`. The Hook automatically updates it when you call Task with a subagent.
|
|
60
|
-
|
|
61
|
-
---
|
|
62
|
-
|
|
63
|
-
## Phase Handling
|
|
64
|
-
|
|
65
|
-
> Hook will auto-inject all specs, requirements, and technical design to subagent context.
|
|
66
|
-
> Dispatch only needs to issue simple call commands.
|
|
67
|
-
|
|
68
|
-
### action: "implement"
|
|
69
|
-
|
|
70
|
-
```
|
|
71
|
-
Task(
|
|
72
|
-
subagent_type: "implement",
|
|
73
|
-
prompt: "Implement the feature described in prd.md in the task directory",
|
|
74
|
-
model: "opus",
|
|
75
|
-
run_in_background: true
|
|
76
|
-
)
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
Hook will auto-inject:
|
|
80
|
-
|
|
81
|
-
- All spec files from implement.jsonl
|
|
82
|
-
- Requirements document (prd.md)
|
|
83
|
-
- Technical design (info.md)
|
|
84
|
-
|
|
85
|
-
Implement receives complete context and autonomously: read → understand → implement.
|
|
86
|
-
|
|
87
|
-
### action: "check"
|
|
88
|
-
|
|
89
|
-
```
|
|
90
|
-
Task(
|
|
91
|
-
subagent_type: "check",
|
|
92
|
-
prompt: "Check code changes, fix issues yourself",
|
|
93
|
-
model: "opus",
|
|
94
|
-
run_in_background: true
|
|
95
|
-
)
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
Hook will auto-inject:
|
|
99
|
-
|
|
100
|
-
- finish-work.md
|
|
101
|
-
- check-cross-layer.md
|
|
102
|
-
- check.md
|
|
103
|
-
- All spec files from check.jsonl
|
|
104
|
-
|
|
105
|
-
### action: "debug"
|
|
106
|
-
|
|
107
|
-
```
|
|
108
|
-
Task(
|
|
109
|
-
subagent_type: "debug",
|
|
110
|
-
prompt: "Fix the issues described in the task context",
|
|
111
|
-
model: "opus",
|
|
112
|
-
run_in_background: true
|
|
113
|
-
)
|
|
114
|
-
```
|
|
115
|
-
|
|
116
|
-
Hook will auto-inject:
|
|
117
|
-
|
|
118
|
-
- All spec files from debug.jsonl
|
|
119
|
-
- Error context if available
|
|
120
|
-
|
|
121
|
-
### action: "finish"
|
|
122
|
-
|
|
123
|
-
```
|
|
124
|
-
Task(
|
|
125
|
-
subagent_type: "check",
|
|
126
|
-
prompt: "[finish] Execute final completion check before PR",
|
|
127
|
-
model: "opus",
|
|
128
|
-
run_in_background: true
|
|
129
|
-
)
|
|
130
|
-
```
|
|
131
|
-
|
|
132
|
-
**Important**: The `[finish]` marker in prompt triggers different context injection:
|
|
133
|
-
- finish-work.md checklist
|
|
134
|
-
- update-spec.md (spec update process and templates)
|
|
135
|
-
- prd.md for verifying requirements are met
|
|
136
|
-
|
|
137
|
-
The finish agent actively updates spec docs when it detects new patterns or contracts in the changes. This is different from regular "check" which has full specs for self-fix loop.
|
|
138
|
-
|
|
139
|
-
### action: "create-pr"
|
|
140
|
-
|
|
141
|
-
This action creates a Pull Request from the feature branch. Run it via Bash:
|
|
142
|
-
|
|
143
|
-
```bash
|
|
144
|
-
python3 ./.trellis/scripts/multi_agent/create_pr.py
|
|
145
|
-
```
|
|
146
|
-
|
|
147
|
-
This will:
|
|
148
|
-
1. Stage and commit all changes (excluding workspace)
|
|
149
|
-
2. Push to origin
|
|
150
|
-
3. Create a Draft PR using `gh pr create`
|
|
151
|
-
4. Update task.json with status="review", pr_url, and current_phase
|
|
152
|
-
|
|
153
|
-
**Note**: This is the only action that performs git commit, as it's the final step after all implementation and checks are complete.
|
|
154
|
-
|
|
155
|
-
---
|
|
156
|
-
|
|
157
|
-
## Calling Subagents
|
|
158
|
-
|
|
159
|
-
### Basic Pattern
|
|
160
|
-
|
|
161
|
-
```
|
|
162
|
-
task_id = Task(
|
|
163
|
-
subagent_type: "implement", // or "check", "debug"
|
|
164
|
-
prompt: "Simple task description",
|
|
165
|
-
model: "opus",
|
|
166
|
-
run_in_background: true
|
|
167
|
-
)
|
|
168
|
-
|
|
169
|
-
// Poll for completion
|
|
170
|
-
for i in 1..N:
|
|
171
|
-
result = TaskOutput(task_id, block=true, timeout=300000)
|
|
172
|
-
if result.status == "completed":
|
|
173
|
-
break
|
|
174
|
-
```
|
|
175
|
-
|
|
176
|
-
### Timeout Settings
|
|
177
|
-
|
|
178
|
-
| Phase | Max Time | Poll Count |
|
|
179
|
-
|-------|----------|------------|
|
|
180
|
-
| implement | 30 min | 6 times |
|
|
181
|
-
| check | 15 min | 3 times |
|
|
182
|
-
| debug | 20 min | 4 times |
|
|
183
|
-
|
|
184
|
-
---
|
|
185
|
-
|
|
186
|
-
## Error Handling
|
|
187
|
-
|
|
188
|
-
### Timeout
|
|
189
|
-
|
|
190
|
-
If a subagent times out, notify the user and ask for guidance:
|
|
191
|
-
|
|
192
|
-
```
|
|
193
|
-
"Subagent {phase} timed out after {time}. Options:
|
|
194
|
-
1. Retry the same phase
|
|
195
|
-
2. Skip to next phase
|
|
196
|
-
3. Abort the pipeline"
|
|
197
|
-
```
|
|
198
|
-
|
|
199
|
-
### Subagent Failure
|
|
200
|
-
|
|
201
|
-
If a subagent reports failure, read the output and decide:
|
|
202
|
-
|
|
203
|
-
- If recoverable: call debug agent to fix
|
|
204
|
-
- If not recoverable: notify user and ask for guidance
|
|
205
|
-
|
|
206
|
-
---
|
|
207
|
-
|
|
208
|
-
## Key Constraints
|
|
209
|
-
|
|
210
|
-
1. **Do not read spec/requirement files directly** - Let Hook inject to subagents
|
|
211
|
-
2. **Only commit via create-pr action** - Use `multi_agent/create_pr.py` at the end of pipeline
|
|
212
|
-
3. **All subagents should use opus model for complex tasks**
|
|
213
|
-
4. **Keep dispatch logic simple** - Complex logic belongs in subagents
|