● AI-native philosophyby Kieran Klaassen / Everyopen source plugin · MIT

Every unit of work
should make the next one easier.

Compound Engineering is the philosophy Every developed while building Cora from scratch. Instead of accumulating technical debt, every work cycle teaches the system something, and development gets progressively faster. This guide covers everything: philosophy, the loop, adoption stages, the plugin, skills and the full playbook.

1Plan
2Work
3Review
4Compound
↻ repeat
80%
of the time on planning and review
33
skills in the current plugin
14+
review agents in parallel
6
stages on the adoption ladder
01 · origin

What is Compound Engineering

Compound engineering emerged while Every was building Cora, an AI chief of staff for your inbox. Battle-testing patterns, agents and workflows across many pull requests, personal productivity hacks evolved into a systematic approach to AI-assisted development.

🏗️ The problem it solves

In traditional engineering, every new feature injects complexity: after years, each feature becomes a negotiation with the old ones. Code gets harder to understand, modify and trust, and teams spend more time fighting their system than building on it.

🔄 The compound flip

In compound engineering, features don't add fragility: they teach the system new capabilities. Bug fixes eliminate entire categories of future bugs. Codified patterns become tools. Over time, the codebase gets easier to understand, modify and trust.

💡

The proof: Every runs five products (Cora, Monologue, Sparkle, Spiral and the Every.to website) with essentially one-person engineering teams. The system that makes this possible is the four-step compound engineering loop.

02 · philosophy

The core philosophy

"Each unit of engineering work should make subsequent units easier — not harder." Everything else derives from that single sentence.

📈

Compound returns

An hour spent creating a review agent saves ten hours of review over the year. System improvements make work progressively faster. Feature work alone doesn't.

🧠

Teaching > doing

Time spent giving agents context pays exponential dividends. Time spent typing code only solves the task in front of you.

🚀

Ship more, type less

Your output should be measured by the number of problems solved, not the number of keystrokes you logged.

traditional engineering (linear)compound engineering (exponential)
⚠️

This goes beyond engineering. The principles apply to design, research and even writing: any discipline where codifying taste and context makes future work faster. The steps are always the same: plan, execute, review, compound.

03 · the process

The main loop

Plan → Work → Review → Compound → Repeat. The first three steps are familiar to any developer. The fourth is what separates compound engineering from the rest: that's where gains accumulate. Skip it, and you've done traditional engineering with AI assistance.

The loop works the same whether you're fixing a bug in five minutes or building a feature over several days. You just spend more or less time on each step. Click each step to explore:

The 80/20 time rule

Planning and review should take 80% of the engineer's time; work and compound, the other 20%. In other words: most thinking happens before and after code gets written. Looking at the full scope of work, Every suggests the 50/50 rule: half the time building features, half improving the system.

Plan + Review · 80% of time
Work + Compound · 20%
Thinking before and after codeExecuting the agent writes, you monitor50/50 rule 50% of total time improving the system
📝

Plans are the new code. The plan document is now the most important artifact you produce. Instead of coding first and documenting later, start with the plan: it becomes the source of truth agents use to generate, test and validate code. Fixing ideas on paper is far cheaper than fixing code later.

04 · principles

The 8 core principles

The beliefs that underpin this new approach to software development:

P.01

Every unit of work makes the next easier

Code, documentation and tooling should build on each other and make future work faster, never slower.

P.02

Taste belongs in systems, not in review

Bake your judgment into configuration, schemas and automated checks. If you don't, you'll spend time checking manually, which doesn't scale.

P.03

Teach the system, don't do the work

Time giving agents context pays exponential dividends; time typing code only solves the immediate task.

P.04

Build safety nets, not review processes

Trust in AI work comes from verification infrastructure, not manual gatekeeping at every step.

P.05

Make environments agent-native

Structure projects so AI agents can navigate and modify them autonomously.

P.06

Compound thinking everywhere

Every artifact (code, docs, tests, prompts) should make the next iteration move faster.

P.07

Embrace the discomfort of letting go

Delegating to AI means accepting imperfect results that scale, rather than perfect results that don't.

P.08

Ship more value, type less code

Your output is measured by problems solved, not keystrokes logged.

05 · unlearn

Beliefs to let go

We were trained to believe certain things about software development. As AI tools evolved, some of those beliefs became obstacles. Click each one to see why to abandon it:

The real requirement of your job as an engineer is to write good code: maintainable code that solves the right problem. Who types it (human or agent) doesn't matter.

Manual line-by-line review is one method to reach quality code, but automated systems that catch the same issues work too. If you don't trust the results, fix the system instead of compensating by doing everything yourself.

When AI researches approaches, analyzes tradeoffs and recommends options, the engineer's job becomes adding taste: knowing which solution fits this codebase, this team and this context.

A system that produces code is worth more than any individual piece of code. A single brilliant implementation matters less than a process that consistently produces good implementations.

The developer's job is shipping value. Code is just one input: planning, reviewing and teaching the system count too. Effective compound engineers write less code than before and ship more.

First attempts have a ~95% garbage rate; second attempts, ~50%. That's not failure, that's the process. Aim for perfection on attempt one, but focus on iterating fast enough that attempt three lands in less time than attempt one took.

The code was never really yours: it belongs to the team, the product and the users. Letting go is liberating: you take feedback better, refactor without hesitation and skip the arguments about whether code is "good enough".

Understanding matters more than muscle memory. You learn by reviewing, catching mistakes and knowing when the AI is wrong. The dev who reviews ten AI implementations understands more patterns than the one who hand-typed two.

🌱

Belief to adopt — extract your taste into the system: team taste usually lives in senior engineers' heads. Document preferences in CLAUDE.md or AGENTS.md so the agent reads them every session, build specialized agents and skills that reflect your style, and point the agent at your style guides and decision records. When AI understands how you like to write code, it produces code you approve, not code you have to fix.

06 · evolution

The 6 adoption stages

How much of the process you let AI own depends on where you are on the familiarity ladder. Most devs who struggle with AI don't know where they sit: they hear about multi-agent systems, feel overwhelmed and try to skip stages. Skipping stages doesn't work — each rung builds the mental models and habits for the next. Figure out where you are and grow from there:

The 3 golden questions

Even without a sophisticated multi-agent review system, you capture most of the benefit by asking these three questions before approving any AI output:

QUESTION 01
"What was the hardest decision you made here?"

Forces the AI to reveal where the tricky parts are and where it had to make judgment calls.

QUESTION 02
"What alternatives did you reject, and why?"

Shows the options it considered and helps catch bad choices.

QUESTION 03
"What are you least confident about?"

Makes the AI admit where it might be wrong. LLMs know their weaknesses, but you have to ask.

07 · the plugin

The official plugin

The full compound engineering workflow ships as an open source plugin (MIT license), maintained by @kieranklaassen and @tmchow. It has 33 skills whose core workflows spawn specialist subagents on demand for research, review, planning and implementation, keeping everything portable across tools. The project is deliberately opinionated: its direction reflects a specific point of view about how AI-assisted engineering should work.

33

skills in the full inventory

14+

specialist review agents in parallel

15+

officially supported tools

Installation

# Claude Code
claude /plugin marketplace add EveryInc/compound-engineering-plugin
claude /plugin install compound-engineering

Already installed? The plugin moved to a root-native layout: update the marketplace first (/plugin marketplace update compound-engineering-plugin), then run /plugin update — running the update alone keeps you on the old version.

# No chat do Cursor Agent
/add-plugin compound-engineering
# ou busque por "compound engineering" no marketplace de plugins
# Codex CLI: registre o marketplace e instale o plugin
codex plugin marketplace add EveryInc/compound-engineering-plugin
codex plugin add compound-engineering@compound-engineering-plugin

In the Codex App: open Plugins in the sidebar → Add marketplace with source EveryInc/compound-engineering-plugin, ref main, then install and restart. The install is self-contained: reviewers and research live inside the skills as prompt assets.

