trellis update --migrate / init-context 三个 bug。非 breaking,不用加 --migrate。
Bug 修复
1. codex / kiro 下 skill 路径缺 trellis- 前缀
cli_adapter.py 的 get_trellis_command_path 返回不带前缀的路径,忽略了 0.5.0-beta.0 对 60+ 个 skill 目录加 trellis- 的改名。codex / kiro 项目跑 task.py init-context 生成的 check.jsonl 指向不存在的文件。
2. .agents/skills/ 挡住 Kiro / Antigravity / Windsurf 探测
.agents/skills/ 是跨平台共享层(Codex 写入 / Amp / Cline / Kimi Code / Warp 通过 agentskills.io 消费),之前被列进 _ALL_PLATFORM_CONFIG_DIRS,挡住所有没把它加进 exclude 的平台探测分支。detect_platform 落回 claude。
- 从
_ALL_PLATFORM_CONFIG_DIRS移除".agents"。 detect_platform末尾加 codex fallback:
3. init-context 新增 --platform
skill / command 按平台 render,render 时平台已知;改成端到端传递,不再运行时从文件系统重探测。
resolvePlaceholders新增{{CLI_FLAG}},configure 时替换为平台cliFlag。TemplateContext新增cliFlag: CliFlag,registry invariant 测试断言它和AIToolConfig.cliFlag一致。task.py init-context新增--platform,透过cmd_init_context→get_check_context(repo_root, platform=...)→get_cli_adapter(platform)。codex/skills/start/SKILL.md和copilot/prompts/start.prompt.md现在这么调:
--platform 时走 auto-detect(CLI 手敲、TRELLIS_PLATFORM 环境变量)。
4. 回填 0.5.0-beta.0 和 0.5.0-beta.5 的 migrationGuide
update.ts 通过拼接 fromVersion 到 toVersion 之间所有 migrationGuide 生成 migrate-to-<version> task PRD。两个 0.5.x breaking 版本都漏写 migrationGuide,导致从 0.4.x 升级的用户拿到的 PRD 里全是 0.3/0.4 老内容,0.5 breaking 一字未提。
| Manifest | 回填内容 |
|---|---|
0.5.0-beta.0.json | 0.4→0.5 narrative:skill 改名、退役命令、Multi-Agent Pipeline 移除、iFlow 下架、task.json schema 清理 |
0.5.0-beta.5.json | Sub-agent 改名:implement / check / research → trellis-* |
packages/cli/scripts/create-manifest.js 现在拒绝 breaking && recommendMigrate && !migrationGuide 的 manifest。.trellis/spec/cli/backend/migrations.md 写入规则。
端到端验证:
| 起点 → 目标 | 拿到的 guide |
|---|---|
0.4.0 → 0.5.0-beta.10 | 0.5.0-beta.0、0.5.0-beta.5 |
0.3.9 → 0.5.0-beta.10 | 0.4.0-beta.1、0.5.0-beta.0、0.5.0-beta.5 |
0.5.0-beta.4 → 0.5.0-beta.10 | 0.5.0-beta.5 |
5. release:beta / release:rc / release:promote 前置 docs-site changelog 检查
packages/cli/scripts/check-docs-changelog.js 在版本 bump 之前跑。若 docs-site/changelog/v<target>.mdx、docs-site/zh/changelog/v<target>.mdx 或它们在 docs.json 里的页面条目缺失,exit 1。beta.10 本身就是漏写 docs-site changelog 发出去的,所以加了这个。
升级
- 从 beta.9 升上来且跑过
trellis update --migrate的用户:那次 run 创建的 task 里check.jsonl还指向旧的不带前缀的路径。对每个 task 重跑task.py init-context <task-dir> <type> --platform <平台>重生成,或者删掉 task 重建。 - 还在 0.4.x、没升过 0.5 的用户:migration task PRD 里现在是真实的 0.4→0.5 内容。
.codex/缺失的 fresh clone codex 用户:detect_platform现在会在.agents/skills/trellis-*是唯一平台信号时返回codex,不再落到claude。
npm install -g @mindfoldhq/trellis@beta