Back to Plugins

Compounding Engineering

AI-powered development tools that get smarter with every use, featuring 24 specialized agents, 16 commands, and 11 skills

aiagentsworkflowproductivitycommunity
By Every Inc
17k1.3kUpdated 1 week agoTypeScriptMIT

Installation

npx claude-plugins install @EveryInc/compound-engineering-plugin/compounding-engineering

Configuration

{
  "enabledPlugins": {
    "@EveryInc/compound-engineering-plugin/compounding-engineering": true
  }
}

Commands

compoundStart a compounding engineering session
learnTeach the system new patterns from your codebase
recallRecall learned patterns and apply them

How to install

  1. Open Claude Code in your terminal
  2. Run the installation command above
  3. The plugin will be enabled automatically
  4. Use the plugin's features in your Claude Code sessions

Compound Engineering

Build Status npm

AI skills and agents that make each unit of engineering work easier than the last.

Philosophy

Each unit of engineering work should make subsequent units easier -- not harder.

Traditional development accumulates technical debt. Every feature adds complexity. Every bug fix leaves behind a little more local knowledge that someone has to rediscover later. The codebase gets larger, the context gets harder to hold, and the next change becomes slower.

Compound engineering inverts this. 80% is in planning and review, 20% is in execution:

  • Plan thoroughly before writing code with /ce-brainstorm and /ce-plan
  • Review to catch issues and calibrate judgment with /ce-code-review and /ce-doc-review
  • Codify knowledge so it is reusable with /ce-compound
  • Keep quality high so future changes are easy

The point is not ceremony. The point is leverage. A good brainstorm makes the plan sharper. A good plan makes execution smaller. A good review catches the pattern, not just the bug. A good compound note means the next agent does not have to learn the same lesson from scratch.

Learn more

Workflow

/ce-strategy is upstream of the loop -- it captures the product's target problem, approach, persona, metrics, and tracks as a short durable anchor at STRATEGY.md. Ideate, brainstorm, and plan read it as grounding when present, so strategy choices flow into feature conception, prioritization, and spec.

The core loop is: brainstorm the requirements, plan the implementation, work through the plan, review the result, compound the learning, then repeat with better context.

Use /ce-ideate before the loop when you want the agent to generate and critique bigger ideas before choosing one to brainstorm. It produces a ranked ideation artifact, not requirements, plans, or code.

SkillPurpose
/ce-strategyCreate or maintain STRATEGY.md -- the product's target problem, approach, persona, key metrics, and tracks. Read as grounding by ideate, brainstorm, and plan
/ce-ideateOptional big-picture ideation: generate and critically evaluate grounded ideas, then route the strongest one into brainstorming
/ce-brainstormInteractive Q&A to think through a feature or problem and write a right-sized requirements doc before planning
/ce-planTurn feature ideas into detailed implementation plans
/ce-workExecute plans with worktrees and task tracking
/ce-debugSystematically reproduce failures, trace root cause, and implement fixes
/ce-code-reviewMulti-agent code review before merging
/ce-compoundDocument learnings to make future work easier
/ce-product-pulseGenerate a single-page, time-windowed pulse report on usage, performance, errors, and followups. Saves to docs/pulse-reports/

/ce-product-pulse is the read-side companion -- a time-windowed report on what users actually experienced and how the product performed over a given window (24h, 7d, etc.), saved to docs/pulse-reports/ so past pulses form a browseable timeline of user outcomes. The next strategy update and the next brainstorm get real signal to anchor to.

Each cycle compounds: brainstorms sharpen plans, plans inform future plans, reviews catch more issues, patterns get documented.

Quick Example

A typical cycle starts by turning a rough idea into a requirements doc, then planning from that doc before handing execution to /ce-work:

/ce-brainstorm "make background job retries safer"
/ce-plan docs/brainstorms/background-job-retry-safety-requirements.md
/ce-work
/ce-code-review
/ce-compound

For a focused bug investigation:

/ce-debug "the checkout webhook sometimes creates duplicate invoices"
/ce-code-review
/ce-compound

Getting Started

After installing, run /ce-setup in any project. It checks your environment, installs missing tools, and bootstraps project config.

The compound-engineering plugin currently ships 37 skills and 51 agents. See the full component reference for the complete inventory.


Install

Claude Code

/plugin marketplace add EveryInc/compound-engineering-plugin
/plugin install compound-engineering

Cursor

In Cursor Agent chat, install from the plugin marketplace:

/add-plugin compound-engineering

Or search for "compound engineering" in the plugin marketplace.

Codex