# Copilot CLI
/plugin marketplace add EveryInc/compound-engineering-plugin
/plugin install compound-engineering@compound-engineering-plugin

# ou via shell com o binário copilot
copilot plugin marketplace add EveryInc/compound-engineering-plugin
copilot plugin install compound-engineering@compound-engineering-plugin

In VS Code: Chat: Install Plugin from Source from the command palette, using the EveryInc/compound-engineering-plugin repository.

# opencode.json (global ou do projeto)
{
  "plugin": ["compound-engineering@git+https://github.com/EveryInc/compound-engineering-plugin.git"]
}
# reinicie o OpenCode depois de alterar a config
# Kimi Code CLI (o repo tem manifest nativo .kimi-plugin)
/plugins install https://github.com/EveryInc/compound-engineering-plugin
# depois rode /reload ou inicie uma nova sessão
# Antigravity CLI (agy), sucessor do Gemini CLI
agy plugin install https://github.com/EveryInc/compound-engineering-plugin
agy plugin list
ToolInstallation
Cline./.cline/scripts/install-skills.sh --global + ativar Skills nas configurações
Grok Build CLIgrok plugin install EveryInc/compound-engineering-plugin
Devin CLIdevin plugins install EveryInc/compound-engineering-plugin
Factory Droiddroid plugin marketplace add <repo> + droid plugin install compound-engineering@compound-engineering-plugin
Qwen Codeqwen extensions install EveryInc/compound-engineering-plugin:compound-engineering
Pipi install git:github.com/EveryInc/compound-engineering-plugin (+ pi-subagents para workflows com subagentes)
oh-my-pi (omp)omp plugin marketplace add EveryInc/compound-engineering-plugin + omp plugin install compound-engineering@compound-engineering-plugin

No Bun needed to install: it's only required for repo development and converter maintenance.

After installing

# em qualquer projeto:
/ce-setup
# reporta capacidades de ferramentas disponíveis, cria .compound-engineering/config.yaml
# quando ausente, atualiza o exemplo commitado e adiciona override local ao .gitignore

Where things live

seu-projeto/ ├── CLAUDE.md # instruções, preferências e padrões do agente (lido toda sessão) ├── docs/ │ ├── brainstorms/ # output de /ce-brainstorm │ ├── solutions/ # output de /ce-compound: conhecimento institucional pesquisável │ └── plans/ # output de /ce-plan └── todos/ # achados de /triage e review, com prioridade e status ├── 001-ready-p1-fix-auth.md └── 002-pending-p2-add-tests.md

CLAUDE.md is the most important file: when something goes wrong, add a note there so the agent learns. docs/solutions/ builds your institutional knowledge — every solved problem becomes searchable documentation future sessions find automatically. And todos/ organizes review findings by priority and status.

08 · skills

Essential skills & commands

The core loop in the current plugin version has six steps: brainstorm → plan → work → simplify → review → compound. Each cycle compounds: /ce-compound writes learnings the next /ce-brainstorm and /ce-plan read as grounding. That return arrow is the whole point.

SkillRole in the loop
/ce-brainstorm coreInteractive Q&A to think through a feature or problem and write a requirements-only unified plan, before planning
/ce-plan coreEnriches feature ideas or requirement docs into implementation-ready plans. Spawns three research agents in parallel (codebase, framework docs, best practices) and merges everything into a structured plan
/ce-work coreExecutes implementation-ready plans natively or through a qualified cross-model author, keeping host verification, commits and shipping
/ce-simplify-code coreRefines freshly written code for clarity and reuse before review
/ce-code-review coreReport-only multi-agent review against the plan, before merging; local apply is explicit. There's also /ce-doc-review for documents
/ce-compound coreCaptures the learning into docs/solutions/ so the next loop starts smarter
/lfgFull autonomous workflow: describe the feature and the agent plans, works, simplifies, reviews, applies fixes, runs browser tests and opens the PR. Pauses for plan approval, then runs hands-off
/ce-debugFor bugs instead of features: reproduces, traces root cause, fixes and prepares the fix for a PR
/ce-ideateWhen you don't know what to build yet: researches (codebase, past learnings, prior art, open issues) and delivers ranked, grounded ideas
/ce-strategyCreates and maintains STRATEGY.md, read as grounding by ideate, brainstorm and plan
/ce-product-pulseTime-windowed report on what users actually experienced (usage, performance, errors)
/ce-povDecisive, grounded verdict on an adoption, document or set of approaches
/ce-explainTurns a concept, diff or "what did I do this week?" into a dense, self-contained visual document
/ce-dogfoodHands-off diff-scoped browser QA of the active branch, with autonomous fixes
/ce-babysit-prWatches an open PR and keeps it moving toward merge, reacting to review comments and CI as they arrive

