Claude Code’ga xarita bermasangiz, u yo‘lni o‘zi topishga harakat qiladi
Tasavvur qiling, siz Toshkentdan Xorazmga ketmoqchisiz. Qo‘lingizda xarita bor. Yo‘lni bilasiz: qayerga yurish kerak, qayerda burilish kerak, qayerda radar bor, qayerda yo‘l yomon — hammasi aniq.
Endi ikkinchi holat. Xarita yo‘q. Faqat “Samarqandga borish kerak” degan vazifa bor. Amallab yetib olarsiz. Lekin yo‘lda 3 marta noto‘g‘ri burilasiz, 2 soat vaqt yo‘qotasiz, benzin ketadi, asab ketadi. Oxiri baribir borasiz, lekin oldingi holatga nisbatan 2-3 barobar vaqt va naqd ketadi.
Claude Code bilan ishlashda ham xuddi shunaqa. Shunchaki: “Mana loyiham, shu joyini to‘g‘irlab ber” desangiz, u yo‘lni o‘zi topishga harakat qiladi. Lekin u sizning loyihangizni bilmaydi: qaysi papka nima qiladi, frontend qayerda, backend qayerda, database qayerga ulangan, qaysi faylga tegsa bo‘ladi, qaysi joyga teginmaslik kerak... — bularni bilmasa, u har safar kod yozganda qayta analiz qilib xarita tuzib olishga vaqt va token sarflaydi.
Claude va boshqa kod yozuvchi AI’larda ana shu xarita vazifasini bajaruvchi fayl bo‘ladi. Har safar kod yozishdan oldin borib ana shu xaritani o‘qib, keyin kod yozadi. Keraksiz fayllarni kovlamaydi, bitta bug’ni to‘g‘rilayman deb yonidagi 5 ta joyni buzib qo‘ymaydi.
Xullas, CLAUDE.md bo‘lsa, Claude Code loyiha ichida mehmon emas. Yo‘lni biladigan odamdek ishlaydi.
CLAUDE.md nima o‘zi?
Oddiy qilib aytganda, CLAUDE.md — bu Claude uchun loyiha pasporti. Har bir AI kod yozadigan instrumentning o‘z “passporti” bo‘ladi. Masalan, OpenAI Codex’da shunga o‘xshash rolni AGENTS.md bajaradi.
Siz bir marta loyiha haqida hamma muhim narsani yozib qo‘yasiz. Keyingi safar Claude Code ochilganda, u loyihani noldan o‘rganmaydi. Oldindan kontekst bilan kiradi.
Bu kichkina narsa ko‘rinadi. Lekin amalda kamida 2-3 barobar token va kod yozish vaqtini tejab beradi.
CLAUDE.md nima beradi?
Eng katta foydasi — loyiha xotirasi. Claude Code har yangi sessiyada toza kontekst bilan boshlaydi. Shuning uchun unga har safar loyiha qanday ishlashini boshidan tushuntirishga to‘g‘ri keladi. CLAUDE.md mana shu muammoni kamaytiradi.
Ya’ni bu fayl Claude’ga shuni aytadi: “Mana shu loyiha shunaqa qurilgan. Shu qoidalarga amal qil.”
Bu esa 3 ta narsani beradi:
• kamroq tushuntirasiz
• kamroq xato qiladi
• tezroq kod yozadi
Bizda ham shunaqa bo‘ldi. Oldin AI bilan ishlaganda har safar loyiha strukturasini tushuntirish kerak edi. Endi esa CLAUDE.md bor. Claude Code kiradi, o‘qiydi, kontekstni oladi, keyin ishlaydi.
Ya’ni xodim har kuni kelib “korxona nima qiladi o‘zi?” deb so‘rasa, unga har kuni boshidan tushuntirib o‘tirmaysiz-ku. AI’ga ham shunday qilish kerak.
CLAUDE.md ichida nima bo‘lishi kerak?
Menimcha, minimum 6 ta narsa bo‘lishi kerak.
1. Loyiha nima?
Birinchi bo‘limda loyiha haqida qisqa yoziladi. Masalan: “Bu loyiha ichki meeting intelligence platform. Audio/video meetinglarni yuklaydi, transcript qiladi, summary chiqaradi, task va decisionlarni ajratadi.”
Claude birinchi navbatda loyiha maqsadini tushunishi kerak. Chunki maqsadni tushunmasa, kodni ham noto‘g‘ri o‘zgartiradi.
2. Tech stack
Bu yerda ishlatilgan texnologiyalar yoziladi. Masalan: React, TypeScript, Express, PostgreSQL, Tailwind, Telegram bot, Chrome extension, OpenAI, Claude yoki local AI processing.
Bu nimaga kerak? Claude noto‘g‘ri library taklif qilmasligi uchun.
Aytaylik, sizda allaqachon React Query bor. Claude esa bilmay axios + useEffect bilan alohida yechim yozib ketishi mumkin. Yoki sizda Drizzle bor, u esa Prisma qo‘shib yuboradi. Mana shu yerda loyiha buziladi.
3. Folder structure
Bu eng muhim bo‘limlardan biri. Claude papkalar nimaga javob berishini bilishi kerak.
Masalan:
/client — frontend React app
/server — Express backend
/shared — umumiy type va schema’lar
/migrations — database migration fayllari
/docs — project documentation
/extension — Chrome extension
/bot — Telegram bot logic
Shunda Claude kerakli joyga tegadi. Keraksiz joyni kovlamaydi.
4. Code conventions
Har bir loyihada yozilmagan qoidalar bo‘ladi. Masalan, component nomlari PascalCase bo‘lishi, hook nomlari useSomething formatida yurishi, API route’lar /api/... orqali ishlashi, shared type’lar alohida papkada turishi, database schema o‘zgarsa migration ham yozilishi kerakligi.
Bularni yozmasangiz, Claude o‘zicha “chiroyli” qilib yozadi. Lekin “chiroyli” degani sizning loyihangizga mos degani emas.
5. Run commands
Claude loyihani qanday ishga tushirishni bilishi kerak. Masalan:
npm run dev
npm run build
npm run test
npm run lint
npm run db:migrate
Bu oddiy ko‘rinadi. Lekin juda foydali. Chunki Claude Code faqat kod yozmaydi. U fayllarni o‘qiydi, o‘zgartiradi, ba’zida test ham yurgizadi. Demak test yuritishi uchun buyruqlarni ham bilishi kerak.
6. Fayllarni o‘zgartirishda ehtiyot bo‘ladigan joylar
Mana shu bo‘limni ko‘pchilik yozmaydi. Lekin eng muhim joyi shu.
Masalan:
• auth logic’ga tegishdan oldin tekshir
• database schema o‘zgarsa migration yoz
• existing API response formatni buzma
• mobile responsive designni saqla
• shared type o‘zgarsa frontend/backend ikkalasini tekshir
• production env variable nomlarini o‘zgartirma
Bu xuddi yangi xodimga: “Mana bu joyga tegma. Bu yerda bir marta kuyganmiz” deyishga o‘xshaydi. AI ham buni bilsin.
Men ishlatadigan prompt
Mana shu promptni Claude Code’ga bering. U loyihani ko‘rib chiqib, root papkada CLAUDE.md yaratadi.
Look at my entire project — the folder structure, the technologies used, the key files, and how things are connected. Then create a CLAUDE.md file in the root of my project that includes:
1. A short summary of what this project is
2. The tech stack (languages, frameworks, database, etc.)
3. The folder structure and what each important folder does
4. Any patterns or conventions you notice in the code (naming, file organization, etc.)
5. How to run the project (dev server, build, tests)
6. Any important things to keep in mind when making changes
Write it in plain, concise language. This file will be your reference in future conversations so you don’t have to re-learn the project each time.
Tayyor CLAUDE.md’ni qanday ishlataman?
Loyiha root’ida CLAUDE.md turadi. Claude Code ochilganda shu faylni o‘qiydi. Keyin kod yozishda shu fayldagi qoidalarga qarab yuradi.
Agar loyiha o‘zgarsa, CLAUDE.md ham yangilanadi. Masalan, yangi backend module qo‘shilsa, database o‘zgarsa, yangi integration qo‘shilsa, test command o‘zgarsa yoki UI convention almashsa — shularni faylga qo‘shib borasiz.
Ya’ni bu o‘lik dokument emas. Bu tirik instruktsiya. Claude uchun loyiha DNK’si.
Katta foydasi qayerda bilinadi?
Kichkina loyihada buni uncha sezmasligingiz mumkin. Lekin loyiha kattalashsa, fayllar ko‘paysa, frontend/backend aralashsa, database, bot, extension, AI processing qo‘shilsa — ana shunda CLAUDE.md sizni qutqaradi.
Chunki AI ko‘p narsani biladi. Lekin sizning loyihangiz ichidagi kelishuvlarni bilmaydi. Mana shu kelishuvlarni yozib qo‘yish kerak.
Boshqacha aytganda, AI kuchli. Lekin kontekstsiz kuchli xodim ham zarar olib kelishi mumkin.
CLAUDE.md’ni ham yangilab borish kerak
CLAUDE.md bir marta yozib qo‘yiladigan, keyin unutiladigan fayl emas. Loyiha o‘zgarsa, u ham o‘zgarishi kerak. Bo‘lmasa 2 oydan keyin Claude eski xarita bilan yangi shaharda yuradi.
Aytaylik, loyihaga yangi moliya bo‘limi qo‘shildi. Yangi /billing papkasi paydo bo‘ldi. Mana shunaqa o‘zgarishlar CLAUDE.md ichida yozilishi kerak.
Lekin har bir mayda o‘zgarishni ham yozaverish kerak emas. Tugma rangi o‘zgardi, margin to‘g‘rilandi, kichik bug fix qilindi — bular CLAUDE.mdga kirmaydi.
Men xaritani yangilab turish uchun mana shu promptni ishlataman:
Review the changes we just made. Only update CLAUDE.md if something structurally meaningful changed — like a new feature area, a new dependency, a changed convention, or a new folder. Do not update it for minor fixes, small tweaks, styling changes, or anything that wouldn’t matter to someone understanding the project for the first time.
This way Claude will use its judgment and skip unnecessary updates — keeping your CLAUDE.md clean and focused on what actually matters.
Buni 2 xil ishlatsangiz bo‘ladi.
Birinchisi — qo‘lda. Har safar kattaroq o‘zgarishdan keyin Claude Code’ga shu promptni berasiz. U oxirgi o‘zgarishlarni ko‘rib chiqadi va haqiqatan kerak bo‘lsa CLAUDE.mdni yangilaydi.
Ikkinchisi — avtomatik. Shu promptni CLAUDE.mdning o‘ziga qo‘shib qo‘yasiz. Shunda Claude har safar ish tugagandan keyin o‘zi o‘ylaydi: “Bu o‘zgarish loyiha strukturasini tushunishga ta’sir qiladimi yoki yo‘qmi?” Agar ta’sir qilsa, CLAUDE.mdni yangilaydi. Ta’sir qilmasa, tegmaydi.
CLAUDE.md faylni yana nimalarga ishlatsa bo‘ladi?
Man mana shu narsalar har kod yozganda avtomat ishlashi uchun fayl ichiga qo‘shib qo‘yaman:
• parallel agentlar
• CLAUDE.md faylni yangilab turish
• Karpathy metodi
Bular haqida yana hali batafsil maqola chiqadi.
Xulosa
Har bir loyihada CLAUDE.md hech bo‘lmaganda tepada ko‘rgan tartibingizda bo‘lishi shart.
Sabab, Claude Code’ga “mana loyiha, o‘zing tushunib ol” deyish — yangi xodimni omborga tashlab, “ishla” degandek gap. Ishlaydi. Lekin keyin o‘zingiz yig‘ishtirasiz )
CLAUDE.md esa unga yo‘l xaritasi beradi. Qayerga qarash kerak, qayerga tegmaslik kerak, qanday yozish kerak, qanday tekshirish kerak — hammasi oldindan tayyor.
Xullas, AI bilan kod yozayotgan bo‘lsangiz, birinchi qiladigan ishingiz shu bo‘lsin. AI’ga loyiha xaritasini bering. Keyin undan ish kuting.