@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,192 @@
|
|
|
1
|
+
/* global process */
|
|
2
|
+
/**
|
|
3
|
+
* Trellis Session Start Plugin
|
|
4
|
+
*
|
|
5
|
+
* Injects context when user sends the first message in a session.
|
|
6
|
+
* Uses OpenCode's chat.message + experimental.chat.messages.transform hooks.
|
|
7
|
+
*
|
|
8
|
+
* Compatibility:
|
|
9
|
+
* - If oh-my-opencode handles via .claude/hooks/, this plugin skips
|
|
10
|
+
* - Otherwise, this plugin handles injection
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
import { existsSync } from "fs"
|
|
14
|
+
import { join } from "path"
|
|
15
|
+
import { TrellisContext, contextCollector, debugLog } from "../lib/trellis-context.js"
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Build session context for injection
|
|
19
|
+
*/
|
|
20
|
+
function buildSessionContext(ctx) {
|
|
21
|
+
const directory = ctx.directory
|
|
22
|
+
const trellisDir = join(directory, ".trellis")
|
|
23
|
+
const claudeDir = join(directory, ".claude")
|
|
24
|
+
const opencodeDir = join(directory, ".opencode")
|
|
25
|
+
|
|
26
|
+
const parts = []
|
|
27
|
+
|
|
28
|
+
// 1. Header
|
|
29
|
+
parts.push(`<trellis-context>
|
|
30
|
+
You are starting a new session in a Trellis-managed project.
|
|
31
|
+
Read and follow all instructions below carefully.
|
|
32
|
+
</trellis-context>`)
|
|
33
|
+
|
|
34
|
+
// 2. Current Context (dynamic)
|
|
35
|
+
const contextScript = join(trellisDir, "scripts", "get_context.py")
|
|
36
|
+
if (existsSync(contextScript)) {
|
|
37
|
+
const output = ctx.runScript(contextScript)
|
|
38
|
+
if (output) {
|
|
39
|
+
parts.push("<current-state>")
|
|
40
|
+
parts.push(output)
|
|
41
|
+
parts.push("</current-state>")
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
// 3. Workflow Guide
|
|
46
|
+
const workflow = ctx.readProjectFile(".trellis/workflow.md")
|
|
47
|
+
if (workflow) {
|
|
48
|
+
parts.push("<workflow>")
|
|
49
|
+
parts.push(workflow)
|
|
50
|
+
parts.push("</workflow>")
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
// 4. Guidelines Index
|
|
54
|
+
parts.push("<guidelines>")
|
|
55
|
+
|
|
56
|
+
parts.push("## Frontend")
|
|
57
|
+
const frontendIndex = ctx.readProjectFile(".trellis/spec/frontend/index.md")
|
|
58
|
+
parts.push(frontendIndex || "Not configured")
|
|
59
|
+
|
|
60
|
+
parts.push("\n## Backend")
|
|
61
|
+
const backendIndex = ctx.readProjectFile(".trellis/spec/backend/index.md")
|
|
62
|
+
parts.push(backendIndex || "Not configured")
|
|
63
|
+
|
|
64
|
+
parts.push("\n## Guides")
|
|
65
|
+
const guidesIndex = ctx.readProjectFile(".trellis/spec/guides/index.md")
|
|
66
|
+
parts.push(guidesIndex || "Not configured")
|
|
67
|
+
|
|
68
|
+
parts.push("</guidelines>")
|
|
69
|
+
|
|
70
|
+
// 5. Session Instructions - try both .claude and .opencode
|
|
71
|
+
let startMd = ctx.readFile(join(claudeDir, "commands", "trellis", "start.md"))
|
|
72
|
+
if (!startMd) {
|
|
73
|
+
startMd = ctx.readFile(join(opencodeDir, "commands", "trellis", "start.md"))
|
|
74
|
+
}
|
|
75
|
+
if (startMd) {
|
|
76
|
+
parts.push("<instructions>")
|
|
77
|
+
parts.push(startMd)
|
|
78
|
+
parts.push("</instructions>")
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
// 6. Final directive
|
|
82
|
+
parts.push(`<ready>
|
|
83
|
+
Context loaded. Wait for user's first message, then follow <instructions> to handle their request.
|
|
84
|
+
</ready>`)
|
|
85
|
+
|
|
86
|
+
return parts.join("\n\n")
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
export default async ({ directory }) => {
|
|
90
|
+
const ctx = new TrellisContext(directory)
|
|
91
|
+
debugLog("session", "Plugin loaded, directory:", directory)
|
|
92
|
+
|
|
93
|
+
return {
|
|
94
|
+
// chat.message - triggered when user sends a message
|
|
95
|
+
"chat.message": async (input) => {
|
|
96
|
+
try {
|
|
97
|
+
const sessionID = input.sessionID
|
|
98
|
+
const agent = input.agent || "unknown"
|
|
99
|
+
debugLog("session", "chat.message called, sessionID:", sessionID, "agent:", agent)
|
|
100
|
+
|
|
101
|
+
// Skip in non-interactive mode
|
|
102
|
+
if (process.env.OPENCODE_NON_INTERACTIVE === "1") {
|
|
103
|
+
debugLog("session", "Skipping - non-interactive mode")
|
|
104
|
+
return
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
// Check if we should skip (omo will handle)
|
|
108
|
+
if (ctx.shouldSkipHook("session-start")) {
|
|
109
|
+
debugLog("session", "Skipping - omo will handle via .claude/hooks/")
|
|
110
|
+
return
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
// Only inject on first message
|
|
114
|
+
if (contextCollector.isProcessed(sessionID)) {
|
|
115
|
+
debugLog("session", "Skipping - session already processed")
|
|
116
|
+
return
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
// Mark session as processed
|
|
120
|
+
contextCollector.markProcessed(sessionID)
|
|
121
|
+
|
|
122
|
+
// Build and store context
|
|
123
|
+
const context = buildSessionContext(ctx)
|
|
124
|
+
debugLog("session", "Built context, length:", context.length)
|
|
125
|
+
|
|
126
|
+
contextCollector.store(sessionID, context)
|
|
127
|
+
debugLog("session", "Context stored for session:", sessionID)
|
|
128
|
+
|
|
129
|
+
} catch (error) {
|
|
130
|
+
debugLog("session", "Error in chat.message:", error.message, error.stack)
|
|
131
|
+
}
|
|
132
|
+
},
|
|
133
|
+
|
|
134
|
+
// experimental.chat.messages.transform - modify messages before sending to AI
|
|
135
|
+
"experimental.chat.messages.transform": async (input, output) => {
|
|
136
|
+
try {
|
|
137
|
+
const { messages } = output
|
|
138
|
+
debugLog("session", "messages.transform called, messageCount:", messages?.length)
|
|
139
|
+
|
|
140
|
+
if (!messages || messages.length === 0) {
|
|
141
|
+
return
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
// Find last user message
|
|
145
|
+
let lastUserMessageIndex = -1
|
|
146
|
+
for (let i = messages.length - 1; i >= 0; i--) {
|
|
147
|
+
if (messages[i].info?.role === "user") {
|
|
148
|
+
lastUserMessageIndex = i
|
|
149
|
+
break
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
if (lastUserMessageIndex === -1) {
|
|
154
|
+
debugLog("session", "No user message found")
|
|
155
|
+
return
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
const lastUserMessage = messages[lastUserMessageIndex]
|
|
159
|
+
const sessionID = lastUserMessage.info?.sessionID
|
|
160
|
+
|
|
161
|
+
debugLog("session", "Found user message, sessionID:", sessionID)
|
|
162
|
+
|
|
163
|
+
if (!sessionID || !contextCollector.hasPending(sessionID)) {
|
|
164
|
+
debugLog("session", "No pending context for session")
|
|
165
|
+
return
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
// Get and consume pending context
|
|
169
|
+
const pending = contextCollector.consume(sessionID)
|
|
170
|
+
|
|
171
|
+
// Find first text part
|
|
172
|
+
const textPartIndex = lastUserMessage.parts?.findIndex(
|
|
173
|
+
p => p.type === "text" && p.text !== undefined
|
|
174
|
+
)
|
|
175
|
+
|
|
176
|
+
if (textPartIndex === -1) {
|
|
177
|
+
debugLog("session", "No text part found in user message")
|
|
178
|
+
return
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
// Prepend context to the text part (same approach as omo)
|
|
182
|
+
const originalText = lastUserMessage.parts[textPartIndex].text || ""
|
|
183
|
+
lastUserMessage.parts[textPartIndex].text = `${pending.content}\n\n---\n\n${originalText}`
|
|
184
|
+
|
|
185
|
+
debugLog("session", "Injected context by prepending to text, length:", pending.content.length)
|
|
186
|
+
|
|
187
|
+
} catch (error) {
|
|
188
|
+
debugLog("session", "Error in messages.transform:", error.message, error.stack)
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0.4.0
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# Deliverables - 三角色产出物池
|
|
2
|
+
|
|
3
|
+
本目录存放PM、Designer、Frontend三个角色的产出物。
|
|
4
|
+
|
|
5
|
+
## 目录结构
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
deliverables/
|
|
9
|
+
├── requirements/ # PM产出池:需求文档
|
|
10
|
+
├── prototypes/ # Designer产出池:前端原型代码
|
|
11
|
+
└── production/ # Frontend产出池:生产代码
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## 工作流程
|
|
15
|
+
|
|
16
|
+
### PM角色
|
|
17
|
+
1. 在 `.trellis/tasks/pm/` 创建任务
|
|
18
|
+
2. 编写PRD和用户故事
|
|
19
|
+
3. 执行 `/trellis:handoff` 生成HANDOFF.md
|
|
20
|
+
4. 产出自动进入 `deliverables/requirements/{task-id}/`
|
|
21
|
+
|
|
22
|
+
### Designer角色
|
|
23
|
+
1. 执行 `/trellis:pick-task requirements {task-id}` 选择需求
|
|
24
|
+
2. 基于需求生成前端原型(带Mock数据)
|
|
25
|
+
3. 执行 `/trellis:handoff` 生成HANDOFF.md
|
|
26
|
+
4. 产出自动进入 `deliverables/prototypes/{task-id}/`
|
|
27
|
+
|
|
28
|
+
### Frontend角色
|
|
29
|
+
1. 执行 `/trellis:pick-task prototypes {task-id}` 选择原型
|
|
30
|
+
2. 补充真实API调用和业务逻辑
|
|
31
|
+
3. 执行 `/trellis:handoff` 生成HANDOFF.md
|
|
32
|
+
4. 产出自动进入 `deliverables/production/{task-id}/`
|
|
33
|
+
|
|
34
|
+
## 产出物要求
|
|
35
|
+
|
|
36
|
+
每个产出目录必须包含:
|
|
37
|
+
- `HANDOFF.md` - 交接文档(AI自动生成)
|
|
38
|
+
- 角色相关的产出文件(PRD、代码等)
|
|
39
|
+
|
|
40
|
+
## 任务池状态
|
|
41
|
+
|
|
42
|
+
产出物状态由 `.trellis/pool/{pool-type}.json` 管理:
|
|
43
|
+
- `available` - 可被下游消费
|
|
44
|
+
- `consumed` - 已被下游领取
|
|
45
|
+
|
|
46
|
+
查看任务池状态:
|
|
47
|
+
```bash
|
|
48
|
+
python3 .trellis/scripts/pool.py list requirements
|
|
49
|
+
python3 .trellis/scripts/pool.py list prototypes
|
|
50
|
+
python3 .trellis/scripts/pool.py list implementations
|
|
51
|
+
```
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Developer identity (local only)
|
|
2
|
+
.developer
|
|
3
|
+
|
|
4
|
+
# Current task pointer (each dev works on different task)
|
|
5
|
+
.current-task
|
|
6
|
+
|
|
7
|
+
# Ralph Loop state file
|
|
8
|
+
.ralph-state.json
|
|
9
|
+
|
|
10
|
+
# Agent runtime files
|
|
11
|
+
.agents/
|
|
12
|
+
.agent-log
|
|
13
|
+
.session-id
|
|
14
|
+
|
|
15
|
+
# Task directory runtime files
|
|
16
|
+
.plan-log
|
|
17
|
+
|
|
18
|
+
# Atomic update temp files
|
|
19
|
+
*.tmp
|
|
20
|
+
|
|
21
|
+
# Update backup directories
|
|
22
|
+
.backup-*
|
|
23
|
+
|
|
24
|
+
# Conflict resolution temp files
|
|
25
|
+
*.new
|
|
26
|
+
|
|
27
|
+
# Python cache
|
|
28
|
+
**/__pycache__/
|
|
29
|
+
**/*.pyc
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Trellis workflow templates
|
|
3
|
+
*
|
|
4
|
+
* These are GENERIC templates for user projects.
|
|
5
|
+
* Do NOT use Trellis project's own .trellis/ directory (which may be customized).
|
|
6
|
+
*
|
|
7
|
+
* Directory structure:
|
|
8
|
+
* trellis/
|
|
9
|
+
* ├── scripts/
|
|
10
|
+
* │ ├── __init__.py
|
|
11
|
+
* │ ├── common/ # Shared utilities (Python)
|
|
12
|
+
* │ ├── multi_agent/ # Multi-agent pipeline scripts (Python)
|
|
13
|
+
* │ └── *.py # Main scripts (Python)
|
|
14
|
+
* ├── scripts-shell-archive/ # Archived shell scripts (for reference)
|
|
15
|
+
* ├── workflow.md # Workflow guide
|
|
16
|
+
* ├── worktree.yaml # Worktree configuration
|
|
17
|
+
* └── gitignore.txt # .gitignore content
|
|
18
|
+
*/
|
|
19
|
+
export declare const scriptsInit: string;
|
|
20
|
+
export declare const commonInit: string;
|
|
21
|
+
export declare const commonPaths: string;
|
|
22
|
+
export declare const commonDeveloper: string;
|
|
23
|
+
export declare const commonGitContext: string;
|
|
24
|
+
export declare const commonWorktree: string;
|
|
25
|
+
export declare const commonTaskQueue: string;
|
|
26
|
+
export declare const commonTaskUtils: string;
|
|
27
|
+
export declare const commonPhase: string;
|
|
28
|
+
export declare const commonRegistry: string;
|
|
29
|
+
export declare const commonCliAdapter: string;
|
|
30
|
+
export declare const multiAgentInit: string;
|
|
31
|
+
export declare const multiAgentStart: string;
|
|
32
|
+
export declare const multiAgentCleanup: string;
|
|
33
|
+
export declare const multiAgentStatus: string;
|
|
34
|
+
export declare const multiAgentCreatePr: string;
|
|
35
|
+
export declare const multiAgentPlan: string;
|
|
36
|
+
export declare const getDeveloperScript: string;
|
|
37
|
+
export declare const initDeveloperScript: string;
|
|
38
|
+
export declare const taskScript: string;
|
|
39
|
+
export declare const getContextScript: string;
|
|
40
|
+
export declare const addSessionScript: string;
|
|
41
|
+
export declare const createBootstrapScript: string;
|
|
42
|
+
export declare const workflowMdTemplate: string;
|
|
43
|
+
export declare const worktreeYamlTemplate: string;
|
|
44
|
+
export declare const gitignoreTemplate: string;
|
|
45
|
+
/**
|
|
46
|
+
* Get all script templates as a map of relative path to content
|
|
47
|
+
*/
|
|
48
|
+
export declare function getAllScripts(): Map<string, string>;
|
|
49
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/templates/trellis/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAcH,eAAO,MAAM,WAAW,QAAsC,CAAC;AAG/D,eAAO,MAAM,UAAU,QAA6C,CAAC;AACrE,eAAO,MAAM,WAAW,QAA0C,CAAC;AACnE,eAAO,MAAM,eAAe,QAA8C,CAAC;AAC3E,eAAO,MAAM,gBAAgB,QAAgD,CAAC;AAC9E,eAAO,MAAM,cAAc,QAA6C,CAAC;AACzE,eAAO,MAAM,eAAe,QAA+C,CAAC;AAC5E,eAAO,MAAM,eAAe,QAA+C,CAAC;AAC5E,eAAO,MAAM,WAAW,QAA0C,CAAC;AACnE,eAAO,MAAM,cAAc,QAA6C,CAAC;AACzE,eAAO,MAAM,gBAAgB,QAAgD,CAAC;AAG9E,eAAO,MAAM,cAAc,QAAkD,CAAC;AAC9E,eAAO,MAAM,eAAe,QAA+C,CAAC;AAC5E,eAAO,MAAM,iBAAiB,QAAiD,CAAC;AAChF,eAAO,MAAM,gBAAgB,QAAgD,CAAC;AAC9E,eAAO,MAAM,kBAAkB,QAAmD,CAAC;AACnF,eAAO,MAAM,cAAc,QAA8C,CAAC;AAG1E,eAAO,MAAM,kBAAkB,QAA2C,CAAC;AAC3E,eAAO,MAAM,mBAAmB,QAA4C,CAAC;AAC7E,eAAO,MAAM,UAAU,QAAkC,CAAC;AAC1D,eAAO,MAAM,gBAAgB,QAAyC,CAAC;AACvE,eAAO,MAAM,gBAAgB,QAAyC,CAAC;AACvE,eAAO,MAAM,qBAAqB,QAA8C,CAAC;AAGjF,eAAO,MAAM,kBAAkB,QAA8B,CAAC;AAC9D,eAAO,MAAM,oBAAoB,QAAgC,CAAC;AAClE,eAAO,MAAM,iBAAiB,QAAgC,CAAC;AAE/D;;GAEG;AACH,wBAAgB,aAAa,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAmCnD"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Trellis workflow templates
|
|
3
|
+
*
|
|
4
|
+
* These are GENERIC templates for user projects.
|
|
5
|
+
* Do NOT use Trellis project's own .trellis/ directory (which may be customized).
|
|
6
|
+
*
|
|
7
|
+
* Directory structure:
|
|
8
|
+
* trellis/
|
|
9
|
+
* ├── scripts/
|
|
10
|
+
* │ ├── __init__.py
|
|
11
|
+
* │ ├── common/ # Shared utilities (Python)
|
|
12
|
+
* │ ├── multi_agent/ # Multi-agent pipeline scripts (Python)
|
|
13
|
+
* │ └── *.py # Main scripts (Python)
|
|
14
|
+
* ├── scripts-shell-archive/ # Archived shell scripts (for reference)
|
|
15
|
+
* ├── workflow.md # Workflow guide
|
|
16
|
+
* ├── worktree.yaml # Worktree configuration
|
|
17
|
+
* └── gitignore.txt # .gitignore content
|
|
18
|
+
*/
|
|
19
|
+
import { readFileSync } from "node:fs";
|
|
20
|
+
import { dirname, join } from "node:path";
|
|
21
|
+
import { fileURLToPath } from "node:url";
|
|
22
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
23
|
+
const __dirname = dirname(__filename);
|
|
24
|
+
function readTemplate(relativePath) {
|
|
25
|
+
return readFileSync(join(__dirname, relativePath), "utf-8");
|
|
26
|
+
}
|
|
27
|
+
// Python scripts - package init
|
|
28
|
+
export const scriptsInit = readTemplate("scripts/__init__.py");
|
|
29
|
+
// Python scripts - common
|
|
30
|
+
export const commonInit = readTemplate("scripts/common/__init__.py");
|
|
31
|
+
export const commonPaths = readTemplate("scripts/common/paths.py");
|
|
32
|
+
export const commonDeveloper = readTemplate("scripts/common/developer.py");
|
|
33
|
+
export const commonGitContext = readTemplate("scripts/common/git_context.py");
|
|
34
|
+
export const commonWorktree = readTemplate("scripts/common/worktree.py");
|
|
35
|
+
export const commonTaskQueue = readTemplate("scripts/common/task_queue.py");
|
|
36
|
+
export const commonTaskUtils = readTemplate("scripts/common/task_utils.py");
|
|
37
|
+
export const commonPhase = readTemplate("scripts/common/phase.py");
|
|
38
|
+
export const commonRegistry = readTemplate("scripts/common/registry.py");
|
|
39
|
+
export const commonCliAdapter = readTemplate("scripts/common/cli_adapter.py");
|
|
40
|
+
// Python scripts - multi_agent
|
|
41
|
+
export const multiAgentInit = readTemplate("scripts/multi_agent/__init__.py");
|
|
42
|
+
export const multiAgentStart = readTemplate("scripts/multi_agent/start.py");
|
|
43
|
+
export const multiAgentCleanup = readTemplate("scripts/multi_agent/cleanup.py");
|
|
44
|
+
export const multiAgentStatus = readTemplate("scripts/multi_agent/status.py");
|
|
45
|
+
export const multiAgentCreatePr = readTemplate("scripts/multi_agent/create_pr.py");
|
|
46
|
+
export const multiAgentPlan = readTemplate("scripts/multi_agent/plan.py");
|
|
47
|
+
// Python scripts - main
|
|
48
|
+
export const getDeveloperScript = readTemplate("scripts/get_developer.py");
|
|
49
|
+
export const initDeveloperScript = readTemplate("scripts/init_developer.py");
|
|
50
|
+
export const taskScript = readTemplate("scripts/task.py");
|
|
51
|
+
export const getContextScript = readTemplate("scripts/get_context.py");
|
|
52
|
+
export const addSessionScript = readTemplate("scripts/add_session.py");
|
|
53
|
+
export const createBootstrapScript = readTemplate("scripts/create_bootstrap.py");
|
|
54
|
+
// Configuration files
|
|
55
|
+
export const workflowMdTemplate = readTemplate("workflow.md");
|
|
56
|
+
export const worktreeYamlTemplate = readTemplate("worktree.yaml");
|
|
57
|
+
export const gitignoreTemplate = readTemplate("gitignore.txt");
|
|
58
|
+
/**
|
|
59
|
+
* Get all script templates as a map of relative path to content
|
|
60
|
+
*/
|
|
61
|
+
export function getAllScripts() {
|
|
62
|
+
const scripts = new Map();
|
|
63
|
+
// Package init
|
|
64
|
+
scripts.set("__init__.py", scriptsInit);
|
|
65
|
+
// Common
|
|
66
|
+
scripts.set("common/__init__.py", commonInit);
|
|
67
|
+
scripts.set("common/paths.py", commonPaths);
|
|
68
|
+
scripts.set("common/developer.py", commonDeveloper);
|
|
69
|
+
scripts.set("common/git_context.py", commonGitContext);
|
|
70
|
+
scripts.set("common/worktree.py", commonWorktree);
|
|
71
|
+
scripts.set("common/task_queue.py", commonTaskQueue);
|
|
72
|
+
scripts.set("common/task_utils.py", commonTaskUtils);
|
|
73
|
+
scripts.set("common/phase.py", commonPhase);
|
|
74
|
+
scripts.set("common/registry.py", commonRegistry);
|
|
75
|
+
scripts.set("common/cli_adapter.py", commonCliAdapter);
|
|
76
|
+
// Multi-agent
|
|
77
|
+
scripts.set("multi_agent/__init__.py", multiAgentInit);
|
|
78
|
+
scripts.set("multi_agent/start.py", multiAgentStart);
|
|
79
|
+
scripts.set("multi_agent/cleanup.py", multiAgentCleanup);
|
|
80
|
+
scripts.set("multi_agent/status.py", multiAgentStatus);
|
|
81
|
+
scripts.set("multi_agent/create_pr.py", multiAgentCreatePr);
|
|
82
|
+
scripts.set("multi_agent/plan.py", multiAgentPlan);
|
|
83
|
+
// Main
|
|
84
|
+
scripts.set("get_developer.py", getDeveloperScript);
|
|
85
|
+
scripts.set("init_developer.py", initDeveloperScript);
|
|
86
|
+
scripts.set("task.py", taskScript);
|
|
87
|
+
scripts.set("get_context.py", getContextScript);
|
|
88
|
+
scripts.set("add_session.py", addSessionScript);
|
|
89
|
+
scripts.set("create_bootstrap.py", createBootstrapScript);
|
|
90
|
+
return scripts;
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/templates/trellis/index.ts"],"names":[],"mappings":"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"}
|