项目文件夹

文件
2026-07-13 12:20:01 +08:00

131 行
5.5 KiB
Markdown

此文件含有模棱两可的 Unicode 字符
此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。
# `ce-setup`
> Check Compound Engineering health, optional tool capabilities, and repo-local config safety.
`ce-setup` is the lightweight onboarding and troubleshooting skill. It reports which optional tools are available, cleans obsolete local config, refreshes the committed config example, and helps keep machine-local settings out of git.
It is explicit-invocation only (`disable-model-invocation: true`) so it never runs as a side effect of ordinary setup discussion.
---
## TL;DR
| Question | Answer |
|----------|--------|
| What does it do? | Runs a health check, reports optional tool capabilities, refreshes `.compound-engineering/config.local.example.yaml`, optionally creates `.compound-engineering/config.local.yaml`, and helps gitignore local config |
| When to use it | First install, after upgrades, when a skill says an optional tool is missing, or when onboarding a repo |
| What it produces | A setup report plus repo-local config fixes the user approved |
| What it does not do | Bulk-install every possible CE dependency |
---
## The Problem
Compound Engineering has two kinds of setup:
- **Repo-local state** that should be consistent and safe: the committed config example, the optional machine-local config file, and `.gitignore` coverage for local settings.
- **Optional external tools** used by specific workflows: `agent-browser` for browser testing/polish, `gh` for GitHub workflows, `jq` for shell JSON inspection, `ast-grep` for structural code search, and `ffmpeg` for Riffrec media analysis.
Those are different concerns. Missing optional tools should not make the whole plugin feel broken.
## The Solution
`ce-setup` runs a diagnostic, then only remediates repo-local project issues:
- Deletes obsolete `compound-engineering.local.md` after confirmation.
- Refreshes `.compound-engineering/config.local.example.yaml` from the bundled template.
- Offers to create `.compound-engineering/config.local.yaml` if missing.
- Offers to add `.compound-engineering/*.local.yaml` to `.gitignore` if needed.
- Prints install commands or URLs for missing optional tools, but does not bulk-install them.
---
## Optional Capabilities
| Tool | Capability |
|------|------------|
| `agent-browser` | Browser testing, dogfood QA, and visual polish inspection |
| `gh` | GitHub PR, issue, and review workflows |
| `jq` | JSON inspection in shell-based workflows |
| `ast-grep` | Syntax-aware structural code search |
| `ffmpeg` | Media chunking and screenshot extraction for Riffrec analysis |
Missing tools are informational. Install only the tools needed for the workflows you actually use.
---
## Quick Example
You just installed compound-engineering and want to check a repo:
```text
/ce-setup
```
The skill runs the health check and reports:
```text
Optional capabilities 3/5
🟢 agent-browser -- browser testing, dogfood QA, and visual polish inspection
🟢 gh -- GitHub PR, issue, and review workflows
🟡 ast-grep -- unavailable: syntax-aware structural code search
brew install -q ast-grep
Project config
🟢 No obsolete compound-engineering.local.md
No local config yet (.compound-engineering/config.local.yaml)
🟡 Example config missing (.compound-engineering/config.local.example.yaml)
```
It refreshes the example config. If you want local preferences, it asks before creating `.compound-engineering/config.local.yaml` and before adding the `.gitignore` entry.
---
## When to Reach For It
Use `ce-setup` when:
- You just installed or upgraded the plugin.
- You want to verify a repo's CE config and gitignore state.
- A workflow reports an optional tool is missing and you want the install command.
- You are onboarding a new repo to `.compound-engineering/config.local.yaml`.
Skip it when:
- You already know the exact tool you need to install.
- You are trying to update the plugin itself; use the host plugin manager for that.
---
## Reference
| Phase | Step |
|-------|------|
| Diagnose | Determine plugin version, run health check, report optional capabilities and project config |
| Fix | Remove obsolete local config, refresh example config, create local config if wanted, ensure gitignore safety |
| Summary | Report fixes applied, skipped actions, and missing optional tools |
---
## FAQ
**Why does setup no longer install everything?**
Most CE workflows do not need every optional tool, and modern coding harnesses now provide their own capture and browser affordances. Setup reports capabilities instead of forcing a broad dependency footprint.
**What's `compound-engineering.local.md` and why is it obsolete?**
It was the old machine-local config format. Surviving machine-local settings now live in `.compound-engineering/config.local.yaml`, and review-agent selection is automatic.
**Why is `.compound-engineering/config.local.yaml` gitignored?**
It carries machine-local preferences and integration settings. The committed `.compound-engineering/config.local.example.yaml` shows available settings; each user opts in locally.
**Does it run on non-Claude-Code platforms?**
Yes. When the bundled health script is not directly runnable, the skill falls back to equivalent inline checks and still performs repo-local config remediation.
---
## See Also
- [`/ce-test-browser`](./ce-test-browser.md) — uses `agent-browser` when no capable host-native browser is available
- [`/ce-dogfood`](./ce-dogfood.md) — uses `agent-browser` for diff-scoped QA
- [`/ce-product-pulse`](./ce-product-pulse.md) — uses `.compound-engineering/config.local.yaml` for pulse settings