Ouroboros
现有项目

现有项目(brownfield)

前面几章的例子都是从零开始。真实情况多半不是——你手上已经有一个仓库。把它接进来之后,访谈会照着现有代码和约束提问,而不是像新项目那样凭空猜。

1. 接进来之后有什么不一样

不只是「问题换个问法」。模糊度的算法本身会换一套。

维度新项目权重现有项目权重
目标清晰度40%35%
约束清晰度30%25%
成功标准30%25%
上下文清晰度15%

现有项目多出来的第四个维度是「你摸清现有代码库了吗」,而且它还有一条单独的下限 0.60。也就是说:总分够了但对现有代码理解不足,照样过不去。

2. 注册仓库

在 Claude Code 会话里(装的是 Codex CLI 或 OpenCode 插件也一样,见装插件):

ooo brownfield

预期结果:列出扫描到的 git 仓库和 worktree,你挑要用作访谈默认上下文的那些。只挑你真的在做的仓库——挑太多只会让上下文变吵。

命令行那边对应的是:

ouroboros setup scan [SCAN_ROOT]
ouroboros setup list
ouroboros setup default

MCP 工具侧的动作名是 scanregisterqueryset_default

3. ooo pm — 产品级需求

不是整理一个功能,而是整理整个产品要做什么的时候用:

ooo pm

预期结果:产品级的问题依次进行,产出一份 PRD。

PRD 和 Seed 不是一回事。PRD 说的是产品应该是什么样,Seed 是一次运行照着干的工作规约。PRD 不会被直接执行;把它的内容喂给 ooo interview,才会得到可执行的 Seed。

4. ooo publish — 交给团队

把 Seed 变成团队可以分工的 GitHub Issues。需要装好并登录 gh CLI。

ooo publish <seed_path>

预期结果:先把将要创建的 issue 结构给你看,确认之后才在目标仓库里真的创建。

这一页对着当前源码核过:四个权重(0.35 / 0.25 / 0.25 / 0.15)和上下文下限 0.60 都在 bigbang/ambiguity.py;命令行子命令来自 docs/cli-reference.md,MCP 动作名来自 mcp/tools/brownfield_handler.py英文版那页原先写的 ooo brownfield defaultsooo brownfield set 在这两处都查不到,现在三个语言版本都换成了能查到的那两组名字。有对不上的地方,欢迎到 GitHub Issues 说一声。