본문으로 건너뛰기

© 2026 Molayo

GH Trending릴리즈2026. 05. 29. 13:27

EveryInc/compound-engineering-plugin

요약

EveryInc의 compound-engineering-plugin은 기술 부채를 줄이고 개발 레버리지를 높이기 위한 AI 에이전트 워크플로우를 제안합니다. 계획, 검토, 지식 체계화에 80%의 시간을 할애하여 코드 품질을 높이고 에이전트 간의 컨텍스트 공유를 최적화합니다.

핵심 포인트

  • 실행보다 계획과 검토에 80%의 비중을 두는 복합 엔지니어링 방식
  • STRATEGY.md를 통한 제품 목표와 전략의 지속적인 근거(Grounding) 제공
  • 아이디어 구상부터 구현 계획까지 단계별 전용 에이전트 명령어 활용
  • 학습된 지식을 체계화하여 다음 에이전트의 재학습 비용 절감

이전보다 각 엔지니어링 작업 단위를 더 쉽게 만드는 AI 기술과 에이전트(Agents).

각 엔지니어링 작업 단위는 다음 작업을 더 어렵게 만드는 것이 아니라, 더 쉽게 만들어야 합니다.

전통적인 개발은 기술 부채 (Technical debt)를 축적합니다. 모든 기능은 복잡성을 더합니다. 모든 버그 수정은 나중에 누군가가 다시 발견해야 하는 약간의 로컬 지식 (Local knowledge)을 남깁니다. 코드베이스 (Codebase)는 커지고, 컨텍스트 (Context)를 유지하기는 더 어려워지며, 다음 변경 작업은 더 느려집니다.

복합 엔지니어링 (Compound engineering)은 이를 뒤집습니다. 80%는 계획과 검토에, 20%는 실행에 할애합니다:

  • /ce-brainstorm/ce-plan을 사용하여 코드를 작성하기 전에 철저하게 계획하십시오.
  • /ce-code-review/ce-doc-review를 사용하여 문제를 포착하고 판단을 교정하기 위해 검토하십시오.
  • /ce-compound를 사용하여 지식을 체계화함으로써 재사용 가능하게 만드십시오.
  • 품질을 높게 유지하여 향후 변경이 용이하도록 하십시오.

핵심은 형식적인 절차가 아닙니다. 핵심은 레버리지 (Leverage)입니다. 좋은 브레인스토밍 (Brainstorm)은 계획을 더 날카롭게 만듭니다. 좋은 계획은 실행 규모를 줄여줍니다. 좋은 검토는 단순한 버그가 아니라 패턴을 포착합니다. 좋은 복합 노트 (Compound note)는 다음 에이전트가 동일한 교훈을 처음부터 다시 배울 필요가 없음을 의미합니다.

더 알아보기

  • 전체 컴포넌트 참조 - 모든 에이전트 및 기술
  • 복합 엔지니어링 (Compound engineering): Every가 에이전트와 함께 코딩하는 방식
  • 복합 엔지니어링 이면에 담긴 이야기

/ce-strategy는 루프 (Loop)의 상류에 위치합니다. 이는 제품의 목표 문제, 접근 방식, 페르소나 (Persona), 지표 (Metrics)를 캡처하여 STRATEGY.md에 짧고 지속적인 앵커 (Anchor)로 기록합니다. 아이디어 구상 (Ideate), 브레인스토밍, 계획 단계에서는 이것이 존재할 경우 이를 근거 (Grounding)로 읽어 들여, 전략적 선택이 기능 구상, 우선순위 지정 및 사양 (Spec)으로 흐르도록 합니다.

핵심 루프는 다음과 같습니다: 요구사항 브레인스토밍, 구현 계획, 계획에 따른 작업 수행, 결과 검토, 학습 내용의 복합화 (Compound), 그리고 더 나은 컨텍스트와 함께 반복.

에이전트가 브레인스토밍할 대상을 선택하기 전에 더 큰 아이디어를 생성하고 비판하기를 원한다면, 루프 시작 전에 /ce-ideate를 사용하십시오. 이는 요구사항, 계획 또는 코드가 아닌, 순위가 매겨진 아이디어 구상 결과물 (Ideation artifact)을 생성합니다.

