跳转到主要内容

Documentation Index

Fetch the complete documentation index at: https://docs.trytrellis.app/llms.txt

Use this file to discover all available pages before exploring further.

v0.5.0-rc.0 是 0.5.0 发布前的候选版本。本版本聚焦发布稳定化:非交互 init 恢复、workflow breadcrumb 从 workflow.md 读取、workflow.md breadcrumb 自动更新,以及内置 trellis-meta 参考文档同步。

Enhancements

Workflow breadcrumbs

每轮提示 AI 当前该走哪一步的 workflow breadcrumb,现在从 .trellis/workflow.md[workflow-state:STATUS] block 读取。
组件改动
packages/cli/src/templates/shared-hooks/inject-workflow-state.py删除 _FALLBACK_BREADCRUMBS;缺少 tag 时降级为通用 Refer to workflow.md 提示
packages/cli/src/templates/opencode/plugins/inject-workflow-state.js删除 OpenCode JS fallback 字典
.trellis/workflow.md / template copyplanning 提示加入必需的 Phase 1.3 jsonl curation;in_progress 提示加入 /trellis:finish-work 前的 Phase 3.4 commit
packages/cli/src/templates/shared-hooks/session-start.py从 SessionStart payload 里移除完整 breadcrumb tag block,避免同一段内容被注入两次
解析器和移除逻辑都要求 tag 成对匹配:
[workflow-state:planning]
...
[/workflow-state:planning]

workflow.md breadcrumb 自动更新

trellis update 现在会自动更新 .trellis/workflow.md 里的 [workflow-state:*] block。它们是 hook 用来提示 AI 下一步做什么的文本;普通说明文字仍然按用户自己的版本保留。
场景行为
用户文件有同名 status block用 CLI template block 替换该 block 内容
用户文件缺少某个 status block把缺失 block 追加到 workflow.md 末尾
用户改了 tag block 外的内容原样保留
用户改了 tag block 内的提示文本用当前 CLI 版本替换,并打印 warning 列出受影响 status
实现位于 buildWorkflowMdTemplatepackages/cli/src/commands/update.ts)。

task.py create 后设置 session active task

task.py create 现在会 best-effort 设置 session active-task pointer。创建任务后,planning breadcrumb 可以立刻出现,AI 会看到 Phase 1.1 到 Phase 1.4 的 guidance,而不是落回 no-task 路径。 trellis continue 也改为按 task.json.status 加必需 artifact 路由,包含 prd.md 和 jsonl context 就绪后的 Phase 1.4 activation 分支。

内置 trellis-meta 参考文档

内置 trellis-meta skill 的参考页面现在统一描述 workflow-state 如何读取 workflow.md
Reference更新
customize-local/change-workflow.md说明 [workflow-state:STATUS] block 会被运行时 hook 解析
customize-local/change-task-lifecycle.md增加 task.py create / task.py start 的 session active-task pointer 说明
local-architecture/context-injection.mdworkflow-state injection 指向 workflow.md,不再描述重复的 hook fallback 文本
platform-files/hooks-and-settings.mdhook 描述与当前 workflow-state 行为对齐

Bug Fixes

非交互 trellis init --yes

trellis init --yes 在文件已存在时也保持非交互。
修复
packages/cli/src/commands/init.ts除非传入 --force,否则 --yes 把写入冲突映射到 skip mode
packages/cli/src/utils/file-writer.ts非 TTY 的 ask mode 降级到 skip,不再触发 prompt
避免的失败stdin 不可用后 prompt 代码抛出的 ERR_USE_AFTER_CLOSE
--force 仍然覆盖已有文件。--yes 默认保留已有文件。

首次 init 中断后的恢复

如果之前的 init 已写入 .trellis/,但在创建任何 task 之前中断,重新运行 init 现在会创建 bootstrap task,而不是误走 joiner onboarding。
磁盘状态命令rc.0 行为
.trellis/ 存在,tasks/ 为空trellis init -u <name> --codex --yes创建 00-bootstrap-guidelines
.trellis/ 存在,tasks/ 为空trellis init -u <name> --codex --yes --force创建 00-bootstrap-guidelines
已有 active 或 archived task 的项目trellis init -u <name> --yes保持正常 re-init / joiner 路由
empty-tasks/ early check 会绕过 handleReinit,随后由 main dispatch 的 bootstrap fallback 接管。

Testing

Init recovery coverage

init 测试现在覆盖:
测试文件覆盖点
packages/cli/test/commands/init-joiner.integration.test.ts--yes alone 和 --force 两种 empty-tasks/ 恢复路径
packages/cli/test/utils/file-writer.test.ts非 TTY 冲突从 ask 降级到 skip

Workflow-state coverage

回归测试现在守住这些 invariant:
Invariant覆盖点
Phase 1.3 出现在 planning breadcrumbworkflow.md template test
Phase 3.4 commit 出现在 in_progress breadcrumbworkflow.md template test
Python / JS fallback 字典保持删除Hook source tests
成对 tag 解析SessionStart strip test
workflow.md breadcrumb block 自动更新update.integration.test.ts

Upgrade

安装 RC:
npm install -g @mindfoldhq/trellis@rc
已有 0.5 beta 项目:
trellis update
从 0.4.x 升级的项目:
trellis update --migrate
0.5.0-rc.0 不新增迁移条目,但 0.4.x 项目仍需执行从 0.5.0-beta.0 开始的 0.5 迁移链。