对于 Trellis 框架的 Q & A
- 内容介绍
- 文章标签
- 相关推荐
从避免ai把事情搞得一团糟的 coding 辅助框架堂堂开源继续讨论:
发现有不少佬友对框架使用有些问题,顺手开个qa贴,这样我给朋友解释的时候也可以直接甩个链接不用重复解释了
Q: AI 怎么知道之前的对话内容?
A: 每次结束对话时用 /record-session ,AI 会把会话摘要写入 .trellis/workspace/{name}/journal-N.md ,并在 index.md 建立索引。下次 /start 时,AI 会自动读取最近的 journal 和 git 信息,恢复上下文。所以理论上直接扒每天的 journal 文件就能当你的工作日报提交了。
Q: 我自己项目本身没有spec,还能用吗
A: 在 trellis init 之后会自动创建一个 00-bootstrap 的task,里面就是引导ai帮你完善对应当前项目的开发规范的,我们对于前端,后端都预设了一些空的模板文件,会引导ai读取你自己的项目规范进行填充,当然有时间有条件还是推荐自己去完善填充spec,毕竟当你有 AI 自己想不到的架构洞察时,能把团队踩过的坑教给 AI 并且拉高团队开发水平,这就是你不会被 AI 取代的原因。
image964×958 35.5 KB
Q: 看着很好用但理念听起来很复杂,怎么快速上手使用?
A: npm install -g @mindfoldhq/trellis@latest, 在你的项目下面 用 tl init 进行初始化, 然后就可以直接开始使用了,
- 如果是 claude code 用户,
打开一个新的cc 窗口就可以直接开始使用(可以先手动执行 /start 一遍了解下流程),说需求ai就会自动创建task, 然后创建对应需要的 feature 信息文档,以及 spec 文件文档(spec 文件里面会存放各个对应开发规范的实际文件路径,然后通过claude code的hook 注入给后续干活的ai), 然后让你进行review 需求,确认之后就会调用对应的一个 implement agent(被注入了上一步获取的所有spec 规范)去实际干活, 最后你验收通过之后使用 /record-session ,ai 会自动记录本次的工作日志
以及后续连 /start 都不用使用,我们已经用了claude code 的session start hook, 把每次ai初始化需要的各种信息(trellis 本身工作流程,你最近的git提交信息,最近你跟ai对话的jounrl记录,项目本身信息)都会自动注入给ai,直接开始对话即可
-
如果是 cursor/codex 用户 (codex 使用
$而不是/
使用流程大概是 /start 启动会话并说出需求, 使用/before-*-dev(backend/frontend) 让ai了解本次需求需要了解的相关开发规范, 开发结束之后使用/check-*去让ai重新获取本次涉及的开发规范,并进行自检,最后用/record-session记录对话 -
其它用户(trae,opencode,windsurf…)
跟cursor 类似,可以根据自己用的ide/cli 手动创建对应的slash command 然后按流程使用
Q: worktree 那套怎么用?
A: 目前只对 cc 有比较好的支持,想并行开发多任务可以在会话开始的时候使用 /parallel, 然后跟cc 讨论需求,它会自动创建对应的task, 然后调用我们封装好的脚本(.trellis/scripts/multi-agent/start.sh)在对应目录创建worktree, 然后用 claude -p --agent dispatch 的方式启动后台进程,dispatch agent会读取task 里面的说明,自行调用implement agent去干活,再调用check agent去自检,最后调用 .trellis/scripts/multi-agent/create-pr.sh 去提pr, 然后可以通过.trellis/scripts/multi-agent/status.sh 实时获取后台任务的状态,如果阻塞了会打印 cd xxx && claude --resume xxxx 的命令方便你直接继续跟它对话解决问题
Q: 这个流程看起来很复杂, ai 会不会不遵守? 就像不遵守skill,不遵守cursor rules那样
A: 大部分的流程我们都封装成脚本让ai直接调用,会尽可能的遵守这套工作流的规范(比如每次 /start 获取工作流,git,journal 信息; 记录journal ,创建worktree并运行等等)
,另外我们内部最佳实践是,除了 /parallel 的流程以外,其它情况在一次ai chat 中,都尽可能只让它干一件事,避免上下文过长的情况
比如有一个很复杂的需求,你可以 /start 一次,然后跟它讨论确认需求, 然后创建一个task,然后就可以 /record-session 直接记录journal ,然后开一个新的会话窗口, 输入 /start 让ai自动了解上次的情况, 然后帮你开始具体实施干活
--【壹】--:
大佬666。下一波大概什么时候更新
--【贰】--: 桃酥:
- 其它用户(trae,codex,opencode,windsurf…)
跟cursor 类似,可以根据自己用的ide/cli 手动创建对应的slash command 然后按流程使用
期待windows + codex
--【叁】--:
影响不是很大,这个主要是给 codex 等非cc用户使用的
--【肆】--:
太久没用codex了,信息源落伍了
我们争取下一波把codex和opencode 都做好原生支持
--【伍】--: 经过 8 个月 Claude Code 高强度实战,我们决定开源内部的最佳实践 开发调优
open-typelsee 的 use-case 基本功能已实现(macos 按住右 option 进行语音识别转录,需要配置火山大模型的 id 和 key) 明天大概率会开个新帖讲这个项目是怎么配合trellis一下午一晚上搓出来的, 有兴趣的佬友可以关注一下
GitHub - mindfold-ai/open-typeless
通过在 GitHub 上创建帐户来为 mindfold-ai/open-typeless 开发做出贡献。
--【陆】--:
争取这两天把各位佬友提到的不支持Windows,不支持codex,opencode 等问题都集中解决一下,今天一直在当客服回问题了,佬友们太热情了
--【柒】--:
里面有很多活是用 subagent 干来解决部分上下文太多的问题吗?不过我记得 subagent 是一个很耗 token 的东西
--【捌】--:
codex 0.91版本最新功能collab(subagent、mutiagent)开启方法(强烈推荐开启) 最新版本应该是有支持subagent了
--【玖】--:
牛逼,等支持Windows+codex就用起来试试
--【拾】--:
1.流程限制的有点死啊,我必须提交commit才让归档和record
2.一个任务完成,什么情况下的会进spec中维护的文档中去
--【拾壹】--:
image1666×848 111 KB
我们也想支持codex, 我自己之前就是codex 忠诚用户… 奈何codex迭代真的太慢了,什么功能都不出
--【拾贰】--:
1.这个呀–好吧是agent.md,不过也不是XML
image659×340 53.1 KB
5.应该是的,等会我实践下
--【拾叁】--: 桃酥:
争取这两天把各位佬友提到的不支持Windows,不支持codex,opencode 等问题都集中解决一下
期待一下
--【拾肆】--:
Q: 多个不同的项目,有自己封装的组件,如果想共用研发规范之类的,用trellis框架应该如何实践
A: 最推荐的方式是 monorepo 或者 git sub module, 直接把仓库物理层面上就能都用一个目录在ide一起打开,
然后我们内部有两种实践方式(目前还没比出来哪种更好)
-
在根目录的 .trellis/spec 下面再按照不同的项目创建子目录,里面再存放子项目的后端/前端/其它 spec,比如这样
image620×778 29.4 KB
然后在 {.claude | .cursor}/commands/ 目录下面的 before-{backend|frontend}-dev 的slash command 里面修改对应的spec,说明一下先根据用户需求查看是要开发哪个项目,然后再去对应 xxx 路径下面找对应开发规范 -
在根目录的 .trellis/spec 下面存放一些所有项目都能用的公共包的规范, 然后再在每个子项目的目录下面也执行 trellis init , 然后在对应的spec 下面存放只属于这个项目自己的开发规范
项目根目录:
image568×716 29.9 KB
子项目1 .trellis 目录:
image568×468 18.3 KB
子项目2 .trellis 目录:
image592×694 30.6 KB
--【拾伍】--:
佬有几个问题简单问问,可能我用着用着也会继续过来问。
1.在项目里init后,claude.md那个xml我删掉的话影响会很大吗?如果我平时用commands去直接调的话
2.佬是怎么解决多人一起开发的时候整个.trellis维护的?
3.我看仓库里还有某些skill,有类似于superpowers的脑暴的skill吗
4. .trellis文档维护如果出现漂移,应该怎样去修复?
5. 能不能支持这种项目结构的,一个root的目录,下面有前端目录 下面有后端目录,整一个开发全在root目录进行
--【拾陆】--:
支持codex吗
--【拾柒】--:
子 agent 我们是当给主agent的tool用的, 只要主 agent 的上下文窗口保持尽可能的干净就能达到我们的需求, 至于token的话我们团队人均 200$ cc 套餐,基本用不完
--【拾捌】--:
-
可以先归档再commit, 主要是record 需要记录git commit hash,所以需要先commit 再record
-
finish-work 里有对ai 的相关指引,如果这个任务引入了新的相关开发规范/组件,或者修改了旧有的开发规范,都应该更新spec文档,而且如果开发者觉得这次任务需要spec,也可以手动调用 update-spec 的 slash command 去让ai根据任务情况更新相关spec
--【拾玖】--:
- 我很久没用过 claude.md 了,你说的 xml 是啥东西? 我们的commands 是存放在 .claude/commands/trellis/ 目录下面,跟根目录的 claude.md 没啥关系
- 分task给不同开发者, 然后每个人写对应新feature or debug, 目前spec 相关的我们还没遇到过冲突, task 是有创建人和指派人的, 也不会冲突, journal 等个人信息存放在
.trellis/workspace/{developer}目录下面,物理隔离不会冲突 - 有,就是我们的plan agent, 后续会在 plan agent 的prompt 里加上脑爆相关的指引提示词
- 有
finish-work在每次开发结束后进行 spec 是否需要更新的检查, 也有update-spec这个手动让 ai 更新spec的指令 - 你是说 monorepo 吗?这个没大听懂,可以看看 对于 Trellis 框架的 Q & A - #2,来自 taosu0216 这个评论是否能解决你的问题
从避免ai把事情搞得一团糟的 coding 辅助框架堂堂开源继续讨论:
发现有不少佬友对框架使用有些问题,顺手开个qa贴,这样我给朋友解释的时候也可以直接甩个链接不用重复解释了
Q: AI 怎么知道之前的对话内容?
A: 每次结束对话时用 /record-session ,AI 会把会话摘要写入 .trellis/workspace/{name}/journal-N.md ,并在 index.md 建立索引。下次 /start 时,AI 会自动读取最近的 journal 和 git 信息,恢复上下文。所以理论上直接扒每天的 journal 文件就能当你的工作日报提交了。
Q: 我自己项目本身没有spec,还能用吗
A: 在 trellis init 之后会自动创建一个 00-bootstrap 的task,里面就是引导ai帮你完善对应当前项目的开发规范的,我们对于前端,后端都预设了一些空的模板文件,会引导ai读取你自己的项目规范进行填充,当然有时间有条件还是推荐自己去完善填充spec,毕竟当你有 AI 自己想不到的架构洞察时,能把团队踩过的坑教给 AI 并且拉高团队开发水平,这就是你不会被 AI 取代的原因。
image964×958 35.5 KB
Q: 看着很好用但理念听起来很复杂,怎么快速上手使用?
A: npm install -g @mindfoldhq/trellis@latest, 在你的项目下面 用 tl init 进行初始化, 然后就可以直接开始使用了,
- 如果是 claude code 用户,
打开一个新的cc 窗口就可以直接开始使用(可以先手动执行 /start 一遍了解下流程),说需求ai就会自动创建task, 然后创建对应需要的 feature 信息文档,以及 spec 文件文档(spec 文件里面会存放各个对应开发规范的实际文件路径,然后通过claude code的hook 注入给后续干活的ai), 然后让你进行review 需求,确认之后就会调用对应的一个 implement agent(被注入了上一步获取的所有spec 规范)去实际干活, 最后你验收通过之后使用 /record-session ,ai 会自动记录本次的工作日志
以及后续连 /start 都不用使用,我们已经用了claude code 的session start hook, 把每次ai初始化需要的各种信息(trellis 本身工作流程,你最近的git提交信息,最近你跟ai对话的jounrl记录,项目本身信息)都会自动注入给ai,直接开始对话即可
-
如果是 cursor/codex 用户 (codex 使用
$而不是/
使用流程大概是 /start 启动会话并说出需求, 使用/before-*-dev(backend/frontend) 让ai了解本次需求需要了解的相关开发规范, 开发结束之后使用/check-*去让ai重新获取本次涉及的开发规范,并进行自检,最后用/record-session记录对话 -
其它用户(trae,opencode,windsurf…)
跟cursor 类似,可以根据自己用的ide/cli 手动创建对应的slash command 然后按流程使用
Q: worktree 那套怎么用?
A: 目前只对 cc 有比较好的支持,想并行开发多任务可以在会话开始的时候使用 /parallel, 然后跟cc 讨论需求,它会自动创建对应的task, 然后调用我们封装好的脚本(.trellis/scripts/multi-agent/start.sh)在对应目录创建worktree, 然后用 claude -p --agent dispatch 的方式启动后台进程,dispatch agent会读取task 里面的说明,自行调用implement agent去干活,再调用check agent去自检,最后调用 .trellis/scripts/multi-agent/create-pr.sh 去提pr, 然后可以通过.trellis/scripts/multi-agent/status.sh 实时获取后台任务的状态,如果阻塞了会打印 cd xxx && claude --resume xxxx 的命令方便你直接继续跟它对话解决问题
Q: 这个流程看起来很复杂, ai 会不会不遵守? 就像不遵守skill,不遵守cursor rules那样
A: 大部分的流程我们都封装成脚本让ai直接调用,会尽可能的遵守这套工作流的规范(比如每次 /start 获取工作流,git,journal 信息; 记录journal ,创建worktree并运行等等)
,另外我们内部最佳实践是,除了 /parallel 的流程以外,其它情况在一次ai chat 中,都尽可能只让它干一件事,避免上下文过长的情况
比如有一个很复杂的需求,你可以 /start 一次,然后跟它讨论确认需求, 然后创建一个task,然后就可以 /record-session 直接记录journal ,然后开一个新的会话窗口, 输入 /start 让ai自动了解上次的情况, 然后帮你开始具体实施干活
--【壹】--:
大佬666。下一波大概什么时候更新
--【贰】--: 桃酥:
- 其它用户(trae,codex,opencode,windsurf…)
跟cursor 类似,可以根据自己用的ide/cli 手动创建对应的slash command 然后按流程使用
期待windows + codex
--【叁】--:
影响不是很大,这个主要是给 codex 等非cc用户使用的
--【肆】--:
太久没用codex了,信息源落伍了
我们争取下一波把codex和opencode 都做好原生支持
--【伍】--: 经过 8 个月 Claude Code 高强度实战,我们决定开源内部的最佳实践 开发调优
open-typelsee 的 use-case 基本功能已实现(macos 按住右 option 进行语音识别转录,需要配置火山大模型的 id 和 key) 明天大概率会开个新帖讲这个项目是怎么配合trellis一下午一晚上搓出来的, 有兴趣的佬友可以关注一下
GitHub - mindfold-ai/open-typeless
通过在 GitHub 上创建帐户来为 mindfold-ai/open-typeless 开发做出贡献。
--【陆】--:
争取这两天把各位佬友提到的不支持Windows,不支持codex,opencode 等问题都集中解决一下,今天一直在当客服回问题了,佬友们太热情了
--【柒】--:
里面有很多活是用 subagent 干来解决部分上下文太多的问题吗?不过我记得 subagent 是一个很耗 token 的东西
--【捌】--:
codex 0.91版本最新功能collab(subagent、mutiagent)开启方法(强烈推荐开启) 最新版本应该是有支持subagent了
--【玖】--:
牛逼,等支持Windows+codex就用起来试试
--【拾】--:
1.流程限制的有点死啊,我必须提交commit才让归档和record
2.一个任务完成,什么情况下的会进spec中维护的文档中去
--【拾壹】--:
image1666×848 111 KB
我们也想支持codex, 我自己之前就是codex 忠诚用户… 奈何codex迭代真的太慢了,什么功能都不出
--【拾贰】--:
1.这个呀–好吧是agent.md,不过也不是XML
image659×340 53.1 KB
5.应该是的,等会我实践下
--【拾叁】--: 桃酥:
争取这两天把各位佬友提到的不支持Windows,不支持codex,opencode 等问题都集中解决一下
期待一下
--【拾肆】--:
Q: 多个不同的项目,有自己封装的组件,如果想共用研发规范之类的,用trellis框架应该如何实践
A: 最推荐的方式是 monorepo 或者 git sub module, 直接把仓库物理层面上就能都用一个目录在ide一起打开,
然后我们内部有两种实践方式(目前还没比出来哪种更好)
-
在根目录的 .trellis/spec 下面再按照不同的项目创建子目录,里面再存放子项目的后端/前端/其它 spec,比如这样
image620×778 29.4 KB
然后在 {.claude | .cursor}/commands/ 目录下面的 before-{backend|frontend}-dev 的slash command 里面修改对应的spec,说明一下先根据用户需求查看是要开发哪个项目,然后再去对应 xxx 路径下面找对应开发规范 -
在根目录的 .trellis/spec 下面存放一些所有项目都能用的公共包的规范, 然后再在每个子项目的目录下面也执行 trellis init , 然后在对应的spec 下面存放只属于这个项目自己的开发规范
项目根目录:
image568×716 29.9 KB
子项目1 .trellis 目录:
image568×468 18.3 KB
子项目2 .trellis 目录:
image592×694 30.6 KB
--【拾伍】--:
佬有几个问题简单问问,可能我用着用着也会继续过来问。
1.在项目里init后,claude.md那个xml我删掉的话影响会很大吗?如果我平时用commands去直接调的话
2.佬是怎么解决多人一起开发的时候整个.trellis维护的?
3.我看仓库里还有某些skill,有类似于superpowers的脑暴的skill吗
4. .trellis文档维护如果出现漂移,应该怎样去修复?
5. 能不能支持这种项目结构的,一个root的目录,下面有前端目录 下面有后端目录,整一个开发全在root目录进行
--【拾陆】--:
支持codex吗
--【拾柒】--:
子 agent 我们是当给主agent的tool用的, 只要主 agent 的上下文窗口保持尽可能的干净就能达到我们的需求, 至于token的话我们团队人均 200$ cc 套餐,基本用不完
--【拾捌】--:
-
可以先归档再commit, 主要是record 需要记录git commit hash,所以需要先commit 再record
-
finish-work 里有对ai 的相关指引,如果这个任务引入了新的相关开发规范/组件,或者修改了旧有的开发规范,都应该更新spec文档,而且如果开发者觉得这次任务需要spec,也可以手动调用 update-spec 的 slash command 去让ai根据任务情况更新相关spec
--【拾玖】--:
- 我很久没用过 claude.md 了,你说的 xml 是啥东西? 我们的commands 是存放在 .claude/commands/trellis/ 目录下面,跟根目录的 claude.md 没啥关系
- 分task给不同开发者, 然后每个人写对应新feature or debug, 目前spec 相关的我们还没遇到过冲突, task 是有创建人和指派人的, 也不会冲突, journal 等个人信息存放在
.trellis/workspace/{developer}目录下面,物理隔离不会冲突 - 有,就是我们的plan agent, 后续会在 plan agent 的prompt 里加上脑爆相关的指引提示词
- 有
finish-work在每次开发结束后进行 spec 是否需要更新的检查, 也有update-spec这个手动让 ai 更新spec的指令 - 你是说 monorepo 吗?这个没大听懂,可以看看 对于 Trellis 框架的 Q & A - #2,来自 taosu0216 这个评论是否能解决你的问题