The full catalog has 33 skills, including /ce-commit, /ce-worktree, /ce-prototype, /ce-polish, /ce-test-browser, /ce-handoff, /ce-compound-refresh, /ce-sweep and more.

Example: the standard loop in practice

# transforme uma ideia vaga em código revisado e shippado
/ce-brainstorm tornar os retries de background job mais seguros
/ce-plan
/ce-work
/ce-simplify-code
/ce-code-review
/ce-compound
# ou o modo autônomo: descreva a feature, aprove o plano, volte para um PR aberto
/ce-brainstorm descreva a feature aqui
/lfg
🤖

/lfg is the autopilot: it runs the loop hands-off — plans, works, simplifies, reviews and applies fixes, runs browser tests and, if a remote exists, opens the PR and watches CI with a bounded repair loop (it doesn't merge on its own). Run it after /ce-brainstorm so it plans against real requirements, not a one-line prompt.

09 · review

Multi-agent review

The review step spawns more than 14 specialized agents in parallel, each focused on a specific domain. Everything is combined into a single prioritized list of findings. Findings get priority:

P1 · CRITICAL must fix   P2 · IMPORTANT should fix   P3 · MINOR nice to fix

a single PR spawns 14+ specialist agents in parallel

🛡️ Security

security-sentinel — scans the OWASP top 10, injection attacks, authentication flaws and authorization bypasses.

⚡ Performance

performance-oracle — detects N+1 queries, missing indexes, caching opportunities and algorithmic bottlenecks.

🏛️ Architecture

architecture-strategist evaluates design decisions, component boundaries and dependency directions. pattern-recognition-specialist identifies patterns, anti-patterns and code smells.

🗄️ Data

data-integrity-guardian validates migrations, transaction boundaries and referential integrity. data-migration-expert checks ID mappings, rollback safety and production validation.

✨ Quality

code-simplicity-reviewer (YAGNI, unnecessary complexity) + language reviewers: Rails (two schools: DHH and Kieran), Python (PEP 8, type hints) and TypeScript (type safety, clean architecture).

🚀 Deploy & Frontend

deployment-verification-agent generates pre/post-deploy checklists and rollback plans. julik-frontend-races-reviewer detects race conditions in JS/Stimulus. agent-native-reviewer ensures features are accessible to agents, not just humans.

🤖

Automated resolution: the resolution command processes all findings automatically — P1s first, then P2s, each fix in isolation so they don't step on each other. You still manually review the generated fixes at the end. /triage presents each finding for human decision: approve, skip or customize.

10 · environment

Agent-native environment

Agent-native architecture means giving the agent the same capabilities you have. If the agent can't run tests, you have to run them. If it can't see logs, you have to debug. Every capability you withhold from AI becomes a task for you. The goal: full environmental parity between human and AI developers.

Capability checklist

Check what your agent can already do today (click to check):

  • Run the application locally
  • Run the test suite
  • Run linters and type checkers
  • Run migrations and seed dev data
  • Create branches, commits and push to remote
  • Create pull requests and read PR comments
  • View local and production logs (read-only)
  • Take screenshots of the UI
  • Inspect network requests
  • Access error tracking (Sentry, etc.)

The 4 agent-native maturity levels

LEVEL 1

Basic

File access, tests and git commits. The base that unlocks compound engineering.

LEVEL 2

Full local

Browser, local logs and PR creation. Enables stages 3-4 of the ladder.

LEVEL 3

Production visibility

Production logs (read-only), error tracking and dashboards. The agent debugs proactively.

LEVEL 4

Full integration

Ticket systems, deployment and external services. Enables stage 5 (parallel cloud execution).

🧠

Agent-native is also a mindset. When building features, ask: "how will the agent interact with this?". When debugging: "what would the agent need to see?". When documenting: "will the agent understand this?".

11 · velocity

Skip permissions

By default Claude Code asks permission before every action. The --dangerously-skip-permissions flag turns those prompts off — the name is intentionally scary to make you think before using it. But at stage 3+, constant permission requests kill your flow.

✅ When to use

  • You trust the process: you have a good plan and good review systems
  • You're in a safe environment (sandbox, nothing affecting real users)
  • You want velocity: permission requests break your flow

❌ When NOT to use

  • You're learning: the prompts help you understand what's happening
  • You're in production: never, because it touches real users
  • You don't have good rollback: if you can't undo easily, keep the prompts

Safety without prompts

🔀 Git is the safety net

Everything the agent does is in git. git reset --hard HEAD~1 and you're back.

🧪 Tests catch mistakes

Before merging, run your tests. If the agent broke something, they catch it.

👀 Review before merge

Skip permissions skips implementation prompts, not the final PR review.

🌲 Worktrees isolate risk

Risky work happens in an isolated directory via git worktrees.

🔓

The productivity calculation: without skip permissions, a prompt every 30 seconds, each one requiring a "y" and lost focus — multiplied hundreds of times per session. With skip permissions, you maintain a flow state and unlock 5-10x faster iteration, and the time saved can dramatically exceed the risk of occasionally rolling something back.

12 · vibe coding

Vibe coding

Vibe coding is for people who don't care about the code itself — they want results. Maybe a PM prototyping ideas, a designer testing an interaction, or a personal project you'll never look at again. The philosophy: skip the ladder and go straight to stage 4 — describe what you want and let the agents build it.

Perfect for

  • Personal projects
  • Prototypes and experiments
  • "Can this even work?" investigations
  • Internal tools
  • UX exploration

Not great for

  • Production systems with users
  • Code others will maintain
  • Security-sensitive apps
  • Performance-critical systems
🎭

The vibe coding paradox: it can actually make your planning better. When you don't know what to build, generate prototypes, share them with users, collect feedback, click through them. Then delete everything and start over with a proper plan. The optimal split: vibe code to discover what you want, spec to build it right. The spec always wins for final implementation, but vibe coding accelerates discovery.

# sessão de exemplo: descrever → esperar → testar → corrigir → ship
Você: /lfg quero um site onde colo um link do YouTube e ele extrai a transcrição
... agente trabalha por alguns minutos ...
Você: funciona, mas o texto está difícil de ler. aumenta a fonte.
... agente corrige ...
Você: perfeito. ship it.
13 · design

Design workflow

Design is easier to iterate on in code than in mockups — you can click through it and feel the interactions. But you don't want to experiment in your production codebase. The flow: prototype in throwaway projects, test with users and capture design taste so the AI can replicate it.

The "baby app" approach

The workflow

  1. Create a prototype repo: mkdir baby-myapp
  2. Vibe-code the design without fear
  3. Iterate until it feels right: "more spacing, toggle more prominent"
  4. Capture the design system: colors, spacing, typography, patterns
  5. Transfer to the main app using the prototype as reference

UX discovery loop

When you don't know what to build: ask for five different versions of a screen, click through each, share with users ("would this flow confuse you?"), collect feedback on functional prototypes (unlike a Figma mockup, they can actually click around) and then delete everything and start over with a proper plan. The prototype is for learning, not shipping.

Working with designers

Traditional flowCompound flow
ProcessDesigner creates mockup → dev interprets and builds → designer says "that's not quite right" → back and forth until it maybe matchesDesigner creates mockup in Figma → you run /plan with the link → AI builds it → the figma-design-sync agent checks it against the mockup → designer reviews the live version, not a screenshot → iterate until perfect
TasteLives in the designer's headCodified in a skill (colors, spacing, patterns). The AI produces designs matching the designer's taste, even without them involved
🎨

Design agents: design-iterator screenshots the current design, analyzes what's not working, improves and repeats. figma-design-sync pulls the design from Figma, compares it with what's built and fixes differences automatically. design-implementation-reviewer checks implementations match the Figma specs before they reach users.

14 · teams

Team collaboration

When AI handles implementation, team dynamics shift. You need new agreements: who approves plans, who owns PRs and what humans review when agents have done the first pass.

Traditional flow

Person A writes code → Person B reviews → discussion in PR comments → merge after approval.

Compound flow

Person A creates the plan → AI implements → AI agents review → Person B reviews the AI review → merge after human approval.

✅ Plan approval

Reading a plan and agreeing with it is a decision. Silence is not approval — it's the absence of a decision. Require explicit sign-off before implementation: a comment, a commit tag or another marker.

👤 PR ownership

The person who initiated the work owns the PR, regardless of who (or what) wrote the code. You're responsible for plan quality, reviewing the work, fixing issues and the impact after merge.

🎯 Human review focus

When agents have already analyzed the PR, humans focus on intent, not implementation: does this match what we agreed? does the approach make sense? any business logic issues? Syntax errors, security and performance are already the agents' job.

Communication & scaling patterns

📬 Async by default

Plans can be created, reviewed and approved without a meeting. Instead of "let's meet to discuss", try "I've created a plan — please comment by end of day". Explicit handoffs: status, what's done, what's left, context and how to continue.

🚩 Flags + small PRs

Everyone shipping faster = more merge conflicts. Ship small pieces, use feature flags, merge to main frequently and resolve conflicts immediately. And each major feature has one owner, who updates the team asynchronously.

📚

Compound docs = tribal knowledge. You shouldn't need to ask a colleague something that could be baked into the system. Instead of "ask Sarah, she knows how auth works", Sarah runs /compound after implementing. The solution gets documented and anyone can find it.

15 · research

User research the AI can use

Structure research so AI can use it. Raw interview notes are hard to leverage: insights need a quote, an implication and a confidence level.

The research ↔ development gap

Traditional: researcher interviews → writes report → report rots in Drive → dev builds without reading it → feature doesn't match user needs.

Compound: research generates structured insights → insights become planning context → AI references insights when planning → features are informed by research → usage data validates insights → insights compound.

Structured insight

# research/interviews/user-123.md
### Insight: ritual matinal de dashboard
Quote: "Primeira coisa de manhã, procuro bandeiras vermelhas."
Implicação: dashboard precisa surfacar problemas rápido.
Confiança: 4/5 participantes

Referable personas + research-informed planning

Create persona documents (goals, frustrations, quotes) the AI can reference, and feed plans with research context:

/ce-plan adicionar exportação agendada

Contexto de pesquisa:
- 3/5 usuários entrevistados mencionaram exportação semanal
- a persona marketing-manager exporta toda sexta
- dor atual: processo manual de exportação

Desenhar para: exports semanais automáticos por e-mail
16 · data

Data pattern extraction

Your users are already telling you what to build through how they use your product. Each click is a clue. You just have to pay attention:

🔥 Heavy usage

Features used way more than expected; users returning to the same page repeatedly. A signal that value (or dependency) lives there.

😤 Struggle

High dwell time on simple pages; repeated attempts at the same action; error → retry → error loops.

🛠️ Workaround

Users inventing solutions because the product doesn't do what they need: exporting from one place and importing elsewhere, copy-pasting between screens, multiple tabs open to compare.

🚪 Abandonment

Where users drop off in flows: features started but not completed.

🔍

From pattern to feature: you notice users copying data from one table and pasting it into another 50 times a week → insight: they need automation between tables → feature: a "sync to table B" button. Or you notice users creating "template" projects and duplicating them → insight: they want templates → feature: first-class template support.

17 · copy

Copywriting

Most teams treat copy as an afterthought — something to fill in after the feature is built. But copy is part of the user experience and deserves the same attention as code.

📋 Copy in the plan

Include copy in your plans from the start: email subject, success message, error messages. When the AI implements, the copy is already there.

🗣️ Codify your voice

Create a skill defining principles ("talk like a human, not a robot"; "errors should help, not blame") and words to avoid ("invalid" → "didn't work"; "successfully" → just say what happened).

🔎 Review copy like code

Add a copy-reviewer agent to the process: clarity (can a non-technical user understand?), helpfulness, tone (does it match the voice guide?) and consistency with similar text.

18 · marketing

Product marketing

Congratulations, you shipped something. Now tell the world: the same system that builds features can announce them. Release notes generated from the plan, social posts, automated screenshots — everything flows from one place, nothing needs handoff and nothing slips through.

Step in the compound flow
1 · The engineer creates a plan that includes the product value proposition
2 · The AI implements the feature
3 · The AI generates release notes from the plan (user benefit first, one concrete example, breaking changes, under 200 words)
4 · The AI generates social posts from the release notes
5 · The AI generates screenshots with Playwright — no asking engineering, never out of date
6 · The engineer reviews and ships everything together. For multiple features, /changelog reads recent merges and generates the changelog
19 · bigger picture

Vibe coding vs. AI engineering

Compound engineering is the structured answer to the risk of "vibe coding": code that seems to work but isn't sustainable. See the contrast:

Vibe CodingAI Engineering / Compound
InputVague prompt → code that "looks ok"Clear spec + acceptance criteria
ProcessNo spec, no tests, no reviewAgent executes with repo context
ResultWorks in the demo, breaks in productionHuman review + tests
DebtTechnical debt grows with every PRDocumented learnings (compounding)
🎯

The synthesis: vibe coding is great for fast prototyping; AI engineering is what scales in production. Teams that master agents deliver features in hours instead of weeks, but speed without process quickly becomes technical debt. The relevant question today is no longer "do you use AI?", but "can you orchestrate AI?".

20 · in practice

Spec-driven & the 2026 stack

Compound engineering connects directly with another trend: Spec-Driven Development, where the specification becomes an executable contract before any line of code. The typical flow: Constitution (AGENTS.md) → SPEC.md → TASKS.md → Code + PR — exactly the spirit of /ce-brainstorm → /ce-plan → /ce-work.

Tool map

CategoryExamplesWhen to use
AI-first IDECursor, Windsurf, KiroDay-to-day in the editor, plan + agent
Terminal agentClaude Code, Codex CLI, AiderBig refactors, multi-file, CI
Inline / PRGitHub CopilotAutocomplete + review in the PR
Cloud agentDevin, Jules, Codex CloudLong tasks, tickets, remote PRs
Chat / researchClaude, ChatGPT, GeminiDesign, trade-offs, learning

Recommended stack (2026 reference)

LayerSuggestionWhy
Main IDECursorPlan + Agent + rules + MCP
Terminal agentClaude CodeLong tasks, Compound Engineering plugins
Chat / designClaude ou ChatGPTTrade-offs and specifications
PR / CICopilot + checks automáticosReview integrated into the GitHub flow
ContextAGENTS.md + rulesThe base of compounding in the repository

Daily checklist

  • AGENTS.md / CLAUDE.md updated in the repository
  • Specific rules for sensitive areas (auth, billing, database)
  • Plan mode used before big features
  • Tests and typecheck run by the agent
  • Diff always read before commit
  • Learnings documented (compounding)
  • No secrets in the chat history

When not to use AI

Better manually

  • Critical architectural decisions without defined criteria
  • Small hotfixes you already fully understand
  • Regulated code requiring clear human accountability
  • Learning a fundamental for the first time

Perfect with AI

  • Boilerplate, tests and migrations
  • Exploring an unknown codebase
  • Mechanical refactors covered by tests
  • Drafts of PR descriptions and documentation
21 · references

Sources

This guide was compiled from: