@blxzer/cursor-trellis 0.1.0
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/CHANGELOG.md +45 -0
- package/LICENSE +235 -0
- package/README.md +9 -0
- package/bin/smart-search.js +79 -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 +258 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/commands/channel/adapters/claude.d.ts +29 -0
- package/dist/commands/channel/adapters/claude.d.ts.map +1 -0
- package/dist/commands/channel/adapters/claude.js +203 -0
- package/dist/commands/channel/adapters/claude.js.map +1 -0
- package/dist/commands/channel/adapters/codex.d.ts +85 -0
- package/dist/commands/channel/adapters/codex.d.ts.map +1 -0
- package/dist/commands/channel/adapters/codex.js +505 -0
- package/dist/commands/channel/adapters/codex.js.map +1 -0
- package/dist/commands/channel/adapters/index.d.ts +84 -0
- package/dist/commands/channel/adapters/index.d.ts.map +1 -0
- package/dist/commands/channel/adapters/index.js +115 -0
- package/dist/commands/channel/adapters/index.js.map +1 -0
- package/dist/commands/channel/adapters/types.d.ts +33 -0
- package/dist/commands/channel/adapters/types.d.ts.map +1 -0
- package/dist/commands/channel/adapters/types.js +2 -0
- package/dist/commands/channel/adapters/types.js.map +1 -0
- package/dist/commands/channel/agent-loader.d.ts +32 -0
- package/dist/commands/channel/agent-loader.d.ts.map +1 -0
- package/dist/commands/channel/agent-loader.js +154 -0
- package/dist/commands/channel/agent-loader.js.map +1 -0
- package/dist/commands/channel/context-loader.d.ts +26 -0
- package/dist/commands/channel/context-loader.d.ts.map +1 -0
- package/dist/commands/channel/context-loader.js +290 -0
- package/dist/commands/channel/context-loader.js.map +1 -0
- package/dist/commands/channel/context.d.ts +16 -0
- package/dist/commands/channel/context.d.ts.map +1 -0
- package/dist/commands/channel/context.js +83 -0
- package/dist/commands/channel/context.js.map +1 -0
- package/dist/commands/channel/create.d.ts +27 -0
- package/dist/commands/channel/create.d.ts.map +1 -0
- package/dist/commands/channel/create.js +39 -0
- package/dist/commands/channel/create.js.map +1 -0
- package/dist/commands/channel/dev-parse-trace.d.ts +14 -0
- package/dist/commands/channel/dev-parse-trace.d.ts.map +1 -0
- package/dist/commands/channel/dev-parse-trace.js +70 -0
- package/dist/commands/channel/dev-parse-trace.js.map +1 -0
- package/dist/commands/channel/guard.d.ts +150 -0
- package/dist/commands/channel/guard.d.ts.map +1 -0
- package/dist/commands/channel/guard.js +474 -0
- package/dist/commands/channel/guard.js.map +1 -0
- package/dist/commands/channel/index.d.ts +3 -0
- package/dist/commands/channel/index.d.ts.map +1 -0
- package/dist/commands/channel/index.js +531 -0
- package/dist/commands/channel/index.js.map +1 -0
- package/dist/commands/channel/interrupt.d.ts +10 -0
- package/dist/commands/channel/interrupt.d.ts.map +1 -0
- package/dist/commands/channel/interrupt.js +22 -0
- package/dist/commands/channel/interrupt.js.map +1 -0
- package/dist/commands/channel/kill.d.ts +7 -0
- package/dist/commands/channel/kill.d.ts.map +1 -0
- package/dist/commands/channel/kill.js +121 -0
- package/dist/commands/channel/kill.js.map +1 -0
- package/dist/commands/channel/list.d.ts +17 -0
- package/dist/commands/channel/list.d.ts.map +1 -0
- package/dist/commands/channel/list.js +233 -0
- package/dist/commands/channel/list.js.map +1 -0
- package/dist/commands/channel/messages.d.ts +15 -0
- package/dist/commands/channel/messages.d.ts.map +1 -0
- package/dist/commands/channel/messages.js +245 -0
- package/dist/commands/channel/messages.js.map +1 -0
- package/dist/commands/channel/rm.d.ts +27 -0
- package/dist/commands/channel/rm.d.ts.map +1 -0
- package/dist/commands/channel/rm.js +216 -0
- package/dist/commands/channel/rm.js.map +1 -0
- package/dist/commands/channel/run.d.ts +30 -0
- package/dist/commands/channel/run.d.ts.map +1 -0
- package/dist/commands/channel/run.js +130 -0
- package/dist/commands/channel/run.js.map +1 -0
- package/dist/commands/channel/send.d.ts +11 -0
- package/dist/commands/channel/send.d.ts.map +1 -0
- package/dist/commands/channel/send.js +24 -0
- package/dist/commands/channel/send.js.map +1 -0
- package/dist/commands/channel/spawn.d.ts +40 -0
- package/dist/commands/channel/spawn.d.ts.map +1 -0
- package/dist/commands/channel/spawn.js +244 -0
- package/dist/commands/channel/spawn.js.map +1 -0
- package/dist/commands/channel/store/events.d.ts +39 -0
- package/dist/commands/channel/store/events.d.ts.map +1 -0
- package/dist/commands/channel/store/events.js +87 -0
- package/dist/commands/channel/store/events.js.map +1 -0
- package/dist/commands/channel/store/filter.d.ts +3 -0
- package/dist/commands/channel/store/filter.d.ts.map +1 -0
- package/dist/commands/channel/store/filter.js +2 -0
- package/dist/commands/channel/store/filter.js.map +1 -0
- package/dist/commands/channel/store/lock.d.ts +23 -0
- package/dist/commands/channel/store/lock.d.ts.map +1 -0
- package/dist/commands/channel/store/lock.js +99 -0
- package/dist/commands/channel/store/lock.js.map +1 -0
- package/dist/commands/channel/store/paths.d.ts +63 -0
- package/dist/commands/channel/store/paths.d.ts.map +1 -0
- package/dist/commands/channel/store/paths.js +246 -0
- package/dist/commands/channel/store/paths.js.map +1 -0
- package/dist/commands/channel/store/schema.d.ts +27 -0
- package/dist/commands/channel/store/schema.d.ts.map +1 -0
- package/dist/commands/channel/store/schema.js +34 -0
- package/dist/commands/channel/store/schema.js.map +1 -0
- package/dist/commands/channel/store/thread-state.d.ts +5 -0
- package/dist/commands/channel/store/thread-state.d.ts.map +1 -0
- package/dist/commands/channel/store/thread-state.js +16 -0
- package/dist/commands/channel/store/thread-state.js.map +1 -0
- package/dist/commands/channel/store/watch.d.ts +19 -0
- package/dist/commands/channel/store/watch.d.ts.map +1 -0
- package/dist/commands/channel/store/watch.js +146 -0
- package/dist/commands/channel/store/watch.js.map +1 -0
- package/dist/commands/channel/supervisor/idle.d.ts +46 -0
- package/dist/commands/channel/supervisor/idle.d.ts.map +1 -0
- package/dist/commands/channel/supervisor/idle.js +72 -0
- package/dist/commands/channel/supervisor/idle.js.map +1 -0
- package/dist/commands/channel/supervisor/inbox.d.ts +30 -0
- package/dist/commands/channel/supervisor/inbox.d.ts.map +1 -0
- package/dist/commands/channel/supervisor/inbox.js +160 -0
- package/dist/commands/channel/supervisor/inbox.js.map +1 -0
- package/dist/commands/channel/supervisor/shutdown.d.ts +68 -0
- package/dist/commands/channel/supervisor/shutdown.d.ts.map +1 -0
- package/dist/commands/channel/supervisor/shutdown.js +146 -0
- package/dist/commands/channel/supervisor/shutdown.js.map +1 -0
- package/dist/commands/channel/supervisor/stdout.d.ts +51 -0
- package/dist/commands/channel/supervisor/stdout.d.ts.map +1 -0
- package/dist/commands/channel/supervisor/stdout.js +121 -0
- package/dist/commands/channel/supervisor/stdout.js.map +1 -0
- package/dist/commands/channel/supervisor/turns.d.ts +31 -0
- package/dist/commands/channel/supervisor/turns.d.ts.map +1 -0
- package/dist/commands/channel/supervisor/turns.js +45 -0
- package/dist/commands/channel/supervisor/turns.js.map +1 -0
- package/dist/commands/channel/supervisor/warning.d.ts +48 -0
- package/dist/commands/channel/supervisor/warning.d.ts.map +1 -0
- package/dist/commands/channel/supervisor/warning.js +77 -0
- package/dist/commands/channel/supervisor/warning.js.map +1 -0
- package/dist/commands/channel/supervisor.d.ts +59 -0
- package/dist/commands/channel/supervisor.d.ts.map +1 -0
- package/dist/commands/channel/supervisor.js +344 -0
- package/dist/commands/channel/supervisor.js.map +1 -0
- package/dist/commands/channel/text-body.d.ts +13 -0
- package/dist/commands/channel/text-body.d.ts.map +1 -0
- package/dist/commands/channel/text-body.js +47 -0
- package/dist/commands/channel/text-body.js.map +1 -0
- package/dist/commands/channel/threads.d.ts +39 -0
- package/dist/commands/channel/threads.d.ts.map +1 -0
- package/dist/commands/channel/threads.js +106 -0
- package/dist/commands/channel/threads.js.map +1 -0
- package/dist/commands/channel/title.d.ts +12 -0
- package/dist/commands/channel/title.d.ts.map +1 -0
- package/dist/commands/channel/title.js +24 -0
- package/dist/commands/channel/title.js.map +1 -0
- package/dist/commands/channel/wait.d.ts +17 -0
- package/dist/commands/channel/wait.d.ts.map +1 -0
- package/dist/commands/channel/wait.js +75 -0
- package/dist/commands/channel/wait.js.map +1 -0
- package/dist/commands/init.d.ts +62 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +1656 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/mem.d.ts +30 -0
- package/dist/commands/mem.d.ts.map +1 -0
- package/dist/commands/mem.js +424 -0
- package/dist/commands/mem.js.map +1 -0
- package/dist/commands/rollout.d.ts +34 -0
- package/dist/commands/rollout.d.ts.map +1 -0
- package/dist/commands/rollout.js +102 -0
- package/dist/commands/rollout.js.map +1 -0
- package/dist/commands/uninstall.d.ts +27 -0
- package/dist/commands/uninstall.d.ts.map +1 -0
- package/dist/commands/uninstall.js +339 -0
- package/dist/commands/uninstall.js.map +1 -0
- package/dist/commands/update.d.ts +80 -0
- package/dist/commands/update.d.ts.map +1 -0
- package/dist/commands/update.js +2185 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/commands/upgrade.d.ts +28 -0
- package/dist/commands/upgrade.d.ts.map +1 -0
- package/dist/commands/upgrade.js +84 -0
- package/dist/commands/upgrade.js.map +1 -0
- package/dist/commands/workflow.d.ts +35 -0
- package/dist/commands/workflow.d.ts.map +1 -0
- package/dist/commands/workflow.js +219 -0
- package/dist/commands/workflow.js.map +1 -0
- package/dist/configurators/antigravity.d.ts +7 -0
- package/dist/configurators/antigravity.d.ts.map +1 -0
- package/dist/configurators/antigravity.js +19 -0
- package/dist/configurators/antigravity.js.map +1 -0
- package/dist/configurators/claude.d.ts +9 -0
- package/dist/configurators/claude.d.ts.map +1 -0
- package/dist/configurators/claude.js +72 -0
- package/dist/configurators/claude.js.map +1 -0
- package/dist/configurators/codebuddy.d.ts +10 -0
- package/dist/configurators/codebuddy.d.ts.map +1 -0
- package/dist/configurators/codebuddy.js +30 -0
- package/dist/configurators/codebuddy.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 +87 -0
- package/dist/configurators/codex.js.map +1 -0
- package/dist/configurators/copilot.d.ts +10 -0
- package/dist/configurators/copilot.d.ts.map +1 -0
- package/dist/configurators/copilot.js +51 -0
- package/dist/configurators/copilot.js.map +1 -0
- package/dist/configurators/cursor.d.ts +20 -0
- package/dist/configurators/cursor.d.ts.map +1 -0
- package/dist/configurators/cursor.js +49 -0
- package/dist/configurators/cursor.js.map +1 -0
- package/dist/configurators/cursor2plus-local.d.ts +6 -0
- package/dist/configurators/cursor2plus-local.d.ts.map +1 -0
- package/dist/configurators/cursor2plus-local.js +20 -0
- package/dist/configurators/cursor2plus-local.js.map +1 -0
- package/dist/configurators/droid.d.ts +10 -0
- package/dist/configurators/droid.d.ts.map +1 -0
- package/dist/configurators/droid.js +30 -0
- package/dist/configurators/droid.js.map +1 -0
- package/dist/configurators/gemini.d.ts +16 -0
- package/dist/configurators/gemini.d.ts.map +1 -0
- package/dist/configurators/gemini.js +38 -0
- package/dist/configurators/gemini.js.map +1 -0
- package/dist/configurators/index.d.ts +69 -0
- package/dist/configurators/index.d.ts.map +1 -0
- package/dist/configurators/index.js +395 -0
- package/dist/configurators/index.js.map +1 -0
- package/dist/configurators/kilo.d.ts +7 -0
- package/dist/configurators/kilo.d.ts.map +1 -0
- package/dist/configurators/kilo.js +19 -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 +24 -0
- package/dist/configurators/kiro.js.map +1 -0
- package/dist/configurators/opencode.d.ts +14 -0
- package/dist/configurators/opencode.d.ts.map +1 -0
- package/dist/configurators/opencode.js +96 -0
- package/dist/configurators/opencode.js.map +1 -0
- package/dist/configurators/pi.d.ts +3 -0
- package/dist/configurators/pi.d.ts.map +1 -0
- package/dist/configurators/pi.js +45 -0
- package/dist/configurators/pi.js.map +1 -0
- package/dist/configurators/qoder.d.ts +11 -0
- package/dist/configurators/qoder.d.ts.map +1 -0
- package/dist/configurators/qoder.js +31 -0
- package/dist/configurators/qoder.js.map +1 -0
- package/dist/configurators/shared.d.ts +183 -0
- package/dist/configurators/shared.d.ts.map +1 -0
- package/dist/configurators/shared.js +557 -0
- package/dist/configurators/shared.js.map +1 -0
- package/dist/configurators/windsurf.d.ts +7 -0
- package/dist/configurators/windsurf.d.ts.map +1 -0
- package/dist/configurators/windsurf.js +19 -0
- package/dist/configurators/windsurf.js.map +1 -0
- package/dist/configurators/workflow.d.ts +46 -0
- package/dist/configurators/workflow.d.ts.map +1 -0
- package/dist/configurators/workflow.js +180 -0
- package/dist/configurators/workflow.js.map +1 -0
- package/dist/constants/paths.d.ts +70 -0
- package/dist/constants/paths.d.ts.map +1 -0
- package/dist/constants/paths.js +79 -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 +62 -0
- package/dist/migrations/index.d.ts.map +1 -0
- package/dist/migrations/index.js +187 -0
- package/dist/migrations/index.js.map +1 -0
- package/dist/migrations/manifests/0.1.0.json +9 -0
- package/dist/templates/claude/agents/trellis-check.md +124 -0
- package/dist/templates/claude/agents/trellis-implement.md +110 -0
- package/dist/templates/claude/agents/trellis-research.md +137 -0
- package/dist/templates/claude/index.d.ts +22 -0
- package/dist/templates/claude/index.d.ts.map +1 -0
- package/dist/templates/claude/index.js +46 -0
- package/dist/templates/claude/index.js.map +1 -0
- package/dist/templates/claude/settings.json +84 -0
- package/dist/templates/codebuddy/agents/trellis-check.md +115 -0
- package/dist/templates/codebuddy/agents/trellis-implement.md +110 -0
- package/dist/templates/codebuddy/agents/trellis-research.md +137 -0
- package/dist/templates/codebuddy/index.d.ts +15 -0
- package/dist/templates/codebuddy/index.d.ts.map +1 -0
- package/dist/templates/codebuddy/index.js +15 -0
- package/dist/templates/codebuddy/index.js.map +1 -0
- package/dist/templates/codebuddy/settings.json +70 -0
- package/dist/templates/codex/agents/trellis-check.toml +67 -0
- package/dist/templates/codex/agents/trellis-implement.toml +40 -0
- package/dist/templates/codex/agents/trellis-research.toml +73 -0
- package/dist/templates/codex/config.toml +28 -0
- package/dist/templates/codex/hooks/session-start.py +575 -0
- package/dist/templates/codex/hooks.json +15 -0
- package/dist/templates/codex/index.d.ts +39 -0
- package/dist/templates/codex/index.d.ts.map +1 -0
- package/dist/templates/codex/index.js +85 -0
- package/dist/templates/codex/index.js.map +1 -0
- package/dist/templates/codex/skills/before-dev/SKILL.md +40 -0
- package/dist/templates/codex/skills/brainstorm/SKILL.md +112 -0
- package/dist/templates/codex/skills/break-loop/SKILL.md +130 -0
- package/dist/templates/codex/skills/check/SKILL.md +98 -0
- package/dist/templates/codex/skills/check-cross-layer/SKILL.md +158 -0
- package/dist/templates/codex/skills/create-command/SKILL.md +101 -0
- package/dist/templates/codex/skills/finish-work/SKILL.md +90 -0
- package/dist/templates/codex/skills/improve-ut/SKILL.md +69 -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 +66 -0
- package/dist/templates/codex/skills/update-spec/SKILL.md +335 -0
- package/dist/templates/common/bundled-skills/smart-search-cli/SKILL.md +388 -0
- package/dist/templates/common/bundled-skills/smart-search-cli/agents/openai.yaml +3 -0
- package/dist/templates/common/bundled-skills/smart-search-cli/examples/batch-search.md +98 -0
- package/dist/templates/common/bundled-skills/smart-search-cli/examples/evidence-gathering.md +89 -0
- package/dist/templates/common/bundled-skills/smart-search-cli/references/cli-contract.md +337 -0
- package/dist/templates/common/bundled-skills/trellis-cursor2plus-setup/SKILL.md +62 -0
- package/dist/templates/common/bundled-skills/trellis-meta/SKILL.md +73 -0
- package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/add-project-local-conventions.md +83 -0
- package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-agents.md +54 -0
- package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-context-loading.md +84 -0
- package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-hooks.md +57 -0
- package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-skills-or-commands.md +80 -0
- package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-spec-structure.md +83 -0
- package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-task-lifecycle.md +88 -0
- package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-workflow.md +65 -0
- package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/overview.md +55 -0
- package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/context-injection.md +68 -0
- package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/generated-files.md +80 -0
- package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/overview.md +51 -0
- package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/spec-system.md +102 -0
- package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/task-system.md +133 -0
- package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/workflow.md +75 -0
- package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/workspace-memory.md +71 -0
- package/dist/templates/common/bundled-skills/trellis-meta/references/platform-files/agents.md +80 -0
- package/dist/templates/common/bundled-skills/trellis-meta/references/platform-files/hooks-and-settings.md +69 -0
- package/dist/templates/common/bundled-skills/trellis-meta/references/platform-files/overview.md +61 -0
- package/dist/templates/common/bundled-skills/trellis-meta/references/platform-files/platform-map.md +76 -0
- package/dist/templates/common/bundled-skills/trellis-meta/references/platform-files/skills-and-commands.md +128 -0
- package/dist/templates/common/bundled-skills/trellis-micro-grill/SKILL.md +47 -0
- package/dist/templates/common/bundled-skills/trellis-skill-creator/SKILL.md +44 -0
- package/dist/templates/common/bundled-skills/trellis-skill-creator/references/authoring-rules.md +97 -0
- package/dist/templates/common/bundled-skills/trellis-skill-creator/references/review-checklist.md +47 -0
- package/dist/templates/common/bundled-skills/trellis-skill-creator/references/trellis-skill-locations.md +52 -0
- package/dist/templates/common/bundled-skills/trellis-spec-bootstrap/SKILL.md +41 -0
- package/dist/templates/common/bundled-skills/trellis-spec-bootstrap/references/mcp-setup.md +90 -0
- package/dist/templates/common/bundled-skills/trellis-spec-bootstrap/references/repository-analysis.md +59 -0
- package/dist/templates/common/bundled-skills/trellis-spec-bootstrap/references/spec-task-planning.md +61 -0
- package/dist/templates/common/bundled-skills/trellis-spec-bootstrap/references/spec-writing.md +70 -0
- package/dist/templates/common/commands/continue.md +63 -0
- package/dist/templates/common/commands/finish-work.md +68 -0
- package/dist/templates/common/commands/start.md +69 -0
- package/dist/templates/common/index.d.ts +48 -0
- package/dist/templates/common/index.d.ts.map +1 -0
- package/dist/templates/common/index.js +104 -0
- package/dist/templates/common/index.js.map +1 -0
- package/dist/templates/common/skills/before-dev.md +35 -0
- package/dist/templates/common/skills/brainstorm.md +164 -0
- package/dist/templates/common/skills/break-loop.md +125 -0
- package/dist/templates/common/skills/check.md +106 -0
- package/dist/templates/common/skills/update-spec.md +364 -0
- package/dist/templates/copilot/hooks/session-start.py +557 -0
- package/dist/templates/copilot/hooks.json +19 -0
- package/dist/templates/copilot/index.d.ts +23 -0
- package/dist/templates/copilot/index.d.ts.map +1 -0
- package/dist/templates/copilot/index.js +54 -0
- package/dist/templates/copilot/index.js.map +1 -0
- package/dist/templates/copilot/prompts/before-dev.prompt.md +39 -0
- package/dist/templates/copilot/prompts/brainstorm.prompt.md +111 -0
- package/dist/templates/copilot/prompts/break-loop.prompt.md +129 -0
- package/dist/templates/copilot/prompts/check-cross-layer.prompt.md +157 -0
- package/dist/templates/copilot/prompts/check.prompt.md +97 -0
- package/dist/templates/copilot/prompts/create-command.prompt.md +116 -0
- package/dist/templates/copilot/prompts/finish-work.prompt.md +99 -0
- package/dist/templates/copilot/prompts/integrate-skill.prompt.md +223 -0
- package/dist/templates/copilot/prompts/onboard.prompt.md +362 -0
- package/dist/templates/copilot/prompts/parallel.prompt.md +204 -0
- package/dist/templates/copilot/prompts/record-session.prompt.md +66 -0
- package/dist/templates/copilot/prompts/start.prompt.md +63 -0
- package/dist/templates/copilot/prompts/update-spec.prompt.md +358 -0
- package/dist/templates/cursor/agents/trellis-check.md +139 -0
- package/dist/templates/cursor/agents/trellis-implement.md +119 -0
- package/dist/templates/cursor/agents/trellis-research.md +147 -0
- package/dist/templates/cursor/commands/cursor2plus-setup.md +82 -0
- package/dist/templates/cursor/hooks.json +30 -0
- package/dist/templates/cursor/index.d.ts +19 -0
- package/dist/templates/cursor/index.d.ts.map +1 -0
- package/dist/templates/cursor/index.js +19 -0
- package/dist/templates/cursor/index.js.map +1 -0
- package/dist/templates/cursor/rules/trellis-triage.mdc +38 -0
- package/dist/templates/cursor/worktrees.json +11 -0
- package/dist/templates/droid/droids/trellis-check.md +107 -0
- package/dist/templates/droid/droids/trellis-implement.md +102 -0
- package/dist/templates/droid/droids/trellis-research.md +137 -0
- package/dist/templates/droid/index.d.ts +15 -0
- package/dist/templates/droid/index.d.ts.map +1 -0
- package/dist/templates/droid/index.js +15 -0
- package/dist/templates/droid/index.js.map +1 -0
- package/dist/templates/droid/settings.json +70 -0
- package/dist/templates/extract.d.ts +40 -0
- package/dist/templates/extract.d.ts.map +1 -0
- package/dist/templates/extract.js +106 -0
- package/dist/templates/extract.js.map +1 -0
- package/dist/templates/gemini/agents/trellis-check.md +107 -0
- package/dist/templates/gemini/agents/trellis-implement.md +102 -0
- package/dist/templates/gemini/agents/trellis-research.md +136 -0
- package/dist/templates/gemini/index.d.ts +13 -0
- package/dist/templates/gemini/index.d.ts.map +1 -0
- package/dist/templates/gemini/index.js +13 -0
- package/dist/templates/gemini/index.js.map +1 -0
- package/dist/templates/gemini/settings.json +28 -0
- package/dist/templates/kiro/agents/trellis-check.json +26 -0
- package/dist/templates/kiro/agents/trellis-implement.json +26 -0
- package/dist/templates/kiro/agents/trellis-research.json +30 -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 +18 -0
- package/dist/templates/kiro/index.js.map +1 -0
- package/dist/templates/markdown/agents.md +32 -0
- package/dist/templates/markdown/gitignore.txt +15 -0
- package/dist/templates/markdown/index.d.ts +30 -0
- package/dist/templates/markdown/index.d.ts.map +1 -0
- package/dist/templates/markdown/index.js +55 -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.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/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.txt +223 -0
- package/dist/templates/markdown/spec/guides/cross-layer-thinking-guide.md.txt +259 -0
- package/dist/templates/markdown/spec/guides/cross-platform-thinking-guide.md.txt +633 -0
- package/dist/templates/markdown/spec/guides/cursor-context-injection-guide.md.txt +65 -0
- package/dist/templates/markdown/spec/guides/cursor-subagent-policy.md.txt +382 -0
- package/dist/templates/markdown/spec/guides/durable-learning-decision-guide.md.txt +76 -0
- package/dist/templates/markdown/spec/guides/index.md.txt +101 -0
- package/dist/templates/markdown/spec/guides/retrieval-daily-guide.md.txt +92 -0
- package/dist/templates/markdown/workspace-index.md +125 -0
- package/dist/templates/markdown/worktree.yaml.txt +58 -0
- package/dist/templates/opencode/agents/trellis-check.md +122 -0
- package/dist/templates/opencode/agents/trellis-implement.md +118 -0
- package/dist/templates/opencode/agents/trellis-research.md +145 -0
- package/dist/templates/opencode/lib/session-utils.js +667 -0
- package/dist/templates/opencode/lib/trellis-context.js +336 -0
- package/dist/templates/opencode/package.json +5 -0
- package/dist/templates/opencode/plugins/inject-subagent-context.js +495 -0
- package/dist/templates/opencode/plugins/inject-workflow-state.js +159 -0
- package/dist/templates/opencode/plugins/session-start.js +101 -0
- package/dist/templates/pi/agents/trellis-check.md +37 -0
- package/dist/templates/pi/agents/trellis-implement.md +42 -0
- package/dist/templates/pi/agents/trellis-research.md +25 -0
- package/dist/templates/pi/extensions/trellis/index.ts.txt +1600 -0
- package/dist/templates/pi/index.d.ts +5 -0
- package/dist/templates/pi/index.d.ts.map +1 -0
- package/dist/templates/pi/index.js +12 -0
- package/dist/templates/pi/index.js.map +1 -0
- package/dist/templates/pi/settings.json +12 -0
- package/dist/templates/qoder/agents/trellis-check.md +108 -0
- package/dist/templates/qoder/agents/trellis-implement.md +103 -0
- package/dist/templates/qoder/agents/trellis-research.md +137 -0
- package/dist/templates/qoder/index.d.ts +15 -0
- package/dist/templates/qoder/index.d.ts.map +1 -0
- package/dist/templates/qoder/index.js +15 -0
- package/dist/templates/qoder/index.js.map +1 -0
- package/dist/templates/qoder/settings.json +47 -0
- package/dist/templates/shared-hooks/index.d.ts +50 -0
- package/dist/templates/shared-hooks/index.d.ts.map +1 -0
- package/dist/templates/shared-hooks/index.js +92 -0
- package/dist/templates/shared-hooks/index.js.map +1 -0
- package/dist/templates/shared-hooks/inject-shell-session-context.py +183 -0
- package/dist/templates/shared-hooks/inject-subagent-context.py +774 -0
- package/dist/templates/shared-hooks/inject-workflow-state.py +366 -0
- package/dist/templates/shared-hooks/research-end-retrieval-pack.py +220 -0
- package/dist/templates/shared-hooks/session-start.py +873 -0
- package/dist/templates/template-utils.d.ts +28 -0
- package/dist/templates/template-utils.d.ts.map +1 -0
- package/dist/templates/template-utils.js +83 -0
- package/dist/templates/template-utils.js.map +1 -0
- package/dist/templates/trellis/config.yaml +132 -0
- package/dist/templates/trellis/gitignore.txt +39 -0
- package/dist/templates/trellis/index.d.ts +80 -0
- package/dist/templates/trellis/index.d.ts.map +1 -0
- package/dist/templates/trellis/index.js +171 -0
- package/dist/templates/trellis/index.js.map +1 -0
- package/dist/templates/trellis/local/README.md +59 -0
- package/dist/templates/trellis/local/config.local.json.example +6 -0
- package/dist/templates/trellis/local/index.d.ts +7 -0
- package/dist/templates/trellis/local/index.d.ts.map +1 -0
- package/dist/templates/trellis/local/index.js +14 -0
- package/dist/templates/trellis/local/index.js.map +1 -0
- package/dist/templates/trellis/local/patch_wpelc8.py +297 -0
- package/dist/templates/trellis/local/subagent-models.json.example +4 -0
- package/dist/templates/trellis/local/trellis-task-models.json.example +10 -0
- package/dist/templates/trellis/local/trellis-task-models.json5.example +45 -0
- package/dist/templates/trellis/local/trellis_task_models_config.py +200 -0
- package/dist/templates/trellis/scripts/__init__.py +5 -0
- package/dist/templates/trellis/scripts/add_session.py +547 -0
- package/dist/templates/trellis/scripts/build_context_pack.py +12 -0
- package/dist/templates/trellis/scripts/build_retrieval_pack.py +12 -0
- package/dist/templates/trellis/scripts/common/__init__.py +103 -0
- package/dist/templates/trellis/scripts/common/active_task.py +607 -0
- package/dist/templates/trellis/scripts/common/artifact_search.py +587 -0
- package/dist/templates/trellis/scripts/common/cli_adapter.py +811 -0
- package/dist/templates/trellis/scripts/common/cli_environment.py +155 -0
- package/dist/templates/trellis/scripts/common/codebase_retrieval_router.py +902 -0
- package/dist/templates/trellis/scripts/common/config.py +458 -0
- package/dist/templates/trellis/scripts/common/context_pack.py +371 -0
- package/dist/templates/trellis/scripts/common/developer.py +190 -0
- package/dist/templates/trellis/scripts/common/git.py +31 -0
- package/dist/templates/trellis/scripts/common/git_context.py +149 -0
- package/dist/templates/trellis/scripts/common/io.py +37 -0
- package/dist/templates/trellis/scripts/common/log.py +45 -0
- package/dist/templates/trellis/scripts/common/packages_context.py +239 -0
- package/dist/templates/trellis/scripts/common/parent_orchestration.py +691 -0
- package/dist/templates/trellis/scripts/common/paths.py +457 -0
- package/dist/templates/trellis/scripts/common/retrieval_adapter_metadata.py +889 -0
- package/dist/templates/trellis/scripts/common/retrieval_evidence.py +917 -0
- package/dist/templates/trellis/scripts/common/retrieval_pack.py +425 -0
- package/dist/templates/trellis/scripts/common/retrieval_pack_context.py +126 -0
- package/dist/templates/trellis/scripts/common/safe_commit.py +285 -0
- package/dist/templates/trellis/scripts/common/session_context.py +1159 -0
- package/dist/templates/trellis/scripts/common/session_memory.py +360 -0
- package/dist/templates/trellis/scripts/common/smart_search_evidence.py +479 -0
- package/dist/templates/trellis/scripts/common/smart_search_resolve.py +125 -0
- package/dist/templates/trellis/scripts/common/task_context.py +223 -0
- package/dist/templates/trellis/scripts/common/task_dashboard.py +140 -0
- package/dist/templates/trellis/scripts/common/task_gates.py +1735 -0
- package/dist/templates/trellis/scripts/common/task_map.py +586 -0
- package/dist/templates/trellis/scripts/common/task_queue.py +188 -0
- package/dist/templates/trellis/scripts/common/task_store.py +1533 -0
- package/dist/templates/trellis/scripts/common/task_utils.py +274 -0
- package/dist/templates/trellis/scripts/common/tasks.py +231 -0
- package/dist/templates/trellis/scripts/common/test_retrieval_arbitration.py +333 -0
- package/dist/templates/trellis/scripts/common/trellis_config.py +131 -0
- package/dist/templates/trellis/scripts/common/types.py +110 -0
- package/dist/templates/trellis/scripts/common/workflow_phase.py +212 -0
- package/dist/templates/trellis/scripts/get_context.py +17 -0
- package/dist/templates/trellis/scripts/get_developer.py +26 -0
- package/dist/templates/trellis/scripts/hooks/linear_sync.py +243 -0
- package/dist/templates/trellis/scripts/init_developer.py +51 -0
- package/dist/templates/trellis/scripts/route_codebase_retrieval.py +77 -0
- package/dist/templates/trellis/scripts/run_smart_search.py +12 -0
- package/dist/templates/trellis/scripts/search_artifacts.py +13 -0
- package/dist/templates/trellis/scripts/search_memory.py +12 -0
- package/dist/templates/trellis/scripts/task.py +851 -0
- package/dist/templates/trellis/tasks/.gitkeep +0 -0
- package/dist/templates/trellis/tasks/templates/release-execution/design.md +61 -0
- package/dist/templates/trellis/tasks/templates/release-execution/handoff-template.md +29 -0
- package/dist/templates/trellis/tasks/templates/release-execution/implement.md +29 -0
- package/dist/templates/trellis/tasks/templates/release-execution/prd.md +31 -0
- package/dist/templates/trellis/tasks/templates/release-readiness/design.md +50 -0
- package/dist/templates/trellis/tasks/templates/release-readiness/handoff-template.md +39 -0
- package/dist/templates/trellis/tasks/templates/release-readiness/implement.md +29 -0
- package/dist/templates/trellis/tasks/templates/release-readiness/prd.md +31 -0
- package/dist/templates/trellis/workflow.md +960 -0
- package/dist/types/ai-tools.d.ts +106 -0
- package/dist/types/ai-tools.d.ts.map +1 -0
- package/dist/types/ai-tools.js +294 -0
- package/dist/types/ai-tools.js.map +1 -0
- package/dist/types/migration.d.ts +125 -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/codebase-retrieval-router.d.ts +77 -0
- package/dist/utils/codebase-retrieval-router.d.ts.map +1 -0
- package/dist/utils/codebase-retrieval-router.js +767 -0
- package/dist/utils/codebase-retrieval-router.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 +86 -0
- package/dist/utils/compare-versions.js.map +1 -0
- package/dist/utils/cwd-guard.d.ts +38 -0
- package/dist/utils/cwd-guard.d.ts.map +1 -0
- package/dist/utils/cwd-guard.js +62 -0
- package/dist/utils/cwd-guard.js.map +1 -0
- package/dist/utils/file-writer.d.ts +36 -0
- package/dist/utils/file-writer.d.ts.map +1 -0
- package/dist/utils/file-writer.js +203 -0
- package/dist/utils/file-writer.js.map +1 -0
- package/dist/utils/manifest-prune.d.ts +61 -0
- package/dist/utils/manifest-prune.d.ts.map +1 -0
- package/dist/utils/manifest-prune.js +136 -0
- package/dist/utils/manifest-prune.js.map +1 -0
- package/dist/utils/posix.d.ts +13 -0
- package/dist/utils/posix.d.ts.map +1 -0
- package/dist/utils/posix.js +15 -0
- package/dist/utils/posix.js.map +1 -0
- package/dist/utils/post-update-smoke.d.ts +7 -0
- package/dist/utils/post-update-smoke.d.ts.map +1 -0
- package/dist/utils/post-update-smoke.js +40 -0
- package/dist/utils/post-update-smoke.js.map +1 -0
- package/dist/utils/project-capabilities.d.ts +54 -0
- package/dist/utils/project-capabilities.d.ts.map +1 -0
- package/dist/utils/project-capabilities.js +515 -0
- package/dist/utils/project-capabilities.js.map +1 -0
- package/dist/utils/project-detector.d.ts +46 -0
- package/dist/utils/project-detector.d.ts.map +1 -0
- package/dist/utils/project-detector.js +666 -0
- package/dist/utils/project-detector.js.map +1 -0
- package/dist/utils/proxy.d.ts +25 -0
- package/dist/utils/proxy.d.ts.map +1 -0
- package/dist/utils/proxy.js +60 -0
- package/dist/utils/proxy.js.map +1 -0
- package/dist/utils/readiness.d.ts +20 -0
- package/dist/utils/readiness.d.ts.map +1 -0
- package/dist/utils/readiness.js +430 -0
- package/dist/utils/readiness.js.map +1 -0
- package/dist/utils/retrieval-execution-telemetry.d.ts +162 -0
- package/dist/utils/retrieval-execution-telemetry.d.ts.map +1 -0
- package/dist/utils/retrieval-execution-telemetry.js +288 -0
- package/dist/utils/retrieval-execution-telemetry.js.map +1 -0
- package/dist/utils/retrieval-result-ranking.d.ts +40 -0
- package/dist/utils/retrieval-result-ranking.d.ts.map +1 -0
- package/dist/utils/retrieval-result-ranking.js +162 -0
- package/dist/utils/retrieval-result-ranking.js.map +1 -0
- package/dist/utils/task-json.d.ts +13 -0
- package/dist/utils/task-json.d.ts.map +1 -0
- package/dist/utils/task-json.js +12 -0
- package/dist/utils/task-json.js.map +1 -0
- package/dist/utils/template-fetcher.d.ts +150 -0
- package/dist/utils/template-fetcher.d.ts.map +1 -0
- package/dist/utils/template-fetcher.js +907 -0
- package/dist/utils/template-fetcher.js.map +1 -0
- package/dist/utils/template-hash.d.ts +123 -0
- package/dist/utils/template-hash.d.ts.map +1 -0
- package/dist/utils/template-hash.js +334 -0
- package/dist/utils/template-hash.js.map +1 -0
- package/dist/utils/uninstall-scrubbers.d.ts +66 -0
- package/dist/utils/uninstall-scrubbers.d.ts.map +1 -0
- package/dist/utils/uninstall-scrubbers.js +342 -0
- package/dist/utils/uninstall-scrubbers.js.map +1 -0
- package/dist/utils/update-rollout-report.d.ts +137 -0
- package/dist/utils/update-rollout-report.d.ts.map +1 -0
- package/dist/utils/update-rollout-report.js +108 -0
- package/dist/utils/update-rollout-report.js.map +1 -0
- package/dist/utils/workflow-resolver.d.ts +86 -0
- package/dist/utils/workflow-resolver.d.ts.map +1 -0
- package/dist/utils/workflow-resolver.js +265 -0
- package/dist/utils/workflow-resolver.js.map +1 -0
- package/package.json +137 -0
- package/scripts/postinstall.js +45 -0
- package/vendor/smart-search/LICENSE +21 -0
- package/vendor/smart-search/README.md +412 -0
- package/vendor/smart-search/README.zh-CN.md +430 -0
- package/vendor/smart-search/npm/bin/smart-search.js +63 -0
- package/vendor/smart-search/npm/scripts/postinstall.js +87 -0
- package/vendor/smart-search/npm/scripts/resolve-prerelease-version.js +108 -0
- package/vendor/smart-search/npm/scripts/set-package-version.js +35 -0
- package/vendor/smart-search/npm/scripts/sync-python-version.js +22 -0
- package/vendor/smart-search/npm/scripts/test-wrapper-repair.js +99 -0
- package/vendor/smart-search/npm/scripts/test.js +85 -0
- package/vendor/smart-search/package.json +42 -0
- package/vendor/smart-search/pyproject.toml +37 -0
- package/vendor/smart-search/skills/smart-search-cli/SKILL.md +387 -0
- package/vendor/smart-search/skills/smart-search-cli/agents/openai.yaml +3 -0
- package/vendor/smart-search/skills/smart-search-cli/examples/batch-search.md +98 -0
- package/vendor/smart-search/skills/smart-search-cli/examples/evidence-gathering.md +89 -0
- package/vendor/smart-search/skills/smart-search-cli/references/cli-contract.md +337 -0
- package/vendor/smart-search/src/smart_search/__init__.py +1 -0
- package/vendor/smart-search/src/smart_search/assets/skills/smart-search-cli/SKILL.md +387 -0
- package/vendor/smart-search/src/smart_search/assets/skills/smart-search-cli/agents/openai.yaml +3 -0
- package/vendor/smart-search/src/smart_search/assets/skills/smart-search-cli/examples/batch-search.md +98 -0
- package/vendor/smart-search/src/smart_search/assets/skills/smart-search-cli/examples/evidence-gathering.md +89 -0
- package/vendor/smart-search/src/smart_search/assets/skills/smart-search-cli/references/cli-contract.md +337 -0
- package/vendor/smart-search/src/smart_search/cli.py +2003 -0
- package/vendor/smart-search/src/smart_search/config.py +580 -0
- package/vendor/smart-search/src/smart_search/logger.py +43 -0
- package/vendor/smart-search/src/smart_search/providers/__init__.py +16 -0
- package/vendor/smart-search/src/smart_search/providers/base.py +41 -0
- package/vendor/smart-search/src/smart_search/providers/context7.py +141 -0
- package/vendor/smart-search/src/smart_search/providers/exa.py +206 -0
- package/vendor/smart-search/src/smart_search/providers/jina.py +136 -0
- package/vendor/smart-search/src/smart_search/providers/openai_compatible.py +370 -0
- package/vendor/smart-search/src/smart_search/providers/zhipu.py +143 -0
- package/vendor/smart-search/src/smart_search/service.py +2865 -0
- package/vendor/smart-search/src/smart_search/sources.py +429 -0
- package/vendor/smart-search/src/smart_search/utils.py +220 -0
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: trellis-check
|
|
3
|
+
description: Trellis quality check agent. Use this exact agent for Trellis task verification, check.jsonl context injection, and self-fixing code review. Do not use generic/default/generalPurpose agents for Trellis checks.
|
|
4
|
+
tools: Read, Write, Edit, Bash, Glob, Grep, mcp__exa__web_search_exa, mcp__exa__get_code_context_exa
|
|
5
|
+
---
|
|
6
|
+
# Check Agent
|
|
7
|
+
|
|
8
|
+
You are the Check Agent in the Trellis workflow.
|
|
9
|
+
|
|
10
|
+
## Model policy
|
|
11
|
+
|
|
12
|
+
- **Default:** no `model:` → **inherit** parent session.
|
|
13
|
+
- **Per dispatch:** main session asks user → one-shot `model:` overlay → `Task` → restore (architecture review uses the same flow). See `.trellis/spec/guides/cursor-subagent-policy.md`.
|
|
14
|
+
|
|
15
|
+
## Recursion Guard
|
|
16
|
+
|
|
17
|
+
You are already the `trellis-check` sub-agent that the main session dispatched. Do the review and fixes directly.
|
|
18
|
+
|
|
19
|
+
- Do NOT spawn another `trellis-check` or `trellis-implement` sub-agent.
|
|
20
|
+
- If SessionStart context, workflow-state breadcrumbs, or workflow.md say to dispatch `trellis-implement` / `trellis-check`, treat that as a main-session instruction that is already satisfied by your current role.
|
|
21
|
+
- Only the main session may dispatch Trellis implement/check agents. If more implementation work is needed, report that recommendation instead of spawning.
|
|
22
|
+
|
|
23
|
+
## Trellis Context Loading Protocol
|
|
24
|
+
|
|
25
|
+
Look for the `<!-- trellis-hook-injected -->` marker in your input above.
|
|
26
|
+
|
|
27
|
+
- **If the marker is present**: task artifacts, spec, and research files have already been auto-loaded for you above. Proceed with the check work directly.
|
|
28
|
+
- **If the marker is absent**: hook injection didn't fire (Windows + Claude Code, `--continue` resume, fork distribution, hooks disabled, etc.). Find the selected task path from your dispatch prompt's first line `Selected task: <path>`, then Read `<task-path>/check.jsonl`, each listed file, `<task-path>/prd.md`, `<task-path>/design.md` if present, and `<task-path>/implement.md` if present before doing the work.
|
|
29
|
+
|
|
30
|
+
## Dispatch contract (Parent / inline)
|
|
31
|
+
|
|
32
|
+
- Only the **main session or Parent** dispatches this agent; Child workers must not re-spawn Trellis sub-agents.
|
|
33
|
+
- **Inline** (`in_progress-inline`): main session uses the `trellis-check` **skill** instead of spawning this agent unless a dedicated review pass is needed.
|
|
34
|
+
- Align with the `trellis-check` skill: `get_context.py --mode packages`, spec indexes, cross-layer checks; you may fix issues and record gates — do not redefine Parent `task-map` or gate semantics.
|
|
35
|
+
|
|
36
|
+
## Context
|
|
37
|
+
|
|
38
|
+
Before checking, read:
|
|
39
|
+
- `.trellis/spec/` - Development guidelines
|
|
40
|
+
- Task `prd.md` - Requirements document
|
|
41
|
+
- Task `design.md` - Technical design (if exists)
|
|
42
|
+
- Task `implement.md` - Execution plan (if exists)
|
|
43
|
+
- Pre-commit checklist for quality standards
|
|
44
|
+
|
|
45
|
+
## Core Responsibilities
|
|
46
|
+
|
|
47
|
+
1. **Get code changes** - Use git diff to get uncommitted code
|
|
48
|
+
2. **Review task artifacts** - Check changes against prd.md, design.md if present, and implement.md if present
|
|
49
|
+
3. **Check against specs** - Verify code follows guidelines
|
|
50
|
+
4. **Self-fix** - Fix issues yourself, not just report them
|
|
51
|
+
5. **Run verification** - typecheck and lint
|
|
52
|
+
|
|
53
|
+
## Quality Gate Adapter
|
|
54
|
+
|
|
55
|
+
- Reviewer id: `cursor`.
|
|
56
|
+
- When `implement.md` quality_gates requires a reviewer gate for the current transition, write human-readable evidence in `verify.md` before recording the machine-checkable gate result. Parent/Child integration evidence may also belong in Parent `task-map.md`.
|
|
57
|
+
- Record non-baseline gates with `python ./.trellis/scripts/task.py record-gate <task> --transition <transition> --gate <gate> --result PASS --reviewer cursor --evidence verify.md`.
|
|
58
|
+
- For FAIL, add `--root-cause implementation-defect|contract-changing-defect|validation-environment-blocker` and `--issue-fingerprint <short-stable-id>`. Route implementation defects back to Execution, contract-changing defects to Planning, and validation blockers to Verification / Review.
|
|
59
|
+
- For SKIPPED, use only explicit user approval: `--skip-approved-by user --skip-reason <reason>`.
|
|
60
|
+
- Never record `baseline-check`; the CLI owns it. Do not pass review bodies, logs, screenshots, or long issue lists through `record-gate` arguments.
|
|
61
|
+
|
|
62
|
+
## Important
|
|
63
|
+
|
|
64
|
+
**Fix issues yourself**, don't just report them.
|
|
65
|
+
|
|
66
|
+
You have write and edit tools, you can modify code directly.
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## Workflow
|
|
71
|
+
|
|
72
|
+
### Step 1: Get Changes
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
git diff --name-only # List changed files
|
|
76
|
+
git diff # View specific changes
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### Step 2: Check Against Specs and Task Artifacts
|
|
80
|
+
|
|
81
|
+
Read the task's prd.md, design.md if present, and implement.md if present, then read relevant specs in `.trellis/spec/` to check code:
|
|
82
|
+
|
|
83
|
+
- Does it satisfy the task requirements
|
|
84
|
+
- Does it follow the technical design and implementation plan when present
|
|
85
|
+
- Does it follow directory structure conventions
|
|
86
|
+
- Does it follow naming conventions
|
|
87
|
+
- Does it follow code patterns
|
|
88
|
+
- Are there missing types
|
|
89
|
+
- Are there potential bugs
|
|
90
|
+
|
|
91
|
+
### Step 3: Self-Fix
|
|
92
|
+
|
|
93
|
+
After finding issues:
|
|
94
|
+
|
|
95
|
+
1. Fix the issue directly (use edit tool)
|
|
96
|
+
2. Record what was fixed
|
|
97
|
+
3. Continue checking other issues
|
|
98
|
+
|
|
99
|
+
### Step 4: Run Verification
|
|
100
|
+
|
|
101
|
+
Run project's lint and typecheck commands to verify changes.
|
|
102
|
+
|
|
103
|
+
If failed, fix issues and re-run.
|
|
104
|
+
|
|
105
|
+
### Retrieval evidence (when task used research / smart-search / optional pack)
|
|
106
|
+
|
|
107
|
+
- [ ] **`verify.md` lists unresolved retrieval gaps** (unverified external facts, missing `research/` or `research/smart-search/` evidence, claims without source/Git/test proof)
|
|
108
|
+
- [ ] If `{TASK}/research/retrieval-pack-latest.json` exists (research-end hook), cite top ranked items or document gaps in `verify.md`
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
## Report Format
|
|
113
|
+
|
|
114
|
+
```markdown
|
|
115
|
+
## Self-Check Complete
|
|
116
|
+
|
|
117
|
+
### Files Checked
|
|
118
|
+
|
|
119
|
+
- src/components/Feature.tsx
|
|
120
|
+
- src/hooks/useFeature.ts
|
|
121
|
+
|
|
122
|
+
### Issues Found and Fixed
|
|
123
|
+
|
|
124
|
+
1. `<file>:<line>` - <what was fixed>
|
|
125
|
+
2. `<file>:<line>` - <what was fixed>
|
|
126
|
+
|
|
127
|
+
### Issues Not Fixed
|
|
128
|
+
|
|
129
|
+
(If there are issues that cannot be self-fixed, list them here with reasons)
|
|
130
|
+
|
|
131
|
+
### Verification Results
|
|
132
|
+
|
|
133
|
+
- TypeCheck: Passed
|
|
134
|
+
- Lint: Passed
|
|
135
|
+
|
|
136
|
+
### Summary
|
|
137
|
+
|
|
138
|
+
Checked X files, found Y issues, all fixed.
|
|
139
|
+
```
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: trellis-implement
|
|
3
|
+
description: Trellis implementation agent. Use this exact agent for Trellis task implementation, implement.jsonl context injection, and hook-injection tests. Do not use generic/default/generalPurpose agents for Trellis implementation. No git commit allowed.
|
|
4
|
+
tools: Read, Write, Edit, Bash, Glob, Grep, mcp__exa__web_search_exa, mcp__exa__get_code_context_exa
|
|
5
|
+
---
|
|
6
|
+
# Implement Agent
|
|
7
|
+
|
|
8
|
+
You are the Implement Agent in the Trellis workflow.
|
|
9
|
+
|
|
10
|
+
## Model policy
|
|
11
|
+
|
|
12
|
+
- **Default:** no `model:` → **inherit** parent session.
|
|
13
|
+
- **Per dispatch / Child worker:** main session asks user → one-shot `model:` overlay on this file → `Task` → restore. Child session uses the same overlay pattern on `trellis-implement`. See `.trellis/spec/guides/cursor-subagent-policy.md`.
|
|
14
|
+
|
|
15
|
+
## Recursion Guard
|
|
16
|
+
|
|
17
|
+
You are already the `trellis-implement` sub-agent that the main session dispatched. Do the implementation work directly.
|
|
18
|
+
|
|
19
|
+
- Do NOT spawn another `trellis-implement` or `trellis-check` sub-agent.
|
|
20
|
+
- If SessionStart context, workflow-state breadcrumbs, or workflow.md say to dispatch `trellis-implement` / `trellis-check`, treat that as a main-session instruction that is already satisfied by your current role.
|
|
21
|
+
- Only the main session may dispatch Trellis implement/check agents. If more parallel work is needed, report that recommendation instead of spawning.
|
|
22
|
+
|
|
23
|
+
## Trellis Context Loading Protocol
|
|
24
|
+
|
|
25
|
+
Look for the `<!-- trellis-hook-injected -->` marker in your input above.
|
|
26
|
+
|
|
27
|
+
- **If the marker is present**: prd / spec / research files have already been auto-loaded for you above. Proceed with the implementation work directly.
|
|
28
|
+
- **If the marker is absent**: hook injection didn't fire (Windows + Claude Code, `--continue` resume, fork distribution, hooks disabled, `/multitask` parallel dispatch, etc.). Find the selected task path from your dispatch prompt's first line `Selected task: <path>`, then Read `<task-path>/implement.jsonl`, each listed file, `<task-path>/prd.md`, `<task-path>/design.md` if present, and `<task-path>/implement.md` if present before doing the work.
|
|
29
|
+
|
|
30
|
+
## Dispatch contract (Parent / Child)
|
|
31
|
+
|
|
32
|
+
- Parent or main session dispatches implement work; **Child tasks** deliver `verify.md` + `handoff.md` and must not change shared gate contracts.
|
|
33
|
+
- Do not spawn nested `trellis-implement` / `trellis-check`; recommend a Parent review when check is needed.
|
|
34
|
+
|
|
35
|
+
## Context
|
|
36
|
+
|
|
37
|
+
Before implementing, read:
|
|
38
|
+
- `.trellis/workflow.md` - Project workflow
|
|
39
|
+
- `.trellis/spec/` - Development guidelines
|
|
40
|
+
- Task `prd.md` - Requirements document
|
|
41
|
+
- Task `design.md` - Technical design (if exists)
|
|
42
|
+
- Task `implement.md` - Execution plan (if exists)
|
|
43
|
+
|
|
44
|
+
## Core Responsibilities
|
|
45
|
+
|
|
46
|
+
1. **Understand specs** - Read relevant spec files in `.trellis/spec/`
|
|
47
|
+
2. **Understand task artifacts** - Read prd.md, design.md if present, and implement.md if present
|
|
48
|
+
3. **Implement features** - Write code following specs and task artifacts
|
|
49
|
+
4. **Self-check** - Ensure code quality
|
|
50
|
+
5. **Report results** - Report completion status
|
|
51
|
+
|
|
52
|
+
## Forbidden Operations
|
|
53
|
+
|
|
54
|
+
**Do NOT execute these git commands:**
|
|
55
|
+
|
|
56
|
+
- `git commit`
|
|
57
|
+
- `git push`
|
|
58
|
+
- `git merge`
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## Workflow
|
|
63
|
+
|
|
64
|
+
### 1. Understand Specs
|
|
65
|
+
|
|
66
|
+
Read relevant specs based on task type:
|
|
67
|
+
|
|
68
|
+
- Spec layers: `.trellis/spec/<package>/<layer>/`
|
|
69
|
+
- Shared guides: `.trellis/spec/guides/`
|
|
70
|
+
|
|
71
|
+
### 2. Understand Requirements
|
|
72
|
+
|
|
73
|
+
Read the task's prd.md, design.md if present, and implement.md if present:
|
|
74
|
+
|
|
75
|
+
- What are the core requirements
|
|
76
|
+
- Key points of technical design
|
|
77
|
+
- Implementation order, validation commands, and rollback points
|
|
78
|
+
|
|
79
|
+
### 3. Implement Features
|
|
80
|
+
|
|
81
|
+
- Write code following specs and task artifacts
|
|
82
|
+
- Follow existing code patterns
|
|
83
|
+
- Only do what's required, no over-engineering
|
|
84
|
+
|
|
85
|
+
### 4. Verify
|
|
86
|
+
|
|
87
|
+
Run project's lint and typecheck commands to verify changes.
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## Report Format
|
|
92
|
+
|
|
93
|
+
```markdown
|
|
94
|
+
## Implementation Complete
|
|
95
|
+
|
|
96
|
+
### Files Modified
|
|
97
|
+
|
|
98
|
+
- `src/components/Feature.tsx` - New component
|
|
99
|
+
- `src/hooks/useFeature.ts` - New hook
|
|
100
|
+
|
|
101
|
+
### Implementation Summary
|
|
102
|
+
|
|
103
|
+
1. Created Feature component...
|
|
104
|
+
2. Added useFeature hook...
|
|
105
|
+
|
|
106
|
+
### Verification Results
|
|
107
|
+
|
|
108
|
+
- Lint: Passed
|
|
109
|
+
- TypeCheck: Passed
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
## Code Standards
|
|
115
|
+
|
|
116
|
+
- Follow existing code patterns
|
|
117
|
+
- Don't add unnecessary abstractions
|
|
118
|
+
- Only do what's required, no over-engineering
|
|
119
|
+
- Keep code readable
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: trellis-research
|
|
3
|
+
description: Trellis research agent. Use this exact agent for Trellis task research and research/ persistence. Do not use generic/default/generalPurpose agents for Trellis research.
|
|
4
|
+
tools: Read, Write, Glob, Grep, Bash, WebSearch, WebFetch, mcp__exa__web_search_exa, mcp__exa__get_code_context_exa, Skill, mcp__chrome-devtools__*
|
|
5
|
+
---
|
|
6
|
+
# Research Agent
|
|
7
|
+
|
|
8
|
+
You are the Research Agent in the Trellis workflow.
|
|
9
|
+
|
|
10
|
+
## Model policy
|
|
11
|
+
|
|
12
|
+
- **Default:** no `model:` in this file → **inherit** parent session at spawn.
|
|
13
|
+
- **Per dispatch:** main session asks the user, writes a **one-shot** `model:` here, runs `Task`, then **removes** `model:` (ephemeral overlay). See `.trellis/spec/guides/cursor-subagent-policy.md`.
|
|
14
|
+
- Dispatch: Cursor **Agent mode** (writable).
|
|
15
|
+
|
|
16
|
+
## Core Principle
|
|
17
|
+
|
|
18
|
+
**You do one thing: find, explain, and PERSIST information.**
|
|
19
|
+
|
|
20
|
+
Conversations get compacted; files don't. Every research output MUST end up as a file under `{TASK_DIR}/research/`. Returning findings only through the chat reply is a failure — the caller cannot read them next session.
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Dispatch contract
|
|
25
|
+
|
|
26
|
+
- Parent may assign research per Child; persist all output under `{TASK_DIR}/research/`.
|
|
27
|
+
- **External** facts: load `smart-search-cli` skill and use Bash. **Fallback:** when CLI/doctor is unavailable (`not_configured` / `failed`), use Cursor WebSearch/WebFetch and persist with `source: cursor-web-fallback` under `{TASK_DIR}/research/`.
|
|
28
|
+
|
|
29
|
+
## Core Responsibilities
|
|
30
|
+
|
|
31
|
+
1. **Internal Search** — locate files/components, understand code logic, discover patterns (Glob, Grep, Read)
|
|
32
|
+
2. **External Search** — **`smart-search-cli` + Bash** first; Cursor web tools only on documented fallback (see skill §4b)
|
|
33
|
+
3. **Persist** — write each research topic to `{TASK_DIR}/research/<topic>.md`
|
|
34
|
+
4. **Report** — return file paths + one-line summaries to the main agent (not full content)
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## Workflow
|
|
39
|
+
|
|
40
|
+
### Step 1: Resolve Selected Task
|
|
41
|
+
|
|
42
|
+
Run `python ./.trellis/scripts/task.py selected --source` → selected task path. If no task is selected, ask the user where to write output; do NOT guess.
|
|
43
|
+
|
|
44
|
+
Ensure `{TASK_DIR}/research/` exists:
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
mkdir -p <TASK_DIR>/research
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### Step 2: Understand Search Request
|
|
51
|
+
|
|
52
|
+
Classify: internal / external / mixed. Determine scope (global / specific directory) and expected shape (file list / pattern notes / tech comparison).
|
|
53
|
+
|
|
54
|
+
### Step 3: Execute Search
|
|
55
|
+
|
|
56
|
+
Run independent searches in parallel (Glob + Grep + smart-search CLI for external topics) for efficiency.
|
|
57
|
+
|
|
58
|
+
### Step 4: Persist Each Topic
|
|
59
|
+
|
|
60
|
+
For each distinct research topic, Write a markdown file at `{TASK_DIR}/research/<topic-slug>.md`. Use the File Format below.
|
|
61
|
+
|
|
62
|
+
### Step 5: Report to Main Agent
|
|
63
|
+
|
|
64
|
+
Reply with ONLY:
|
|
65
|
+
|
|
66
|
+
- List of files written (paths relative to repo root)
|
|
67
|
+
- One-line summary per file
|
|
68
|
+
- Any critical caveats that the main agent needs to know right now
|
|
69
|
+
|
|
70
|
+
Do NOT paste full research content into the reply. The files are the contract.
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## Scope Limits (Strict)
|
|
75
|
+
|
|
76
|
+
### Write ALLOWED
|
|
77
|
+
|
|
78
|
+
- `{TASK_DIR}/research/*.md` — your own output
|
|
79
|
+
- Creating `{TASK_DIR}/research/` if it doesn't exist (via `mkdir -p`)
|
|
80
|
+
|
|
81
|
+
### Write FORBIDDEN
|
|
82
|
+
|
|
83
|
+
- Code files (`src/`, `lib/`, …)
|
|
84
|
+
- Spec files (`.trellis/spec/`) — main agent should use `update-spec` skill instead
|
|
85
|
+
- `.trellis/scripts/`, `.trellis/workflow.md`, platform config (`.claude/`, `.cursor/`, etc.)
|
|
86
|
+
- Other task directories
|
|
87
|
+
- Any git operation (commit / push / branch / merge)
|
|
88
|
+
|
|
89
|
+
If the user asks you to edit code, decline and suggest spawning `implement` instead.
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## File Format
|
|
94
|
+
|
|
95
|
+
Each `{TASK_DIR}/research/<topic>.md` should follow:
|
|
96
|
+
|
|
97
|
+
```markdown
|
|
98
|
+
# Research: <topic>
|
|
99
|
+
|
|
100
|
+
- **Query**: <original query>
|
|
101
|
+
- **Scope**: <internal / external / mixed>
|
|
102
|
+
- **Date**: <YYYY-MM-DD>
|
|
103
|
+
|
|
104
|
+
## Findings
|
|
105
|
+
|
|
106
|
+
### Files Found
|
|
107
|
+
|
|
108
|
+
| File Path | Description |
|
|
109
|
+
|---|---|
|
|
110
|
+
| `src/services/xxx.ts` | Main implementation |
|
|
111
|
+
| `src/types/xxx.ts` | Type definitions |
|
|
112
|
+
|
|
113
|
+
### Code Patterns
|
|
114
|
+
|
|
115
|
+
<describe patterns, cite file:line>
|
|
116
|
+
|
|
117
|
+
### External References
|
|
118
|
+
|
|
119
|
+
- [Library X docs](url) — <why relevant, version constraints>
|
|
120
|
+
|
|
121
|
+
### Related Specs
|
|
122
|
+
|
|
123
|
+
- `.trellis/spec/xxx.md` — <description>
|
|
124
|
+
|
|
125
|
+
## Caveats / Not Found
|
|
126
|
+
|
|
127
|
+
<anything incomplete or uncertain>
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
## Guidelines
|
|
133
|
+
|
|
134
|
+
### DO
|
|
135
|
+
|
|
136
|
+
- Provide specific file paths and line numbers
|
|
137
|
+
- Quote actual code snippets
|
|
138
|
+
- Persist every topic to its own file
|
|
139
|
+
- Return file paths in your reply, not the full content
|
|
140
|
+
- Mark "not found" explicitly when searches come up empty
|
|
141
|
+
|
|
142
|
+
### DON'T
|
|
143
|
+
|
|
144
|
+
- Don't write code or modify files outside `{TASK_DIR}/research/`
|
|
145
|
+
- Don't guess uncertain info
|
|
146
|
+
- Don't paste full research text into the reply (files are the deliverable)
|
|
147
|
+
- Don't propose improvements or critique implementation (that's not your role)
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# Trellis Cursor++ Subagent Model Setup
|
|
2
|
+
|
|
3
|
+
Configure per-subagent-type model routing for Cursor++ BYOK. Run this after `trellis init` (when Cursor++ is selected), when providers change, or whenever you want to re-map which model each Trellis Task subagent uses.
|
|
4
|
+
|
|
5
|
+
Native Cursor API (no Cursor++): stop — this does not apply; agent frontmatter `model:` works natively.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Step 1: Verify Cursor++ is configured
|
|
10
|
+
|
|
11
|
+
Confirm the Cursor++ data directory exists:
|
|
12
|
+
|
|
13
|
+
- `~/.ccursor/providers.json` (or a custom path in `.trellis/local/cursor2plus/config.local.json`)
|
|
14
|
+
|
|
15
|
+
If missing, Cursor++ is not set up — ask the user to install/configure it first.
|
|
16
|
+
|
|
17
|
+
## Step 2: List available models + roles
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
python ./.trellis/local/cursor2plus/patch_wpelc8.py --list-models
|
|
21
|
+
python ./.trellis/local/cursor2plus/patch_wpelc8.py --explain
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
`--list-models` shows the model catalog (apiModel / displayName / slug / provider) from `providers.json`.
|
|
25
|
+
`--explain` lists the subagent types you can route:
|
|
26
|
+
|
|
27
|
+
- `trellis-research`, `trellis-implement`, `trellis-check` (core Trellis roles)
|
|
28
|
+
- `generalPurpose`, `shell`, `best-of-n-runner` (built-in Cursor Task types, optional)
|
|
29
|
+
|
|
30
|
+
## Step 3: Ask the user which model per role
|
|
31
|
+
|
|
32
|
+
Ask the user (one role at a time, or a single table) which **apiModel/displayName** they want for each subagent type they use. For each, also ask a **fallback** (recommended: a second choice from `--list-models`).
|
|
33
|
+
|
|
34
|
+
The user may skip types they don't use — omit those from the map.
|
|
35
|
+
|
|
36
|
+
## Step 4: Write the routing map
|
|
37
|
+
|
|
38
|
+
Write `~/.ccursor/trellis-task-models.json5` (or `~/.ccursor/` on Unix) using the structure from `.trellis/local/trellis-task-models.json5.example`:
|
|
39
|
+
|
|
40
|
+
```json5
|
|
41
|
+
// Trellis + Cursor++ BYOK — per-subagent-type model routing
|
|
42
|
+
{
|
|
43
|
+
"models": {
|
|
44
|
+
// <role comment>
|
|
45
|
+
"trellis-research": { "primary": "<model>", "fallback": "<model>" },
|
|
46
|
+
"trellis-implement": { "primary": "<model>", "fallback": "<model>" },
|
|
47
|
+
"trellis-check": { "primary": "<model>", "fallback": "<model>" }
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
Project-level override (optional, wins on same key): `.trellis/local/subagent-models.json5`.
|
|
53
|
+
|
|
54
|
+
## Step 5: Apply the patch + verify
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
python ./.trellis/local/cursor2plus/patch_wpelc8.py --print-map
|
|
58
|
+
python ./.trellis/local/cursor2plus/patch_wpelc8.py
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
Then tell the user: **Developer: Reload Window** in Cursor (required once per patch for the resolver change to take effect).
|
|
62
|
+
|
|
63
|
+
## Step 6: Interpret resolver output
|
|
64
|
+
|
|
65
|
+
- `OK <type>: '<model>' → model-<slug>` — resolved successfully.
|
|
66
|
+
- `WARN ... using fallback` — primary was missing from current `providers.json`; fallback was used. Suggest updating primary/fallback names.
|
|
67
|
+
- `ERROR` — both primary and fallback failed for a configured type. Fix the JSON or pick another model from `--list-models`.
|
|
68
|
+
|
|
69
|
+
## Resolver rules
|
|
70
|
+
|
|
71
|
+
- Values match `apiModel`, `displayName`, or slug from latest `providers.json` (case-insensitive for names).
|
|
72
|
+
- Primary tried first; fallback only if primary does not resolve.
|
|
73
|
+
- ERROR only when both fail for a configured type.
|
|
74
|
+
|
|
75
|
+
## Files
|
|
76
|
+
|
|
77
|
+
- User catalog: `~/.ccursor/providers.json`
|
|
78
|
+
- User routing doc: `~/.ccursor/trellis-task-models.json5` (machine-local, gitignored)
|
|
79
|
+
- Project override (optional): `.trellis/local/subagent-models.json5`
|
|
80
|
+
- Patch bundle: `.trellis/local/cursor2plus/`
|
|
81
|
+
|
|
82
|
+
Policy: `.trellis/spec/guides/cursor-subagent-policy.md` (Method 2.5 / 2.6).
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 1,
|
|
3
|
+
"hooks": {
|
|
4
|
+
"preToolUse": [
|
|
5
|
+
{
|
|
6
|
+
"command": "{{PYTHON_CMD}} .cursor/hooks/inject-subagent-context.py",
|
|
7
|
+
"matcher": "Task|Subagent",
|
|
8
|
+
"timeout": 30
|
|
9
|
+
}
|
|
10
|
+
],
|
|
11
|
+
"sessionStart": [
|
|
12
|
+
{
|
|
13
|
+
"command": "{{PYTHON_CMD}} .cursor/hooks/session-start.py",
|
|
14
|
+
"timeout": 30
|
|
15
|
+
}
|
|
16
|
+
],
|
|
17
|
+
"beforeShellExecution": [
|
|
18
|
+
{
|
|
19
|
+
"command": "{{PYTHON_CMD}} .cursor/hooks/inject-shell-session-context.py",
|
|
20
|
+
"timeout": 5
|
|
21
|
+
}
|
|
22
|
+
],
|
|
23
|
+
"stop": [
|
|
24
|
+
{
|
|
25
|
+
"command": "{{PYTHON_CMD}} .cursor/hooks/research-end-retrieval-pack.py",
|
|
26
|
+
"timeout": 60
|
|
27
|
+
}
|
|
28
|
+
]
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cursor templates
|
|
3
|
+
*
|
|
4
|
+
* Directory structure:
|
|
5
|
+
* cursor/
|
|
6
|
+
* ├── agents/ # Sub-agent definitions
|
|
7
|
+
* ├── commands/ # Cursor-only slash commands (e.g. cursor2plus-setup)
|
|
8
|
+
* ├── rules/ # .cursor/rules/*.mdc (alwaysApply / glob-scoped rules)
|
|
9
|
+
* ├── hooks.json # Hooks configuration
|
|
10
|
+
* └── worktrees.json # Cursor native worktree setup
|
|
11
|
+
*/
|
|
12
|
+
import { type AgentTemplate } from "../template-utils.js";
|
|
13
|
+
export type { AgentTemplate };
|
|
14
|
+
export declare const getAllAgents: () => AgentTemplate[];
|
|
15
|
+
export declare const getAllRules: () => AgentTemplate[];
|
|
16
|
+
export declare const getCursorCommands: () => AgentTemplate[];
|
|
17
|
+
export declare const getHooksConfig: () => string;
|
|
18
|
+
export declare const getWorktreesConfig: () => string;
|
|
19
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/templates/cursor/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAwB,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAChF,YAAY,EAAE,aAAa,EAAE,CAAC;AAI9B,eAAO,MAAM,YAAY,QAAO,aAAa,EAAoB,CAAC;AAClE,eAAO,MAAM,WAAW,QAAO,aAAa,EAAoB,CAAC;AACjE,eAAO,MAAM,iBAAiB,QAAO,aAAa,EAAgC,CAAC;AACnF,eAAO,MAAM,cAAc,QAAO,MAAiC,CAAC;AACpE,eAAO,MAAM,kBAAkB,QAAO,MAAqC,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cursor templates
|
|
3
|
+
*
|
|
4
|
+
* Directory structure:
|
|
5
|
+
* cursor/
|
|
6
|
+
* ├── agents/ # Sub-agent definitions
|
|
7
|
+
* ├── commands/ # Cursor-only slash commands (e.g. cursor2plus-setup)
|
|
8
|
+
* ├── rules/ # .cursor/rules/*.mdc (alwaysApply / glob-scoped rules)
|
|
9
|
+
* ├── hooks.json # Hooks configuration
|
|
10
|
+
* └── worktrees.json # Cursor native worktree setup
|
|
11
|
+
*/
|
|
12
|
+
import { createTemplateReader } from "../template-utils.js";
|
|
13
|
+
const { listMdAgents, listMdcRules, listMdCommands, getConfig } = createTemplateReader(import.meta.url);
|
|
14
|
+
export const getAllAgents = () => listMdAgents();
|
|
15
|
+
export const getAllRules = () => listMdcRules();
|
|
16
|
+
export const getCursorCommands = () => listMdCommands("commands");
|
|
17
|
+
export const getHooksConfig = () => getConfig("hooks.json");
|
|
18
|
+
export const getWorktreesConfig = () => getConfig("worktrees.json");
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/templates/cursor/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,oBAAoB,EAAsB,MAAM,sBAAsB,CAAC;AAGhF,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,SAAS,EAAE,GAAG,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAExG,MAAM,CAAC,MAAM,YAAY,GAAG,GAAoB,EAAE,CAAC,YAAY,EAAE,CAAC;AAClE,MAAM,CAAC,MAAM,WAAW,GAAG,GAAoB,EAAE,CAAC,YAAY,EAAE,CAAC;AACjE,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAoB,EAAE,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;AACnF,MAAM,CAAC,MAAM,cAAc,GAAG,GAAW,EAAE,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;AACpE,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAW,EAAE,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Trellis Request Triage — mandatory classification before any work (Cursor sessionStart additional_context is broken; this rule is the reliable injection channel)"
|
|
3
|
+
alwaysApply: true
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Trellis Request Triage (MANDATORY — hard gate, not optional)
|
|
7
|
+
|
|
8
|
+
You MUST classify every work-capable user request BEFORE acting. This is not a suggestion. If you skip classification, you are breaking the Trellis workflow contract.
|
|
9
|
+
|
|
10
|
+
## Decision tree (first match wins)
|
|
11
|
+
|
|
12
|
+
1. **No durable project change** (explanation, status, read-only lookup, one-liner Q&A) → `No Task`
|
|
13
|
+
2. **Underspecified small request, no task yet** (needs clarification before work exists) → `Micro-Grill` (load `trellis-micro-grill`)
|
|
14
|
+
3. **Low-risk durable work, single file, local validation, no contract change** → `Lite Task`
|
|
15
|
+
4. **Durable code/template/runtime/workflow change, cross-file behavior, or framework semantics** → `Full Task`
|
|
16
|
+
5. **Multiple independent deliverables, staged/parallel execution, or integration authority** → `Parent Task`
|
|
17
|
+
|
|
18
|
+
## Classification mark — REQUIRED as the FIRST line of your reply
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
[Triage: <Mode>] <one-sentence reason citing the trigger signal>
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
- `<Mode>` ∈ `No Task | Micro-Grill | Lite | Full | Parent`
|
|
25
|
+
- The reason MUST cite the trigger signal (e.g. "cross-file workflow change", "read-only explanation"). Vague reasons like "looks complex" are rejected.
|
|
26
|
+
- **`No Task` turns still require the mark** — it is how the user audits that you classified rather than skipped.
|
|
27
|
+
|
|
28
|
+
## Consent gate
|
|
29
|
+
|
|
30
|
+
After classifying into `Micro-Grill` / `Lite` / `Full` / `Parent`: **ASK the user for task-creation consent before creating any Trellis artifact.** Do NOT start implementation on your own. User consent to create a task is NOT consent to start coding — planning still happens first.
|
|
31
|
+
|
|
32
|
+
If the user declines a task for a simple request, skip Trellis for this session.
|
|
33
|
+
|
|
34
|
+
## Why this rule exists
|
|
35
|
+
|
|
36
|
+
Cursor's `sessionStart` hook has a confirmed bug (#158452): `additional_context` is never injected into the agent's system context. The Triage rules in `.trellis/workflow.md` therefore never reach you via that channel. This `.cursor/rules` file is the reliable workaround — Cursor prepends rules to your context before every prompt, independent of the broken sessionStart path.
|
|
37
|
+
|
|
38
|
+
Full decision-tree details, trigger-signal keywords, and the Task Ladder table: see `.trellis/workflow.md` → `### Request Triage`.
|