Three steps: register the marketplace, install the agent set, then install the plugin through Codex's TUI.

  1. Register the marketplace with Codex:

    codex plugin marketplace add EveryInc/compound-engineering-plugin
  2. Install the Compound Engineering agents (Codex's plugin spec does not register custom agents yet):

    bunx @every-env/compound-plugin install compound-engineering --to codex
  3. Install the plugin through Codex's TUI: launch codex, run /plugins, find the Compound Engineering marketplace, select the compound-engineering plugin, and choose Install. Restart Codex after install completes. Codex's CLI does not currently have a subcommand for installing a plugin from an added marketplace -- the /plugins TUI is the canonical flow.

All three steps are needed. The marketplace registration plus TUI install handles skills; the Bun step adds the review, research, and workflow agents that skills like $ce-code-review, $ce-plan, and $ce-work spawn in Codex. Without the agent step, delegating skills will report missing agents.

Heads up: once Codex's native plugin spec supports custom agents, the Bun agent step goes away. The TUI install alone will be sufficient.

If you previously used the Bun-only Codex install, back up stale CE artifacts before switching:

bunx @every-env/compound-plugin cleanup --target codex

GitHub Copilot

For VS Code Copilot Agent Plugins:

  1. Run Chat: Install Plugin from Source from the VS Code command palette
  2. Use EveryInc/compound-engineering-plugin for the repo
  3. Select compound-engineering when VS Code shows the plugins in this repository

For Copilot CLI, use:

Inside Copilot CLI:

/plugin marketplace add EveryInc/compound-engineering-plugin
/plugin install compound-engineering@compound-engineering-plugin

From a shell with the copilot binary:

copilot plugin marketplace add EveryInc/compound-engineering-plugin
copilot plugin install compound-engineering@compound-engineering-plugin

Copilot CLI reads the existing Claude-compatible plugin manifests, so no separate Bun install step is needed.

If you previously used the old Bun Copilot install, back up stale CE artifacts before switching to the native plugin:

bunx @every-env/compound-plugin cleanup --target copilot

Factory Droid

From a shell with the droid binary:

droid plugin marketplace add https://github.com/EveryInc/compound-engineering-plugin
droid plugin install compound-engineering@compound-engineering-plugin

Droid uses plugin@marketplace plugin IDs; here compound-engineering is the plugin and compound-engineering-plugin is the marketplace name. Droid installs the existing Claude Code-compatible plugin and translates the format automatically, so no Bun install step is needed.

If you previously used the old Bun Droid install, back up stale CE artifacts before switching to the native plugin:

bunx @every-env/compound-plugin cleanup --target droid

Qwen Code

qwen extensions install EveryInc/compound-engineering-plugin:compound-engineering

Qwen Code installs Claude Code-compatible plugins directly from GitHub and converts the plugin format during install, so no Bun install step is needed.

If you previously used the old Bun Qwen install, back up stale CE artifacts before switching to the native extension:

bunx @every-env/compound-plugin cleanup --target qwen

OpenCode, Pi, Gemini, and Kiro

This repo includes a Bun/TypeScript installer that converts the Compound Engineering plugin to OpenCode, Pi, Gemini CLI, and Kiro CLI.

bunx @every-env/compound-plugin install compound-engineering --to opencode
bunx @every-env/compound-plugin install compound-engineering --to pi
bunx @every-env/compound-plugin install compound-engineering --to gemini
bunx @every-env/compound-plugin install compound-engineering --to kiro

Pi prerequisites. Pi does not ship a native subagent primitive, so the Pi install depends on nicobailon/pi-subagents (required) and recommends edlsh/pi-ask-user for richer blocking user questions:

pi install npm:pi-subagents    # required — provides the `subagent` tool used by skills that dispatch parallel agents
pi install npm:pi-ask-user     # recommended — provides the `ask_user` tool; skills fall back to numbered options in chat when it is missing

To auto-detect custom-install targets and install to all:

bunx @every-env/compound-plugin install compound-engineering --to all

The custom install targets run CE legacy cleanup during install. To run cleanup manually for a specific target:

bunx @every-env/compound-plugin cleanup --target codex
bunx @every-env/compound-plugin cleanup --target opencode
bunx @every-env/compound-plugin cleanup --target pi
bunx @every-env/compound-plugin cleanup --target gemini
bunx @every-env/compound-plugin cleanup --target kiro
bunx @every-env/compound-plugin cleanup --target copilot   # old Bun installs only
bunx @every-env/compound-plugin cleanup --target droid     # old Bun installs only
bunx @every-env/compound-plugin cleanup --target qwen      # old Bun installs only
bunx @every-env/compound-plugin cleanup --target windsurf  # deprecated legacy installs only

Cleanup moves known CE artifacts into a compound-engineering/legacy-backup/ directory under the target root.


Local Development

bun install
bun test
bun run release:validate

From your local checkout

For active development -- edits to the plugin source are reflected immediately.

Claude Code -- add a shell alias so your local copy loads alongside your normal plugins:

alias cce='claude --plugin-dir ~/Code/compound-engineering-plugin/plugins/compound-engineering'

Run cce instead of claude to test your changes. Your production install stays untouched.

Codex and other targets -- run the local CLI against your checkout:

# from the repo root
bun run src/index.ts install ./plugins/compound-engineering --to codex

# same pattern for other targets
bun run src/index.ts install ./plugins/compound-engineering --to opencode

From a pushed branch

For testing someone else's branch or your own branch from a worktree, without switching checkouts. Uses --branch to clone the branch to a deterministic cache directory.

Unpushed local branches: If the branch exists only in a local worktree and has not been pushed, point --plugin-dir directly at the worktree path instead (e.g. claude --plugin-dir /path/to/worktree/plugins/compound-engineering).

Claude Code -- use plugin-path to get the cached clone path:

# fr

…
View source on GitHub