Kierujesz Claude Code na trzyletnie repozytorium Next.js i prosisz o dodanie funkcji. AI wymyśla bibliotekę do zarządzania stanem, którą usunąłeś w zeszłym kwartale, umieszcza trasę API w niewłaściwym katalogu i pisze testy we frameworku, którego nie używasz. Kod nie jest zły — po prostu nie ma pojęcia, jak działa Twój projekt. Rozwiązaniem nie jest lepszy prompt; to danie agentowi kontekstu, który nowy pracownik dostałby pierwszego dnia.
Ten playbook przekształca istniejący projekt w taki, w którym Cursor, Claude Code i Codex mogą produktywnie pracować, korzystając z jednego źródła prawdy, które wszystkie trzy czytają.
Błędem, który popełniają zespoły, jest ręczne pisanie trzech osobnych plików kontekstu. Zamiast tego zapisz konwencje raz i pozwól, by plik wejściowy każdego narzędzia wskazywał na tę samą treść. Wszystkie trzy narzędzia czytają plik Markdown na poziomie katalogu głównego:
Narzędzie
Czyta
Uwagi
Claude Code
CLAUDE.md
Katalog główny projektu; pliki CLAUDE.md w podkatalogach nadpisują dla tej ścieżki
Codex
AGENTS.md
Ten sam pomysł, otwarty standard AGENTS.md
Cursor
.cursor/rules/*.mdc
Pliki reguł z zakresem i frontmatterem; czyta też AGENTS.md
Zacznij od generowania kontekstu, nie od jego pisania
Nie otwieraj pustego CLAUDE.md. Pozwól agentowi przeczytać repozytorium i sporządzić jego szkic — będziesz edytować znacznie mniej, niż byś napisał. To jest identyczne we wszystkich trzech narzędziach; uruchom prompt w tym, które masz akurat otwarte.
Skonfrontuj szkic z rzeczywistością, usuń linie TODO: confirm, na które potrafisz odpowiedzieć, i zatwierdź go. Ugruntowany plik na 120 linii bije szablon na 400 linii pełen [YOUR_FRAMEWORK].
Oto kształt dobrego wyniku dla prawdziwej aplikacji Next.js — konkretny, a nie formularz do wypełnienia:
# Acme Storefront
Next.js 16 e-commerce app. App Router, RSC by default.
Cursor czyta .cursor/rules/*.mdc. Używaj .mdc (Markdown z frontmatterem), abyś mógł ograniczać reguły do ścieżek i kontrolować, kiedy się stosują — .md też działa, ale nie daje żadnego ograniczania zakresu.
.cursor/rules/
general.mdc # alwaysApply: true — core standards
api.mdc # globs: app/api/** — backend rules
components.mdc # globs: components/** — UI rules
Reguła z zakresem i prawdziwym frontmatterem:
---
description: API route conventions
globs: app/api/**
alwaysApply: false
---
- Validate request bodies with Zod schemas from `lib/schemas/`
- Wrap handlers in `withErrorHandler` from `lib/api/errors.ts`
- Return `NextResponse.json` with explicit status codes
- Never expose Prisma errors to the client
Odwołuj się do plików, zamiast je wklejać (@lib/api/errors.ts), by reguły nie traciły aktualności, gdy kod się zmienia.
Claude Code czyta CLAUDE.md z katalogu głównego i scala wszelkie pliki CLAUDE.md z podkatalogów dla pracy w tej ścieżce. Załóż go komendą /init wewnątrz REPL, która skanuje repozytorium i sporządza dla Ciebie szkic pliku:
> /init
Następnie dopracuj go promptem generującym z powyżej. W przypadku monorepo dodaj skupiony CLAUDE.md w każdym pakiecie — na przykład packages/api/CLAUDE.md opisujący tylko tę usługę — i utrzymuj plik główny na wysokim poziomie ogólności. Claude Code automatycznie wybiera najbliższy plik dla kodu, który edytuje.
Codex czyta AGENTS.md. Jeśli napisałeś już CLAUDE.md, nie powielaj go — wskaż na niego Codex:
AGENTS.md
See CLAUDE.md for project conventions, stack, and commands.
## Codex-specific
- Run `npm run lint && npm test` before declaring a task done
- For parallel Cloud tasks, scope each task to one package
Podobnie jak Claude Code, Codex obsługuje zagnieżdżone pliki AGENTS.md, więc plik na poziomie pakietu nadpisuje główny dla pracy w tym katalogu.
W przypadku starszego projektu z ubogą dokumentacją poprowadź konwersję dwoma promptami: jednym do zmapowania tego, co istnieje, drugim do zaplanowania pracy.
Zmapuj bazę kodu. Pozwól agentowi zbudować obraz, który inaczej rekonstruowałbyś ręcznie.
Zamień audyt w etapowy plan. Przekuj ustalenia w pracę, którą faktycznie da się zaplanować.
Wykonuj przyrostowo. Pracuj moduł po module, zachowując kompatybilność wsteczną. Najpierw wprowadź pliki kontekstu (Faza 1), aby każde kolejne zadanie z nich korzystało, potem testy charakteryzujące, a na końcu refaktoryzacje. Rozprosz niezależne zadania Fazy 3 na zadania Codex Cloud lub subagentów Claude Code i recenzuj diffy w miarę, jak napływają.
CLAUDE.md sprzed pół roku jest gorszy niż żaden — aktywnie wprowadza agenta w błąd. Zautomatyzuj odświeżanie w CI za pomocą prawdziwego CLI agenta, a nie fikcyjnego narzędzia npx. Claude Code działa headless z -p; Codex działa nieinteraktywnie z codex exec.
.github/workflows/refresh-context.yml
name: Refresh project context
on:
schedule:
- cron: '0 6 * * 1'# Monday mornings
workflow_dispatch:
jobs:
update-claude-md:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Update CLAUDE.md from the current codebase