ce-setup

June 29, 2026 ยท View on GitHub

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

QuestionAnswer
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 itFirst install, after upgrades, when a skill says an optional tool is missing, or when onboarding a repo
What it producesA setup report plus repo-local config fixes the user approved
What it does not doBulk-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

ToolCapability
agent-browserBrowser testing, dogfood QA, and visual polish inspection
ghGitHub PR, issue, and review workflows
jqJSON inspection in shell-based workflows
ast-grepSyntax-aware structural code search
ffmpegMedia 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:

/ce-setup

The skill runs the health check and reports:

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

PhaseStep
DiagnoseDetermine plugin version, run health check, report optional capabilities and project config
FixRemove obsolete local config, refresh example config, create local config if wanted, ensure gitignore safety
SummaryReport 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