跳转到主要内容
Monorepo 支持、统一命令、Python 脚本重构。
这是一个破坏性更新。请运行 trellis update 进行迁移。自定义过的命令文件会被保留——只有未修改的文件才会被自动删除。

功能增强

  • Monorepo 自动检测trellis init 自动检测 pnpm/npm/Cargo/Go/uv workspaces 和 git submodules,生成按包划分的 spec 目录和含 packages 列表的 config.yaml
  • 命令合并before-backend-dev + before-frontend-dev 合并为 before-devcheck-backend + check-frontend 合并为 check(全部 9 个平台)
  • 安全文件删除 — 新增迁移类型 safe-file-delete,仅在文件内容 hash 匹配时删除过时文件(用户修改过的文件永远不会被删除)
  • 受保护路径PROTECTED_PATHS 防止迁移操作触碰用户数据(.trellis/workspacespectasks
  • 更新跳过路径config.yaml 新增 update.skip,排除指定路径不受 safe-file-delete 和模板更新影响
  • Worktree 子模块感知 — Worktree agent 自动为任务包初始化 git submodules
  • Monorepo 脚本支持 — session-start hook 支持 spec_scope 过滤;task.pyadd_session.py 支持 --package
  • 迁移任务自动创建 — 破坏性更新时自动在 .trellis/tasks/ 创建迁移任务,包含迁移指南和 AI 协助说明

Bug 修复

  • Update:受保护路径兼容 — 允许 rename/rename-dir 迁移目标为受保护路径(0.2.0 兼容)
  • Update:配置解析警告config.yaml 解析失败时发出警告,而非静默禁用 update.skip
  • Scripts:子模块状态 — 保留 git submodule 状态前缀字符(.strip.rstrip

内部改进

  • Python 脚本重构 — 提取共享 io/log/git 模块,引入 TaskInfo TypedDict 类型安全,拆分巨型模块(task.pygit_context.pystatus.py)为聚焦模块。所有入口路径不变。

迁移指南

运行 trellis update 同步新的统一命令。旧的 before-backend-devbefore-frontend-devcheck-backendcheck-frontend 文件会在未修改的情况下自动删除。如果你自定义了这些文件,请将改动合并到新的 before-dev / check 文件中,然后手动删除旧文件。