ce-setup

在一个交互式流程中诊断您的环境、安装缺少的工具并引导项目本地配置。

ce-setup入职 技能。它诊断已安装的内容、缺少的内容、插件版本是什么、存在哪些存储库本地配置,并为缺少的部分提供指导安装。在首次安装、升级插件后、对技能声称工具不可用进行故障排除时或在将新存储库加入到复合工程之前运行它。

仅 Beta 风格显式调用 (disable-model-invocation: true) — 不会自动触发。


TL;DR

问题 回答
它有什么作用? 运行环境诊断,通过安装命令显示缺少的工具/技能,引导 .compound-engineering/config.local.yaml,可选择添加 .gitignore 条目
何时使用它 首次安装,升级后健康检查,“为什么这个技能说 X 没有安装?”,新的仓库上线
它生产什么 已确认安装的报告,或缺少工具的指导安装流程,以及引导的本地配置
状态 仅显式调用

## 问题

复合工程依赖于多个外部 CLI 和每个存储库的配置,很容易跳过:

  • 工具依赖项agent-browserghjqvhssiliconffmpegast-grep — 每个安装命令都不同,并非全部都很明显
  • 技能依赖性 — 某些技能依赖于其他特工技能(例如 ast-grep 技能);知道需要哪些以及将它们安装在哪里是不透明的
  • 插件版本漂移 - 旧安装的插件与当前文档的行为不同;用户未经检查就针对已修复的错误提交错误报告
  • 每个存储库配置.compound-engineering/config.local.yaml 用于机器本地设置;如果没有引导,像 ce-product-pulse 这样的技能每次运行都会问同样的问题
  • 过时的遗留配置compound-engineering.local.md 是旧格式;挥之不去的文件会导致混乱
  • Gitignore 陷阱.compound-engineering/config.local.yaml 应该被 gitignored(机器本地),但并非总是如此;用户不小心泄露了秘密
  • 手动设置非常繁琐 — 一次安装 7 个工具,并为每个工具提供正确的命令,这很麻烦

解决方案

ce-setup 将安装程序作为结构化诊断然后修复流程运行:

  • 阶段 1:诊断 — 运行 bash scripts/check-health 一次;一次性报告工具/技能安装状态、插件版本、存储库本地 CE 配置状态
  • 第 2 阶段:修复(仅当存在问题时):
    • 解决存储库本地清理问题(删除过时的 compound-engineering.local.md 如果存在)
    • Bootstrap .compound-engineering/config.local.yaml(提供从模板创建,提供 .gitignore 条目)
    • 为缺少的工具和技能提供指导安装(多选,全部预选)
    • 一次运行一个安装命令,在继续之前验证每个命令
  • 最终总结 — 报告已安装/跳过,并推荐 /ce-update 如果 Claude Code

是什么让它如此新颖

1. 单次诊断通过

该技能运行一个检查脚本,该脚本处理所有 CLI 工具、代理技能、存储库本地 CE 文件和 .gitignore 指导。无需对每个工具进行手动检查,无需重复询问。输出是一个彩色报告,可以向用户显示。如果一切都已安装,则无需进行存储库本地清理,并且本地配置存在且被 gitignored — 该技能将打印成功消息并停止。

2. 存储库本地配置引导

