Przejdź do głównej zawartości

Mapa narzędzi: Claude Code, Cursor i Codex

Mapa narzędzi pokazuje, która funkcja Claude Code, Codex i Cursora realizuje każdy etap cyklu AI-native, od zapisania intent.md po obserwację produkcji. Artefakty, ludzkie bramki i kontrole CI zostają w Git i są takie same we wszystkich narzędziach; zmienia się tylko warstwa harnessu. Komendy Claude Code i Codex sprawdzono w zainstalowanych CLI 26 września 2026 r.

Ta strona jest dla developera, który prowadzi etap cyklu w narzędziu innym niż to pokazane na stronie etapu jako pierwsze, i dla tech leada, którego zespół używa wszystkich trzech. Sytuacja, którą rozwiązuje: połowa zespołu planuje w Cursorze, skrypt w CI wywołuje Codexa, a ktoś wkleja flagę z Claude Code do wiersza poleceń Codexa. Uruchomienie się wysypuje albo, co gorsze, działa ze słabszą kontrolą, niż zakładała strona etapu.

  • Jedną tabelę z nazwą funkcji dla każdego etapu cyklu w każdym narzędziu, razem z wersją, na której ją sprawdzono.
  • Warstwę przenośną: które pliki niosą cykl między narzędziami i jak utrzymać jeden plik instrukcji dla wszystkich trzech.
  • Komendy obok siebie dla planowania, izolacji, weryfikacji bez interakcji i review, w <Tabs>.
  • Skrypt sprawdzający flagi, który przerywa build CI, gdy aktualizacja narzędzia usunie flagę używaną przez twoją automatyzację.
  • Dwa prompty do skopiowania: audyt przenośności i audyt flag.
  • Sposób wyjścia z każdej typowej awarii konfiguracji wielonarzędziowej.

Czytaj wiersz jako „aby przeprowadzić ten etap, użyj tej funkcji”. Procedura jest na stronach etapów; ta tabela mówi tylko, gdzie ta procedura jest w twoim narzędziu. Wiersze Claude Code sprawdzono na wersji 2.1.283, a Codex na 0.157.1, oba 26.09.2026. Wiersze Cursora sprawdzono w dokumentacji Cursora 28.08.2026; 26.09.2026 cursor.com był nieosiągalny, więc sprawdź wiersz Cursora ponownie, zanim oprzesz na nim automatyzację.

Etap i praktykaClaude Code 2.1.283Codex 0.157.1Cursor (dokumentacja, 28.08.2026)
Plan: zapis intent.mdSesja interaktywna; commit zaakceptowanego plikuSesja interaktywna; commit zaakceptowanego plikuCzat z agentem; commit zaakceptowanego pliku
Design: spec.mdSkille w .claude/skills/; kontekst w CLAUDE.mdSkille w .agents/skills/; kontekst w AGENTS.mdAgent Skills i Rules
Build: plan przed kodem--permission-mode plan, /plan albo Shift+Tab/plan w interfejsie terminalowymPlan Mode
Build: izolacja równoległa-w, --worktree [name]Flaga --worktree albo /worktreeWorktrees
Test: pętla sesjiKomenda kontroli w CLAUDE.md; hooki w .claude/settings.jsonKomenda kontroli w AGENTS.md; hooki (wymagają zapisanego zaufania)Komenda kontroli w Rules; Hooks
Test: kontrole deterministyczneTryby uprawnień, Bash w sandboksie, hookiSandbox albo profil uprawnień (beta), polityka akceptacji, hookiHooks, Run modes
Deploy: uruchomienie bez interakcjiclaude -p z --output-format jsoncodex exec z --json albo --output-schemaTryb print w CLI (-p, --print)
Deploy: review pull requestuLokalnie /code-review; anthropics/claude-code-action@v1; zarządzany Code Review (research preview, Team i Enterprise)codex review; @codex review na GitHubie; openai/codex-action@v1Bugbot na pull requeście
Maintain: praca w tle i cyklicznaSesje --bg; Routines (/schedule, research preview); harmonogram CIAutomations i zadania cykliczne; codex cloud (eksperymentalne); harmonogram CICloud Agents; Automations (harmonogram, Slack, Linear, webhook i inne)
Uprawnienia produkcyjnePoza agentem: bramka wydania i poświadczenia, których sesja nie odczytaTak samoTak samo

Ostatni wiersz jest celowo taki sam w każdej kolumnie. Żadne ustawienie narzędzia nie zastąpi bramki wydania, do której model nie ma dostępu; etap deploy pokazuje, gdzie ją umieścić.

Trzymaj cykl w plikach, które czyta każde narzędzie

Dział zatytułowany „Trzymaj cykl w plikach, które czyta każde narzędzie”

Cykl przetrwa zmianę narzędzia tylko wtedy, gdy jego stan żyje w repozytorium. Niosą go cztery rodzaje plików:

  • Artefakty. intent.md, spec.md, plan.md i REVIEW.md to zwykły Markdown; łańcuch artefaktów ma szablon każdego z nich. Czyta je każde narzędzie.
  • Plik instrukcji. Codex czyta AGENTS.md. Claude Code czyta CLAUDE.md, a od v2.1.277 czyta też AGENTS.md, gdy projekt nie ma CLAUDE.md; to zachowanie jest tylko w kanale wydań latest (kanał stable był 26.09.2026 na wersji 2.1.274). Żeby obsłużyć oba kanały, trzymaj treść w AGENTS.md i dodaj jednolinijkowy CLAUDE.md, który importuje go przez @AGENTS.md. W Cursorze wpisz tę samą komendę kontroli do Rule; tego, czy Cursor czyta AGENTS.md, nie udało się ponownie zweryfikować na potrzeby tej strony.
  • Skille. Skill to folder z plikiem SKILL.md, otwarty standard, który implementują wszystkie trzy narzędzia. Zacommituj go raz i skopiuj albo podlinkuj do .claude/skills/ dla Claude Code i .agents/skills/ dla Codexa; CLI skills (kod źródłowy 1.7.0, sprawdzone 26.09.2026) instaluje też projektowe skille Cursora do .agents/skills/, więc jedna kopia tam obsługuje oba narzędzia; pakowanie opisuje strona o skillach agentów.
  • Komenda kontroli. Jedna komenda, np. npm run typecheck && npm run lint && npm test, wpisana w plik instrukcji i uruchamiana ponownie w CI. Liczy się przebieg w CI, bo agent nie może go edytować.

Hooki się nie przenoszą. Hooki Claude Code siedzą w .claude/settings.json, hooki Codexa muszą mieć zapisane zaufanie, zanim się uruchomią, a hooki Cursora rozmawiają JSON-em przez stdio. Trzymaj logikę w skrypcie pod kontrolą wersji i daj każdemu narzędziu cienki wpis hooka, który go wywołuje; wzorzec pokazuje strona o hookach jako deterministycznych zabezpieczeniach.

Czym różnią się komendy w Claude Code, Codexie i Cursorze?

Dział zatytułowany „Czym różnią się komendy w Claude Code, Codexie i Cursorze?”

Cztery praktyki poniżej to miejsca, w których składnia narzędzi różni się najbardziej. Każda zakładka robi to samo.

Okno terminala
# Terminal. Najpierw plan, w izolowanym worktree.
claude --permission-mode plan -w payments-retry
# CI albo skrypt. Review tylko do odczytu, wynik ustrukturyzowany.
claude -p --output-format json \
--allowedTools "Read,Grep,Glob,Bash(git diff *)" \
"Review the diff against main using REVIEW.md. Report Important findings only."

claude -p startuje w trybie uprawnień Manual, nawet tam, gdzie sesje interaktywne startują w trybie auto, więc wymień narzędzia, których przebieg może użyć. W sesji /code-review przegląda lokalny diff.

Claude Code wydaje nową wersję mniej więcej codziennie w kanale latest. Nikt nie powinien czytać trzech changelogów, żeby sprawdzić, czy flaga się przesunęła. Robią to za ciebie dwie kontrole.

  1. Zatrzymaj CI, gdy zniknie flaga. Zacommituj ten skrypt i uruchamiaj go w jobie, który instaluje CLI agentów, przed każdym jobem, który je wywołuje. Skrypt szuka w wyjściu --help każdej flagi, której używa twoja automatyzacja.

    #!/usr/bin/env bash
    # scripts/check-agent-flags.sh — fails when an installed CLI drops a flag we depend on.
    set -uo pipefail
    status=0
    need() { # need "<command words>" "<flag>"
    if ! $1 --help 2>&1 | grep -qE -- "^\s+(-[a-zA-Z], )?$2\b"; then
    echo "missing: $1 $2" >&2
    status=1
    fi
    }
    need "claude" "--permission-mode"
    need "claude" "--worktree"
    need "claude" "--output-format"
    need "codex" "--worktree"
    need "codex exec" "--json"
    need "codex exec" "--output-schema"
    need "codex review" "--base"
    exit $status

    Dopisz linię need, gdy tylko skrypt albo workflow zacznie używać nowej flagi. Czerwony przebieg nazywa brakującą flagę, i to jest cała diagnoza.

  2. Uruchamiaj tę samą bramkę niezależnie od narzędzia, które wyprodukowało zmianę. Komendę kontroli w CI i agenta review nie obchodzi, który harness napisał diff. Jeśli zmiana z Cursora przechodzi bramkę, a zmiana z Codexa jej nie przechodzi, bramka jest w porządku, a plik instrukcji jednego z narzędzi się rozjechał; audyt przenośności poniżej znajdzie, gdzie.

Mapą dla zespołu opiekuje się tech lead: skryptem flag, wspólnym plikiem instrukcji i datą tej tabeli, gdy kopiujesz ją do własnej dokumentacji.

Co się psuje przy mapowaniu cyklu na kilka narzędzi?

Dział zatytułowany „Co się psuje przy mapowaniu cyklu na kilka narzędzi?”

Skopiowana flaga nie działa albo znaczy coś innego. Typowe przypadki na 26.09.2026: --full-auto nie występuje w codex --help ani codex exec --help 0.157.1; codex -a przyjmuje tylko on-request i never; codex exec -a never kończy się błędem „unexpected argument”, bo codex exec nie ma -a i i tak działa z approval: never. Wyjście: uruchom prompt audytu flag, popraw wywołanie i dopisz flagę do scripts/check-agent-flags.sh, żeby następne usunięcie zatrzymało CI, a nie produkcję.

Claude Code ignoruje AGENTS.md na jednej maszynie. Ta maszyna jest w kanale stable, ma wersję starszą niż v2.1.277 albo wyłączony przełącznik w „Project instructions” w /config. Wyjście: dodaj jednolinijkowy CLAUDE.md z @AGENTS.md, który działa w każdym kanale.

Jedno narzędzie nie ma odpowiednika kontroli. Run modes Cursora, polityka akceptacji Codexa i tryby uprawnień Claude Code nie pokrywają się jeden do jednego. Wyjście: przenieś kontrolę z narzędzia do Git, CI, systemu tożsamości albo platformy wdrożeniowej, gdzie podlega jej każde narzędzie. Nigdy nie przemianowuj instrukcji w prompcie tak, żeby udawała egzekwowanie.

Zapis specyficzny dla narzędzia staje się jedynym źródłem prawdy. Plan zaakceptowany w oknie czatu, zadanie w chmurze Codexa albo przebieg Cursor Cloud Agent zostawiają repozytorium bez decyzji. Wyjście: zacommituj zaakceptowany wynik jako plan.md albo podlinkuj zewnętrzny zapis i SHA commita w pull requeście; łańcuch artefaktów wskazuje jedno źródło prawdy dla każdego artefaktu.

Hooki działają w jednym narzędziu, a w drugim po cichu nie. Codex pomija hook, dopóki jego zaufanie nie jest zapisane, a hook Claude Code w .claude/settings.json nic nie znaczy dla Cursora. Wyjście: trzymaj kontrolę także w CI, żeby hook był szybkim wczesnym ostrzeżeniem, a nigdy jedyną bramką. Nie dodawaj --dangerously-bypass-hook-trust, żeby uciszyć ostrzeżenie; ta flaga jest dla automatyzacji, która już weryfikuje źródła hooków.

Worktree jest izolowany, ale skutki uboczne nie. Dwóch agentów w dwóch worktree nadal dzieli lokalną bazę, porty i wszelkie poświadczenia chmurowe w środowisku. Wyjście: daj każdemu worktree własne porty i dane, jak opisuje strona o Git worktree dla równoległych agentów, i trzymaj poświadczenia produkcyjne poza każdą sesją agenta.