Skip to main content

CLAUDE.md — Claude Code uchun kontekst fayli

CLAUDE.md arxitekturasi

Claude Code (Anthropic-ning rasmiy CLI-agent vositasi) har bir sessiya boshida loyiha papkasi va ota-katalogdan CLAUDE.md fayllarni qidiradi. Bu fayllar — agentning "doim ko'z oldida turadigan" qo'llanmasi. Ularda yozilgan qoidalar va kontekst har bir suhbatga avtomatik qo'shiladi.

Ushbu qo'llanmada CLAUDE.md ni qanday tuzish kerakligi va qaysi paternlar yaxshi ishlashi haqida.

Qaerdan o'qiladi?

Claude Code uch joydan CLAUDE.md ni o'qiydi (yuqoridan past tartibda):

  1. Global: ~/.claude/CLAUDE.md — barcha loyihalar uchun umumiy.
  2. Loyiha: <repo-root>/CLAUDE.md — joriy loyiha uchun.
  3. Lokal: <repo-root>/.claude/CLAUDE.local.md — lokal mashina uchun, git'ga qo'shilmaydi.

Yuqoridan past — har bir qatlam ustkisini to'ldiradi yoki almashtiradi.

Nima yoziladi?

CLAUDE.md ning maqsadi — har bir suhbat boshida agentga aytib o'tirmaslik. Bir marta yozasiz — har sessiya o'qiladi.

Tipik bo'limlar:

1. Loyiha haqida

Qisqa ta'rif: bu nima, qaysi til/freymvork, qanday foydalanuvchilar uchun.

# My Project

Node.js + TypeScript backend, PostgreSQL DB. B2B SaaS — buxgalterlik
avtomatlashtirilishi. Foydalanuvchilar — kichik biznes.

2. Stack va konventsiyalar

Hozir qo'llanilayotgan kutubxonalar, kod uslubi, fayl strukturasi.

## Stack
- Backend: Fastify + Prisma
- DB: Postgres 16
- Test: vitest + supertest
- Lint: ESLint + Prettier (oxirgi versiyalar)

## Konventsiyalar
- Snake_case fayllar uchun, camelCase JS-da
- Har bir endpoint uchun integration test
- DB migratsiyalari faqat `prisma migrate`

3. Komandalar

Tezkor buyruqlar — agent ularni bevosita ishlatishi mumkin.

## Komandalar
- `pnpm dev` — dev server (port 3000)
- `pnpm test` — testlar
- `pnpm db:migrate` — migratsiya
- `pnpm db:reset` — DB ni qayta yaratish (dev only!)

4. Yashil/qizil zonalar

Agent qaysi harakatlarni avtonom qiladi, qaysilari uchun ruxsat so'raydi.

## Yashil zona (avtonom)
- Kod yozish, refaktoring, testlar
- Lokal docker container restart
- Git commit (push emas)

## Qizil zona (ruxsat so'rash)
- DB ga deploy
- Production migration
- Force push, branch o'chirish
- 50 USD dan ortiq xarajat

5. Qoidalar va ogohlantirishlar

Loyiha-spetsifik xavfsizlik qoidalari.

## Qoidalar
- HECH QACHON `.env` ni commit qilmaslik
- Sezgir ma'lumotlarni log'ga yozmaslik (PII, kartalar)
- `sudo` ishlatish — faqat ruxsat bilan
- Migratsiyalar — back-up bilan

Yaxshi paternlar

Stable yuqorida, dynamic pastda

Doim o'zgaradigan ma'lumotlar (joriy sprint, vaqtinchalik dekoratsiyalar) — eng past qismda. Stable qism (stack, qoidalar) — yuqorida. Bu prompt caching ga yordam beradi.

Bo'limlarga ajratish

Markdown sarlavhalarini ishlating. Agent kontekstda kerak bo'lgan bo'limni topadi. 10 sahifalik bir blok — yomon, 10 sahifalik 8 ta bo'lim — yaxshi.

Konkret misollar

"Yaxshi kod yoz" — yomon. "Har funksiyani 30 qatordan oshmaslik kerak, uzun bo'lsa — bo'lib chiqing. Misol: ..." — yaxshi.

Qo'shimcha hujjatlar @-import bilan

CLAUDE.md ichida @docs/architecture.md yozsangiz — Claude Code shu fayl tarkibini avtomatik kontekstga qo'shadi. Katta hujjatlarni asosiy faylga aralashtirmaslik mumkin.

Yomon paternlar

Anti-patternNima uchun yomon
50K+ token CLAUDE.mdHar sessiyada qimmat, model diqqati tarqaladi
O'zgaruvchan tarix yozishMemory ni boshqa joyga (tasks/, lessons/) chiqaring
Sezgir ma'lumotlarAPI kalitlar, parollar — hech qachon CLAUDE.md ga
Faqat qoidalar, misol yo'qModel "yaxshi kod" ni o'zicha tushinadi
Kichik harfdagi claude.mdKlient faqat aniq nomli faylni qidiradi

Kichik shablon

Yangi loyiha uchun minimal CLAUDE.md:

# Loyiha nomi

Bir-ikki gap: nima qiladi, kim uchun, qaysi tilda yozilgan.

## Stack
- ...

## Komandalar
- `pnpm dev`
- `pnpm test`

## Qoidalar
- Test'siz kod prodakshnga chiqmaydi
- ...

## Yashil / Qizil zona
- ...

## Kontakt
- Maintainer: @username

5-10 daqiqada yoziladi, lekin har sessiyada minglab tokenlik prompt yozishni saqlaydi.

Keyingi qadamlar