@jahanxu/trellis 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +235 -0
- package/README.md +212 -0
- package/bin/trellis.js +3 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +97 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/commands/init.d.ts +21 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +527 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/update.d.ts +27 -0
- package/dist/commands/update.d.ts.map +1 -0
- package/dist/commands/update.js +1289 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/configurators/antigravity.d.ts +8 -0
- package/dist/configurators/antigravity.d.ts.map +1 -0
- package/dist/configurators/antigravity.js +18 -0
- package/dist/configurators/antigravity.js.map +1 -0
- package/dist/configurators/claude.d.ts +32 -0
- package/dist/configurators/claude.d.ts.map +1 -0
- package/dist/configurators/claude.js +98 -0
- package/dist/configurators/claude.js.map +1 -0
- package/dist/configurators/codex.d.ts +8 -0
- package/dist/configurators/codex.d.ts.map +1 -0
- package/dist/configurators/codex.js +20 -0
- package/dist/configurators/codex.js.map +1 -0
- package/dist/configurators/cursor.d.ts +5 -0
- package/dist/configurators/cursor.d.ts.map +1 -0
- package/dist/configurators/cursor.js +52 -0
- package/dist/configurators/cursor.js.map +1 -0
- package/dist/configurators/gemini.d.ts +8 -0
- package/dist/configurators/gemini.d.ts.map +1 -0
- package/dist/configurators/gemini.js +52 -0
- package/dist/configurators/gemini.js.map +1 -0
- package/dist/configurators/iflow.d.ts +33 -0
- package/dist/configurators/iflow.d.ts.map +1 -0
- package/dist/configurators/iflow.js +99 -0
- package/dist/configurators/iflow.js.map +1 -0
- package/dist/configurators/index.d.ts +55 -0
- package/dist/configurators/index.d.ts.map +1 -0
- package/dist/configurators/index.js +220 -0
- package/dist/configurators/index.js.map +1 -0
- package/dist/configurators/kilo.d.ts +8 -0
- package/dist/configurators/kilo.d.ts.map +1 -0
- package/dist/configurators/kilo.js +51 -0
- package/dist/configurators/kilo.js.map +1 -0
- package/dist/configurators/kiro.d.ts +8 -0
- package/dist/configurators/kiro.d.ts.map +1 -0
- package/dist/configurators/kiro.js +20 -0
- package/dist/configurators/kiro.js.map +1 -0
- package/dist/configurators/opencode.d.ts +32 -0
- package/dist/configurators/opencode.d.ts.map +1 -0
- package/dist/configurators/opencode.js +92 -0
- package/dist/configurators/opencode.js.map +1 -0
- package/dist/configurators/shared.d.ts +12 -0
- package/dist/configurators/shared.d.ts.map +1 -0
- package/dist/configurators/shared.js +21 -0
- package/dist/configurators/shared.js.map +1 -0
- package/dist/configurators/workflow.d.ts +28 -0
- package/dist/configurators/workflow.d.ts.map +1 -0
- package/dist/configurators/workflow.js +134 -0
- package/dist/configurators/workflow.js.map +1 -0
- package/dist/constants/paths.d.ts +68 -0
- package/dist/constants/paths.d.ts.map +1 -0
- package/dist/constants/paths.js +77 -0
- package/dist/constants/paths.js.map +1 -0
- package/dist/constants/version.d.ts +9 -0
- package/dist/constants/version.d.ts.map +1 -0
- package/dist/constants/version.js +15 -0
- package/dist/constants/version.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -0
- package/dist/migrations/index.d.ts +54 -0
- package/dist/migrations/index.d.ts.map +1 -0
- package/dist/migrations/index.js +160 -0
- package/dist/migrations/index.js.map +1 -0
- package/dist/migrations/manifests/0.1.9.json +30 -0
- package/dist/migrations/manifests/0.2.0.json +49 -0
- package/dist/migrations/manifests/0.2.12.json +9 -0
- package/dist/migrations/manifests/0.2.13.json +9 -0
- package/dist/migrations/manifests/0.2.14.json +175 -0
- package/dist/migrations/manifests/0.2.15.json +33 -0
- package/dist/migrations/manifests/0.3.0-beta.0.json +278 -0
- package/dist/migrations/manifests/0.3.0-beta.1.json +9 -0
- package/dist/migrations/manifests/0.3.0-beta.10.json +9 -0
- package/dist/migrations/manifests/0.3.0-beta.11.json +9 -0
- package/dist/migrations/manifests/0.3.0-beta.12.json +9 -0
- package/dist/migrations/manifests/0.3.0-beta.13.json +9 -0
- package/dist/migrations/manifests/0.3.0-beta.14.json +9 -0
- package/dist/migrations/manifests/0.3.0-beta.15.json +9 -0
- package/dist/migrations/manifests/0.3.0-beta.16.json +9 -0
- package/dist/migrations/manifests/0.3.0-beta.2.json +9 -0
- package/dist/migrations/manifests/0.3.0-beta.3.json +9 -0
- package/dist/migrations/manifests/0.3.0-beta.4.json +9 -0
- package/dist/migrations/manifests/0.3.0-beta.5.json +9 -0
- package/dist/migrations/manifests/0.3.0-beta.6.json +9 -0
- package/dist/migrations/manifests/0.3.0-beta.7.json +11 -0
- package/dist/migrations/manifests/0.3.0-beta.8.json +9 -0
- package/dist/migrations/manifests/0.3.0-beta.9.json +9 -0
- package/dist/migrations/manifests/0.3.0-rc.0.json +9 -0
- package/dist/migrations/manifests/0.3.0-rc.1.json +9 -0
- package/dist/migrations/manifests/0.3.0-rc.2.json +9 -0
- package/dist/migrations/manifests/0.3.0-rc.3.json +9 -0
- package/dist/migrations/manifests/0.3.0-rc.4.json +9 -0
- package/dist/migrations/manifests/0.3.0-rc.5.json +9 -0
- package/dist/migrations/manifests/0.3.0-rc.6.json +9 -0
- package/dist/migrations/manifests/0.3.0.json +11 -0
- package/dist/templates/antigravity/index.d.ts +12 -0
- package/dist/templates/antigravity/index.d.ts.map +1 -0
- package/dist/templates/antigravity/index.js +29 -0
- package/dist/templates/antigravity/index.js.map +1 -0
- package/dist/templates/claude/agents/check.md +122 -0
- package/dist/templates/claude/agents/debug.md +106 -0
- package/dist/templates/claude/agents/dispatch.md +214 -0
- package/dist/templates/claude/agents/implement.md +96 -0
- package/dist/templates/claude/agents/plan.md +396 -0
- package/dist/templates/claude/agents/research.md +120 -0
- package/dist/templates/claude/commands/trellis/before-backend-dev.md +13 -0
- package/dist/templates/claude/commands/trellis/before-frontend-dev.md +13 -0
- package/dist/templates/claude/commands/trellis/before-role-work.md +364 -0
- package/dist/templates/claude/commands/trellis/brainstorm.md +474 -0
- package/dist/templates/claude/commands/trellis/break-loop.md +125 -0
- package/dist/templates/claude/commands/trellis/check-backend.md +13 -0
- package/dist/templates/claude/commands/trellis/check-cross-layer.md +153 -0
- package/dist/templates/claude/commands/trellis/check-frontend.md +13 -0
- package/dist/templates/claude/commands/trellis/create-command.md +154 -0
- package/dist/templates/claude/commands/trellis/finish-work.md +153 -0
- package/dist/templates/claude/commands/trellis/handoff.md +445 -0
- package/dist/templates/claude/commands/trellis/integrate-skill.md +219 -0
- package/dist/templates/claude/commands/trellis/onboard.md +358 -0
- package/dist/templates/claude/commands/trellis/parallel.md +193 -0
- package/dist/templates/claude/commands/trellis/pick-task.md +515 -0
- package/dist/templates/claude/commands/trellis/record-session.md +62 -0
- package/dist/templates/claude/commands/trellis/start.md +373 -0
- package/dist/templates/claude/commands/trellis/update-spec.md +354 -0
- package/dist/templates/claude/hooks/inject-subagent-context.py +873 -0
- package/dist/templates/claude/hooks/ralph-loop.py +388 -0
- package/dist/templates/claude/hooks/session-start.py +200 -0
- package/dist/templates/claude/index.d.ts +54 -0
- package/dist/templates/claude/index.d.ts.map +1 -0
- package/dist/templates/claude/index.js +85 -0
- package/dist/templates/claude/index.js.map +1 -0
- package/dist/templates/claude/settings.json +41 -0
- package/dist/templates/codex/index.d.ts +18 -0
- package/dist/templates/codex/index.d.ts.map +1 -0
- package/dist/templates/codex/index.js +40 -0
- package/dist/templates/codex/index.js.map +1 -0
- package/dist/templates/codex/skills/before-backend-dev/SKILL.md +18 -0
- package/dist/templates/codex/skills/before-frontend-dev/SKILL.md +18 -0
- package/dist/templates/codex/skills/brainstorm/SKILL.md +479 -0
- package/dist/templates/codex/skills/break-loop/SKILL.md +130 -0
- package/dist/templates/codex/skills/check-backend/SKILL.md +18 -0
- package/dist/templates/codex/skills/check-cross-layer/SKILL.md +158 -0
- package/dist/templates/codex/skills/check-frontend/SKILL.md +18 -0
- package/dist/templates/codex/skills/create-command/SKILL.md +101 -0
- package/dist/templates/codex/skills/finish-work/SKILL.md +148 -0
- package/dist/templates/codex/skills/integrate-skill/SKILL.md +221 -0
- package/dist/templates/codex/skills/onboard/SKILL.md +363 -0
- package/dist/templates/codex/skills/record-session/SKILL.md +67 -0
- package/dist/templates/codex/skills/start/SKILL.md +330 -0
- package/dist/templates/codex/skills/update-spec/SKILL.md +335 -0
- package/dist/templates/cursor/commands/trellis-before-backend-dev.md +13 -0
- package/dist/templates/cursor/commands/trellis-before-frontend-dev.md +13 -0
- package/dist/templates/cursor/commands/trellis-brainstorm.md +474 -0
- package/dist/templates/cursor/commands/trellis-break-loop.md +107 -0
- package/dist/templates/cursor/commands/trellis-check-backend.md +13 -0
- package/dist/templates/cursor/commands/trellis-check-cross-layer.md +153 -0
- package/dist/templates/cursor/commands/trellis-check-frontend.md +13 -0
- package/dist/templates/cursor/commands/trellis-create-command.md +154 -0
- package/dist/templates/cursor/commands/trellis-finish-work.md +143 -0
- package/dist/templates/cursor/commands/trellis-integrate-skill.md +219 -0
- package/dist/templates/cursor/commands/trellis-onboard.md +358 -0
- package/dist/templates/cursor/commands/trellis-record-session.md +62 -0
- package/dist/templates/cursor/commands/trellis-start.md +366 -0
- package/dist/templates/cursor/commands/trellis-update-spec.md +354 -0
- package/dist/templates/cursor/index.d.ts +24 -0
- package/dist/templates/cursor/index.d.ts.map +1 -0
- package/dist/templates/cursor/index.js +44 -0
- package/dist/templates/cursor/index.js.map +1 -0
- package/dist/templates/extract.d.ts +166 -0
- package/dist/templates/extract.d.ts.map +1 -0
- package/dist/templates/extract.js +296 -0
- package/dist/templates/extract.js.map +1 -0
- package/dist/templates/gemini/commands/trellis/before-backend-dev.toml +17 -0
- package/dist/templates/gemini/commands/trellis/before-frontend-dev.toml +17 -0
- package/dist/templates/gemini/commands/trellis/brainstorm.toml +420 -0
- package/dist/templates/gemini/commands/trellis/break-loop.toml +129 -0
- package/dist/templates/gemini/commands/trellis/check-backend.toml +17 -0
- package/dist/templates/gemini/commands/trellis/check-cross-layer.toml +147 -0
- package/dist/templates/gemini/commands/trellis/check-frontend.toml +17 -0
- package/dist/templates/gemini/commands/trellis/create-command.toml +119 -0
- package/dist/templates/gemini/commands/trellis/finish-work.toml +133 -0
- package/dist/templates/gemini/commands/trellis/integrate-skill.toml +104 -0
- package/dist/templates/gemini/commands/trellis/onboard.toml +111 -0
- package/dist/templates/gemini/commands/trellis/record-session.toml +66 -0
- package/dist/templates/gemini/commands/trellis/start.toml +292 -0
- package/dist/templates/gemini/commands/trellis/update-spec.toml +132 -0
- package/dist/templates/gemini/index.d.ts +21 -0
- package/dist/templates/gemini/index.d.ts.map +1 -0
- package/dist/templates/gemini/index.js +44 -0
- package/dist/templates/gemini/index.js.map +1 -0
- package/dist/templates/iflow/agents/check.md +122 -0
- package/dist/templates/iflow/agents/debug.md +106 -0
- package/dist/templates/iflow/agents/dispatch.md +214 -0
- package/dist/templates/iflow/agents/implement.md +96 -0
- package/dist/templates/iflow/agents/plan.md +396 -0
- package/dist/templates/iflow/agents/research.md +120 -0
- package/dist/templates/iflow/commands/trellis/before-backend-dev.md +13 -0
- package/dist/templates/iflow/commands/trellis/before-frontend-dev.md +13 -0
- package/dist/templates/iflow/commands/trellis/brainstorm.md +474 -0
- package/dist/templates/iflow/commands/trellis/break-loop.md +125 -0
- package/dist/templates/iflow/commands/trellis/check-backend.md +13 -0
- package/dist/templates/iflow/commands/trellis/check-cross-layer.md +153 -0
- package/dist/templates/iflow/commands/trellis/check-frontend.md +13 -0
- package/dist/templates/iflow/commands/trellis/create-command.md +152 -0
- package/dist/templates/iflow/commands/trellis/finish-work.md +153 -0
- package/dist/templates/iflow/commands/trellis/integrate-skill.md +219 -0
- package/dist/templates/iflow/commands/trellis/onboard.md +358 -0
- package/dist/templates/iflow/commands/trellis/parallel.md +193 -0
- package/dist/templates/iflow/commands/trellis/record-session.md +62 -0
- package/dist/templates/iflow/commands/trellis/start.md +373 -0
- package/dist/templates/iflow/commands/trellis/update-spec.md +354 -0
- package/dist/templates/iflow/hooks/inject-subagent-context.py +788 -0
- package/dist/templates/iflow/hooks/ralph-loop.py +388 -0
- package/dist/templates/iflow/hooks/session-start.py +143 -0
- package/dist/templates/iflow/index.d.ts +54 -0
- package/dist/templates/iflow/index.d.ts.map +1 -0
- package/dist/templates/iflow/index.js +85 -0
- package/dist/templates/iflow/index.js.map +1 -0
- package/dist/templates/iflow/settings.json +40 -0
- package/dist/templates/kilo/commands/trellis/before-backend-dev.md +13 -0
- package/dist/templates/kilo/commands/trellis/before-frontend-dev.md +13 -0
- package/dist/templates/kilo/commands/trellis/brainstorm.md +474 -0
- package/dist/templates/kilo/commands/trellis/break-loop.md +125 -0
- package/dist/templates/kilo/commands/trellis/check-backend.md +13 -0
- package/dist/templates/kilo/commands/trellis/check-cross-layer.md +153 -0
- package/dist/templates/kilo/commands/trellis/check-frontend.md +13 -0
- package/dist/templates/kilo/commands/trellis/create-command.md +152 -0
- package/dist/templates/kilo/commands/trellis/finish-work.md +129 -0
- package/dist/templates/kilo/commands/trellis/integrate-skill.md +219 -0
- package/dist/templates/kilo/commands/trellis/onboard.md +358 -0
- package/dist/templates/kilo/commands/trellis/parallel.md +194 -0
- package/dist/templates/kilo/commands/trellis/record-session.md +62 -0
- package/dist/templates/kilo/commands/trellis/start.md +321 -0
- package/dist/templates/kilo/commands/trellis/update-spec.md +285 -0
- package/dist/templates/kilo/index.d.ts +16 -0
- package/dist/templates/kilo/index.d.ts.map +1 -0
- package/dist/templates/kilo/index.js +39 -0
- package/dist/templates/kilo/index.js.map +1 -0
- package/dist/templates/kiro/index.d.ts +18 -0
- package/dist/templates/kiro/index.d.ts.map +1 -0
- package/dist/templates/kiro/index.js +40 -0
- package/dist/templates/kiro/index.js.map +1 -0
- package/dist/templates/kiro/skills/before-backend-dev/SKILL.md +18 -0
- package/dist/templates/kiro/skills/before-frontend-dev/SKILL.md +18 -0
- package/dist/templates/kiro/skills/brainstorm/SKILL.md +479 -0
- package/dist/templates/kiro/skills/break-loop/SKILL.md +130 -0
- package/dist/templates/kiro/skills/check-backend/SKILL.md +18 -0
- package/dist/templates/kiro/skills/check-cross-layer/SKILL.md +158 -0
- package/dist/templates/kiro/skills/check-frontend/SKILL.md +18 -0
- package/dist/templates/kiro/skills/create-command/SKILL.md +101 -0
- package/dist/templates/kiro/skills/finish-work/SKILL.md +148 -0
- package/dist/templates/kiro/skills/integrate-skill/SKILL.md +221 -0
- package/dist/templates/kiro/skills/onboard/SKILL.md +363 -0
- package/dist/templates/kiro/skills/record-session/SKILL.md +67 -0
- package/dist/templates/kiro/skills/start/SKILL.md +330 -0
- package/dist/templates/kiro/skills/update-spec/SKILL.md +335 -0
- package/dist/templates/markdown/agents.md +18 -0
- package/dist/templates/markdown/gitignore.txt +12 -0
- package/dist/templates/markdown/index.d.ts +27 -0
- package/dist/templates/markdown/index.d.ts.map +1 -0
- package/dist/templates/markdown/index.js +52 -0
- package/dist/templates/markdown/index.js.map +1 -0
- package/dist/templates/markdown/spec/backend/database-guidelines.md.txt +51 -0
- package/dist/templates/markdown/spec/backend/directory-structure.md.txt +54 -0
- package/dist/templates/markdown/spec/backend/error-handling.md.txt +51 -0
- package/dist/templates/markdown/spec/backend/index.md +40 -0
- package/dist/templates/markdown/spec/backend/index.md.txt +38 -0
- package/dist/templates/markdown/spec/backend/logging-guidelines.md.txt +51 -0
- package/dist/templates/markdown/spec/backend/quality-guidelines.md.txt +51 -0
- package/dist/templates/markdown/spec/backend/script-conventions.md +467 -0
- package/dist/templates/markdown/spec/frontend/component-guidelines.md.txt +59 -0
- package/dist/templates/markdown/spec/frontend/directory-structure.md.txt +54 -0
- package/dist/templates/markdown/spec/frontend/hook-guidelines.md.txt +51 -0
- package/dist/templates/markdown/spec/frontend/index.md.txt +39 -0
- package/dist/templates/markdown/spec/frontend/quality-guidelines.md.txt +51 -0
- package/dist/templates/markdown/spec/frontend/state-management.md.txt +51 -0
- package/dist/templates/markdown/spec/frontend/type-safety.md.txt +51 -0
- package/dist/templates/markdown/spec/guides/code-reuse-thinking-guide.md +118 -0
- package/dist/templates/markdown/spec/guides/code-reuse-thinking-guide.md.txt +92 -0
- package/dist/templates/markdown/spec/guides/cross-layer-thinking-guide.md.txt +94 -0
- package/dist/templates/markdown/spec/guides/cross-platform-thinking-guide.md +394 -0
- package/dist/templates/markdown/spec/guides/cross-platform-thinking-guide.md.txt +319 -0
- package/dist/templates/markdown/spec/guides/index.md.txt +79 -0
- package/dist/templates/markdown/workspace-index.md +123 -0
- package/dist/templates/markdown/worktree.yaml.txt +58 -0
- package/dist/templates/opencode/agents/check.md +146 -0
- package/dist/templates/opencode/agents/debug.md +129 -0
- package/dist/templates/opencode/agents/dispatch.md +223 -0
- package/dist/templates/opencode/agents/implement.md +120 -0
- package/dist/templates/opencode/agents/research.md +147 -0
- package/dist/templates/opencode/agents/trellis-plan.md +427 -0
- package/dist/templates/opencode/commands/trellis/before-backend-dev.md +13 -0
- package/dist/templates/opencode/commands/trellis/before-frontend-dev.md +13 -0
- package/dist/templates/opencode/commands/trellis/brainstorm.md +474 -0
- package/dist/templates/opencode/commands/trellis/break-loop.md +125 -0
- package/dist/templates/opencode/commands/trellis/check-backend.md +13 -0
- package/dist/templates/opencode/commands/trellis/check-cross-layer.md +153 -0
- package/dist/templates/opencode/commands/trellis/check-frontend.md +13 -0
- package/dist/templates/opencode/commands/trellis/create-command.md +154 -0
- package/dist/templates/opencode/commands/trellis/finish-work.md +144 -0
- package/dist/templates/opencode/commands/trellis/integrate-skill.md +219 -0
- package/dist/templates/opencode/commands/trellis/migrate-specs.md +0 -0
- package/dist/templates/opencode/commands/trellis/onboard.md +358 -0
- package/dist/templates/opencode/commands/trellis/parallel.md +194 -0
- package/dist/templates/opencode/commands/trellis/record-session.md +62 -0
- package/dist/templates/opencode/commands/trellis/start.md +338 -0
- package/dist/templates/opencode/commands/trellis/update-spec.md +354 -0
- package/dist/templates/opencode/lib/trellis-context.js +436 -0
- package/dist/templates/opencode/package.json +5 -0
- package/dist/templates/opencode/plugin/inject-subagent-context.js +538 -0
- package/dist/templates/opencode/plugin/session-start.js +192 -0
- package/dist/templates/trellis/VERSION +1 -0
- package/dist/templates/trellis/deliverables/README.md +51 -0
- package/dist/templates/trellis/gitignore.txt +29 -0
- package/dist/templates/trellis/index.d.ts +49 -0
- package/dist/templates/trellis/index.d.ts.map +1 -0
- package/dist/templates/trellis/index.js +92 -0
- package/dist/templates/trellis/index.js.map +1 -0
- package/dist/templates/trellis/paths.README.md +277 -0
- package/dist/templates/trellis/paths.yaml +41 -0
- package/dist/templates/trellis/pool/implementations.json +5 -0
- package/dist/templates/trellis/pool/prototypes.json +5 -0
- package/dist/templates/trellis/pool/requirements.json +5 -0
- package/dist/templates/trellis/scripts/__init__.py +5 -0
- package/dist/templates/trellis/scripts/add_session.py +391 -0
- package/dist/templates/trellis/scripts/common/__init__.py +80 -0
- package/dist/templates/trellis/scripts/common/cli_adapter.py +522 -0
- package/dist/templates/trellis/scripts/common/developer.py +189 -0
- package/dist/templates/trellis/scripts/common/git_context.py +383 -0
- package/dist/templates/trellis/scripts/common/paths.py +346 -0
- package/dist/templates/trellis/scripts/common/phase.py +253 -0
- package/dist/templates/trellis/scripts/common/project_paths.py +189 -0
- package/dist/templates/trellis/scripts/common/registry.py +365 -0
- package/dist/templates/trellis/scripts/common/task_queue.py +255 -0
- package/dist/templates/trellis/scripts/common/task_utils.py +177 -0
- package/dist/templates/trellis/scripts/common/worktree.py +218 -0
- package/dist/templates/trellis/scripts/create_bootstrap.py +290 -0
- package/dist/templates/trellis/scripts/get_context.py +16 -0
- package/dist/templates/trellis/scripts/get_developer.py +26 -0
- package/dist/templates/trellis/scripts/handoff_generator.py +380 -0
- package/dist/templates/trellis/scripts/init_developer.py +51 -0
- package/dist/templates/trellis/scripts/multi_agent/__init__.py +5 -0
- package/dist/templates/trellis/scripts/multi_agent/cleanup.py +403 -0
- package/dist/templates/trellis/scripts/multi_agent/create_pr.py +329 -0
- package/dist/templates/trellis/scripts/multi_agent/plan.py +233 -0
- package/dist/templates/trellis/scripts/multi_agent/start.py +461 -0
- package/dist/templates/trellis/scripts/multi_agent/status.py +817 -0
- package/dist/templates/trellis/scripts/pool.py +373 -0
- package/dist/templates/trellis/scripts/task.py +1162 -0
- package/dist/templates/trellis/scripts-shell-archive/add-session.sh +384 -0
- package/dist/templates/trellis/scripts-shell-archive/common/developer.sh +129 -0
- package/dist/templates/trellis/scripts-shell-archive/common/git-context.sh +263 -0
- package/dist/templates/trellis/scripts-shell-archive/common/paths.sh +208 -0
- package/dist/templates/trellis/scripts-shell-archive/common/phase.sh +150 -0
- package/dist/templates/trellis/scripts-shell-archive/common/registry.sh +247 -0
- package/dist/templates/trellis/scripts-shell-archive/common/task-queue.sh +142 -0
- package/dist/templates/trellis/scripts-shell-archive/common/task-utils.sh +151 -0
- package/dist/templates/trellis/scripts-shell-archive/common/worktree.sh +128 -0
- package/dist/templates/trellis/scripts-shell-archive/create-bootstrap.sh +299 -0
- package/dist/templates/trellis/scripts-shell-archive/get-context.sh +7 -0
- package/dist/templates/trellis/scripts-shell-archive/get-developer.sh +15 -0
- package/dist/templates/trellis/scripts-shell-archive/init-developer.sh +34 -0
- package/dist/templates/trellis/scripts-shell-archive/multi-agent/cleanup.sh +396 -0
- package/dist/templates/trellis/scripts-shell-archive/multi-agent/create-pr.sh +241 -0
- package/dist/templates/trellis/scripts-shell-archive/multi-agent/plan.sh +207 -0
- package/dist/templates/trellis/scripts-shell-archive/multi-agent/start.sh +317 -0
- package/dist/templates/trellis/scripts-shell-archive/multi-agent/status.sh +828 -0
- package/dist/templates/trellis/scripts-shell-archive/task.sh +1204 -0
- package/dist/templates/trellis/spec/roles/designer/index.md +243 -0
- package/dist/templates/trellis/spec/roles/designer/mock-data-standards.md +481 -0
- package/dist/templates/trellis/spec/roles/designer/prototype-guidelines.md +429 -0
- package/dist/templates/trellis/spec/roles/frontend-impl/api-integration.md +565 -0
- package/dist/templates/trellis/spec/roles/frontend-impl/index.md +321 -0
- package/dist/templates/trellis/spec/roles/frontend-impl/state-management.md +599 -0
- package/dist/templates/trellis/spec/roles/pm/index.md +112 -0
- package/dist/templates/trellis/spec/roles/pm/prd-template.md +124 -0
- package/dist/templates/trellis/tasks/.gitkeep +0 -0
- package/dist/templates/trellis/workflow.md +416 -0
- package/dist/templates/trellis/worktree.yaml +47 -0
- package/dist/types/ai-tools.d.ts +56 -0
- package/dist/types/ai-tools.d.ts.map +1 -0
- package/dist/types/ai-tools.js +103 -0
- package/dist/types/ai-tools.js.map +1 -0
- package/dist/types/migration.d.ts +86 -0
- package/dist/types/migration.d.ts.map +1 -0
- package/dist/types/migration.js +8 -0
- package/dist/types/migration.js.map +1 -0
- package/dist/utils/compare-versions.d.ts +12 -0
- package/dist/utils/compare-versions.d.ts.map +1 -0
- package/dist/utils/compare-versions.js +76 -0
- package/dist/utils/compare-versions.js.map +1 -0
- package/dist/utils/file-writer.d.ts +23 -0
- package/dist/utils/file-writer.d.ts.map +1 -0
- package/dist/utils/file-writer.js +140 -0
- package/dist/utils/file-writer.js.map +1 -0
- package/dist/utils/project-detector.d.ts +16 -0
- package/dist/utils/project-detector.d.ts.map +1 -0
- package/dist/utils/project-detector.js +186 -0
- package/dist/utils/project-detector.js.map +1 -0
- package/dist/utils/template-fetcher.d.ts +51 -0
- package/dist/utils/template-fetcher.d.ts.map +1 -0
- package/dist/utils/template-fetcher.js +174 -0
- package/dist/utils/template-fetcher.js.map +1 -0
- package/dist/utils/template-hash.d.ts +78 -0
- package/dist/utils/template-hash.d.ts.map +1 -0
- package/dist/utils/template-hash.js +233 -0
- package/dist/utils/template-hash.js.map +1 -0
- package/package.json +87 -0
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# Thinking Guides
|
|
2
|
+
|
|
3
|
+
> **Purpose**: Expand your thinking to catch things you might not have considered.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Why Thinking Guides?
|
|
8
|
+
|
|
9
|
+
**Most bugs and tech debt come from "didn't think of that"**, not from lack of skill:
|
|
10
|
+
|
|
11
|
+
- Didn't think about what happens at layer boundaries → cross-layer bugs
|
|
12
|
+
- Didn't think about code patterns repeating → duplicated code everywhere
|
|
13
|
+
- Didn't think about edge cases → runtime errors
|
|
14
|
+
- Didn't think about future maintainers → unreadable code
|
|
15
|
+
|
|
16
|
+
These guides help you **ask the right questions before coding**.
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Available Guides
|
|
21
|
+
|
|
22
|
+
| Guide | Purpose | When to Use |
|
|
23
|
+
|-------|---------|-------------|
|
|
24
|
+
| [Code Reuse Thinking Guide](./code-reuse-thinking-guide.md) | Identify patterns and reduce duplication | When you notice repeated patterns |
|
|
25
|
+
| [Cross-Layer Thinking Guide](./cross-layer-thinking-guide.md) | Think through data flow across layers | Features spanning multiple layers |
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## Quick Reference: Thinking Triggers
|
|
30
|
+
|
|
31
|
+
### When to Think About Cross-Layer Issues
|
|
32
|
+
|
|
33
|
+
- [ ] Feature touches 3+ layers (API, Service, Component, Database)
|
|
34
|
+
- [ ] Data format changes between layers
|
|
35
|
+
- [ ] Multiple consumers need the same data
|
|
36
|
+
- [ ] You're not sure where to put some logic
|
|
37
|
+
|
|
38
|
+
→ Read [Cross-Layer Thinking Guide](./cross-layer-thinking-guide.md)
|
|
39
|
+
|
|
40
|
+
### When to Think About Code Reuse
|
|
41
|
+
|
|
42
|
+
- [ ] You're writing similar code to something that exists
|
|
43
|
+
- [ ] You see the same pattern repeated 3+ times
|
|
44
|
+
- [ ] You're adding a new field to multiple places
|
|
45
|
+
- [ ] **You're modifying any constant or config**
|
|
46
|
+
- [ ] **You're creating a new utility/helper function** ← Search first!
|
|
47
|
+
|
|
48
|
+
→ Read [Code Reuse Thinking Guide](./code-reuse-thinking-guide.md)
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## Pre-Modification Rule (CRITICAL)
|
|
53
|
+
|
|
54
|
+
> **Before changing ANY value, ALWAYS search first!**
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
# Search for the value you're about to change
|
|
58
|
+
grep -r "value_to_change" .
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
This single habit prevents most "forgot to update X" bugs.
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## How to Use This Directory
|
|
66
|
+
|
|
67
|
+
1. **Before coding**: Skim the relevant thinking guide
|
|
68
|
+
2. **During coding**: If something feels repetitive or complex, check the guides
|
|
69
|
+
3. **After bugs**: Add new insights to the relevant guide (learn from mistakes)
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## Contributing
|
|
74
|
+
|
|
75
|
+
Found a new "didn't think of that" moment? Add it to the relevant guide.
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
**Core Principle**: 30 minutes of thinking saves 3 hours of debugging.
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
# Workspace Index
|
|
2
|
+
|
|
3
|
+
> Records of all AI Agent work records across all developers
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Overview
|
|
8
|
+
|
|
9
|
+
This directory tracks records for all developers working with AI Agents on this project.
|
|
10
|
+
|
|
11
|
+
### File Structure
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
workspace/
|
|
15
|
+
|-- index.md # This file - main index
|
|
16
|
+
+-- {developer}/ # Per-developer directory
|
|
17
|
+
|-- index.md # Personal index with session history
|
|
18
|
+
|-- tasks/ # Task files
|
|
19
|
+
| |-- *.json # Active tasks
|
|
20
|
+
| +-- archive/ # Archived tasks by month
|
|
21
|
+
+-- journal-N.md # Journal files (sequential: 1, 2, 3...)
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## Active Developers
|
|
27
|
+
|
|
28
|
+
| Developer | Last Active | Sessions | Active File |
|
|
29
|
+
|-----------|-------------|----------|-------------|
|
|
30
|
+
| (none yet) | - | - | - |
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## Getting Started
|
|
35
|
+
|
|
36
|
+
### For New Developers
|
|
37
|
+
|
|
38
|
+
Run the initialization script:
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
python3 ./.trellis/scripts/init_developer.py <your-name>
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
This will:
|
|
45
|
+
1. Create your identity file (gitignored)
|
|
46
|
+
2. Create your progress directory
|
|
47
|
+
3. Create your personal index
|
|
48
|
+
4. Create initial journal file
|
|
49
|
+
|
|
50
|
+
### For Returning Developers
|
|
51
|
+
|
|
52
|
+
1. Get your developer name:
|
|
53
|
+
```bash
|
|
54
|
+
python3 ./.trellis/scripts/get_developer.py
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
2. Read your personal index:
|
|
58
|
+
```bash
|
|
59
|
+
cat .trellis/workspace/$(python3 ./.trellis/scripts/get_developer.py)/index.md
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## Guidelines
|
|
65
|
+
|
|
66
|
+
### Journal File Rules
|
|
67
|
+
|
|
68
|
+
- **Max 2000 lines** per journal file
|
|
69
|
+
- When limit is reached, create `journal-{N+1}.md`
|
|
70
|
+
- Update your personal `index.md` when creating new files
|
|
71
|
+
|
|
72
|
+
### Session Record Format
|
|
73
|
+
|
|
74
|
+
Each session should include:
|
|
75
|
+
- Summary: One-line description
|
|
76
|
+
- Main Changes: What was modified
|
|
77
|
+
- Git Commits: Commit hashes and messages
|
|
78
|
+
- Next Steps: What to do next
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## Session Template
|
|
83
|
+
|
|
84
|
+
Use this template when recording sessions:
|
|
85
|
+
|
|
86
|
+
```markdown
|
|
87
|
+
## Session {N}: {Title}
|
|
88
|
+
|
|
89
|
+
**Date**: YYYY-MM-DD
|
|
90
|
+
**Task**: {task-name}
|
|
91
|
+
|
|
92
|
+
### Summary
|
|
93
|
+
|
|
94
|
+
{One-line summary}
|
|
95
|
+
|
|
96
|
+
### Main Changes
|
|
97
|
+
|
|
98
|
+
- {Change 1}
|
|
99
|
+
- {Change 2}
|
|
100
|
+
|
|
101
|
+
### Git Commits
|
|
102
|
+
|
|
103
|
+
| Hash | Message |
|
|
104
|
+
|------|---------|
|
|
105
|
+
| `abc1234` | {commit message} |
|
|
106
|
+
|
|
107
|
+
### Testing
|
|
108
|
+
|
|
109
|
+
- [OK] {Test result}
|
|
110
|
+
|
|
111
|
+
### Status
|
|
112
|
+
|
|
113
|
+
[OK] **Completed** / # **In Progress** / [P] **Blocked**
|
|
114
|
+
|
|
115
|
+
### Next Steps
|
|
116
|
+
|
|
117
|
+
- {Next step 1}
|
|
118
|
+
- {Next step 2}
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
|
|
123
|
+
**Language**: All documentation must be written in **English**.
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# Worktree Configuration for Multi-Agent Pipeline
|
|
2
|
+
# Used for worktree initialization in multi-agent workflows
|
|
3
|
+
#
|
|
4
|
+
# All paths are relative to project root
|
|
5
|
+
|
|
6
|
+
#-------------------------------------------------------------------------------
|
|
7
|
+
# Paths
|
|
8
|
+
#-------------------------------------------------------------------------------
|
|
9
|
+
|
|
10
|
+
# Worktree storage directory (relative to project root)
|
|
11
|
+
# Recommended: keep worktrees outside the main repo to avoid conflicts
|
|
12
|
+
worktree_dir: ../<project-name>-worktrees
|
|
13
|
+
|
|
14
|
+
#-------------------------------------------------------------------------------
|
|
15
|
+
# Files to Copy
|
|
16
|
+
#-------------------------------------------------------------------------------
|
|
17
|
+
|
|
18
|
+
# Files to copy to each worktree (each worktree needs independent copy)
|
|
19
|
+
# These files contain sensitive info or need worktree-independent config
|
|
20
|
+
copy:
|
|
21
|
+
# Environment variables (uncomment and customize as needed)
|
|
22
|
+
# - .env
|
|
23
|
+
# - .env.local
|
|
24
|
+
# Workflow config
|
|
25
|
+
- .trellis/.developer
|
|
26
|
+
|
|
27
|
+
#-------------------------------------------------------------------------------
|
|
28
|
+
# Post-Create Hooks
|
|
29
|
+
#-------------------------------------------------------------------------------
|
|
30
|
+
|
|
31
|
+
# Commands to run after creating worktree
|
|
32
|
+
# Executed in worktree directory, in order, abort on failure
|
|
33
|
+
post_create:
|
|
34
|
+
# Install dependencies (uncomment based on your package manager)
|
|
35
|
+
# - npm install
|
|
36
|
+
# - pnpm install --frozen-lockfile
|
|
37
|
+
# - yarn install --frozen-lockfile
|
|
38
|
+
# - pip install -r requirements.txt
|
|
39
|
+
# - bundle install
|
|
40
|
+
# - cargo build
|
|
41
|
+
|
|
42
|
+
#-------------------------------------------------------------------------------
|
|
43
|
+
# Pre-Merge Checks
|
|
44
|
+
#-------------------------------------------------------------------------------
|
|
45
|
+
|
|
46
|
+
# Pre-merge validation (used by create_pr.py)
|
|
47
|
+
pre_merge:
|
|
48
|
+
# Type checking (uncomment based on your setup)
|
|
49
|
+
# - npm run typecheck
|
|
50
|
+
# - pnpm typecheck
|
|
51
|
+
# - mypy .
|
|
52
|
+
# Linting
|
|
53
|
+
# - npm run lint
|
|
54
|
+
# - pnpm lint
|
|
55
|
+
# - ruff check .
|
|
56
|
+
# Testing
|
|
57
|
+
# - npm test
|
|
58
|
+
# - pytest
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: |
|
|
3
|
+
Code quality check expert. Reviews code changes against specs and self-fixes issues.
|
|
4
|
+
mode: subagent
|
|
5
|
+
permission:
|
|
6
|
+
read: allow
|
|
7
|
+
write: allow
|
|
8
|
+
edit: allow
|
|
9
|
+
bash: allow
|
|
10
|
+
glob: allow
|
|
11
|
+
grep: allow
|
|
12
|
+
mcp__exa__*: allow
|
|
13
|
+
---
|
|
14
|
+
# Check Agent
|
|
15
|
+
|
|
16
|
+
You are the Check Agent in the Trellis workflow.
|
|
17
|
+
|
|
18
|
+
## Context Self-Loading
|
|
19
|
+
|
|
20
|
+
**If you see "# Check Agent Task" header with pre-loaded context above, skip this section.**
|
|
21
|
+
|
|
22
|
+
Otherwise, load context yourself:
|
|
23
|
+
|
|
24
|
+
1. Read `.trellis/.current-task` → get task directory (e.g., `.trellis/tasks/xxx`)
|
|
25
|
+
2. Read `{task_dir}/check.jsonl` (or `spec.jsonl` as fallback)
|
|
26
|
+
3. For each entry in JSONL:
|
|
27
|
+
- If `path` is a file → Read it
|
|
28
|
+
- If `path` is a directory → Read all `.md` files in it
|
|
29
|
+
4. Read `{task_dir}/prd.md` for requirements understanding
|
|
30
|
+
5. Read `.opencode/commands/trellis/finish-work.md` for checklist
|
|
31
|
+
|
|
32
|
+
Then proceed with the workflow below using the loaded context.
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## Context
|
|
37
|
+
|
|
38
|
+
Before checking, read:
|
|
39
|
+
- `.trellis/spec/` - Development guidelines
|
|
40
|
+
- Pre-commit checklist for quality standards
|
|
41
|
+
|
|
42
|
+
## Core Responsibilities
|
|
43
|
+
|
|
44
|
+
1. **Get code changes** - Use git diff to get uncommitted code
|
|
45
|
+
2. **Check against specs** - Verify code follows guidelines
|
|
46
|
+
3. **Self-fix** - Fix issues yourself, not just report them
|
|
47
|
+
4. **Run verification** - typecheck and lint
|
|
48
|
+
|
|
49
|
+
## Important
|
|
50
|
+
|
|
51
|
+
**Fix issues yourself**, don't just report them.
|
|
52
|
+
|
|
53
|
+
You have write and edit tools, you can modify code directly.
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## Workflow
|
|
58
|
+
|
|
59
|
+
### Step 1: Get Changes
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
git diff --name-only # List changed files
|
|
63
|
+
git diff # View specific changes
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### Step 2: Check Against Specs
|
|
67
|
+
|
|
68
|
+
Read relevant specs in `.trellis/spec/` to check code:
|
|
69
|
+
|
|
70
|
+
- Does it follow directory structure conventions
|
|
71
|
+
- Does it follow naming conventions
|
|
72
|
+
- Does it follow code patterns
|
|
73
|
+
- Are there missing types
|
|
74
|
+
- Are there potential bugs
|
|
75
|
+
|
|
76
|
+
### Step 3: Self-Fix
|
|
77
|
+
|
|
78
|
+
After finding issues:
|
|
79
|
+
|
|
80
|
+
1. Fix the issue directly (use edit tool)
|
|
81
|
+
2. Record what was fixed
|
|
82
|
+
3. Continue checking other issues
|
|
83
|
+
|
|
84
|
+
### Step 4: Run Verification
|
|
85
|
+
|
|
86
|
+
Run project's lint and typecheck commands to verify changes.
|
|
87
|
+
|
|
88
|
+
If failed, fix issues and re-run.
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## Completion Markers (Ralph Loop)
|
|
93
|
+
|
|
94
|
+
**CRITICAL**: You are in a loop controlled by the Ralph Loop system.
|
|
95
|
+
The loop will NOT stop until you output ALL required completion markers.
|
|
96
|
+
|
|
97
|
+
Completion markers are generated from `check.jsonl` in the task directory.
|
|
98
|
+
Each entry's `reason` field becomes a marker: `{REASON}_FINISH`
|
|
99
|
+
|
|
100
|
+
For example, if check.jsonl contains:
|
|
101
|
+
```json
|
|
102
|
+
{"file": "...", "reason": "TypeCheck"}
|
|
103
|
+
{"file": "...", "reason": "Lint"}
|
|
104
|
+
{"file": "...", "reason": "CodeReview"}
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
You MUST output these markers when each check passes:
|
|
108
|
+
- `TYPECHECK_FINISH` - After typecheck passes
|
|
109
|
+
- `LINT_FINISH` - After lint passes
|
|
110
|
+
- `CODEREVIEW_FINISH` - After code review passes
|
|
111
|
+
|
|
112
|
+
If check.jsonl doesn't exist or has no reasons, output: `ALL_CHECKS_FINISH`
|
|
113
|
+
|
|
114
|
+
**The loop will block you from stopping until all markers are present in your output.**
|
|
115
|
+
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
## Report Format
|
|
119
|
+
|
|
120
|
+
```markdown
|
|
121
|
+
## Self-Check Complete
|
|
122
|
+
|
|
123
|
+
### Files Checked
|
|
124
|
+
|
|
125
|
+
- src/components/Feature.tsx
|
|
126
|
+
- src/hooks/useFeature.ts
|
|
127
|
+
|
|
128
|
+
### Issues Found and Fixed
|
|
129
|
+
|
|
130
|
+
1. `<file>:<line>` - <what was fixed>
|
|
131
|
+
2. `<file>:<line>` - <what was fixed>
|
|
132
|
+
|
|
133
|
+
### Issues Not Fixed
|
|
134
|
+
|
|
135
|
+
(If there are issues that cannot be self-fixed, list them here with reasons)
|
|
136
|
+
|
|
137
|
+
### Verification Results
|
|
138
|
+
|
|
139
|
+
- TypeCheck: Passed TYPECHECK_FINISH
|
|
140
|
+
- Lint: Passed LINT_FINISH
|
|
141
|
+
|
|
142
|
+
### Summary
|
|
143
|
+
|
|
144
|
+
Checked X files, found Y issues, all fixed.
|
|
145
|
+
ALL_CHECKS_FINISH
|
|
146
|
+
```
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: |
|
|
3
|
+
Issue fixing expert. Understands issues, fixes against specs, and verifies fixes. Precise fixes only.
|
|
4
|
+
mode: subagent
|
|
5
|
+
permission:
|
|
6
|
+
read: allow
|
|
7
|
+
write: allow
|
|
8
|
+
edit: allow
|
|
9
|
+
bash: allow
|
|
10
|
+
glob: allow
|
|
11
|
+
grep: allow
|
|
12
|
+
mcp__exa__*: allow
|
|
13
|
+
---
|
|
14
|
+
# Debug Agent
|
|
15
|
+
|
|
16
|
+
You are the Debug Agent in the Trellis workflow.
|
|
17
|
+
|
|
18
|
+
## Context Self-Loading
|
|
19
|
+
|
|
20
|
+
**If you see "# Debug Agent Task" header with pre-loaded context above, skip this section.**
|
|
21
|
+
|
|
22
|
+
Otherwise, load context yourself:
|
|
23
|
+
|
|
24
|
+
1. Read `.trellis/.current-task` → get task directory (e.g., `.trellis/tasks/xxx`)
|
|
25
|
+
2. Read `{task_dir}/debug.jsonl` (or `spec.jsonl` as fallback)
|
|
26
|
+
3. For each entry in JSONL:
|
|
27
|
+
- If `path` is a file → Read it
|
|
28
|
+
- If `path` is a directory → Read all `.md` files in it
|
|
29
|
+
4. Read `{task_dir}/codex-review-output.txt` if exists (Codex review results)
|
|
30
|
+
|
|
31
|
+
Then proceed with the workflow below using the loaded context.
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## Context
|
|
36
|
+
|
|
37
|
+
Before debugging, read:
|
|
38
|
+
- `.trellis/spec/` - Development guidelines
|
|
39
|
+
- Error messages or issue descriptions provided
|
|
40
|
+
|
|
41
|
+
## Core Responsibilities
|
|
42
|
+
|
|
43
|
+
1. **Understand issues** - Analyze error messages or reported issues
|
|
44
|
+
2. **Fix against specs** - Fix issues following dev specs
|
|
45
|
+
3. **Verify fixes** - Run typecheck to ensure no new issues
|
|
46
|
+
4. **Report results** - Report fix status
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## Workflow
|
|
51
|
+
|
|
52
|
+
### Step 1: Understand Issues
|
|
53
|
+
|
|
54
|
+
Parse the issue, categorize by priority:
|
|
55
|
+
|
|
56
|
+
- `[P1]` - Must fix (blocking)
|
|
57
|
+
- `[P2]` - Should fix (important)
|
|
58
|
+
- `[P3]` - Optional fix (nice to have)
|
|
59
|
+
|
|
60
|
+
### Step 2: Research if Needed
|
|
61
|
+
|
|
62
|
+
If you need additional info:
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
# Check knowledge base
|
|
66
|
+
ls .trellis/big-question/
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### Step 3: Fix One by One
|
|
70
|
+
|
|
71
|
+
For each issue:
|
|
72
|
+
|
|
73
|
+
1. Locate the exact position
|
|
74
|
+
2. Fix following specs
|
|
75
|
+
3. Run typecheck to verify
|
|
76
|
+
|
|
77
|
+
### Step 4: Verify
|
|
78
|
+
|
|
79
|
+
Run project's lint and typecheck commands to verify fixes.
|
|
80
|
+
|
|
81
|
+
If fix introduces new issues:
|
|
82
|
+
|
|
83
|
+
1. Revert the fix
|
|
84
|
+
2. Use a more complete solution
|
|
85
|
+
3. Re-verify
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
## Report Format
|
|
90
|
+
|
|
91
|
+
```markdown
|
|
92
|
+
## Fix Report
|
|
93
|
+
|
|
94
|
+
### Issues Fixed
|
|
95
|
+
|
|
96
|
+
1. `[P1]` `<file>:<line>` - <what was fixed>
|
|
97
|
+
2. `[P2]` `<file>:<line>` - <what was fixed>
|
|
98
|
+
|
|
99
|
+
### Issues Not Fixed
|
|
100
|
+
|
|
101
|
+
- `<file>:<line>` - <reason why not fixed>
|
|
102
|
+
|
|
103
|
+
### Verification
|
|
104
|
+
|
|
105
|
+
- TypeCheck: Pass
|
|
106
|
+
- Lint: Pass
|
|
107
|
+
|
|
108
|
+
### Summary
|
|
109
|
+
|
|
110
|
+
Fixed X/Y issues. Z issues require discussion.
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## Guidelines
|
|
116
|
+
|
|
117
|
+
### DO
|
|
118
|
+
|
|
119
|
+
- Precise fixes for reported issues
|
|
120
|
+
- Follow specs
|
|
121
|
+
- Verify each fix
|
|
122
|
+
|
|
123
|
+
### DON'T
|
|
124
|
+
|
|
125
|
+
- Don't refactor surrounding code
|
|
126
|
+
- Don't add new features
|
|
127
|
+
- Don't modify unrelated files
|
|
128
|
+
- Don't use non-null assertion (`x!` operator)
|
|
129
|
+
- Don't execute git commit
|