0.5.0-rc.6 的稳定版升级,src/ 无新增改动。v0.5.0 相对 0.4.x 是 breaking release —— skill-first 架构、7 个平台升级到 agent-capable、workflow.md 作为工作流的单一事实源。
Codex 用户 —— beta 阶段反馈在 0.5.0 收尾:
multi_agent_v2默认开启(rc.5) ——.codex/config.toml模板从注释指引改为直接写入 feature 配置。min_wait_timeout_ms = 480000(8 分钟)的wait()超时下限阻止父线程频繁轮询子 agent 状态。需要 Codex CLI ≥ v0.128.0 —— 旧版 Codex 会报Error loading config.toml: data did not match any variant of untagged enum FeatureToml in features.multi_agent_v2。
架构
Skill-first 模板
5 个命令迁移为自动触发 skill:before-dev/brainstorm/break-loop/check/update-spec
packages/cli/src/templates/common/ 单一源 —— 之前 N 个平台副本之间的内容漂移问题消除。/start / /continue / /finish-work 仍然是用户主动触发的 slash 命令。
workflow.md 作为单一事实源
工作流定义集中在 .trellis/workflow.md:
- Phase 1 / 2 / 3 step 内容(AI 从这里读指令)
[workflow-state:STATUS]标签块定义每轮面包屑内容- Skill routing 表
task.py16 个子命令参考表(lifecycle / context / metadata / hierarchy / PR)
/continue 命令
/continue 是单个任务内的 continue,不是跨任务的。它消除用户对 Trellis 工作流的学习成本。
之前:用户自己记住每一步该调哪个 slash 命令 —— brainstorm 写 PRD → 讨论 → 让 AI 写 implement.jsonl → 调 sub-agent → check → check-cross-layer → finish-work → record-session。学习负担在用户身上。
现在:
- 自然语言对话进入 brainstorm 状态、创建 task
- 规划完,AI 与你确认 PRD;你觉得 ok 就输入
continue - AI 知道下一步是填充
implement.jsonlcontext;填完再确认 - 你
continue—— AI 知道该调 sub-agent 跑 implement + check - 你
continue—— AI 知道该update-spec - 你
continue—— AI 知道该 commit + finish-work
continue,不用学工作流,不用记 slash 命令。
底层机制:/continue 读 task.json.status + artifact 状态(prd.md / implement.jsonl curation),通过 get_context.py --mode phase --step X.X 加载具体 step 的 how-to。会话被 compact、新 session resume、AI 不确定当前位置时也用它定位。
Session-scoped 任务状态:多窗口并行不再互相覆盖
active-task 指针从全局.trellis/.current-task 文件改为 per-session .trellis/.runtime/sessions/<context-key>.json。
各平台的 session-key 来源:Claude Code 走
CLAUDE_ENV_FILE 写 TRELLIS_CONTEXT_ID;Codex 用 CODEX_SESSION_ID / CODEX_THREAD_ID;Cursor 用 beforeShellExecution ticket;OpenCode 走 Bash 前缀;Pi 注入 Bash + nested pi --mode json 进程。
Joiner onboarding:新开发者克隆已有 Trellis 项目
trellis init 三分支自动调度(基于 .trellis/ × .trellis/.developer 的存在状态):
.developer 文件 gitignore 掉,每次 checkout 是干净信号。workspace/<name>/ 不能用做这个判定 —— 它是 commit 进 git 的。
Bootstrap + joiner PRD 都改写成给 AI 看的 instructions(不再是用户视角的 “Welcome, do X”):包含运行时机制说明(SessionStart hook、<workflow-state> 标签、implement/check sub-agent、jsonl manifest)和建议的开场白。同样的内容覆盖范围,更顺的首次会话体验。
平台覆盖
7 个平台升级到 agent-capable
Qoder、CodeBuddy、Factory Droid、Cursor、Gemini CLI、Kiro、GitHub Copilot —— 从仅命令升级到完整的 sub-agent + hook 集成。
iFlow 平台移除(CLI 上游不再维护)。
Sub-agent 上下文注入:class-1 hook vs class-2 pull-based
两条路径都在共享基础设施里,新加平台二选一。
每轮工作流面包屑
inject-workflow-state.py 在每次用户消息时触发(8 个平台走 UserPromptSubmit;OpenCode 走 Bun plugin 的 chat.message)。注入 ~200 字节的 <workflow-state> 块,按 task.json.status 分类(no_task / planning / in_progress / completed)。标签内容来自 workflow.md 的 [workflow-state:STATUS] 标签块。
SessionStart payload 重构
<workflow> 增长是把 Phase 1/2/3 step 内容内联进来 —— AI 开场就有 step 级 how-to,不用临时 lazy-load get_context.py --mode phase --step X.Y。<guidelines> 收紧是把 spec/<pkg>/<layer>/index.md 改成 paths-only(sub-agent 通过 jsonl 注入按需取)。总量仍然在 Claude Code 的 ~20 KB 截断阈值下。
迁移与升级流程
--dry-run 仍然绕过 gate,可以先预览完整迁移计划再决定是否执行。
清理
138 条safe-file-delete migration,hash 校验 —— 本地修改过的文件保留并警告,只清理原版 Trellis 写入的文件。
RC 阶段稳定性修复(rc.0 → rc.6)
升级
从 0.4.x:--migrate 必加 —— 0.5.0-beta.0 的 breaking-change gate 在遍历 migration 链时触发。138 条 safe-file-delete 经 hash 校验,本地改过的文件保留并警告。每条 confirm prompt 的 reason 字段会内联说明版本特定的判定原因。
从任意 0.5.0 预发布版本(beta.X / rc.X):
trellis update,clean version bump,不需要 flag。
安装: