EveryInc/compound-engineering-plugin
GitHub: EveryInc/compound-engineering-plugin
一套面向 AI 编码工具的工程方法论插件,通过结构化的规划-执行-审查-沉淀闭环让开发实践持续积累价值。
Stars: 23295 | Forks: 1807
# Compound Engineering
[](https://github.com/EveryInc/compound-engineering-plugin/actions/workflows/ci.yml)
让每一次工程实践都比上一次更轻松的 AI 技能。
## 理念
**每一次工程实践都应该让后续的工作变得更轻松——而不是更困难。**
传统的开发模式会不断积累技术债务。每增加一个功能都会增加复杂性。每次修复 bug 都会留下一点局部知识,以后总得有人重新摸索。代码库越来越大,上下文越来越难以掌握,下一次修改变得越来越慢。
Compound Engineering 扭转了这一局面。80% 的精力在于规划和审查,20% 的精力在于执行:
- 在编写代码之前,使用 `/ce-brainstorm` 和 `/ce-plan` 基于单个就绪度计划工件进行彻底规划
- 使用 `/ce-code-review` 和 `/ce-doc-review` 进行审查,以发现问题并校准判断
- 使用 `/ce-compound` 将知识代码化,使其可复用
- 保持高质量,让未来的修改变得简单
重点不在于繁文缛节,而在于杠杆效应。一次好的头脑风暴能让计划更敏锐。一份好的计划能减少执行的工作量。一次好的审查能捕捉到模式,而不仅仅是 bug。一份好的复合笔记意味着下一个 agent 不必从零开始学习同样的教训。
**了解更多**
- [技能文档目录](docs/skills/README.md)
- [Compound engineering:Every 如何使用 agent 编程](https://every.to/chain-of-thought/compound-engineering-how-every-codes-with-agents)
- [Compound engineering 背后的故事](https://every.to/source-code/my-ai-had-already-fixed-the-code-before-i-saw-it)
## 工作流
核心循环包含六个步骤:**头脑风暴** (brainstorm) 需求,**规划** (plan) 实现,**执行** (work) 计划,**简化** (simplify) 所写内容,**审查** (review) 结果,然后**沉淀** (compound) 学习成果——并带着更好的上下文重复此过程。
| 技能 | 目的 |
|-------|---------|
| [`/ce-brainstorm`](docs/skills/ce-brainstorm.md) | 通过交互式问答深入思考功能或问题,并在规划之前编写一份仅包含需求的统一计划 |
| [`/ce-plan`](docs/skills/ce-plan.md) | 将功能创意或仅包含需求的计划充实为实现就绪的计划 |
| [`/ce-work`](docs/skills/ce-work.md) | 使用 worktree 和任务跟踪执行实现就绪的计划 |
| [`/ce-plan`](docs/skills/ce-simplify-code.md) | 在审查之前优化新编写的代码,以提高清晰度和可重用性 |
| [`/ce-code-review`](docs/skills/ce-code-review.md) | 在合并之前根据计划进行多 agent 审查 |
| [`/ce-compound`](docs/skills/ce-compound.md) | 将学习成果捕获到 `docs/solutions/` 中,让下一个循环更智能地开始 |
每次循环都会产生复合效应:`/ce-compound` 写下的经验教训会被下一次的 `/ce-brainstorm` 和 `/ce-plan` 作为基础读取——头脑风暴使计划更敏锐,计划为未来的计划提供参考,审查能发现更多问题,模式也会被记录下来。这个回报的闭环正是其核心意义所在。
### 其他技能
这些技能环绕在循环周围,或者按需调用——并非每个循环都需要它们。
| 技能 | 何时使用 |
|-------|---------|
| [`/ce-ideate`](docs/skills/ce-ideate.md) | *在循环之前*,当你还不知道要构建什么时——生成并批判性地排名有根据的创意,然后将最强的创意传入 `/ce-brainstorm` |
| [`/ce-strategy`](docs/skills/ce-strategy.md) | *上游锚点*——创建并维护 `STRATEGY.md`,作为 ideate、brainstorm 和 plan 的基础被读取,从而使战略决策流入每个功能 |
| [`/ce-product-pulse`](docs/skills/ce-product-pulse.md) | *外层循环*——关于用户实际体验(使用情况、性能、错误)的时间窗口报告,保存至 `docs/pulse-reports/`;其后续行动会反馈到 ideation 和 brainstorming 中 |
| [`/ce-debug`](docs/skills/ce-debug.md) | 当输入是 bug 而不是功能时,*代替 brainstorm -> plan -> work*——重现、追踪根本原因、修复,然后在必要时在交接 PR 前进行润色/审查 |
| [`/ce-pov`](docs/skills/ce-pov.md) | *按需使用,在提交之前*——对于是否采用、切换或重新审视某项外部技术、库、模式或平台,给出决定性的、基于项目的判断;可冷启动或在会话中使用,并根据判断提出下一步建议(`/ce-plan`、`/ce-brainstorm` 或 spike) |
有关完整的目录以及每个技能如何串联,请参阅 [docs/skills](docs/skills/README.md)。完整的清单在[下方](#full-skill-inventory)。
## 快速示例
**寻找方向**——当你还没有具体的想法时,先进行 ideate,然后将最强的幸存者带入循环:
```
/ce-ideate new drawing tools
/ce-ideate surprise me
/ce-ideate github issues # ground ideas in your open issues instead of a prompt
```
`/ce-ideate` 首先做好功课(代码库、过往经验、网络上的现有技术,以及可选的 issue 跟踪器),然后为你提供一组经过排名的、有根据的候选方案,让你带入 `/ce-brainstorm`。
**标准功能循环**——将粗略的想法变成已发布、已审查的代码:
```
/ce-brainstorm make background job retries safer
/ce-plan
/ce-work
/ce-simplify-code
/ce-code-review
/ce-compound
```
**简化代码**——在全新的实现工作之后使用它,或者将其指向一直阻碍变更的代码:
```
/ce-simplify-code
/ce-simplify-code simplify the code in my most-churned file
```
第一遍会在审查前紧缩最近的分支更改。当一个文件不断吸收无关的修复、后续工作或合并冲突时,定向处理非常有用。
**调试 bug**——当你从异常行为而不是功能开始时:
```
/ce-debug the checkout webhook sometimes creates duplicate invoices
/ce-code-review
/ce-compound
```
**自主执行**——移交一个功能,让 agent 运行整个流水线:
```
/ce-brainstorm describe the feature
/lfg
```
`/lfg` 以解放双手的方式运行循环:它进行规划、执行计划、简化、运行代码审查并应用修复、运行浏览器测试、提交、推送、打开 PR,然后监视 CI 并修复失败,直到一切通过(变绿)。在 `/ce-brainstorm` 之后启动它,这样它就可以根据实际需求进行规划,而不是仅凭一句提示。它是标准循环的自动驾驶版本——当你想离开一会儿,然后回来看到一个开放的、CI 通过的 PR 时,非常实用。
## 入门指南
安装后,在任何项目中运行 `/ce-setup`。它会检查仓库本地配置,报告可选工具的可用性,并帮助将机器本地的 CE 设置安全地添加到 .gitignore。
`compound-engineering` 插件目前提供 27 个技能和 0 个独立 agent。专业的审查、研究和工作流行为位于所属技能内部,作为技能本地的提示资产。
### 完整技能清单
| 技能 | 目的 |
|-------|---------|
| [`/ce-strategy`](docs/skills/ce-strategy.md) | 创建或维护 `STRATEGY.md` |
| [`/ce-ideate`](docs/skills/ce-ideate.md) | 生成并批判性评估有根据的创意 |
| [`/ce-pov`](docs/skills/ce-pov.md) | 对外部输入形成决定性的、基于项目的判断 |
| [`/ce-brainstorm`](docs/skills/ce-brainstorm.md) | 探索需求并编写适度规模的需求文档 |
| [`/ce-plan`](docs/skills/ce-plan.md) | 创建结构化的实现计划 |
| [`/ce-work`](docs/skills/ce-work.md) | 系统地执行实现计划 |
| [`/ce-code-review`](docs/skills/ce-code-review.md) | 使用技能本地的审查者角色进行代码审查 |
| [`/ce-doc-review`](docs/skills/ce-doc-review.md) | 审查需求和计划文档 |
| [`/ce-debug`](docs/skills/ce-debug.md) | 重现失败、追踪根本原因、修复 bug,并为 PR 准备非同寻常的修复 |
| [`/ce-compound`](docs/skills/ce-compound.md) | 将已解决的问题编写成文档,以沉淀团队知识 |
| [`/ce-compound-refresh`](docs/skills/ce-compound-refresh.md) | 刷新过时或偏离的经验教训 |
| [`/ce-optimize`](docs/skills/ce-optimize.md) | 运行迭代优化循环 |
| [`/ce-product-pulse`](docs/skills/ce-product-pulse.md) | 生成时间窗口的产品脉搏报告 |
| [`/ce-riffrec-feedback-analysis`](docs/skills/ce-riffrec-feedback-analysis.md) | 将 Riffrec 录音或笔记转换为结构化反馈 |
| [`/ce-resolve-pr-feedback`](docs/skills/ce-resolve-pr-feedback.md) | 解决 PR 审查反馈 |
| [`/ce-commit`](docs/skills/ce-commit.md) | 创建带有清晰信息的 git commit |
| [`/ce-commit-push-pr`](docs/skills/ce-commit-push-pr.md) | 提交、推送并打开 PR,同时保留相关工作引用 |
| [`/ce-worktree`](docs/skills/ce-worktree.md) | 确保工作在隔离的 git worktree 中进行 |
| [`/ce-promote`](docs/skills/ce-promote.md) | 起草面向用户的发布文案 |
| [`/ce-test-browser`](docs/skills/ce-test-browser.md) | 在受 PR 影响的页面上运行浏览器测试 |
| [`/ce-test-xcode`](docs/skills/ce-test-xcode.md) | 在模拟器上构建和测试 iOS 应用 |
| [`/ce-setup`](docs/skills/ce-setup.md) | 诊断可选工具能力和项目配置 |
| [`/ce-simplify-code`](docs/skills/ce-simplify-code.md) | 简化最近的代码更改 |
| [`/ce-polish`](docs/skills/ce-polish.md) | 启动开发服务器并迭代 UX 润色 |
| [`/ce-proof`](docs/skills/ce-proof.md) | 创建、编辑和共享 Proof 文档 |
| [`/ce-dogfood`](docs/skills/ce-dogfood.md) | 对活动分支进行解放双手的、限定在 diff 范围内的浏览器 QA,并带有自主修复功能 |
| [`/lfg`](docs/skills/lfg.md) | 完全自主的工程工作流 |
## 安装
### Claude Code
```
/plugin marketplace add EveryInc/compound-engineering-plugin
/plugin install compound-engineering
```
### Cursor
在 Cursor Agent 聊天中,从插件市场安装:
```
/add-plugin compound-engineering
```
或者在插件市场中搜索“compound engineering”。
### Codex App
Compound Engineering 尚未在 Codex 内置的插件市场中列出。请将其添加为自定义市场:
1. 在 Codex 应用中,从侧边栏打开 **Plugins**。
2. 点击 **Add** / **Add plugin marketplace**。
3. 输入:
| 字段 | 值 |
| --- | --- |
| Source | `EveryInc/compound-engineering-plugin` |
| Git ref | `main` |
| Sparse paths | 留空 |
4. 点击 **Add marketplace**。
5. 选择 **Compound Engineering**,安装 **compound-engineering**,然后重启 Codex。
Codex 应用的安装对于 Compound Engineering 是独立的。专业的审查者和研究行为位于技能内部作为本地提示资产;不需要单独的 custom-agent 安装步骤。
### Codex CLI
注册市场,然后安装插件。
1. **在 Codex 注册市场:**
codex plugin marketplace add EveryInc/compound-engineering-plugin
2. **安装插件:**
codex plugin add compound-engineering@compound-engineering-plugin
你也可以启动 `codex`,运行 `/plugins`,找到 **Compound Engineering** 市场,选择 **compound-engineering** 插件,然后选择 **Install**。安装完成后重启 Codex。
原生的 Codex 插件安装对于 Compound Engineering 是独立的。专业的审查者和研究行为位于技能内部作为本地提示资产;不需要单独的 custom-agent 安装步骤。
对于非默认的 Codex 配置文件,请在同一个 `CODEX_HOME` 下运行所有与 Codex 相关的步骤。此示例将 CE 安装到 `work` 配置文件中:
```
CODEX_HOME="$HOME/.codex/profiles/work" codex plugin marketplace add EveryInc/compound-engineering-plugin
CODEX_HOME="$HOME/.codex/profiles/work" codex plugin add compound-engineering@compound-engineering-plugin
```
市场步骤仅使插件可用;插件安装操作才会为该配置文件激活原生的 CE 技能。
### Kimi Code CLI
Kimi Code CLI 可以直接从此仓库安装 Compound Engineering,因为该仓库带有原生的 `.kimi-plugin/plugin.json` 清单:
```
/plugins install https://github.com/EveryInc/compound-engineering-plugin
```
你也可以通过 Kimi 的自定义市场流程进行浏览:
```
/plugins marketplace https://raw.githubusercontent.com/EveryInc/compound-engineering-plugin/main/.kimi-plugin/marketplace.json
```
安装或更新后,运行 `/reload` 或启动一个新的 Kimi 会话,以便加载插件技能。
### GitHub Copilot
对于 **VS Code Copilot Agent Plugins**:
1. 从 VS Code 命令面板运行 `Chat: Install Plugin from Source`
2. 仓库使用 `EveryInc/compound-engineering-plugin`
3. 当 VS Code 显示此仓库中的插件时,选择 `compound-engineering`
对于 **Copilot CLI**,使用:
在 Copilot CLI 内部:
```
/plugin marketplace add EveryInc/compound-engineering-plugin
/plugin install compound-engineering@compound-engineering-plugin
```
在带有 `copilot` 二进制文件的 shell 中:
```
copilot plugin marketplace add EveryInc/compound-engineering-plugin
copilot plugin install compound-engineering@compound-engineering-plugin
```
Copilot CLI 会读取现有的 Claude 兼容插件清单,因此不需要单独的 Bun 安装步骤。
### Factory Droid
在带有 `droid` 二进制文件的 shell 中:
```
droid plugin marketplace add https://github.com/EveryInc/compound-engineering-plugin
droid plugin install compound-engineering@compound-engineering-plugin
```
Droid 使用 `plugin@marketplace` 插件 ID;这里 `compound-engineering` 是插件,而 `compound-engineering-plugin` 是市场名称。Droid 会安装现有的 Claude Code 兼容插件并自动转换格式,因此不需要单独的 Bun 安装步骤。
### Qwen Code
```
qwen extensions install EveryInc/compound-engineering-plugin:compound-engineering
```
Qwen Code 直接从 GitHub 安装 Claude Code 兼容的插件,并在安装过程中转换插件格式,因此不需要单独的 Bun 安装步骤。
###Code
将 Compound Engineering 添加到全局或项目 `opencode.json` 的 `plugin` 数组中:
```
{
"plugin": ["compound-engineering@git+https://github.com/EveryInc/compound-engineering-plugin.git"]
}
```
更改配置后重启 OpenCode。OpenCode 插件直接注册 Compound Engineering 技能目录;不需要 Bun 安装程序或生成的技能副本。有关固定版本的示例,请参阅 [`.opencode/INSTALL.md`](.opencode/INSTALL.md)。
### Pi
从此仓库将 Compound Engineering 作为 Pi 软件包安装:
```
pi install git:github.com/EveryInc/compound-engineering-plugin
```
对于分发审查者、研究或实现子代理的 CE 工作流,必需的配套组件:
```
pi install npm:pi-subagents
```
用于获取更丰富的阻塞问题的推荐配套组件:
```
pi install npm:pi-ask-user
```
### Antigravity CLI (`agy`)
Google 已使用 [Antigravity CLI](https://antigravity.google) (`agy`) 替换了面向消费者的 Gemini CLI,后者仍在 Gemini 模型上运行。直接从 GitHub 安装 Compound Engineering——无需 clone 步骤:
```
agy plugin install https://github.com/EveryInc/compound-engineering-plugin
```
使用 `agy plugin list` 进行验证。仓库根目录即插件包(`plugin.json` 加上 `skills/`)。
对于本地检出或固定版本的发布:
```
git clone https://github.com/EveryInc/compound-engineering-plugin
agy plugin install ./compound-engineering-plugin
```
打包的 `.agy/` 目录依然是兼容性入口(`agy plugin install ./compound-engineering-plugin/.agy`)。`agy` 还会从检出目录中加载 `GEMINI.md` 工作区上下文。
有关固定版本、本地开发、卸载和旧版 Gemini 导入,请参阅 [`.agy/INSTALL.md`](.agy/INSTALL.md)。
### 现有安装
Compound Engineering 已迁移到根原生、仅包含技能的布局。现有的市场安装会保留一个**缓存**的市场快照,该快照仍然指向旧的 `plugins/compound-engineering` 路径,因此仅更新插件会读取该过期的快照并使你停留在以前的版本上。请**首先**刷新缓存的市场,然后更新插件——顺序很重要。
**Claude Code**
```
/plugin marketplace update compound-engineering-plugin
/plugin update compound-engineering
```
**Codex CLI**
```
codex plugin marketplace upgrade compound-engineering-plugin
codex plugin add compound-engineering@compound-engineering-plugin
```
没有 `codex plugin update` 命令;重新运行 `add` 会从刷新的快照中重新安装。对于非默认配置文件,请针对同一个 `CODEX_HOME` 运行这两个命令。
**Codex App**
从 **Plugins** 面板刷新市场(如果没有刷新控件,请移除并重新添加 `EveryInc/compound-engineering-plugin` 市场),然后重新安装 **compound-engineering** 并重启 Codex。
如果你配置了在 `plugins/compound-engineering` 下具有直接路径或稀疏路径的主机,请编辑或重新安装该源,使其指向不带稀疏路径的仓库根目录。
如果以前通过 Bun 安装的副本仍在影响原生插件技能,请从此仓库的检出目录运行当前的清理命令:
```
git clone https://github.com/EveryInc/compound-engineering-plugin.git /tmp/compound-engineering-plugin-cleanup
cd /tmp/compound-engineering-plugin-cleanup
bun install
bun run cleanup --target all
```
## 本地开发
```
bun install
bun test
bun run release:validate
```
### 从本地检出
对于主动开发,请直接在你要测试的工具中加载此检出目录。
**Claude Code**
```
claude --plugin-dir "$PWD"
```
**Codex App**
在应用的 **Add plugin marketplace** 表单中,使用此检出目录作为源:
| 字段 | 值 |
| --- | --- |
| Source | `/path/to/compound-engineering-plugin` |
| Git ref | 当前分支,或者对于本地文件夹留空 |
| Sparse paths | 留空 |
**Codex CLI**
```
codex plugin marketplace add "$PWD"
codex plugin add compound-engineering@compound-engineering-plugin
```
当你想要将本地测试与你的常规 Codex 配置文件隔离时,请使用单独的 `CODEX_HOME`。Codex 市场条目指向公共 Git 插件源,以便根结构的插件仓库能正确安装;在对未发布的插件内容更改进行端到端测试时,请使用带有 `source.url` 和 `ref` 的临时市场目录。
**Kimi Code CLI**
在 Kimi Code CLI 内部:
```
/plugins install /path/to/compound-engineering-plugin
```
要测试本地市场目录,请传递目录路径:
```
/plugins marketplace /path/to/compound-engineering-plugin/.kimi-plugin/marketplace.json
```
**OpenCode**
```
{
"plugin": ["/path/to/compound-engineering-plugin"]
}
```
更改 `opencode.json` 后重启 OpenCode。
**Pi**
```
pi -e "$PWD"
```
**Antigravity CLI (`agy`)**
```
agy plugin install "$PWD"
agy plugin validate "$PWD"
```
或安装内置的 `.agy/` 入口点:
```
agy plugin install "$PWD/.agy"
```
有关远程安装和固定版本的示例,请参阅 [`.agy/INSTALL.md`](.agy/INSTALL.md)。
## 限制
OpenCode 和 Pi 使用此仓库的原生 package/plugin 加载方式。Bun CLI 仍用于仓库开发和转换器维护,而不是常规安装。
发布版本由发布自动化系统负责。常规的功能 PR 不应手动提升插件或市场清单的版本。
## 常见问题
### 我需要 Bun 来安装 Compound Engineering 吗?
不需要。Bun 仅用于仓库开发任务和转换器维护。
### 我在哪里可以看到所有可用的技能?
此 README 中包含了技能清单,更深入的技能目录在 [`docs/skills/README.md`](docs/skills/README.md) 中。每个技能的权威运行时规范位于 `skills//SKILL.md`。
### 发布历史记录在哪里?
GitHub Releases 是发布说明的权威平台。根目录下的 [`CHANGELOG.md`](CHANGELOG.md) 指向了该历史记录。
## 贡献
欢迎贡献。Issues、bug 报告和 pull requests 都有助于改进这个项目,我们由衷感谢它们——特别是 bug 报告。
关于预期的一个说明:Compound Engineering 在设计上是固执己见的。它由 [@kieranklaassen](https://github.com/kieranklaassen) 和 [@tmchow](https://github.com/tmchow) 维护,其方向反映了对 AI 辅助工程应该如何运作的具体观点。因此,虽然我们欢迎帮助,但我们不能保证接受每一项更改——有些提案即使本身是好主意,也可能不符合这一愿景。
提交一个 issue 或发送一个 PR,我们会把推动插件朝着正确方向发展的内容融合进来。我们只是想坦白地说,并不是所有的东西都会被采纳。
## 许可证
[MIT](LICENSE)
标签:AI智能体, AI辅助编程, Claude插件, SOC Prime, 代码审查, 开发工具, 研发效能, 网络安全研究, 自动化攻击, 防御加固