기술 (Skill)목적 (Purpose)
/ce-strategySTRATEGY.md 생성 또는 유지 관리 -- 제품의 타겟 문제, 접근 방식, 페르소나 (Persona), 핵심 지표 (Key metrics) 및 트랙(Tracks)을 정의합니다. 아이디어 구상 (Ideate), 브레인스토밍 (Brainstorm), 계획 (Plan) 단계의 근거 (Grounding)로 읽힙니다.
/ce-ideate선택적인 거시적 아이디어 구상 (Big-picture ideation): 근거 있는 아이디어를 생성하고 비판적으로 평가한 후, 가장 강력한 아이디어를 브레인스토밍 단계로 전달합니다.
/ce-brainstorm기능이나 문제에 대해 심도 있게 생각하기 위한 대화형 질의응답 (Q&A)을 수행하며, 계획 (Planning) 단계 이전에 적절한 규모의 요구사항 문서 (Requirements doc)를 작성합니다.
/ce-plan기능 아이디어를 상세한 구현 계획 (Implementation plans)으로 전환합니다.
/ce-work워크트리 (Worktrees)와 작업 추적 (Task tracking)을 통해 계획을 실행합니다.
/ce-debug실패 사례를 체계적으로 재현하고, 근본 원인 (Root cause)을 추적하며, 수정 사항을 구현합니다.
/ce-code-review머지 (Merging) 전 멀티 에이전트 코드 리뷰 (Multi-agent code review)를 수행합니다.
/ce-compound향후 작업을 용이하게 하기 위해 학습 내용 (Learnings)을 문서화합니다.
/ce-product-pulse사용량, 성능, 오류 및 후속 조치에 대한 단일 페이지의 시간 범위별 펄스 보고서 (Pulse report)를 생성합니다. docs/pulse-reports/에 저장됩니다.

/ce-product-pulse는 읽기 측 동반자 (Read-side companion)입니다. 사용자가 실제로 경험한 내용과 주어진 기간(24시간, 7일 등) 동안 제품이 어떻게 작동했는지에 대한 시간 범위별 보고서이며, docs/pulse-reports/에 저장됩니다.

따라서 과거의 펄스 보고서들은 사용자 결과물 (User outcomes)의 탐색 가능한 타임라인을 형성합니다. 다음 전략 업데이트와 다음 브레인스토밍은 이를 고정할 수 있는 실제 신호 (Real signal)를 얻게 됩니다.

각 사이클은 복리 효과를 냅니다 (Compounds): 브레인스토밍은 계획을 정교하게 만들고, 계획은 미래의 계획에 정보를 제공하며, 리뷰는 더 많은 문제를 잡아내고, 패턴은 문서화됩니다.

전형적인 사이클은 거친 아이디어를 요구사항 문서 (Requirements doc)로 전환하는 것으로 시작하며, 그 문서로부터 계획을 세운 뒤 실행을 /ce-work에 넘깁니다.

:

/ce-brainstorm "백그라운드 작업 재시도(background job retries)를 더 안전하게 만들기"
/ce-plan docs/brainstorms/background-job-retry-safety-requirements.md
/ce-work
...

집중적인 버그 조사 시:

/ce-debug "체크아웃 웹훅(checkout webhook)이 가끔 중복 인보이스를 생성함"
/ce-code-review
/ce-compound

설치 후, /ce-setup을 실행하십시오.

어떠한 프로젝트에서도 사용할 수 있습니다. 환경을 점검하고, 누락된 도구를 설치하며, 프로젝트 설정을 부트스트랩(bootstrap)합니다.

compound-engineering 플러그인은 현재 37개의 스킬 (skills)과 51개의 에이전트 (agents)를 제공합니다. 전체 목록은 전체 컴포넌트 참조 (component reference)를 확인하십시오.

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

Cursor Agent 채팅에서 플러그인 마켓플레이스 (plugin marketplace)를 통해 설치하십시오:

/add-plugin compound-engineering

또는 플러그인 마켓플레이스에서 "compound engineering"을 검색하십시오.

세 단계가 필요합니다: 마켓플레이스 등록, 에이전트 세트 설치, 그리고 Codex의 TUI를 통한 플러그인 설치입니다.

Codex에 마켓플레이스 등록: codex plugin marketplace add EveryInc/compound-engineering-plugin

Compound Engineering 에이전트 설치 (Codex의 플러그인 사양은 아직 커스텀 에이전트를 등록하지 못함): bunx @every-env/compound-plugin install compound-engineering --to codex

Codex의 TUI를 통해 플러그인 설치: codex를 실행하고, /plugins를 실행한 뒤, Compound Engineering 마켓플레이스를 찾아 compound-engineering 플러그인을 선택하고 Install을 선택하십시오. 설치가 완료되면 Codex를 재시작하십시오. Codex의 CLI는 마켓플레이스를 등록할 수 있지만, 현재 추가된 마켓플레이스의 플러그인을 위한 plugin-install 서브커맨드 (subcommand)를 노출하지 않습니다. 따라서 CE 스킬 (skills)을 위해서는 /plugins TUI 설치가 반드시 필요합니다.

