Få Codex, Claude Code og Cursor til at arbejde som ét team via CLI
Avanceret12 min læsningAI til virksomheder

Få Codex, Claude Code og Cursor til at arbejde som ét team via CLI

Brug AGENTS.md, CLAUDE.md, Cursor-regler og CLI'ernes udskriftstilstande, så Codex designer, Claude gennemgår, og Cursor implementerer uden en specialbygget orkestreringsplatform.

Hvad du bør kunne

De tre agenter har ikke brug for en fælles hjerne. De har brug for en fælles aftale: én instruktionsfil, struktureret Markdown til overdragelser, isolerede worktrees og CLI-kommandoer, der kan køre design, gennemgang og implementering som særskilte opgaver.

Gemt kun i denne browser.
I denne artikel

Codex, Claude Code og Cursor kan redigere repositories, køre kommandoer og følge projektinstruktioner inden for deres konfigurerede funktioner og tilladelser. Denne artikel afprøver en filbaseret driftsaftale. Den hævder ikke, at alle teams har brug for tre agenter, eller at aftalen fjerner forskelle mellem værktøjerne.

Denne artikel viser, hvordan du gør det med filer og CLI’er, du allerede har:

  • Delte projektinstruktioner i AGENTS.md
  • Claude-bro via CLAUDE.md, der importerer @AGENTS.md
  • Grundlæggende Cursor-instruktioner samt valgfri .cursor/rules
  • Struktureret Markdown til overdragelser mellem roller
  • Ikke-interaktive CLI-kørsler til design, gennemgang og implementering

Her er ingen specialbygget projektstyringsplatform nødvendig. Hvis du senere vil have en fælles backlog på tværs af agenter, kan du kombinere opsætningen med projektledelse med flere agenter i Linear. Her foregår koordineringen gennem Git og Markdown.

Produktdokumentationen blev kontrolleret igen 2026-08-04 mod AGENTS.md, OpenAIs Codex-vejledning til AGENTS.md, Codex’ ikke-interaktive tilstand, Claude Codes hukommelsesdokumentation, Claude Codes CLI-reference og Cursors CLI-dokumentation. Den samlede overdragelse mellem de tre klienter blev ikke kørt fra ende til anden under denne gennemgang. Kontrollér kommandoer og tilladelser med fastlåste klientversioner, før du baserer en arbejdsgang på dem.

Teamets opbygning

En brugbar indledende specialisering:

RolleVærktøjJobPrimært output
DesignerCodex CLIForeslå arkitektur, grænseflader, testplan og risiciDesignafsnit i docs/handoffs/<id>.md
GennemgangClaude CodeUdfordre designet eller implementeringenGennemgangsafsnit i samme overdragelsesfil
ImplementeringCursor CLI / Cursor AgentUdfør den godkendte plan som små ændringerBranch, tests, PR og implementeringsnoter

Rollerne er konventioner, ikke begrænsninger hos leverandørerne. Hvert værktøj kan designe, gennemgå eller implementere. Specialiseringen skaber en tydelig artefaktgrænse: Én agent skriver en plan, en anden udfordrer den, og en tredje implementerer kun det, der bestod gennemgangen.

Delte instruktioner: én sandhedskilde

Brug AGENTS.md som et portabelt fælles grundlag

AGENTS.md er et instruktionsformat på tværs af værktøjer, som forvaltes under Agentic AI Foundation. Codex læser formatet direkte. Cursor understøtter en AGENTS.md i roden som fælles projektvejledning ved siden af .cursor/rules. Hold filen kort og handlingsrettet:

# AGENTS.md

## Commands
- Install: `pnpm install`
- Test: `pnpm test`
- Typecheck: `pnpm typecheck`
- Lint: `pnpm lint`

## Patch rules
- One behavior change per branch
- Prefer existing helpers over new dependencies
- Do not edit secrets or `.env*` files
- Do not merge to main

## Multi-agent protocol
- Read `docs/handoffs/` before starting
- Write status back into the active handoff file
- Designer, reviewer, and implementer must be different runs
- Stop for auth, payments, production infra, or data deletion