.compound-engineering/config.local.yaml 是机器本地设置所在的位置(使用哪些工具、工作流程如何运行、脉冲设置)。技能:

  • 始终从模板刷新 .compound-engineering/config.local.example.yaml (已提交;可用设置的队友参考)
  • 如果丢失则创建 .compound-engineering/config.local.yaml 一次(gitignored;实际的本地设置,全部注释掉 - 仅选择需要的内容)
  • 如果尚未涵盖,则建议将 .compound-engineering/*.local.yaml 添加到 .gitignore

示例(已提交)和本地(gitignored)之间的划分是存储库中机器本地配置的规范模式。引导它意味着未来的技能不必如此。

3. 多选安装并预先选择所有内容

当工具或技能缺失时,技能会将它们呈现为多选,并带有所有预选项目。用户可以取消选择他们不想要的任何内容。项目分组在 Tools:Skills: 下,因此很清楚每个目标运行时。已安装的项目将被完全省略。

4. 在继续之前验证每个安装

运行每个安装命令后,技能会验证实际安装的工具:

  • 对于 CLI 工具:command -v <tool>
  • 对于代理技能:npx skills list --global --json | jq -r '.[].name' | grep -qx <skill-name>(如果 npx 可用),否则检查 ~/.claude/skills/<skill-name> / ~/.agents/skills/<skill-name> / ~/.codex/skills/<skill-name> 路径

如果验证成功,则报告成功。如果失败,项目 URL 将显示为后备,并且技能将继续到下一个依赖项而不是阻止。

5. 旧版 compound-engineering.local.md 清理

该技能检测存储库根目录中是否存在过时的 compound-engineering.local.md 。如果是,则说明该文件已过时(审查代理选择现在是自动的,计算机本地状态已移至 .compound-engineering/config.local.yaml)并询问是否删除。用户控制清理;该技能不会默默地删除存储库文件。

6. 用于 Claude 代码检测的预解析插件根

该技能使用预解析(技能加载时的 ! 反引号)来捕获 ${CLAUDE_PLUGIN_ROOT}。如果它解析为绝对路径,则这是克劳德代码,该技能建议使用 /ce-update 进行升级。如果它无法解析(空、文字标记或非 Claude 线束),则忽略 /ce-update 引用。无需猜测平台。

7. 仅显式调用

disable-model-invocation: true 防止该技能在提及“设置”或安装讨论的散文中自动触发。安装程序是用户有意选择的 — 直接调用 /ce-setup


简单示例

您刚刚安装了复合工程并想要验证所有设置。您调用 /ce-setup

该技能宣布“复合工程 - 检查您的环境...”并运行 bash scripts/check-health --version 3.4.1

诊断报告:

工具:
  🟢 代理浏览器 🟡 gh(未安装) 🟢 jq 🟡 vhs(未安装)
  🟢 硅 🟢 ffmpeg 🟡 ast-grep (未安装)

技能:
  🟡 ast-grep(未安装)

配置:
  ❌ 未找到.compound-engineering/config.local.yaml

该技能检测到 3 个缺失工具、1 个缺失技能、无本地配置。它遍历:

  1. Bootstrap 配置:“为此项目设置本地配置文件?(y/n)”——你说是。将模板复制到 .compound-engineering/config.local.yaml。提议将 .compound-engineering/*.local.yaml 添加到 .gitignore — 添加它。
  2. 安装缺少的工具:“选择要安装的工具(全部预先选择):[x] gh、[x] vhs、[x] ast-grep、[x] ast-grep Skill”—保留所有选择。
  3. 对于每个:显示安装命令、请求批准、运行、验证。 gh 通过 Homebrew 安装成功。 vhs 成功。 ast-grep 成功。 ast-grep 技能通过 npx skills add ... 安装。

最后总结:

✅ 复合工程设置完成

安装:gh、vhs、ast-grep (CLI)、ast-grep (技能)
   配置: ✅

运行 /ce-update 以获取最新的插件版本。
   随时运行 /ce-setup 进行重新检查。

何时去实现它

在以下情况下使用 ce-setup

  • 您刚刚第一次安装了复合工程
  • 您升级了插件并想要确认依赖项仍然匹配
  • 一项技能抱怨“X未安装”并且您想要修复它
  • 您正在加入一个新的存储库并想要引导 .compound-engineering/config.local.yaml
  • 自从您检查以来已经有一段时间了,您想要一份健康状况快照

在以下情况下跳过 ce-setup

  • 您尚未通过软件包管理器的身份验证(这无济于事)
  • 您只想安装一个特定工具并知道它的命令 - 直接安装更快

用作工作流程的一部分

ce-setup 大部分是独立的——它不位于链内。这是一个设置实用程序:

  • 当其他技能出现“X未安装”错误并且用户运行ce-setup来修复时调用
  • 定期调用作为健康检查
  • 在加入新仓库或新机器之前调用

运行后,用户通常会继续 /ce-update (仅限克劳德代码)进行插件版本检查,或者他们最初尝试运行的任何技能。


使用独立版

直接调用:

  • /ce-setup

该技能进行诊断,通过安装命令、引导配置来显示缺失的部分。没有参数,没有标志——诊断过程驱动一切。


## 参考

步骤
1. 诊断 确定插件版本、运行健康检查脚本、评估结果
2.修复 解决存储库本地问题(删除过时的 compound-engineering.local.md),引导 .compound-engineering/config.local.yaml,为缺少的依赖项提供安装
决赛 总结报告;如果使用克劳德代码,建议使用 /ce-update

所需工具列表(默认值;因存储库而异):agent-browserghjqvhssiliconffmpegast-grep。所需技能:ast-grep(当存在于存储库的需求中时)。


## 常问问题

什么是 compound-engineering.local.md 以及为何删除它? 旧的计算机本地配置格式,已替换为 .compound-engineering/config.local.yaml。该技能会检测过时的文件,进行解释,并在删除之前询问。现在可以通过 ce-code-review 自动选择审核代理; compound-engineering.local.md 中的手动选择不再适用。

为什么 .compound-engineering/config.local.yaml 被忽略? 因为它携带机器本地设置(工具首选项、脉冲配置等),不应污染队友的设置。提交的 .compound-engineering/config.local.example.yaml 显示可用的内容;每个用户都在本地选择加入。

如果工具安装但验证失败怎么办? 该技能将项目 URL 显示为后备并继续到下一个依赖项。验证失败不会阻止安装过程的其余部分。

我可以有选择地跳过我不想要的工具吗? 是的。多重选择会预先选择所有缺失的项目,但您可以在确认之前取消选择任何内容。该技能仅安装选定的内容。

为什么只是显式调用? disable-model-invocation: true 防止在散文中提及“设置”或“安装”时自动触发。设置是一个用户故意的操作——将其作为询问其他事情的副作用来运行会令人惊讶。

它可以在非 Claude-Code 平台上运行吗? 是的 - 诊断和安装流程在任何地方都有效。最后的 /ce-update 建议仅出现在 Claude Code 上(其中缓存布局启用版本检测);其他平台无需该线路即可获得其余流程。


另请参阅

  • /ce-update — 检查插件版本并推荐更新命令(仅限 Claude 代码)
  • /ce-test-browser — 取决于 agent-browser,其中 ce-setup 安装
  • /ce-demo-reel — 取决于 vhs / silicon / ffmpeg,全部由 ce-setup 安装
  • /ce-product-pulse — 使用 .compound-engineering/config.local.yamlce-setup 引导