@pennixrv/trellis 0.7.0-beta.8 → 0.7.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/README.md +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +14 -26
- package/dist/cli/index.js.map +1 -1
- package/dist/commands/ablate.js +1 -1
- package/dist/commands/ablate.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +30 -56
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/task-progress.d.ts +2 -0
- package/dist/commands/task-progress.d.ts.map +1 -1
- package/dist/commands/task-progress.js +37 -30
- package/dist/commands/task-progress.js.map +1 -1
- package/dist/commands/{channel → teamwork}/adapters/claude.d.ts +3 -3
- package/dist/commands/teamwork/adapters/claude.d.ts.map +1 -0
- package/dist/commands/{channel → teamwork}/adapters/claude.js +3 -3
- package/dist/commands/teamwork/adapters/claude.js.map +1 -0
- package/dist/commands/{channel → teamwork}/adapters/codex.d.ts +1 -15
- package/dist/commands/teamwork/adapters/codex.d.ts.map +1 -0
- package/dist/commands/{channel → teamwork}/adapters/codex.js +5 -42
- package/dist/commands/teamwork/adapters/codex.js.map +1 -0
- package/dist/commands/{channel → teamwork}/adapters/index.d.ts +6 -6
- package/dist/commands/teamwork/adapters/index.d.ts.map +1 -0
- package/dist/commands/{channel → teamwork}/adapters/index.js +16 -52
- package/dist/commands/teamwork/adapters/index.js.map +1 -0
- package/dist/commands/{channel → teamwork}/adapters/types.d.ts +2 -2
- package/dist/commands/teamwork/adapters/types.d.ts.map +1 -0
- package/dist/commands/teamwork/adapters/types.js.map +1 -0
- package/dist/commands/{channel → teamwork}/agent-loader.d.ts +2 -4
- package/dist/commands/teamwork/agent-loader.d.ts.map +1 -0
- package/dist/commands/{channel → teamwork}/agent-loader.js +4 -35
- package/dist/commands/teamwork/agent-loader.js.map +1 -0
- package/dist/commands/teamwork/artifact.d.ts +177 -0
- package/dist/commands/teamwork/artifact.d.ts.map +1 -0
- package/dist/commands/teamwork/artifact.js +908 -0
- package/dist/commands/teamwork/artifact.js.map +1 -0
- package/dist/commands/{channel → teamwork}/context-loader.d.ts +1 -1
- package/dist/commands/teamwork/context-loader.d.ts.map +1 -0
- package/dist/commands/{channel → teamwork}/context-loader.js +12 -12
- package/dist/commands/teamwork/context-loader.js.map +1 -0
- package/dist/commands/{channel → teamwork}/context-trust.d.ts +6 -6
- package/dist/commands/teamwork/context-trust.d.ts.map +1 -0
- package/dist/commands/{channel → teamwork}/context-trust.js +16 -16
- package/dist/commands/teamwork/context-trust.js.map +1 -0
- package/dist/commands/teamwork/context.d.ts +16 -0
- package/dist/commands/teamwork/context.d.ts.map +1 -0
- package/dist/commands/{channel → teamwork}/context.js +17 -17
- package/dist/commands/teamwork/context.js.map +1 -0
- package/dist/commands/teamwork/coordinator.d.ts +89 -0
- package/dist/commands/teamwork/coordinator.d.ts.map +1 -0
- package/dist/commands/teamwork/coordinator.js +1198 -0
- package/dist/commands/teamwork/coordinator.js.map +1 -0
- package/dist/commands/teamwork/create.d.ts +23 -0
- package/dist/commands/teamwork/create.d.ts.map +1 -0
- package/dist/commands/teamwork/create.js +39 -0
- package/dist/commands/teamwork/create.js.map +1 -0
- package/dist/commands/{channel → teamwork}/dev-parse-trace.d.ts +1 -1
- package/dist/commands/teamwork/dev-parse-trace.d.ts.map +1 -0
- package/dist/commands/{channel → teamwork}/dev-parse-trace.js +1 -1
- package/dist/commands/teamwork/dev-parse-trace.js.map +1 -0
- package/dist/commands/{channel → teamwork}/guard.d.ts +27 -46
- package/dist/commands/teamwork/guard.d.ts.map +1 -0
- package/dist/commands/{channel → teamwork}/guard.js +54 -156
- package/dist/commands/teamwork/guard.js.map +1 -0
- package/dist/commands/teamwork/index.d.ts +3 -0
- package/dist/commands/teamwork/index.d.ts.map +1 -0
- package/dist/commands/{channel → teamwork}/index.js +135 -165
- package/dist/commands/teamwork/index.js.map +1 -0
- package/dist/commands/{channel → teamwork}/interrupt.d.ts +1 -1
- package/dist/commands/teamwork/interrupt.d.ts.map +1 -0
- package/dist/commands/teamwork/interrupt.js +22 -0
- package/dist/commands/teamwork/interrupt.js.map +1 -0
- package/dist/commands/teamwork/kill.d.ts +7 -0
- package/dist/commands/teamwork/kill.d.ts.map +1 -0
- package/dist/commands/{channel → teamwork}/kill.js +21 -21
- package/dist/commands/teamwork/kill.js.map +1 -0
- package/dist/commands/teamwork/list.d.ts +17 -0
- package/dist/commands/teamwork/list.d.ts.map +1 -0
- package/dist/commands/{channel → teamwork}/list.js +18 -27
- package/dist/commands/teamwork/list.js.map +1 -0
- package/dist/commands/{channel → teamwork}/messages.d.ts +1 -1
- package/dist/commands/teamwork/messages.d.ts.map +1 -0
- package/dist/commands/{channel → teamwork}/messages.js +18 -18
- package/dist/commands/teamwork/messages.js.map +1 -0
- package/dist/commands/teamwork/profiles.d.ts +25 -0
- package/dist/commands/teamwork/profiles.d.ts.map +1 -0
- package/dist/commands/teamwork/profiles.js +125 -0
- package/dist/commands/teamwork/profiles.js.map +1 -0
- package/dist/commands/teamwork/rm.d.ts +27 -0
- package/dist/commands/teamwork/rm.d.ts.map +1 -0
- package/dist/commands/{channel → teamwork}/rm.js +21 -22
- package/dist/commands/teamwork/rm.js.map +1 -0
- package/dist/commands/teamwork/run.d.ts +29 -0
- package/dist/commands/{channel → teamwork}/run.d.ts.map +1 -1
- package/dist/commands/teamwork/run.js +129 -0
- package/dist/commands/teamwork/run.js.map +1 -0
- package/dist/commands/{channel → teamwork}/send.d.ts +1 -1
- package/dist/commands/teamwork/send.d.ts.map +1 -0
- package/dist/commands/{channel → teamwork}/send.js +7 -7
- package/dist/commands/teamwork/send.js.map +1 -0
- package/dist/commands/{channel → teamwork}/spawn.d.ts +8 -12
- package/dist/commands/teamwork/spawn.d.ts.map +1 -0
- package/dist/commands/{channel → teamwork}/spawn.js +51 -112
- package/dist/commands/teamwork/spawn.js.map +1 -0
- package/dist/commands/teamwork/store/events.d.ts +22 -0
- package/dist/commands/teamwork/store/events.d.ts.map +1 -0
- package/dist/commands/{channel → teamwork}/store/events.js +8 -8
- package/dist/commands/teamwork/store/events.js.map +1 -0
- package/dist/commands/teamwork/store/filter.d.ts +3 -0
- package/dist/commands/teamwork/store/filter.d.ts.map +1 -0
- package/dist/commands/teamwork/store/filter.js +2 -0
- package/dist/commands/teamwork/store/filter.js.map +1 -0
- package/dist/commands/{channel → teamwork}/store/lock.d.ts +1 -1
- package/dist/commands/teamwork/store/lock.d.ts.map +1 -0
- package/dist/commands/{channel → teamwork}/store/lock.js +2 -2
- package/dist/commands/teamwork/store/lock.js.map +1 -0
- package/dist/commands/{channel → teamwork}/store/paths.d.ts +18 -32
- package/dist/commands/teamwork/store/paths.d.ts.map +1 -0
- package/dist/commands/{channel → teamwork}/store/paths.js +42 -109
- package/dist/commands/teamwork/store/paths.js.map +1 -0
- package/dist/commands/teamwork/store/schema.d.ts +18 -0
- package/dist/commands/teamwork/store/schema.d.ts.map +1 -0
- package/dist/commands/teamwork/store/schema.js +23 -0
- package/dist/commands/teamwork/store/schema.js.map +1 -0
- package/dist/commands/{channel → teamwork}/store/thread-state.d.ts +3 -3
- package/dist/commands/teamwork/store/thread-state.d.ts.map +1 -0
- package/dist/commands/{channel → teamwork}/store/thread-state.js +1 -1
- package/dist/commands/teamwork/store/thread-state.js.map +1 -0
- package/dist/commands/teamwork/store/watch.d.ts +19 -0
- package/dist/commands/teamwork/store/watch.d.ts.map +1 -0
- package/dist/commands/{channel → teamwork}/store/watch.js +8 -8
- package/dist/commands/teamwork/store/watch.js.map +1 -0
- package/dist/commands/teamwork/supervisor/idle.d.ts.map +1 -0
- package/dist/commands/teamwork/supervisor/idle.js.map +1 -0
- package/dist/commands/{channel → teamwork}/supervisor/inbox.d.ts +2 -2
- package/dist/commands/teamwork/supervisor/inbox.d.ts.map +1 -0
- package/dist/commands/{channel → teamwork}/supervisor/inbox.js +14 -14
- package/dist/commands/teamwork/supervisor/inbox.js.map +1 -0
- package/dist/commands/{channel → teamwork}/supervisor/shutdown.d.ts +3 -6
- package/dist/commands/teamwork/supervisor/shutdown.d.ts.map +1 -0
- package/dist/commands/{channel → teamwork}/supervisor/shutdown.js +7 -17
- package/dist/commands/teamwork/supervisor/shutdown.js.map +1 -0
- package/dist/commands/{channel → teamwork}/supervisor/stdout.d.ts +3 -5
- package/dist/commands/teamwork/supervisor/stdout.d.ts.map +1 -0
- package/dist/commands/{channel → teamwork}/supervisor/stdout.js +12 -23
- package/dist/commands/teamwork/supervisor/stdout.js.map +1 -0
- package/dist/commands/teamwork/supervisor/turns.d.ts.map +1 -0
- package/dist/commands/teamwork/supervisor/turns.js.map +1 -0
- package/dist/commands/{channel → teamwork}/supervisor/warning.d.ts +5 -5
- package/dist/commands/teamwork/supervisor/warning.d.ts.map +1 -0
- package/dist/commands/{channel → teamwork}/supervisor/warning.js +6 -6
- package/dist/commands/teamwork/supervisor/warning.js.map +1 -0
- package/dist/commands/{channel → teamwork}/supervisor.d.ts +21 -21
- package/dist/commands/teamwork/supervisor.d.ts.map +1 -0
- package/dist/commands/{channel → teamwork}/supervisor.js +53 -63
- package/dist/commands/teamwork/supervisor.js.map +1 -0
- package/dist/commands/teamwork/teammate-adapters.d.ts +31 -0
- package/dist/commands/teamwork/teammate-adapters.d.ts.map +1 -0
- package/dist/commands/teamwork/teammate-adapters.js +96 -0
- package/dist/commands/teamwork/teammate-adapters.js.map +1 -0
- package/dist/commands/teamwork/teammate-config.d.ts +19 -0
- package/dist/commands/teamwork/teammate-config.d.ts.map +1 -0
- package/dist/commands/teamwork/teammate-config.js +97 -0
- package/dist/commands/teamwork/teammate-config.js.map +1 -0
- package/dist/commands/teamwork/teammate-launch.d.ts +58 -0
- package/dist/commands/teamwork/teammate-launch.d.ts.map +1 -0
- package/dist/commands/teamwork/teammate-launch.js +125 -0
- package/dist/commands/teamwork/teammate-launch.js.map +1 -0
- package/dist/commands/teamwork/text-body.d.ts +13 -0
- package/dist/commands/teamwork/text-body.d.ts.map +1 -0
- package/dist/commands/{channel → teamwork}/text-body.js +3 -3
- package/dist/commands/teamwork/text-body.js.map +1 -0
- package/dist/commands/teamwork/threads.d.ts +35 -0
- package/dist/commands/teamwork/threads.d.ts.map +1 -0
- package/dist/commands/{channel → teamwork}/threads.js +19 -19
- package/dist/commands/teamwork/threads.js.map +1 -0
- package/dist/commands/teamwork/title.d.ts +12 -0
- package/dist/commands/teamwork/title.d.ts.map +1 -0
- package/dist/commands/teamwork/title.js +24 -0
- package/dist/commands/teamwork/title.js.map +1 -0
- package/dist/commands/{channel → teamwork}/wait.d.ts +1 -5
- package/dist/commands/teamwork/wait.d.ts.map +1 -0
- package/dist/commands/{channel → teamwork}/wait.js +8 -21
- package/dist/commands/teamwork/wait.js.map +1 -0
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +48 -89
- package/dist/commands/update.js.map +1 -1
- package/dist/commands/workflow.d.ts +1 -1
- package/dist/commands/workflow.d.ts.map +1 -1
- package/dist/commands/workflow.js +9 -10
- package/dist/commands/workflow.js.map +1 -1
- package/dist/configurators/claude.d.ts +0 -17
- package/dist/configurators/claude.d.ts.map +1 -1
- package/dist/configurators/claude.js +2 -61
- package/dist/configurators/claude.js.map +1 -1
- package/dist/configurators/shared.d.ts.map +1 -1
- package/dist/configurators/shared.js +2 -2
- package/dist/configurators/shared.js.map +1 -1
- package/dist/configurators/snow.js +1 -1
- package/dist/configurators/snow.js.map +1 -1
- package/dist/configurators/workflow.d.ts +1 -1
- package/dist/configurators/workflow.js +5 -5
- package/dist/configurators/workflow.js.map +1 -1
- package/dist/constants/paths.d.ts +1 -1
- package/dist/constants/paths.d.ts.map +1 -1
- package/dist/constants/paths.js +1 -1
- package/dist/constants/paths.js.map +1 -1
- package/dist/migrations/manifests/0.7.0-beta.10.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.11.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.12.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.13.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.14.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.15.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.16.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.17.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.18.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.19.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.20.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.21.json +17 -0
- package/dist/migrations/manifests/0.7.0-beta.22.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.23.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.24.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.25.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.26.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.27.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.28.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.29.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.30.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.31.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.32.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.33.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.34.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.35.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.36.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.37.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.38.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.39.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.40.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.41.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.42.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.43.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.44.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.45.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.46.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.47.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.48.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.49.json +13 -0
- package/dist/migrations/manifests/0.7.0-beta.50.json +12 -0
- package/dist/migrations/manifests/0.7.0-beta.51.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.52.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.53.json +27 -0
- package/dist/migrations/manifests/0.7.0-beta.54.json +8 -0
- package/dist/migrations/manifests/0.7.0-beta.9.json +9 -0
- package/dist/migrations/manifests/0.7.1.json +9 -0
- package/dist/templates/claude/hooks/statusline.py +0 -7
- package/dist/templates/codex/hooks/session-start.py +31 -38
- package/dist/templates/common/bundled-skills/trellis-decision-space-construction-and-merging/SKILL.md +10 -0
- package/dist/templates/common/bundled-skills/trellis-decision-space-construction-and-merging/workflow.md +40 -0
- package/dist/templates/common/bundled-skills/trellis-delivery-review-and-closeout/SKILL.md +10 -0
- package/dist/templates/common/bundled-skills/trellis-delivery-review-and-closeout/workflow.md +55 -0
- package/dist/templates/common/bundled-skills/trellis-goal-exploration-and-requirements/SKILL.md +10 -0
- package/dist/templates/common/bundled-skills/trellis-goal-exploration-and-requirements/workflow.md +33 -0
- package/dist/templates/common/bundled-skills/trellis-meta/SKILL.md +25 -25
- package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-agents.md +1 -1
- package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-skills-or-commands.md +13 -19
- package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-spec-structure.md +1 -1
- package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-task-lifecycle.md +27 -75
- package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-workflow.md +17 -56
- package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/overview.md +1 -1
- package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/bundled-skills.md +14 -11
- package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/generated-files.md +0 -33
- package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/multi-agent-teamwork.md +32 -0
- package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/spec-system.md +1 -1
- package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/task-system.md +25 -111
- package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/workflow.md +19 -60
- package/dist/templates/common/bundled-skills/trellis-meta/references/platform-files/skills-and-commands.md +1 -1
- package/dist/templates/common/bundled-skills/trellis-session-insight/SKILL.md +1 -1
- package/dist/templates/common/bundled-skills/trellis-session-insight/references/cli-quick-reference.md +1 -1
- package/dist/templates/common/bundled-skills/trellis-solution-design-and-convergence/SKILL.md +10 -0
- package/dist/templates/common/bundled-skills/trellis-solution-design-and-convergence/workflow.md +36 -0
- package/dist/templates/common/bundled-skills/trellis-task-implementation/SKILL.md +10 -0
- package/dist/templates/common/bundled-skills/trellis-task-implementation/workflow.md +29 -0
- package/dist/templates/common/bundled-skills/trellis-teamwork/SKILL.md +73 -0
- package/dist/templates/common/bundled-skills/trellis-teamwork/references/coordination-modes.md +29 -0
- package/dist/templates/common/bundled-skills/trellis-teamwork/references/teammate-configuration-matrix.md +31 -0
- package/dist/templates/common/bundled-skills/trellis-teamwork/references/teammate-processes.md +37 -0
- package/dist/templates/common/bundled-skills/trellis-teamwork/references/teamwork-plan-construction.md +78 -0
- package/dist/templates/common/commands/continue.md +9 -49
- package/dist/templates/common/commands/finish-work.md +10 -58
- package/dist/templates/common/commands/start.md +19 -49
- package/dist/templates/common/skills/brainstorm.md +11 -191
- package/dist/templates/copilot/hooks/session-start.py +30 -26
- package/dist/templates/copilot/prompts/brainstorm.prompt.md +7 -150
- package/dist/templates/copilot/prompts/finish-work.prompt.md +11 -88
- package/dist/templates/copilot/prompts/record-session.prompt.md +4 -12
- package/dist/templates/copilot/prompts/start.prompt.md +12 -10
- package/dist/templates/dsh/DSH.md +2 -2
- package/dist/templates/kiro/agents/trellis.json +2 -2
- package/dist/templates/markdown/agents.md +14 -3
- package/dist/templates/markdown/spec/guides/cross-layer-thinking-guide.md.txt +9 -8
- package/dist/templates/markdown/spec/guides/cross-platform-thinking-guide.md.txt +1 -1
- package/dist/templates/markdown/workspace-index.md +0 -1
- package/dist/templates/omp/extensions/trellis/index.ts.txt +28 -17
- package/dist/templates/opencode/lib/session-utils.js +20 -25
- package/dist/templates/opencode/lib/trellis-context.js +4 -76
- package/dist/templates/opencode/plugins/inject-subagent-context.js +5 -4
- package/dist/templates/opencode/plugins/inject-workflow-state.js +14 -17
- package/dist/templates/shared-hooks/inject-shell-session-context.py +3 -3
- package/dist/templates/shared-hooks/inject-subagent-context.py +445 -67
- package/dist/templates/shared-hooks/inject-workflow-state.py +44 -36
- package/dist/templates/shared-hooks/session-start.py +21 -33
- package/dist/templates/trellis/agents/delegated-worktree-primary-agent.md +18 -0
- package/dist/templates/trellis/agents/teammate-profiles.json +8 -0
- package/dist/templates/trellis/agents/teammate.md +63 -0
- package/dist/templates/trellis/config.yaml +29 -38
- package/dist/templates/trellis/gitignore.txt +1 -0
- package/dist/templates/trellis/index.d.ts +8 -12
- package/dist/templates/trellis/index.d.ts.map +1 -1
- package/dist/templates/trellis/index.js +14 -25
- package/dist/templates/trellis/index.js.map +1 -1
- package/dist/templates/trellis/scripts/add_session.py +1 -1
- package/dist/templates/trellis/scripts/common/__init__.py +0 -1
- package/dist/templates/trellis/scripts/common/active_task.py +136 -100
- package/dist/templates/trellis/scripts/common/config.py +7 -9
- package/dist/templates/trellis/scripts/common/git_context.py +1 -1
- package/dist/templates/trellis/scripts/common/io.py +19 -0
- package/dist/templates/trellis/scripts/common/paths.py +0 -1
- package/dist/templates/trellis/scripts/common/safe_commit.py +11 -90
- package/dist/templates/trellis/scripts/common/session_context.py +1 -8
- package/dist/templates/trellis/scripts/common/spec_match.py +1 -1
- package/dist/templates/trellis/scripts/common/task_context.py +152 -59
- package/dist/templates/trellis/scripts/common/task_continuity.py +563 -0
- package/dist/templates/trellis/scripts/common/task_store.py +70 -548
- package/dist/templates/trellis/scripts/common/task_utils.py +4 -98
- package/dist/templates/trellis/scripts/common/task_workflow.py +1096 -0
- package/dist/templates/trellis/scripts/common/tasks.py +5 -8
- package/dist/templates/trellis/scripts/common/workflow_phase.py +8 -7
- package/dist/templates/trellis/scripts/hooks/linear_sync.py +3 -3
- package/dist/templates/trellis/scripts/task.py +114 -377
- package/dist/templates/trellis/workflow.md +111 -699
- package/dist/utils/agent-refs.d.ts +5 -5
- package/dist/utils/agent-refs.js +6 -6
- package/dist/utils/file-writer.d.ts +3 -2
- package/dist/utils/file-writer.d.ts.map +1 -1
- package/dist/utils/file-writer.js +3 -2
- package/dist/utils/file-writer.js.map +1 -1
- package/dist/utils/managed-paths.d.ts +0 -7
- package/dist/utils/managed-paths.d.ts.map +1 -1
- package/dist/utils/managed-paths.js +0 -40
- package/dist/utils/managed-paths.js.map +1 -1
- package/dist/utils/manifest-prune.d.ts.map +1 -1
- package/dist/utils/manifest-prune.js +2 -11
- package/dist/utils/manifest-prune.js.map +1 -1
- package/dist/utils/uninstall-scrubbers.d.ts.map +1 -1
- package/dist/utils/uninstall-scrubbers.js +3 -3
- package/dist/utils/uninstall-scrubbers.js.map +1 -1
- package/dist/utils/workflow-resolver.d.ts +10 -16
- package/dist/utils/workflow-resolver.d.ts.map +1 -1
- package/dist/utils/workflow-resolver.js +25 -36
- package/dist/utils/workflow-resolver.js.map +1 -1
- package/package.json +2 -2
- package/dist/commands/channel/adapters/claude.d.ts.map +0 -1
- package/dist/commands/channel/adapters/claude.js.map +0 -1
- package/dist/commands/channel/adapters/codex.d.ts.map +0 -1
- package/dist/commands/channel/adapters/codex.js.map +0 -1
- package/dist/commands/channel/adapters/index.d.ts.map +0 -1
- package/dist/commands/channel/adapters/index.js.map +0 -1
- package/dist/commands/channel/adapters/types.d.ts.map +0 -1
- package/dist/commands/channel/adapters/types.js.map +0 -1
- package/dist/commands/channel/agent-loader.d.ts.map +0 -1
- package/dist/commands/channel/agent-loader.js.map +0 -1
- package/dist/commands/channel/context-loader.d.ts.map +0 -1
- package/dist/commands/channel/context-loader.js.map +0 -1
- package/dist/commands/channel/context-trust.d.ts.map +0 -1
- package/dist/commands/channel/context-trust.js.map +0 -1
- package/dist/commands/channel/context.d.ts +0 -16
- package/dist/commands/channel/context.d.ts.map +0 -1
- package/dist/commands/channel/context.js.map +0 -1
- package/dist/commands/channel/create.d.ts +0 -29
- package/dist/commands/channel/create.d.ts.map +0 -1
- package/dist/commands/channel/create.js +0 -47
- package/dist/commands/channel/create.js.map +0 -1
- package/dist/commands/channel/dev-parse-trace.d.ts.map +0 -1
- package/dist/commands/channel/dev-parse-trace.js.map +0 -1
- package/dist/commands/channel/guard.d.ts.map +0 -1
- package/dist/commands/channel/guard.js.map +0 -1
- package/dist/commands/channel/index.d.ts +0 -3
- package/dist/commands/channel/index.d.ts.map +0 -1
- package/dist/commands/channel/index.js.map +0 -1
- package/dist/commands/channel/interrupt.d.ts.map +0 -1
- package/dist/commands/channel/interrupt.js +0 -22
- package/dist/commands/channel/interrupt.js.map +0 -1
- package/dist/commands/channel/kill.d.ts +0 -7
- package/dist/commands/channel/kill.d.ts.map +0 -1
- package/dist/commands/channel/kill.js.map +0 -1
- package/dist/commands/channel/list.d.ts +0 -18
- package/dist/commands/channel/list.d.ts.map +0 -1
- package/dist/commands/channel/list.js.map +0 -1
- package/dist/commands/channel/messages.d.ts.map +0 -1
- package/dist/commands/channel/messages.js.map +0 -1
- package/dist/commands/channel/rm.d.ts +0 -27
- package/dist/commands/channel/rm.d.ts.map +0 -1
- package/dist/commands/channel/rm.js.map +0 -1
- package/dist/commands/channel/run.d.ts +0 -32
- package/dist/commands/channel/run.js +0 -141
- package/dist/commands/channel/run.js.map +0 -1
- package/dist/commands/channel/send.d.ts.map +0 -1
- package/dist/commands/channel/send.js.map +0 -1
- package/dist/commands/channel/spawn.d.ts.map +0 -1
- package/dist/commands/channel/spawn.js.map +0 -1
- package/dist/commands/channel/store/events.d.ts +0 -22
- package/dist/commands/channel/store/events.d.ts.map +0 -1
- package/dist/commands/channel/store/events.js.map +0 -1
- package/dist/commands/channel/store/filter.d.ts +0 -3
- package/dist/commands/channel/store/filter.d.ts.map +0 -1
- package/dist/commands/channel/store/filter.js +0 -2
- package/dist/commands/channel/store/filter.js.map +0 -1
- package/dist/commands/channel/store/lock.d.ts.map +0 -1
- package/dist/commands/channel/store/lock.js.map +0 -1
- package/dist/commands/channel/store/paths.d.ts.map +0 -1
- package/dist/commands/channel/store/paths.js.map +0 -1
- package/dist/commands/channel/store/schema.d.ts +0 -27
- package/dist/commands/channel/store/schema.d.ts.map +0 -1
- package/dist/commands/channel/store/schema.js +0 -34
- package/dist/commands/channel/store/schema.js.map +0 -1
- package/dist/commands/channel/store/thread-state.d.ts.map +0 -1
- package/dist/commands/channel/store/thread-state.js.map +0 -1
- package/dist/commands/channel/store/watch.d.ts +0 -19
- package/dist/commands/channel/store/watch.d.ts.map +0 -1
- package/dist/commands/channel/store/watch.js.map +0 -1
- package/dist/commands/channel/supervisor/idle.d.ts.map +0 -1
- package/dist/commands/channel/supervisor/idle.js.map +0 -1
- package/dist/commands/channel/supervisor/inbox.d.ts.map +0 -1
- package/dist/commands/channel/supervisor/inbox.js.map +0 -1
- package/dist/commands/channel/supervisor/shutdown.d.ts.map +0 -1
- package/dist/commands/channel/supervisor/shutdown.js.map +0 -1
- package/dist/commands/channel/supervisor/stdout.d.ts.map +0 -1
- package/dist/commands/channel/supervisor/stdout.js.map +0 -1
- package/dist/commands/channel/supervisor/turns.d.ts.map +0 -1
- package/dist/commands/channel/supervisor/turns.js.map +0 -1
- package/dist/commands/channel/supervisor/warning.d.ts.map +0 -1
- package/dist/commands/channel/supervisor/warning.js.map +0 -1
- package/dist/commands/channel/supervisor.d.ts.map +0 -1
- package/dist/commands/channel/supervisor.js.map +0 -1
- package/dist/commands/channel/text-body.d.ts +0 -13
- package/dist/commands/channel/text-body.d.ts.map +0 -1
- package/dist/commands/channel/text-body.js.map +0 -1
- package/dist/commands/channel/threads.d.ts +0 -39
- package/dist/commands/channel/threads.d.ts.map +0 -1
- package/dist/commands/channel/threads.js.map +0 -1
- package/dist/commands/channel/title.d.ts +0 -12
- package/dist/commands/channel/title.d.ts.map +0 -1
- package/dist/commands/channel/title.js +0 -24
- package/dist/commands/channel/title.js.map +0 -1
- package/dist/commands/channel/wait.d.ts.map +0 -1
- package/dist/commands/channel/wait.js.map +0 -1
- package/dist/commands/channel/workers.d.ts +0 -9
- package/dist/commands/channel/workers.d.ts.map +0 -1
- package/dist/commands/channel/workers.js +0 -31
- package/dist/commands/channel/workers.js.map +0 -1
- package/dist/templates/common/bundled-skills/trellis-channel/SKILL.md +0 -69
- package/dist/templates/common/bundled-skills/trellis-channel/references/command-reference.md +0 -549
- package/dist/templates/common/bundled-skills/trellis-channel/references/forum.md +0 -233
- package/dist/templates/common/bundled-skills/trellis-channel/references/progress-debugging.md +0 -237
- package/dist/templates/common/bundled-skills/trellis-channel/references/subnode-work.md +0 -193
- package/dist/templates/common/bundled-skills/trellis-channel/references/workers.md +0 -295
- package/dist/templates/common/bundled-skills/trellis-channel/references/workflows.md +0 -131
- package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/multi-agent-channel.md +0 -70
- package/dist/templates/common/bundled-skills/trellis-research-record/SKILL.md +0 -14
- package/dist/templates/copilot/prompts/parallel.prompt.md +0 -204
- package/dist/templates/trellis/agents/check.md +0 -70
- package/dist/templates/trellis/agents/implement.md +0 -71
- package/dist/templates/trellis/agents/subnode.env +0 -4
- package/dist/templates/trellis/agents/subnode.md +0 -69
- package/dist/templates/trellis/scripts/common/context_projection.py +0 -508
- package/dist/templates/trellis/scripts/common/continuation_record.py +0 -450
- package/dist/templates/trellis/scripts/common/ownership_record.py +0 -439
- package/dist/templates/trellis/scripts/subnode_artifact.py +0 -597
- package/dist/templates/trellis/scripts/workspace_note.py +0 -126
- /package/dist/commands/{channel → teamwork}/adapters/types.js +0 -0
- /package/dist/commands/{channel → teamwork}/supervisor/idle.d.ts +0 -0
- /package/dist/commands/{channel → teamwork}/supervisor/idle.js +0 -0
- /package/dist/commands/{channel → teamwork}/supervisor/turns.d.ts +0 -0
- /package/dist/commands/{channel → teamwork}/supervisor/turns.js +0 -0
|
@@ -1,91 +1,43 @@
|
|
|
1
1
|
# Change Local Task Lifecycle
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Read the installed project's workflow and task record before changing task creation or lifecycle behavior. Task records remain in .trellis/tasks/ after completion or cancellation; Trellis does not archive task records.
|
|
4
4
|
|
|
5
|
-
## Read
|
|
5
|
+
## Read these files first
|
|
6
6
|
|
|
7
|
-
1.
|
|
8
|
-
2.
|
|
9
|
-
3.
|
|
10
|
-
4.
|
|
11
|
-
5.
|
|
12
|
-
6. The current task's
|
|
7
|
+
1. .trellis/workflow.md
|
|
8
|
+
2. .trellis/config.yaml
|
|
9
|
+
3. .trellis/scripts/task.py
|
|
10
|
+
4. .trellis/scripts/common/task_store.py
|
|
11
|
+
5. .trellis/scripts/common/task_workflow.py
|
|
12
|
+
6. The current task's task.json
|
|
13
13
|
|
|
14
|
-
## Common
|
|
14
|
+
## Common edit points
|
|
15
15
|
|
|
16
16
|
| Need | Edit point |
|
|
17
17
|
| --- | --- |
|
|
18
|
-
|
|
|
19
|
-
|
|
|
20
|
-
|
|
|
21
|
-
|
|
|
22
|
-
|
|
|
23
|
-
| Change
|
|
24
|
-
| Change task parsing/search | `.trellis/scripts/common/task_utils.py`. |
|
|
25
|
-
| Change active task behavior | `.trellis/scripts/common/active_task.py`. |
|
|
18
|
+
| Run a script after task creation or start | hooks.after_create or hooks.after_start in .trellis/config.yaml |
|
|
19
|
+
| Run a script after clearing the session task pointer | hooks.after_finish in .trellis/config.yaml |
|
|
20
|
+
| Change default task fields | .trellis/scripts/common/task_store.py |
|
|
21
|
+
| Change task parsing or lookup | .trellis/scripts/common/task_utils.py |
|
|
22
|
+
| Change lifecycle and phase contracts | .trellis/scripts/common/task_workflow.py and Core task model |
|
|
23
|
+
| Change active task behavior | .trellis/scripts/common/active_task.py and host integration |
|
|
26
24
|
|
|
27
|
-
|
|
25
|
+
Lifecycle hooks receive TASK_JSON_PATH for the affected task. Hook failures should follow the existing behavior of the native operation and must not silently corrupt task state.
|
|
28
26
|
|
|
29
|
-
|
|
27
|
+
Keep project-specific fields under task.json meta unless the standard schema must change. When changing the schema, inspect every reader and writer.
|
|
30
28
|
|
|
31
|
-
|
|
32
|
-
hooks:
|
|
33
|
-
after_create:
|
|
34
|
-
- "python3 .trellis/scripts/hooks/my_sync.py create"
|
|
35
|
-
after_start:
|
|
36
|
-
- "python3 .trellis/scripts/hooks/my_sync.py start"
|
|
37
|
-
after_finish:
|
|
38
|
-
- "python3 .trellis/scripts/hooks/my_sync.py finish"
|
|
39
|
-
after_archive:
|
|
40
|
-
- "python3 .trellis/scripts/hooks/my_sync.py archive"
|
|
41
|
-
```
|
|
29
|
+
## Active task behavior
|
|
42
30
|
|
|
43
|
-
|
|
31
|
+
The active task pointer is scoped to an AI session under .trellis/.runtime/sessions/. Use task.py current to inspect it, task.py start to attach a task to the current session, and task.py finish to clear that session pointer. Do not introduce a shared global pointer.
|
|
44
32
|
|
|
45
|
-
|
|
33
|
+
When task.py create runs inside a session with a recognized session identity, it attaches the new task to that session. Outside such a session, the task is still created but no pointer is changed; task.py start can attach it later.
|
|
46
34
|
|
|
47
|
-
|
|
35
|
+
## Modification steps
|
|
48
36
|
|
|
49
|
-
|
|
37
|
+
1. Confirm the active task through task.py current --source.
|
|
38
|
+
2. Inspect its task.json and phase state.
|
|
39
|
+
3. Read the applicable Trellis specs.
|
|
40
|
+
4. Change the native script or configuration that owns the behavior.
|
|
41
|
+
5. Synchronize .trellis/workflow.md and affected host integrations.
|
|
50
42
|
|
|
51
|
-
|
|
52
|
-
"meta": {
|
|
53
|
-
"linearIssue": "ENG-123",
|
|
54
|
-
"risk": "high"
|
|
55
|
-
}
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
If standard fields really need to change, inspect every local script that reads `task.json`.
|
|
59
|
-
|
|
60
|
-
## Change Active Task
|
|
61
|
-
|
|
62
|
-
Active task is session-level state stored in `.trellis/.runtime/sessions/`. Do not fall back to a global `.current-task` model. If the user wants to change active task behavior, edit:
|
|
63
|
-
|
|
64
|
-
- `.trellis/scripts/common/active_task.py`
|
|
65
|
-
- platform hooks or shell session bridges
|
|
66
|
-
- active task descriptions in `.trellis/workflow.md`
|
|
67
|
-
|
|
68
|
-
### `task.py create` Sets the Active Pointer
|
|
69
|
-
|
|
70
|
-
`cmd_create` in `.trellis/scripts/common/task_store.py` calls `set_active_task` best-effort right after writing the new task directory. The behavior:
|
|
71
|
-
|
|
72
|
-
- When the calling shell carries session identity (`TRELLIS_CONTEXT_ID` env var, or any platform-specific session env that `resolve_context_key` recognizes — see `active_task.py:_ENV_SESSION_KEYS`), the per-session pointer at `.trellis/.runtime/sessions/<context_key>.json` is rewritten to point at the new task. The task's `status=planning` and `[workflow-state:planning]` fires on the very next `UserPromptSubmit`.
|
|
73
|
-
- When session identity is unavailable (raw CLI invocation outside an AI session, or a platform that doesn't propagate identity to shell), the task directory is still created and `status=planning` is still written, but the active pointer is left untouched. The user can attach the task later with `task.py start <dir>` once they're back in an AI session.
|
|
74
|
-
|
|
75
|
-
This makes `[workflow-state:planning]` the live breadcrumb during the brainstorm and JSONL curation work that follows `task.py create`. The pre-R7 behavior left the breadcrumb stuck on `no_task` until `task.py start`, so the planning block was effectively dead text.
|
|
76
|
-
|
|
77
|
-
If you fork `task.py` to add a new creation path (e.g. an external import that bypasses `cmd_create`), audit whether your path also calls `set_active_task`. Without that call, your created tasks will not surface as active. The full status writer table is in `.trellis/spec/cli/backend/workflow-state-contract.md`.
|
|
78
|
-
|
|
79
|
-
## Modification Steps
|
|
80
|
-
|
|
81
|
-
1. Confirm the current task with `python3 ./.trellis/scripts/task.py current --source`.
|
|
82
|
-
2. Read the current task's `task.json` and confirm status and fields.
|
|
83
|
-
3. For configuration needs, edit `.trellis/config.yaml` first.
|
|
84
|
-
4. For script behavior needs, then edit `.trellis/scripts/`.
|
|
85
|
-
5. If the AI flow changed, synchronize `.trellis/workflow.md`.
|
|
86
|
-
|
|
87
|
-
## Do Not
|
|
88
|
-
|
|
89
|
-
- Do not directly edit `.trellis/.runtime/sessions/` to "fix" business state.
|
|
90
|
-
- Do not hard-code project-private fields into scripts; prefer `meta`.
|
|
91
|
-
- Do not default to asking the user to fork Trellis CLI.
|
|
43
|
+
Do not hand-edit runtime pointers or phase state. Do not change task lifecycle outside the Trellis CLI contract.
|
|
@@ -1,65 +1,26 @@
|
|
|
1
1
|
# Change Local Workflow
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Read the installed project's .trellis/workflow.md before changing phase activities, route guidance, or platform entry points.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Business phases
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
- Goal Exploration and Requirements Confirmation Phase
|
|
8
|
+
- Decision Space Construction and Consolidation Phase
|
|
9
|
+
- Solution Design and Convergence Phase
|
|
10
|
+
- Task Implementation and Test Verification Phase
|
|
11
|
+
- Delivery Review and On-Site Closeout Phase
|
|
10
12
|
|
|
11
|
-
|
|
13
|
+
Each phase has its own Skill and workflow diagram. Keep their activities distinct. Trellis CLI owns task lifecycle and phase state; do not encode a second route in a Skill, Hook, or command.
|
|
12
14
|
|
|
13
|
-
|
|
14
|
-
| --- | --- |
|
|
15
|
-
| Change phase names or phase order | `Phase Index` and the corresponding Phase sections. |
|
|
16
|
-
| Change whether to create a task when there is no task | `[workflow-state:no_task]` state block. |
|
|
17
|
-
| Change the next step during planning | Phase 1 and `[workflow-state:planning]`. |
|
|
18
|
-
| Change whether an agent is required during in_progress | Phase 2 and `[workflow-state:in_progress]`. |
|
|
19
|
-
| Change wrap-up after completion | Phase 3 and `[workflow-state:completed]`. |
|
|
20
|
-
| Change which skill a user intent triggers | `Skill Routing` table. |
|
|
21
|
-
|
|
22
|
-
## Modification Steps
|
|
23
|
-
|
|
24
|
-
1. Find the relevant section in `.trellis/workflow.md`.
|
|
25
|
-
2. When changing rules, keep explicit trigger conditions and next actions.
|
|
26
|
-
3. If adding or renaming a skill/agent, synchronize the corresponding files in platform directories.
|
|
27
|
-
4. Workflow-state changes only need an edit to the `[workflow-state:STATUS]` block in `.trellis/workflow.md`. The hook is parser-only — it reads whatever you put in the block. Keep the opening and closing tags' STATUS strings identical (`[workflow-state:foo]…[/workflow-state:foo]`); mismatched STATUS pairs are silently dropped.
|
|
28
|
-
5. Make the AI reread `.trellis/workflow.md`; do not keep using rules from the old conversation.
|
|
29
|
-
|
|
30
|
-
## Example: Relax Task Creation Requirements
|
|
31
|
-
|
|
32
|
-
To change when task creation can be skipped, usually edit `[workflow-state:no_task]`:
|
|
33
|
-
|
|
34
|
-
```md
|
|
35
|
-
[workflow-state:no_task]
|
|
36
|
-
Task is not required when the answer is a one-reply explanation, no files are changed, and no research is needed.
|
|
37
|
-
[/workflow-state:no_task]
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
If the formal Phase 1 flow also needs to change, synchronize the Phase 1 section.
|
|
15
|
+
The Goal Exploration and Requirements Confirmation Phase requires explicit user confirmation of the current requirements revision before the route enters Decision Space Construction and Consolidation Phase or Solution Design and Convergence Phase. Acceptance in Solution Design and Convergence Phase does not grant implementation authorization. Task Implementation and Test Verification Phase follows the authorized contract. During Delivery Review and On-Site Closeout Phase, review the current delivery and handle task completion or cancellation. Routes may skip phases when the task record contains sufficient reason and evidence.
|
|
41
16
|
|
|
42
|
-
##
|
|
17
|
+
## Change workflow assets
|
|
43
18
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
| `status` | Artifact state | Resume at |
|
|
51
|
-
| --- | --- | --- |
|
|
52
|
-
| `planning` | `prd.md` missing | Phase 1.1 (load `trellis-brainstorm`) |
|
|
53
|
-
| `planning` | lightweight task with `prd.md` complete | ask for start review, then run `task.py start` |
|
|
54
|
-
| `planning` | complex task missing `design.md` or `implement.md` | complete missing planning artifacts |
|
|
55
|
-
| `planning` | complex task has `prd.md`, `design.md`, and `implement.md` | ask for start review, then run `task.py start` |
|
|
56
|
-
| `in_progress` | no implementation in conversation history | Phase 2.1 (`trellis-implement`) |
|
|
57
|
-
| `in_progress` | implementation done, no `trellis-check` run | Phase 2.2 (`trellis-check`) |
|
|
58
|
-
| `in_progress` | check passed | Phase 3.3 (spec update) → 3.4 (commit) |
|
|
59
|
-
| `completed` | task is still in active tree | Phase 3.5 (run `/trellis:finish-work` to archive) |
|
|
60
|
-
|
|
61
|
-
When you add a custom status (e.g. `in-review`), add a `[workflow-state:in-review]` block in `.trellis/workflow.md` for the per-turn breadcrumb AND extend this route table — usually by editing the `/trellis:continue` command file (`.{platform}/commands/trellis/continue.md` or equivalent) to add a row that decides where to resume from. Without the route entry, `/trellis:continue` will fall through to a default branch and the user will not land on the step you intended.
|
|
62
|
-
|
|
63
|
-
## Notes
|
|
19
|
+
| Goal | Edit point |
|
|
20
|
+
| --- | --- |
|
|
21
|
+
| Change phase activities or transitions | .trellis/workflow.md and the matching phase Skill |
|
|
22
|
+
| Change cross-component routing | .trellis/workflow.md and pennix-workflow-routing |
|
|
23
|
+
| Change phase status or acceptance | Trellis CLI task workflow contract and tests |
|
|
24
|
+
| Change host context injection | Relevant Hook or plugin |
|
|
64
25
|
|
|
65
|
-
|
|
26
|
+
Keep workflow-state phase identifiers aligned with Core and the current task record. Hooks surface state; they do not authorize or accept work. After a shared change, inspect host commands and prompts for stale instructions.
|
package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/overview.md
CHANGED
|
@@ -7,7 +7,7 @@ This directory is for local AI working in a user project where Trellis was insta
|
|
|
7
7
|
| User wording | Read first |
|
|
8
8
|
| --- | --- |
|
|
9
9
|
| "Change the Trellis flow / phases / next prompt" | `change-workflow.md` |
|
|
10
|
-
| "Change task creation,
|
|
10
|
+
| "Change task creation, lifecycle, phase state, or hooks" | `change-task-lifecycle.md` |
|
|
11
11
|
| "AI did not read context / change injected content" | `change-context-loading.md` |
|
|
12
12
|
| "A platform hook is not behaving as expected" | `change-hooks.md` |
|
|
13
13
|
| "Change implement/check/research agent behavior" | `change-agents.md` |
|
|
@@ -1,34 +1,38 @@
|
|
|
1
1
|
# Bundled Skills
|
|
2
2
|
|
|
3
|
-
"Bundled skills" are
|
|
3
|
+
"Bundled skills" are Trellis CLI-owned skills shipped inside the CLI npm package. Unlike marketplace skills (which a user installs separately into their own `.claude/skills/` or other platform skill root), bundled skills are written automatically into supported platform skill roots by `trellis init` and managed by `trellis update`. They are part of Trellis itself, not third-party content.
|
|
4
4
|
|
|
5
|
-
A bundled skill is a directory under `packages/cli/src/templates/common/bundled-skills/<skill>/` that
|
|
5
|
+
A bundled skill is a directory under `packages/cli/src/templates/common/bundled-skills/<skill>/` that contains its own `SKILL.md` (with YAML frontmatter) and may include `references/`, assets, or other supporting files. Trellis copies the complete directory tree into each platform's skill root, resolving supported placeholders per platform so references stay lazy-loadable instead of being flattened into one oversized `SKILL.md`.
|
|
6
6
|
|
|
7
7
|
## What Counts As Bundled (vs. Adjacent Concepts)
|
|
8
8
|
|
|
9
9
|
| Source path | Type | How it ships |
|
|
10
|
-
|
|
|
10
|
+
| --------------------------------------------------- | ---------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
11
11
|
| `templates/common/bundled-skills/<name>/` | Bundled skill (multi-file) | Whole directory copied to every platform skill root |
|
|
12
12
|
| `templates/common/skills/<name>.md` | Single-file workflow skill | Wrapped with frontmatter, written as `<root>/<name>/SKILL.md` |
|
|
13
13
|
| `templates/common/commands/<name>.md` | Slash command / prompt | Written to each platform's command directory (`.claude/commands/trellis/`, `.cursor/commands/trellis-*.md`, `.gemini/commands/trellis/*.toml`, etc.) |
|
|
14
14
|
| `templates/<platform>/skills/` | Platform-specific skill | Written only into that platform's directory (e.g. `.codex/skills/`) |
|
|
15
15
|
| User skills under `.claude/skills/<my-skill>/` etc. | Marketplace or user-authored | Not managed by Trellis at all |
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
Only paths emitted by Trellis template loaders are managed by Trellis. Other files in a platform skill root are outside those write paths.
|
|
18
18
|
|
|
19
19
|
## Current Bundled Skills
|
|
20
20
|
|
|
21
21
|
The set is discovered at runtime by listing directories under `templates/common/bundled-skills/`:
|
|
22
22
|
|
|
23
23
|
| Skill | Purpose |
|
|
24
|
-
|
|
|
24
|
+
| ------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
25
|
+
| `trellis-goal-exploration-and-requirements` | Clarifies a task's goal, scope, success conditions, constraints, evidence, and user confirmation. |
|
|
26
|
+
| `trellis-decision-space-construction-and-merging` | Organizes substantive decisions, options, evidence, dependencies, and decision trees. |
|
|
27
|
+
| `trellis-solution-design-and-convergence` | Resolves user decisions, plan completeness, external precedents, and the implementation contract. |
|
|
28
|
+
| `trellis-task-implementation` | Advances the authorized implementation contract through work packages, verification, integration, and blocker handling. |
|
|
29
|
+
| `trellis-delivery-review-and-closeout` | Reviews the delivery candidate, unresolved items, acceptance conditions, and resource disposition. |
|
|
25
30
|
| `trellis-meta` | This skill. Explains the local Trellis architecture and customization entry points to an AI working inside a user project. |
|
|
26
31
|
| `trellis-session-insight` | Wraps the `trellis mem` CLI so an AI knows when and how to reach into past Claude Code / Codex / Pi Agent conversation logs. |
|
|
27
32
|
| `trellis-spec-bootstrap` | Platform-neutral workflow for creating or refreshing `.trellis/spec/` from the real codebase (with optional GitNexus / ABCoder integration). |
|
|
28
|
-
| `trellis-
|
|
29
|
-
| `trellis-research-record` | Records verified research, audit, or review findings in the active task without creating a second task ledger. |
|
|
33
|
+
| `trellis-teamwork` | Capability skill teaching an AI when to reach for `trellis teamwork` for multi-agent collaboration, forum/thread persistent boards, and dispatcher-wait patterns. |
|
|
30
34
|
|
|
31
|
-
The
|
|
35
|
+
This inventory reflects the directories currently in the source tree. The CLI discovers them at runtime, so adding a directory under `bundled-skills/` makes it available to the shared loader (see "Adding a New Bundled Skill" below).
|
|
32
36
|
|
|
33
37
|
## Where Bundled Skills Land Per Platform
|
|
34
38
|
|
|
@@ -37,7 +41,7 @@ A platform's whole file set — commands, workflow skills, agents, hooks, bundle
|
|
|
37
41
|
All 21 platforms receive the full bundled-skill set:
|
|
38
42
|
|
|
39
43
|
| Platform | Bundled skill root |
|
|
40
|
-
|
|
|
44
|
+
| ----------- | ---------------------------- |
|
|
41
45
|
| Claude Code | `.claude/skills/<skill>/` |
|
|
42
46
|
| Cursor | `.cursor/skills/<skill>/` |
|
|
43
47
|
| OpenCode | `.opencode/skills/<skill>/` |
|
|
@@ -64,7 +68,7 @@ Codex, Gemini CLI, Pi and Kimi share the `.agents/skills/` root (the upstream Ag
|
|
|
64
68
|
|
|
65
69
|
One description, two consumers:
|
|
66
70
|
|
|
67
|
-
1. `trellis init` → `configurePlatform(platformId, cwd)` → `writeTemplateMap(cwd, collect<Platform>Templates())`. For 18 of the 21 platforms the registry entry in `configurators/index.ts` is literally `fromTemplates(collect<Platform>Templates)`, which
|
|
71
|
+
1. `trellis init` → `configurePlatform(platformId, cwd)` → `writeTemplateMap(cwd, collect<Platform>Templates())`. For 18 of the 21 platforms the registry entry in `configurators/index.ts` is literally `fromTemplates(collect<Platform>Templates)`, which _is_ that composition. Claude Code, Codex and ZCode spell out a `configure` of their own, each for work a `Map<path, content>` cannot express (an opt-in `--with-statusline` flag, an intentionally empty `.codex/skills/` directory, a one-shot console notice) — none of them restates the file list.
|
|
68
72
|
2. `trellis update` → `collectPlatformTemplates(platformId)` (in `configurators/index.ts`) → the same map, used to detect drift and to populate `.trellis/.template-hashes.json`.
|
|
69
73
|
|
|
70
74
|
Because both consumers read the one description, init and update cannot disagree about which files a bundled skill produces.
|
|
@@ -115,7 +119,6 @@ The shape and dispatch wiring are already generic, so adding a skill requires on
|
|
|
115
119
|
4. **No dispatch wiring is required.** `listDirectories("bundled-skills")` discovers the new directory automatically, so all platforms receive it on the next `trellis init` or `trellis update`.
|
|
116
120
|
|
|
117
121
|
5. **Verify the distribution path** before shipping. Skipping any of these steps has historically caused features to be documented as bundled while the published npm tarball was missing the files:
|
|
118
|
-
|
|
119
122
|
- Source files exist on the branch being tagged.
|
|
120
123
|
- `pnpm --filter @pennixrv/trellis build` copies the asset into `dist/templates/common/bundled-skills/<skill>/`.
|
|
121
124
|
- `npm pack --dry-run --json` includes the expected `dist/**` paths.
|
|
@@ -10,7 +10,6 @@ This page only describes files that are visible and editable inside the user pro
|
|
|
10
10
|
.trellis/
|
|
11
11
|
├── workflow.md
|
|
12
12
|
├── config.yaml
|
|
13
|
-
├── .gitignore
|
|
14
13
|
├── .developer
|
|
15
14
|
├── .version
|
|
16
15
|
├── .template-hashes.json
|
|
@@ -25,7 +24,6 @@ This page only describes files that are visible and editable inside the user pro
|
|
|
25
24
|
| --- | --- | --- |
|
|
26
25
|
| `.trellis/workflow.md` | Yes | Local workflow documentation and AI routing rules. |
|
|
27
26
|
| `.trellis/config.yaml` | Yes | Project configuration, hooks, packages, journal line limits, and related settings. |
|
|
28
|
-
| `.trellis/.gitignore` | No | Generated ignore rules for local Trellis state. Track it, but do not normally edit it. |
|
|
29
27
|
| `.trellis/spec/` | Yes | Project specs, intended to be updated regularly by users and AI. |
|
|
30
28
|
| `.trellis/tasks/` | Yes | Task material and research artifacts, maintained by the task workflow. |
|
|
31
29
|
| `.trellis/workspace/` | Yes | Session records, usually written by `add_session.py`. |
|
|
@@ -35,37 +33,6 @@ This page only describes files that are visible and editable inside the user pro
|
|
|
35
33
|
| `.trellis/.version` | No | Trellis version record used by update/migration logic. |
|
|
36
34
|
| `.trellis/.template-hashes.json` | No | Template hash record. Do not hand-write business rules here. |
|
|
37
35
|
|
|
38
|
-
## Git Tracking
|
|
39
|
-
|
|
40
|
-
`trellis init` and `trellis update` are the single project-asset generation
|
|
41
|
-
path. Do not add a second project initializer for Trellis files or platform
|
|
42
|
-
integration files: use those commands to create or refresh the generated
|
|
43
|
-
assets, then review and commit the resulting project changes normally.
|
|
44
|
-
|
|
45
|
-
For a Git-tracked project, commit the durable project contract:
|
|
46
|
-
|
|
47
|
-
- `.trellis/workflow.md`, `config.yaml`, `scripts/`, `spec/`, `tasks/`, and
|
|
48
|
-
`workspace/`;
|
|
49
|
-
- `.trellis/.version` and `.trellis/.template-hashes.json`. They are generated
|
|
50
|
-
metadata, not hand-edited configuration; keeping them lets another clone
|
|
51
|
-
distinguish Trellis-owned templates from local changes safely;
|
|
52
|
-
- the Trellis-managed files in selected platform directories, plus the
|
|
53
|
-
root-level `AGENTS.md` managed block when Trellis created or merged it.
|
|
54
|
-
|
|
55
|
-
Do not commit local or ephemeral state. The generated `.trellis/.gitignore`
|
|
56
|
-
already excludes `.developer`, `.current-task`, `.runtime/`, `.ralph-state.json`,
|
|
57
|
-
agent runtime files, atomic-update files, backups, and Python caches. Platform
|
|
58
|
-
session history, caches, logs, and credentials are platform-owned rather than
|
|
59
|
-
Trellis templates; apply the platform's own ignore rules or the repository's
|
|
60
|
-
security policy to them. If workspace journals contain data that the project
|
|
61
|
-
policy forbids in Git, add a project-specific ignore rule rather than changing
|
|
62
|
-
the shared Trellis template for every project.
|
|
63
|
-
|
|
64
|
-
Generated does not mean disposable: `workflow.md`, specs, tasks, journals, and
|
|
65
|
-
the template-hash receipt are ordinary project artifacts. Conversely, Trellis
|
|
66
|
-
does not infer or broadly ignore all platform directories because doing so
|
|
67
|
-
would hide user-owned files that it must preserve.
|
|
68
|
-
|
|
69
36
|
## Platform Directories
|
|
70
37
|
|
|
71
38
|
Different platforms generate different directories. Common categories:
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# Teamwork Runtime
|
|
2
|
+
|
|
3
|
+
`trellis teamwork` provides durable coordination sessions and teammate processes. Its session lifecycle is independent of the Trellis task lifecycle and phase route. A session may be associated with a task, but it never owns task status, phase state, or phase acceptance.
|
|
4
|
+
|
|
5
|
+
## Local surfaces
|
|
6
|
+
|
|
7
|
+
| Surface | Purpose |
|
|
8
|
+
| --- | --- |
|
|
9
|
+
| `~/.trellis/teamwork/<project>/<session>/events.jsonl` | Durable Teamwork Session event log. |
|
|
10
|
+
| `.trellis/agents/teammate.md` | Generic behavior card loaded for a teammate. |
|
|
11
|
+
| `.trellis/agents/teammate-profiles.json` | Provider and execution profiles. |
|
|
12
|
+
| `.trellis/config.yaml` (`teamwork.*`) | Teammate concurrency and process guard settings. |
|
|
13
|
+
| `packages/core/src/teamwork/` | Reusable Teamwork Session event and storage APIs. |
|
|
14
|
+
| `packages/cli/src/commands/teamwork/` | CLI commands, provider adapters, and process supervision. |
|
|
15
|
+
|
|
16
|
+
The storage root defaults to `~/.trellis/teamwork`; `TRELLIS_TEAMWORK_ROOT` overrides it. The project bucket defaults to a key derived from the current working directory; `TRELLIS_TEAMWORK_PROJECT` overrides that key.
|
|
17
|
+
|
|
18
|
+
## Ownership
|
|
19
|
+
|
|
20
|
+
- Trellis Core owns reusable Teamwork Session event, storage, and coordination contracts.
|
|
21
|
+
- The Trellis CLI owns command handling, teammate process supervision, and task-bound batch artifacts.
|
|
22
|
+
- The active Trellis task remains the source of truth for task and phase state. Teamwork dispatch and reports may bind to its current phase and revisions; Teamwork does not write phase acceptance.
|
|
23
|
+
- Accepted reports remain task evidence. Temporary batch data may be removed when the batch settles. Teamwork Session event logs follow their own lifecycle.
|
|
24
|
+
- Host capabilities must pass the configured capability check before batch execution. A provider contract or fixture alone does not establish that a host is available.
|
|
25
|
+
|
|
26
|
+
## Configuration
|
|
27
|
+
|
|
28
|
+
The project configuration supports `teamwork.teammate.max_concurrency` and `teamwork.teammate_guard.idle_timeout`, `max_live_teammates`, and `non_batch_reserved`. Defaults and CLI overrides are defined by the current Trellis CLI; read `packages/cli/src/commands/teamwork/teammate-config.ts` before changing them.
|
|
29
|
+
|
|
30
|
+
## Related entry points
|
|
31
|
+
|
|
32
|
+
Use the bundled `trellis-teamwork` Skill for command usage and teammate coordination. Use `trellis workflow` and the active task record for workflow behavior. Do not route task or phase transitions through a Teamwork Session.
|
|
@@ -95,7 +95,7 @@ When the AI learns a new rule during implementation or debugging, it should upda
|
|
|
95
95
|
| Change monorepo spec mapping | `packages` / `default_package` / `spec_scope` in `.trellis/config.yaml`. |
|
|
96
96
|
| Change which specs AI reads before implementation | The task's `implement.jsonl`. |
|
|
97
97
|
| Change which specs AI reads during checking | The task's `check.jsonl`. |
|
|
98
|
-
| Change when specs should be updated | Phase
|
|
98
|
+
| Change when specs should be updated | Solution Design and Convergence Phase guidance in `.trellis/workflow.md` and the `trellis-update-spec` skill. |
|
|
99
99
|
|
|
100
100
|
## Boundaries
|
|
101
101
|
|
|
@@ -1,130 +1,44 @@
|
|
|
1
1
|
# Local Task System
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
## Task Directory Structure
|
|
6
|
-
|
|
7
|
-
```text
|
|
8
|
-
.trellis/tasks/
|
|
9
|
-
├── 04-28-example-task/
|
|
10
|
-
│ ├── task.json
|
|
11
|
-
│ ├── prd.md
|
|
12
|
-
│ ├── design.md
|
|
13
|
-
│ ├── implement.md
|
|
14
|
-
│ ├── implement.jsonl
|
|
15
|
-
│ ├── check.jsonl
|
|
16
|
-
│ └── research/
|
|
17
|
-
└── archive/
|
|
18
|
-
└── 2026-04/
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
| File | Purpose |
|
|
22
|
-
| --- | --- |
|
|
23
|
-
| `task.json` | Task metadata: status, assignee, priority, branch, parent/child tasks, and similar fields. |
|
|
24
|
-
| `prd.md` | Requirements, constraints, and acceptance criteria. Lightweight tasks may be PRD-only. |
|
|
25
|
-
| `design.md` | Technical design for complex tasks: boundaries, contracts, data flow, compatibility, tradeoffs. |
|
|
26
|
-
| `implement.md` | Execution plan for complex tasks: ordered checklist, validation commands, review gates, rollback points. |
|
|
27
|
-
| `implement.jsonl` | List of spec/research files the implement agent must read first. |
|
|
28
|
-
| `check.jsonl` | List of spec/research files the check agent must read first. |
|
|
29
|
-
| `research/` | Research artifacts. Complex findings should not live only in chat. |
|
|
30
|
-
|
|
31
|
-
## `task.json`
|
|
32
|
-
|
|
33
|
-
`task.json` records task status and metadata. Common fields:
|
|
34
|
-
|
|
35
|
-
| Field | Meaning |
|
|
36
|
-
| --- | --- |
|
|
37
|
-
| `id` / `name` / `title` | Task identity and title. |
|
|
38
|
-
| `status` | Status such as `planning`, `in_progress`, `review`, or `completed`. |
|
|
39
|
-
| `priority` | `P0`, `P1`, `P2`, `P3`. |
|
|
40
|
-
| `creator` / `assignee` | Creator and assignee. |
|
|
41
|
-
| `package` | Target package in a monorepo; may be empty. |
|
|
42
|
-
| `branch` / `base_branch` | Working branch and PR target branch. |
|
|
43
|
-
| `children` / `parent` | Parent/child task relationships. |
|
|
44
|
-
| `commit` / `pr_url` | Commit and PR information after completion. |
|
|
45
|
-
| `meta` | Extension fields. |
|
|
46
|
-
|
|
47
|
-
## Parent / Child Task Trees
|
|
48
|
-
|
|
49
|
-
Parent/child task relationships are for work structure. A parent task groups related deliverables under one source requirement set; it is not a dependency scheduler and does not replace the child task's own planning artifacts.
|
|
50
|
-
|
|
51
|
-
Use a parent task when a request has multiple independently verifiable deliverables. The parent owns:
|
|
52
|
-
|
|
53
|
-
- Source requirements and user-facing scope.
|
|
54
|
-
- The map of child tasks and their responsibility boundaries.
|
|
55
|
-
- Cross-child acceptance criteria and final integration review.
|
|
3
|
+
Tasks live under .trellis/tasks/. A task record keeps its artifacts and history in place after completion or cancellation; Trellis does not move tasks into an archive.
|
|
56
4
|
|
|
57
|
-
|
|
5
|
+
## Task records
|
|
58
6
|
|
|
59
|
-
|
|
7
|
+
Each task directory may contain task.json, prd.md, design.md, implement.md, research/, and context manifests. Use only the artifacts needed by the task.
|
|
60
8
|
|
|
61
|
-
|
|
62
|
-
python3 ./.trellis/scripts/task.py create "<child title>" --description "<one-line summary>" --slug <child-slug> --parent <parent-dir>
|
|
63
|
-
```
|
|
9
|
+
task.json records identity, lifecycle status, ownership, and parent/child relationships. The Trellis CLI task workflow record stores the ordered phase route, current phase, revisions, evidence, acceptance, and authorization. Do not edit lifecycle or phase status by hand.
|
|
64
10
|
|
|
65
|
-
|
|
11
|
+
## Parent and child tasks
|
|
66
12
|
|
|
67
|
-
|
|
68
|
-
python3 ./.trellis/scripts/task.py add-subtask <parent-dir> <child-dir>
|
|
69
|
-
python3 ./.trellis/scripts/task.py remove-subtask <parent-dir> <child-dir>
|
|
70
|
-
```
|
|
13
|
+
A parent groups related deliverables and records cross-task acceptance. Each child has its own task record and lifecycle. Record dependencies explicitly in task artifacts; tree position does not imply execution order.
|
|
71
14
|
|
|
72
|
-
|
|
15
|
+
## Active task context
|
|
73
16
|
|
|
74
|
-
The
|
|
17
|
+
The active task pointer is scoped to an AI session under .trellis/.runtime/sessions/. Use task.py current to inspect it, task.py start to attach a task to the current session, and task.py finish to clear the current session pointer. Do not create a shared global pointer.
|
|
75
18
|
|
|
76
|
-
##
|
|
19
|
+
## Native task operations
|
|
77
20
|
|
|
78
|
-
|
|
21
|
+
python3 ./.trellis/scripts/task.py create "<title>" --description "<summary>" [--parent <task>]
|
|
22
|
+
python3 ./.trellis/scripts/task.py phase show <task>
|
|
23
|
+
python3 ./.trellis/scripts/task.py validate <task>
|
|
24
|
+
python3 ./.trellis/scripts/task.py start <task>
|
|
25
|
+
python3 ./.trellis/scripts/task.py complete <task>
|
|
26
|
+
python3 ./.trellis/scripts/task.py cancel <task> --reason "<reason>" --evidence-ref <reference>
|
|
79
27
|
|
|
80
|
-
|
|
81
|
-
.trellis/.runtime/sessions/<context-key>.json
|
|
82
|
-
```
|
|
28
|
+
Use phase operations through task.py phase for artifact revisions, acceptance, evidence-backed skips, waits, blocks, resume, return, route, and authorization. Consult task.py help for current arguments. Completion and cancellation occur only after Delivery Review and On-Site Closeout Phase.
|
|
83
29
|
|
|
84
|
-
|
|
30
|
+
The read-only trellis task progress command summarizes planning, in_progress, and completed lifecycle records. It does not change task state.
|
|
85
31
|
|
|
86
|
-
|
|
32
|
+
## Context manifests
|
|
87
33
|
|
|
88
|
-
|
|
34
|
+
implement.jsonl and check.jsonl identify relevant spec and research files for agents that consume those manifests. They do not replace the task's planning artifacts. Keep entries curated and remove placeholder rows rejected by task.py validate.
|
|
89
35
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
Format:
|
|
93
|
-
|
|
94
|
-
```jsonl
|
|
95
|
-
{"file": ".trellis/spec/cli/backend/index.md", "reason": "Backend conventions"}
|
|
96
|
-
{"file": ".trellis/tasks/04-28-example/research/api.md", "reason": "API research"}
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
Rules:
|
|
100
|
-
|
|
101
|
-
- Include spec and research files.
|
|
102
|
-
- Do not include code files that are about to be modified.
|
|
103
|
-
- Do not treat temporary conclusions in chat as the only context.
|
|
104
|
-
- Rows without a `file` field are skipped by readers. Legacy `{"_example": ...}` placeholder rows are rejected by `task.py validate` — delete them.
|
|
105
|
-
|
|
106
|
-
## Common Commands
|
|
107
|
-
|
|
108
|
-
```bash
|
|
109
|
-
python3 ./.trellis/scripts/task.py create "<title>" --description "<one-line summary>" --slug <slug>
|
|
110
|
-
python3 ./.trellis/scripts/task.py start <task>
|
|
111
|
-
python3 ./.trellis/scripts/task.py current --source
|
|
112
|
-
python3 ./.trellis/scripts/task.py add-context <task> implement <file> <reason>
|
|
113
|
-
python3 ./.trellis/scripts/task.py validate <task>
|
|
114
|
-
python3 ./.trellis/scripts/task.py finish
|
|
115
|
-
python3 ./.trellis/scripts/task.py archive <task>
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
When modifying the task system, the AI should prefer script commands to maintain structure. Edit JSON/Markdown directly only when scripts do not cover the need.
|
|
119
|
-
|
|
120
|
-
## Local Customization Points
|
|
36
|
+
## Local customization points
|
|
121
37
|
|
|
122
38
|
| Need | Edit location |
|
|
123
39
|
| --- | --- |
|
|
124
|
-
| Change
|
|
125
|
-
| Change
|
|
126
|
-
|
|
|
127
|
-
| Change
|
|
128
|
-
| Change
|
|
129
|
-
|
|
130
|
-
These are local files in the user project. Do not default to editing Trellis CLI source code unless the user wants to contribute upstream.
|
|
40
|
+
| Change task fields or creation | .trellis/scripts/common/task_store.py |
|
|
41
|
+
| Change task lookup or parsing | .trellis/scripts/common/task_utils.py |
|
|
42
|
+
| Change lifecycle and phase contracts | .trellis/scripts/common/task_workflow.py and Core task model |
|
|
43
|
+
| Change active session task behavior | .trellis/scripts/common/active_task.py and host integration |
|
|
44
|
+
| Change task guidance | .trellis/workflow.md and the applicable phase Skill |
|