EveryInc/compound-engineering-plugin

GitHub: EveryInc/compound-engineering-plugin

一套面向 AI 编码工具的工程方法论插件,通过结构化的规划-执行-审查-沉淀闭环让开发实践持续积累价值。

Stars: 23295 | Forks: 1807

# Compound Engineering [![Build Status](https://static.pigsec.cn/wp-content/uploads/repos/cas/ad/ad5834178f7599af9fdda11629d49cae07f2997beec49821b2920eff5bfd50e7.svg)](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, 代码审查, 开发工具, 研发效能, 网络安全研究, 自动化攻击, 防御加固