세 단계 모두가 필요합니다. 마켓플레이스 등록과 TUI 설치는 스킬을 처리하며, Bun 단계는 $ce-code-review, $ce-plan, $ce-work와 같은 스킬들이 Codex에서 생성하는 리뷰 (review), 리서치 (research), 워크플로 (workflow) 에이전트들을 추가합니다. 에이전트 단계를 거치지 않으면, 스킬을 위임할 때 에이전트가 누락되었다는 보고가 나타납니다.

기본값이 아닌 Codex 프로필을 사용하는 경우, 모든 Codex 관련 단계를 동일한 CODEX_HOME에 대해 실행하십시오. 이 예제는 CE를 work 프로필에 설치합니다:

CODEX_HOME="$HOME/.codex/profiles/work" codex plugin marketplace add EveryInc/compound-engineering-plugin
CODEX_HOME="$HOME/.codex/profiles/work" bunx @every-env/compound-plugin install compound-engineering --to codex
CODEX_HOME="$HOME/.codex/profiles/work" codex

Codex 내부에서 /plugins를 실행하고,

Compound Engineering을 선택한 다음 compound-engineering을 설치하십시오. 마켓플레이스 (marketplace) 단계는 플러그인을 사용 가능한 상태로 만들기만 하며, TUI 설치가 해당 프로필에 대한 네이티브 CE 기술을 활성화하는 단계입니다.

이 체크아웃(checkout)으로부터 로컬 개발을 수행하려면, 현재 워크트리 (worktree)를 등록하고 로컬 CLI를 사용하십시오:

CODEX_HOME="$HOME/.codex/profiles/work" codex plugin marketplace add "$PWD"
CODEX_HOME="$HOME/.codex/profiles/work" bun run src/index.ts install ./plugins/compound-engineering --to codex
CODEX_HOME="$HOME/.codex/profiles/work" codex

주의: Codex의 네이티브 플러그인 사양 (spec)이 커스텀 에이전트 (custom agents)를 지원하게 되면, Bun 에이전트 단계는 사라집니다. TUI 설치만으로 충분해질 것입니다.

이전에 Bun 전용 Codex 설치를 사용했다면, 전환하기 전에 오래된 CE 아티팩트 (artifacts)를 백업하십시오:

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

VS Code Copilot Agent Plugins의 경우:

  • VS Code 명령 팔레트 (command palette)에서
    Chat: Install Plugin from Source를 실행하십시오. - 리포지토리 (repo)로는
    EveryInc/compound-engineering-plugin을 사용하십시오. - VS Code가 이 리포지토리의 플러그인들을 표시할 때
    compound-engineering을 선택하십시오.

Copilot CLI의 경우, 다음을 사용하십시오:

Copilot CLI 내부에서:

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

copilot 바이너리 (binary)가 있는 셸 (shell)에서:

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

Copilot CLI는 기존의 Claude 호환 플러그인 매니페스트 (manifests)를 읽으므로, 별도의 Bun 설치 단계가 필요하지 않습니다.

이전에 이전의 Bun Copilot 설치를 사용했다면, 네이티브 플러그인으로 전환하기 전에 오래된 CE 아티팩트 (artifacts)를 백업하십시오:

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

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은 마켓플레이스(marketplace) 이름입니다. Droid는 기존의 Claude Code 호환 플러그인을 설치하고 형식을 자동으로 변환하므로, 별도의 Bun 설치 단계가 필요하지 않습니다.

이전에 오래된 Bun Droid 설치 방식을 사용했다면, 네이티브 플러그인으로 전환하기 전에 오래된 CE 아티팩트 (artifacts)를 백업하십시오:

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

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

Qwen Code는 GitHub에서 Claude Code 호환 플러그인을 직접 설치하고 설치 과정에서 플러그인 형식을 변환하므로, 별도의 Bun 설치 단계가 필요하지 않습니다.

이전에 오래된 Bun Qwen 설치 방식을 사용했다면, 네이티브 확장 기능(extension)으로 전환하기 전에 오래된 CE 아티팩트 (artifacts)를 백업하십시오:

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

이 저장소(repo)에는 Compound Engineering 플러그인을 OpenCode, Pi, Gemini CLI 및 Kiro CLI로 변환하는 Bun/TypeScript 설치 프로그램이 포함되어 있습니다.

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
...

