CLAUDE.md Cele mai bune practici: Configurează codul Claude pentru orice proiect
CLAUDE.md este singura configuraţie cea mai influentă pentru Codul Claude. Unul bine scris transformă asistența generică AI în expertiză specifică proiectului.
CLAUDE.md este un fișier Markdown la rădăcina proiectului. Codul Claude îl citeşte la începutul fiecărei sesiuni înainte să tastezi ceva. O claudă bună. MD transformă AI generic într-un instrument care înțelege convențiile proiectului, stiva tech, și liniile roșii.
Ce ar trebui să includeți în CLAUDE.md?
Concentrează-te pe informaţiile de care ar avea nevoie un dezvoltator inteligent să se alăture echipei tale în prima zi. Păstrați-l practic: tech stiva, comenzi, convenții, și lucruri pentru a evita.
Șablon minim CLAUDE.md
# Project Context
Next.js 14 app with TypeScript, Tailwind CSS, and Prisma.
Database: PostgreSQL. Auth: NextAuth.js.
## Commands
- `npm run dev` — start dev server (port 3000)
- `npm run test` — run Jest tests
- `npm run lint` — run ESLint
- `npm run db:migrate` — run Prisma migrations
## Architecture
- Server components by default, client components in /components/client/
- API routes in /app/api/ with Zod validation
- Database queries in /lib/db/ (never in components)
## Conventions
- TypeScript strict mode, never use `any`
- Tailwind for styling, no CSS modules
- Conventional commits: feat:, fix:, chore:
## Do NOT
- Modify files in /legacy/ or /vendor/
- Change auth configuration without explicit approval
- Add new dependencies without asking firstCare sunt cele mai comune CLAUDE. Greşeli?
| Greșeală | De ce doare | Fixează |
|---|---|---|
| Prea mult timp (500 + linii) | Fereastra contextului deșeurilor la fiecare sesiune | Păstrați sub 200 de linii, link la documente pentru detalii |
| Prea vag ("scrie codul curat") | Nu oferă îndrumare acţională | Fii specific: "Utilizați componentele serverului în mod implicit" |
| Comenzi lipsă | Claude ghicește cum să ruleze/test/build | Enumeră fiecare script npm relevant |
| Fără restricții | Claude poate modifica fișiere sensibile | Adaugă o secțiune clară "NU" |
| Duplicatul README | README este pentru oameni, CLAUDE.md este pentru AI | Concentrarea pe convenții și norme, nu descrierea proiectului |
Cum structurați CLAUDE.md pentru proiecte mari?
Pentru baze mari de coduri, utilizați sintaxa @import pentru a împărți configurația între directoare. Codul Claude urmează importurile și construiește o imagine completă.
# Root CLAUDE.md
## Global conventions
- TypeScript strict, no `any`
- All API routes validate input with Zod
@import packages/api/CLAUDE.md
@import packages/web/CLAUDE.md
@import packages/shared/CLAUDE.mdFiecare sub-CLAUDE.md conține norme specifice pachetului respectiv. Acest lucru ține fișierul rădăcină scurt în timp ce da Claude Code context profund despre fiecare zonă a bazei de cod.
Cum generezi CLAUDE.md automat?
Codul Claude poate genera un CLAUDE de pornire. MD prin analizarea proiectului dumneavoastră:
# Auto-generate CLAUDE.md
claude /init
# This creates a CLAUDE.md based on:
# - package.json scripts
# - Project structure
# - Existing config files
# - Git history patternsDar ierarhia memoriei CLAUDE.md?
Codul Claude citește fișiere CLAUDE.md din mai multe locații, în ordinea priorității:
- +Rădăcina proiectului CLAUDE.md (toată lumea din echipă împarte acest lucru)
- +Subdosar CLAUDE.md fișiere (prin @import)
- +~/.claude/CLAUDE.md (preferinţele dumneavoastră personale globale)
- +Memorie automată (MEMORY.md, gestionată de /comanda memoriei)
Setări la nivel de proiect suprascrie cele personale. Asta înseamnă că convenţiile echipei câştigă întotdeauna preferinţele individuale.