OpenAIs Codex-dokumentation beskriver, hvordan instruktioner opdages fra projektroden ned til arbejdsmappen. Nærmere filer har forrang, AGENTS.override.md kan bruges efter behov, og den samlede standardgrænse er 32 KiB, medmindre den hæves. Hold rodfilen kort, og placér pakkespecifikke regler i indlejrede AGENTS.md-filer.

Forbind Claude Code via CLAUDE.md

Claude Code læser CLAUDE.md, ikke AGENTS.md. Den officielle vejledning anbefaler at importere den fælles fil:

@AGENTS.md

## Claude Code
- Prefer plan mode before edits on `src/billing/` and auth code
- For review jobs, do not implement unless the handoff status is `implement` or `fixes`

Et symbolsk link (ln -s AGENTS.md CLAUDE.md) fungerer også, når du ikke har brug for Claude-specifikke tilføjelser. Foretræk importen @AGENTS.md på Windows.

Bekræft indlæsningen med Claudes /context, og kontrollér Memory files.

Hold Cursor-specifikke regler snævre

Cursor kan bruge AGENTS.md i roden til fælles konventioner. Brug kun .cursor/rules/*.mdc til Cursor-specifikke behov som regler afgrænset med globmønstre. Vedligehold ikke tre forskellige opslagsværker.

Overdragelsesfilen er samtalen mellem kolleger

Opret en mappe:

mkdir -p docs/handoffs

Brug én fil pr. arbejdsenhed:

docs/handoffs/2026-07-29-pricing-section.md

# Handoff: pricing section

- ID: pricing-section
- Status: design
- Owner now: codex
- Next owner: claude
- Branch: codex/design-pricing-section
- Worktree: ../app-pricing-section

## Goal
Implement the marketing pricing section using existing Section/PlanCard patterns.

## Non-goals
Billing, coupons, seat math.

## Design
(Codex fills this)

## Review
(Claude fills this)

## Implementation notes
(Cursor fills this)

## Verification
- Command: `pnpm test:e2e --grep "pricing"`
- Last result:

## Decision log
- 2026-07-29 Codex: drafted component boundaries

Statusværdier, der fungerer godt, med sløjfer frem for et ensrettet forløb:

  1. design
  2. design-review — blokerende fund sender arbejdet tilbage til design; en ren gennemgang fører videre til implement
  3. implement
  4. impl-review — blokerende fund fører til fixes; en ren gennemgang sætter done
  5. fixes — implementeringsagenten retter fundene og sender derefter arbejdet tilbage til impl-review
  6. done
  7. blocked-human

Ikke alle opgaver får status fixes. Et rent impl-review kan gå direkte til done.

Hver CLI-kørsel begynder med at læse filen og slutter med at opdatere status, ejer og beslutningslog. Det er hele orkestreringslaget.

Eksempel: efter én cyklus med design og gennemgang

Illustrativt uddrag af overdragelsesfilen, efter Codex har designet og Claude har gennemgået:

- Status: implement
- Owner now: cursor
- Next owner: claude

## Design
Files: `PricingSection.tsx` (new), reuse `PlanCard.tsx`
CTA must track clicks with `trackEvent()` + `getCtaClickProps()` from `src/lib/analytics.ts`
Mobile: stacked below `md`, three columns from `md` up
Plan IDs: `starter`, `pro`, `business`
Test: `pnpm test:e2e --grep "pricing"`

## Review
Blocking: none remaining (breakpoint + plan IDs resolved in Design above)
Non-blocking:
- Extract plan constants later if CMS arrives.

## Decision log
- 2026-07-29 Codex: initial component boundaries
- 2026-07-29 Claude: requested breakpoint + explicit plan IDs
- 2026-07-29 Codex: updated Design; Claude cleared blocking items → implement

Det er denne artefakt, Cursor skal følge. Chathistorikken er valgfri; filen er obligatorisk.

Installér og start hver CLI

De præcise installationsmetoder ændrer sig. Brug den aktuelle dokumentation fra hver leverandør. Det afgørende her er mønsteret for ikke-interaktiv kørsel.

Codex: designrunde

Codex’ ikke-interaktive tilstand er codex exec. Den kører som standard i en skrivebeskyttet sandkasse. En designopgave, der opdaterer overdragelsesfilen, kræver skriveadgang til workspacet:

cd ../app-pricing-section
codex exec --sandbox workspace-write "$(cat <<'EOF'
Read AGENTS.md and docs/handoffs/2026-07-29-pricing-section.md.
Status is design. Produce the Design section only:
- proposed files
- component/API boundaries
- test plan
- risks
- open questions
Do not implement application code.
Set status to design-review and next owner to claude.
Append a Decision log entry.
EOF
)"

Brug kun interaktiv codex, når du vil styre designet løbende. Foretræk codex exec til scripts og sekventielle kørsler.

Claude Code: gennemgangsrunde

Claude Codes udskriftstilstand kan gennemgå og opdatere overdragelsesfilen, men kun hvis tilladelserne giver skriveadgang i det pågældende worktree. Hold omfanget snævert:

cd ../app-pricing-section
claude -p --permission-mode acceptEdits --max-turns 30 --max-budget-usd 5 --output-format text "$(cat <<'EOF'
Read AGENTS.md / CLAUDE.md and docs/handoffs/2026-07-29-pricing-section.md.
You are the reviewer. Do not implement application code.
Challenge the Design section for missing edge cases, local-architecture mismatches, weak tests, and security issues.
Write findings into the Review section as Blocking vs Non-blocking.
If blocking findings exist, set status to design and next owner to codex.
Otherwise set status to implement and next owner to cursor.
Append a Decision log entry.
EOF
)"

Hvis Claude ikke kan skrive filer i en ikke-interaktiv tilladelsestilstand, skal gennemgangen køres skrivebeskyttet, hvorefter et menneske eller et script indsætter gennemgangsafsnittet i overdragelsesfilen. Foretræk --permission-mode acceptEdits eller en positivliste i indstillingerne til opdatering af overdragelsesfilen i et midlertidigt worktree. Brug ikke --dangerously-skip-permissions i et reelt checkout.

Nyttige Claude Code-indstillinger til scriptede kørsler, se CLI-referencen:

  • -p / --print til ikke-interaktiv fuldførelse
  • --max-turns til at begrænse sløjfer
  • --max-budget-usd til at begrænse forbruget
  • --output-format json|text|stream-json til automatisering
  • --permission-mode acceptEdits, når gennemgangen skal skrive overdragelsesfilen i et afgrænset worktree

Brug ikke uden videre --dangerously-skip-permissions i checkouts til produktion.

Cursor: implementeringsrunde

Cursor CLI hedder agent. Brug det samme dedikerede worktree, som overdragelsesfilen angiver. Implementér ikke fra det primære checkout:

cd ../app-pricing-section
agent -p --trust --sandbox enabled --output-format text "$(cat <<'EOF'
Read AGENTS.md and docs/handoffs/2026-07-29-pricing-section.md.
Status must be implement or fixes.
Implement only the approved Design, respecting Review blocking resolutions.
Keep the patch small. Add or update tests from the Verification section.
Run the verification command and record the result in the handoff file.
Set status to impl-review and next owner to claude.
Do not merge.
EOF
)"

Vigtige Cursor CLI-flags:

  • -p / --print — ikke-interaktiv; har allerede adgang til skrive- og shellværktøjer
  • --force / --yolo — godkender automatisk shellkommandoer, medmindre de afvises; brug kun i midlertidige sandkasser, ikke som standard ved kodning
  • --sandbox enabled|disabled — sandkassetilstand for kørslen; foretræk enabled, når du implementerer med --trust
  • --trust — markerer workspacet som betroet under automatisering
  • -w / --worktree [name] — isoleret checkout under ~/.cursor/worktrees/<repo>/ med en anden sti end ved manuel git worktree add; opdatér felterne Branch og Worktree i overdragelsen, hvis du bruger det
  • --mode plan eller --mode ask — planlægning eller skrivebeskyttet tilstand
  • --output-format text|json|stream-json

Til skrivebeskyttede Cursor-gennemgange skal du foretrække ask- eller plantilstand eller en udtrykkelig instruktion om ikke at redigere. Foretræk manuel git worktree add, så stien i overdragelsen svarer til implementeringsagentens checkout.

Se også Cursors vejledning til headless CLI for scriptede arbejdsgange.

Oversigt over instruktionsfiler, så sandheden ikke duplikeres

FilHvem læser denLæg her
AGENTS.mdCodex, Cursor og andre værktøjer med AGENTS.md-understøttelseFælles kommandoer, regler for ændringer og protokol til flere agenter
CLAUDE.mdClaude CodeImport af @AGENTS.md samt Claude-specifikke noter
.cursor/rules/*.mdcCursorAdfærd afgrænset med globmønstre eller anden Cursor-specifik adfærd
docs/handoffs/*.mdAlle agenter via instruktionenOpgavens status, design, gennemgang og verifikation

Hvis en regel gælder for alle agenter, skal der findes én kanonisk, portabel version, og hvert værktøj skal kun bruge den nødvendige bro. Værktøjsspecifikke regler forbliver lokale. Duplikerede politikker skaber flere vedligeholdelsespunkter og øger risikoen for afvigelser; en test bør bekræfte, at hvert værktøj indlæser det tilsigtede regelsæt.

Eksempel på en komplet arbejdsgang

Antag et rent repository og en funktion, der endnu ikke er implementeret.

1. Opret et isoleret worktree

git fetch origin main
git worktree add -b feat/pricing-section ../app-pricing-section origin/main
cd ../app-pricing-section
mkdir -p docs/handoffs

Opret overdragelsesfilen med Mål, Ikke omfattet og Verifikation. Gem grundstrukturen i en commit, hvis teamet vil gøre aftalen synlig i PR’er.

2. Codex designer

Codex skriver designafsnittet med filer, grænseflader, tests og risici. Status bliver design-review.

Et reelt designresultat bør have denne form:

## Design
Files:
- `src/components/marketing/PricingSection.tsx` (new)
- `src/components/marketing/PlanCard.tsx` (reuse)
- `tests/e2e/marketing-pricing.spec.ts` (new)

Boundaries:
- PricingSection owns layout and plan list
- PlanCard remains presentational
- CTA links use existing `trackEvent()` + `getCtaClickProps()` helpers

Test plan:
- three plans visible
- CTA hrefs resolve
- analytics helper called once per click

Risks:
- hardcoding plan IDs out of sync with CMS

3. Claude gennemgår designet

Instruktionen til gennemgangen kræver blokerende og ikke-blokerende fund, så uklare designs sendes tilbage. Eksempel:

Blokerende:
1. Der er ikke truffet en beslutning om mobillayout for stablede abonnementskort.
2. Designet angiver ikke verifikationskommandoen. Tilføj den under Design og Verifikation.
Ikke-blokerende:
- Overvej at flytte abonnementsdata til en konstant.

Status går tilbage til design eller videre til implement, men først når de blokerende punkter er afklaret i designet.

4. Cursor implementerer

Cursor implementerer kun det godkendte design. Den kører:

pnpm test:e2e --grep "pricing"

Cursor registrerer resultatet, åbner eller forbereder en PR og sætter status til impl-review.

5. Claude gennemgår implementeringen

Den anden Claude-kørsel gennemgår ændringerne mod overdragelsen, ikke mod et nyt ideal, som agenten selv har opfundet. Blokerende fund sætter status til fixes med cursor som ejer. En ren gennemgang sætter done, hvorefter et menneske kan flette ændringerne.

6. Et menneske fletter ændringerne

Beskyttede branches forbliver under menneskelig kontrol. Agenter kan fungere som hurtige juniorer, men bør ikke være udgivelsesansvarlige.

Shell-orkestrering uden en platform

En enkel sekvensstyring er tilstrækkelig:

#!/usr/bin/env bash
set -euo pipefail
ROOT="${1:?worktree path}"
HANDOFF="${2:?handoff file}"
cd "$ROOT"

status() {
  # Prefer the metadata Status field near the top of the handoff file.
  awk '/^- Status:/{print $3; exit}' "$HANDOFF"
}

case "$(status)" in
  design)
    codex exec --sandbox workspace-write "Read AGENTS.md and $HANDOFF. Fill Design only, then set status=design-review and next owner=claude. Do not implement application code."
    ;;
  design-review|impl-review)
    claude -p --permission-mode acceptEdits --max-turns 30 --max-budget-usd 5 --output-format text "Review $HANDOFF per AGENTS.md. Update Review + status only. Do not implement application code."
    ;;
  implement|fixes)
    agent -p --trust --sandbox enabled --output-format text "Status must be implement or fixes. Implement or fix per $HANDOFF and AGENTS.md. Update handoff. Do not merge."
    ;;
  done|blocked-human)
    echo "No agent action for $(status)"
    ;;
  *)
    echo "Unknown status in $HANDOFF" >&2
    exit 1
    ;;
esac

Dette er bevidst kedeligt. Enkel orkestrering er lettere at fejlfinde. Hold sandkasser og tilladelsestilstande så snævre, som fasen tillader. Design og gennemgang bør ikke kræve bred systemadgang.

Fejltilstande

FejlHvad der skerFix
Afvigende instruktionerCodex, Claude og Cursor følger forskellige reglerÉn AGENTS.md; Claude importerer den; Cursor-regler bruges kun til tilføjelser
Sammenfaldende rollerGennemgangsagenten omskriver i stilhed funktionenInstruktionerne til gennemgang forbyder implementering; statusserne styrer ejerskabet
Fælles worktree med ikke-gemte ændringerTre agenter overskriver filerÉt worktree pr. overdragelses-id
Uendelig finpudsningAgenterne sender designet frem og tilbage uden afslutningHøjst to design-review-cyklusser, derefter menneskelig beslutning
Tomme gennemgange»Looks good« uden dokumentationKræv afsnit med blokerende og ikke-blokerende fund
Omgåelse af tilladelserUovervågede destruktive kommandoerUndgå at springe tilladelser over i rigtige repositories; brug sandkasser og budgetter
Forældet overdragelseAgenten arbejder ud fra chathukommelseKræv, at overdragelsesfilen læses ved hver kørsel
PromptinjektionIssues eller dokumenter forsøger at tilsidesætte politikkenBehandl utroværdig Markdown som data; håndhæv stop med sandkasser, afviste tilladelser og hooks. Instruktionsfiler er kontekst, ikke en hård sikkerhedsgrænse

Ikke-interaktive flag, der automatisk godkender ændringer eller tilladelser, er hjælpeværktøjer til sandkasser og stramt afgrænsede worktrees. De udgør ikke en adgangskontrolmodel til produktion.

Hvad du ikke bør automatisere endnu

  • Fletning til beskyttede branches
  • Udrulning til produktion
  • Rotation af hemmeligheder
  • Skemamigreringer uden en plan, som et menneske har gennemgået
  • Arbejdsgange, hvor overdragelsesfilen kommer fra en utroværdig ekstern indsender uden rensning

Et praktisk startsæt

  1. Tilføj AGENTS.md i roden med kommandoer, regler for ændringer og protokollen til flere agenter.
  2. Tilføj CLAUDE.md indeholdende @AGENTS.md.
  3. Tilføj docs/handoffs/_template.md.
  4. Vælg én lille funktion.
  5. Kør design → gennemgang → implementering → gennemgang manuelt én gang.
  6. Først derefter kobles statusserne til en shellsekvens.

Hvis de samme agenter skal hente opgaver fra en fælles virksomhedsbacklog, kan du tilføje Linear MCP og statusmodellen for overtagelse og gennemgang fra projektledelse med flere agenter i Linear. Markdown-overdragelsen er stadig nyttig som teknisk notesbog for det enkelte issue.

Standarden er kontrakten

Codex, Claude Code og Cursor overlapper allerede i funktionalitet. De bliver et team, når du holder op med abstrakt at bede dem om at »arbejde sammen« og i stedet kræver en synlig aftale:

  • delte instruktioner
  • udtrykkelig rolle for hver kørsel
  • Markdown-overdragelse med status
  • isolerede worktrees
  • afgrænsede CLI-kørsler
  • menneskeligt ansvar for fletning og udgivelse

Det er nok til at drive et seriøst lokalt agentteam med dagens værktøjer og til hurtigt at opdage, når teamet improviserer i stedet for at arbejde systematisk.

Læs næste

Fortsæt ad den samme læsevej med de næste praktiske artikler.