Zrozumienie dużych codebase'ów przez CLI
To Twój pierwszy tydzień w nowym zespole. Repozytorium ma 400,000 linii kodu, siedem lat historii git i oryginalny architekt odszedł dwa lata temu. README nie było aktualizowane od 2023 roku. Musisz dostarczyć feature do piątku, ale nawet nie wiesz, gdzie znajduje się logika uwierzytelniania.
To dokładnie problem, do którego Claude Code został zbudowany. Zamiast spędzać trzy dni na czytaniu plików źródłowych i ręcznym śledzeniu łańcuchów wywołań, możesz systematycznie eksplorować codebase z terminala — używając sub-agentów do równoległego badania wielu obszarów bez spalania okna kontekstu Twojej głównej sesji.
Co z tego wyniesiesz
Dział zatytułowany „Co z tego wyniesiesz”- Systematyczny workflow eksploracji, który działa na dowolnej wielkości codebase
- Prompty, które wyodrębniają architekturę, przepływ danych i konwencje w minuty
- Wzorce sub-agentów, które utrzymują Twój główny kontekst czysty podczas głębokiego badania
- Techniki budowania mentalnego modelu kodu, którego nigdy wcześniej nie widziałeś
Workflow eksploracji
Dział zatytułowany „Workflow eksploracji”Efektywna analiza codebase podąża za wzorcem top-down: zacznij od szerokiej architektury, zidentyfikuj podsystemy, potem wgłębiaj się w konkretny obszar, który musisz zmodyfikować.
-
Zacznij od przeglądu wysokiego poziomu
Otwórz Claude Code w katalogu głównym projektu i zapytaj o ogólny obraz. Claude czyta kluczowe pliki jak package.json, strukturę katalogów, pliki konfiguracyjne i punkty wejścia, aby zbudować podsumowanie architektury.
Give me a high-level overview of this codebase. What does it do,what's the tech stack, and how is the code organized? Focus onthe main entry points and the directory structure.Claude czyta dziesiątki plików, aby na to odpowiedzieć, ale odpowiedź jest zwięzłym podsumowaniem. To jest Twoja mapa do głębszej eksploracji.
-
Zidentyfikuj kluczowe podsystemy
What are the main modules or subsystems in this project? For each one,tell me: what it does, where the code lives, and what other modulesit depends on. Keep it brief -- one paragraph per module. -
Wgłębiaj się w obszar, który musisz zmodyfikować
Teraz, gdy znasz krajobraz, skup się na konkretnym podsystemie istotnym dla Twojego zadania.
-
Zmapuj przepływ danych
Zrozumienie jak dane poruszają się przez system jest często cenniejsze niż zrozumienie pojedynczego pliku.
Trace how a "create order" request flows through the system.Start from the API endpoint, follow it through validation,business logic, database writes, and any events/notificationsthat get triggered. Show the data shape at each step.
Używanie sub-agentów do głębokiej investigacji
Dział zatytułowany „Używanie sub-agentów do głębokiej investigacji”Oto krytyczna technika, która oddziela efektywną eksplorację codebase od eksploracji spalającej kontekst: sub-agenci.
Gdy Claude czyta pliki, aby odpowiedzieć na Twoje pytania, każdy plik trafia do Twojego okna kontekstu. W dużym codebase pojedyncza głęboka investigacja może skonsumować połowę Twojego kontekstu. Sub-agenci rozwiązują to, działając we własnych oknach kontekstu i raportując zwrotnie podsumowania.
Use sub-agents to investigate these three areas in parallel:
1. How does the payment processing work? Trace from checkout to payment confirmation, including error handling and retries.
2. What's the caching strategy? Find all caching layers (Redis, in-memory, CDN) and document what's cached, TTLs, and invalidation patterns.
3. How are background jobs handled? Find the job queue system, list all job types, and document retry/failure handling.
For each investigation, report back: key files involved,the main flow, and any potential issues you notice.Każdy sub-agent eksploruje niezależnie, czyta tyle plików ile potrzeba i zwraca skoncentrowane podsumowanie. Twój główny kontekst pozostaje czysty.
Odczytywanie konwencji z kodu
Dział zatytułowany „Odczytywanie konwencji z kodu”Każdy codebase ma niepisane zasady. Claude może je zidentyfikować, analizując wzorce w plikach.
Ten prompt jest szczególnie użyteczny, gdy zamierzasz napisać nowy kod i chcesz dopasować istniejący styl bez bycia informowanym przez członka zespołu.
Historia Git jako źródło dokumentacji
Dział zatytułowany „Historia Git jako źródło dokumentacji”Log git często mówi więcej o ewolucji codebase niż jakakolwiek dokumentacja.
Look through the git history of src/auth/ and summarize howthe authentication system evolved. Focus on:- Major refactors (what changed and why, based on commit messages)- Recent changes in the last month- Files that change frequently (likely hot spots)- Contributors who know this code bestDo zrozumienia dlaczego konkretny fragment mylącego kodu istnieje:
Show me the git blame for src/middleware/rateLimit.ts and explainwhy it's implemented this way. Look at the original commit and anyPRs that modified it. There's a comment saying "DO NOT CHANGE"on line 47 -- find out why.Tryb Plan do bezpiecznej eksploracji
Dział zatytułowany „Tryb Plan do bezpiecznej eksploracji”Gdy chcesz eksplorować codebase bez ryzyka przypadkowej modyfikacji plików, użyj Plan Mode. Claude może czytać pliki i uruchamiać komendy tylko do odczytu, ale nie może niczego edytować.
claude --permission-mode planTo jest szczególnie użyteczne podczas pierwszego dnia w nowym projekcie. Możesz zadać dowolne pytanie, prześledzić dowolny przepływ i przeczytać dowolny plik — wszystko z gwarancją, że Claude nie zmieni ani jednej linii kodu.
I'm in Plan Mode. Walk me through the request lifecycle forthis Express application. Start from the server entry point,follow a request through all middleware, and explain what eachmiddleware layer does. I want to understand the system beforemaking any changes.Budowanie bazy wiedzy
Dział zatytułowany „Budowanie bazy wiedzy”Po przebadaniu codebase, przechwyć to, czego się nauczyłeś, abyś nie musiał ponownie eksplorować w przyszłych sesjach.
-
Wygeneruj dokument architektury
Based on everything you've learned about this codebase, createan ARCHITECTURE.md file that covers:- System overview and tech stack- Directory structure with explanations- Key data flows (request lifecycle, background job processing)- External dependencies and integrations- Development workflow (how to run, test, deploy) -
Zaktualizuj CLAUDE.md ze swoimi odkryciami
Update CLAUDE.md with the conventions and gotchas you discovered.Include the build/test commands, code style rules, and any"traps" where the code does something non-obvious. Keep itunder 50 lines. -
Stwórz słowniczek terminów domenowych
This codebase uses domain-specific terms I keep seeing: "fulfillment","settlement", "reconciliation", "provider". Create a GLOSSARY.mdthat defines each domain term as used in THIS codebase, withreferences to where the concept is implemented.
Tryb headless do raportów codebase
Dział zatytułowany „Tryb headless do raportów codebase”Do automatycznej lub powtarzalnej analizy, użyj trybu headless do generowania raportów bez interaktywnej sesji.
claude -p "Analyze the test coverage in this project. List all \source files that have no corresponding test file. Group by \directory and sort by most recently modified." \--output-format json > coverage-gaps.jsonTo jest użyteczne do raportów onboardingowych, audytów długu technicznego lub okresowych kontroli zdrowia codebase, które działają w CI.
Gdy to się psuje
Dział zatytułowany „Gdy to się psuje”Claude daje płytki przegląd, który omija ważne szczegóły. Zadawaj pytania uzupełniające, które wymuszają głębsze czytanie: “Trace the actual function calls, not just the module names” lub “Show me the specific database query, not just ‘it queries the database’.”
Kontekst wypełnia się podczas eksploracji. Używaj sub-agentów do każdej investigacji, która może dotknąć więcej niż 5-10 plików. Uruchom /compact, jeśli Twoja główna sesja staje się ciężka, lub /clear, jeśli przełączasz się do innego obszaru codebase.
Claude błędnie identyfikuje architekturę. To się zdarza z niekonwencjonalnymi strukturami projektu. Popraw to explicite: “This is not a standard MVC app. The ‘handlers’ directory contains business logic, not HTTP handlers. Re-analyze with that understanding.”
Stara dokumentacja jest sprzeczna z kodem. Powiedz Claude, aby zawsze ufał kodowi nad dokumentacją: “When the README and the actual code disagree, the code is correct. Flag the documentation as outdated.”
Co dalej
Dział zatytułowany „Co dalej”Teraz, gdy możesz nawigować po dowolnym codebase, czas zaplanować feature, który musisz zbudować.