Pi 사전 요구 사항. Pi는 네이티브 서브에이전트(subagent) 프리미티브(primitive)를 제공하지 않으므로, Pi 설치는 nicobailon/pi-subagents (필수)에 의존하며, 더 풍부한 차단형 사용자 질문(blocking user questions)을 위해 edlsh/pi-ask-user를 권장합니다:

pi install npm:pi-subagents # 필수 — 병렬 에이전트를 파견하는 스킬(skills)에서 사용되는 `subagent` 도구를 제공합니다
pi install npm:pi-ask-user # 권장 — `ask_user` 도구를 제공합니다; 이 도구가 없으면 스킬은 채팅에서 번호가 매겨진 옵션으로 대체됩니다

커스텀 설치 대상 (custom-install targets)을 자동 감지하고 모두 설치하려면:

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

커스텀 설치 대상은 설치 중에 CE 레거시 정리 (legacy cleanup)를 실행합니다. 특정 대상을 위해 수동으로 정리를 실행하려면:

bunx @every-env/compound-plugin cleanup --target codex
bunx @every-env/compound-plugin cleanup --target opencode
bunx @every-env/compound-plugin cleanup --target pi
...

정리 (Cleanup) 프로세스는 알려진 CE 아티팩트 (artifacts)를 대상 루트 (target root) 아래의 compound-engineering/legacy-backup/ 디렉토리로 이동시킵니다.

bun install
bun test
bun run release:validate

활발한 개발 (active development) 시에는 — 플러그인 소스에 대한 수정 사항이 즉시 반영됩니다.

Claude Code — 로컬 복사본이 일반 플러그인과 함께 로드되도록 셸 별칭 (shell alias)을 추가하세요:

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

변경 사항을 테스트하려면 claude 대신 cce를 실행하세요. 프로덕션 설치 (production install)는 그대로 유지됩니다.

Codex 및 기타 대상 — 체크아웃 (checkout)에 대해 로컬 CLI를 실행하세요:

# 리포지토리 루트에서
bun run src/index.ts install ./plugins/compound-engineering --to codex
# 다른 대상에 대해서도 동일한 패턴 적용
...

체크아웃을 전환하지 않고, 다른 사람의 브랜치나 워크트리 (worktree)에 있는 자신의 브랜치를 테스트하려면 --branch를 사용하여 해당 브랜치를 결정론적 캐시 디렉토리 (deterministic cache directory)로 클론 (clone)하세요.

푸시되지 않은 로컬 브랜치: 브랜치가 로컬 워크트리에만 존재하고 푸시되지 않은 경우, 대신 --plugin-dir을 워크트리 경로로 직접 지정하세요 (예: claude --plugin-dir /path/to/worktree/plugins/compound-engineering).

Claude Code — 캐시된 클론 경로를 얻으려면 plugin-path를 사용하세요:

# 리포지토리 루트에서
bun run src/index.ts plugin-path compound-engineering --branch feat/new-agents
# 출력:
...

캐시 경로는 결정론적 (deterministic)입니다. 다시 실행하면 해당 브랜치의 최신 커밋으로 체크아웃이 업데이트됩니다.

Codex, OpenCode 및 기타 대상install--branch를 전달하세요:

# 레포지토리 루트에서
bun run src/index.ts install compound-engineering --to codex --branch feat/new-agents
# 모든 대상과 작동합니다
...

두 기능 모두 COMPOUND_PLUGIN_GITHUB_SOURCE 환경 변수 (env var)를 사용하여 레포지토리를 확인하며, 기본값은 https://github.com/EveryInc/compound-engineering-plugin 입니다.

~/.zshrc 또는 ~/.bashrc에 추가하세요.

모든 에일리어스 (aliases)는 로컬 CLI를 사용하므로 npm 배포에 의존하지 않습니다. plugin-path는 경로만 표준 출력 (stdout)으로 출력하므로 $()와 함께 조합하여 사용할 수 있습니다.

CE_REPO=~/Code/compound-engineering-plugin
ce-cli() { bun run "$CE_REPO/src/index.ts" "$@"; }
# --- 로컬 체크아웃 (활성 개발 중) ---
...

사용법:

cce # Claude Code를 사용한 로컬 체크아웃
codex-ce # 로컬 체크아웃을 Codex에 설치
ccb feat/new-agents # 푸시된 브랜치를 Claude Code로 테스트
...

Codex 설치 시 생성된 플러그인 스킬 (plugin skills)은 ~/.codex/skills/compound-engineering/ 아래에 격리되어 유지됩니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 GitHub Trending All (daily)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0