跳转到主要内容
补丁版本,包含两个独立的 bug 修复:Kiro 主会话现在能确定性地激活工作流;四个 agentCapable && !hasHooks 平台(Codex、ZCode、OpenCode、Reasonix)终于能产出 trellis-start。运行 trellis update 刷新即可,无需 --migrate

Bug Fixes

agentCapable && !hasHooks 平台缺失 trellis-start

packages/cli/src/configurators/shared.ts 里的 filterCommands(ctx)ctx.agentCapable 为真时无条件过滤掉 start。其前提——agent-capable 平台必然有 SessionStart 类 hook 自动注入开场上下文——对 Codex、ZCode、OpenCode、Reasonix 不成立,这四个平台没有这类 hook。结果:用户没有任何方式加载工作流上下文(既没有 /trellis:start 命令,也没有 trellis-start skill)。 修复方式是把条件收紧为 agentCapable && hasHooks。标准的 resolveAllAsSkillsNeutral / resolveCommands 路径现在能在这四个平台上自然产出 trellis-start Codex 在 0.5.5 引入的一次性补丁 helper resolveCodexTrellisStartSkill 及其在 configurators/codex.tsconfigurators/index.ts 的两处调用一并删除。Codex 的产物与之前 helper 写出的版本逐字节一致(同一模板 common/commands/start.md、同一 resolver、同一 wrapper),所以 trellis update 不会误报 user-modified。 触发源:外部用户反馈 trellis init --zcode 之后既没有 /trellis:start 也没有 trellis-start

workflow.md 平台矩阵缺少 ZCode 与 Reasonix

packages/cli/src/templates/trellis/workflow.md 共 13 个编辑点:
  • B1 / B3 / B5 / B7 / B12(Active Task Routing、Phase 1.2 Research、Phase 1.3 Configure context、Phase 1.5 Completion criteria、Phase 2.2 Quality check)—— 在 sub-agent dispatch 平台列表中加入 ZCode, Reasonix
  • B9(Phase 2.1 implement,class-2 pull-based)—— [codex-sub-agent][codex-sub-agent, ZCode, Reasonix]。这两个平台都需要 codex-sub-agent block 已经强制的 Active task: 前缀。
  • Line 186 —— Phase Index 段的散文枚举追加 , ZCode, Reasonix
  • B8 保持不变 —— 其正文写”platform hook/plugin auto-handles”,这对 pull-based 平台不成立,因此 ZCode 与 Reasonix 显式排除在外。

Kiro 主会话工作流注入

0.6.4 之前的 Kiro 项目没有确定性的 Trellis 激活机制。三个 sub-agent JSON 注册了 agentSpawn hook,但主会话没有任何自有 hook,工作流根本不会启动。 支撑原始接线的”Kiro 只支持 agentSpawn”假设是错的。Kiro CLI 暴露了 userPromptSubmitagentSpawn;IDE 也有基于文件的 .kiro.hookpromptSubmit)。0.6.4 把这两条都接上了:
  • .kiro/agents/trellis.json(新增主 agent):userPromptSubmitinject-workflow-state.pyagentSpawnsession-start.pyworkflow.md 声明为永远加载的资源。
  • .kiro/hooks/trellis-workflow-state.kiro.hook(新增 IDE hook):promptSubmitrunCommand
  • inject-workflow-state.py + session-start.py 新增隔离的 platform == "kiro" 分支,直接输出纯文本到 stdout(Kiro 把它加入上下文;不需要 hookSpecificOutput 信封)。通过 KIRO_PROJECT_DIR 环境变量或 .kiro 脚本路径识别。其他平台逐字节不变(新增隔离测试)。
  • SHARED_HOOKS_BY_PLATFORM.kiro 加入 session-start.pyinject-workflow-state.py
三个 sub-agent(trellis-{implement,check,research}.json)保持原本的 agentSpawn → inject-subagent-context.py 接线不变。 纯 stdout 进上下文这一契约,以及 IDE runCommand 的 stdout 注入行为,依据 Kiro 官方文档;真机验证仍在 pending。遇到问题的用户可以退回 askAgent + 静态 steering。

Upgrade

npm install -g @mindfoldhq/trellis@latest
trellis update
无需 --migrate
  • Kiro 用户:update 会写入新的主会话 agent(.kiro/agents/trellis.json)、IDE hook(.kiro/hooks/trellis-workflow-state.kiro.hook)以及共享的 hook 脚本。
  • ZCode / OpenCode / Reasonix 用户:update 会写入此前缺失的 trellis-start skill / /trellis:start 命令。
  • Codex 用户:行为无可观测变化。trellis-start 现在通过标准路径产出(而不是 helper),但文件字节完全一致。