Sparround

CLAUDE.md və kontekst mühəndisliyi

CLAUDE.md — hər sessiyanın əvvəlində avtomatik yüklənən təlimat faylıdır. Ora yazdığınız hər şey hər sorğuda kontekstə düşür, yəni token xərcidir. Ona görə oraya nə qoyulduğu qədər, nə qoyulmadığı da vacibdir.

Fayl bir neçə səviyyədə ola bilər və hamısı birləşdirilir (geniş → dar sırası ilə):

  • Təşkilat səviyyəsi — IT tərəfindən idarə olunan siyasət faylı.
  • İstifadəçi səviyyəsi~/.claude/CLAUDE.md, bütün layihələr üçün şəxsi tərcihlər.
  • Layihə səviyyəsi./CLAUDE.md və ya ./.claude/CLAUDE.md, komanda ilə paylaşılır (git-ə düşür).
  • Lokal./CLAUDE.local.md, şəxsi layihə qeydləri, .gitignore-a əlavə edilir.
CLAUDE.md-ə YAZCLAUDE.md-ə YAZMA
Build və test əmrləri (dəqiq, modul səviyyəsində)Qovluq strukturunun siyahısı — agent onu özü görür
Konvensiyalar: adlandırma, paket strukturu, DI qaydasıDependency siyahısı — `libs.versions.toml`-da var
Tələlər: "bu modulda X işləmir, çünki..."Ümumi Kotlin/Android dərsi
Qadağalar: "bu qovluğa toxunma", "bu kitabxananı işlətmə"Çoxaddımlı prosedurlar — onların yeri skill-dir
Arxitektura qərarları və səbəbləriGit tarixçəsindən çıxarıla bilən məlumat

Hədəf: 200 sətirdən az. Uzun fayl həm çox kontekst yeyir, həm də əməletmə keyfiyyətini aşağı salır — model uzun siyahıda konkret qaydanı itirir. Fayl böyüyürsə, hissələri .claude/rules/ altına ayırın: orada paths: frontmatter ilə qayda yalnız uyğun fayllarla işləyəndə yüklənir.

markdown
# CLAUDE.md — MyApp (Android)

## Build
- Module compile: `./gradlew :feature:orders:compileDebugKotlin`
- Unit tests: `./gradlew :feature:orders:testDebugUnitTest`
- A full build takes 6-8 minutes — run the command for the module you changed.

## Architecture
- MVVM + Clean: `data/` → `domain/` → `ui/`. `ui/` never depends on
  `data/` directly.
- DI: Hilt. Every new ViewModel is `@HiltViewModel`.
- UI state: a separate `XxxUiState` data class per screen.

## Conventions
- All user-facing text lives in `strings.xml` — hardcoded strings are rejected.
- New screens are always Compose. Do not add new XML layouts.

## Do not touch
- The `legacy/` folder — it has its own migration plan.
- `libs.versions.toml` — do not change versions without asking.

Real Android CLAUDE.md nümunəsi: qısa, konkret, yoxlanıla bilən qaydalar. Hər sətir bir sual verir ki, agent onu təkrar soruşmasın.

📚 Mənbələr və sənədlər