7-dars. .cursorrules va loyiha konteksti — AI ni loyihangizga moslash
.cursorrules — bu loyiha ildizida yaratiladigan maxfiy qurol. Siz AI ga qoidalar berasiz: qaysi tilni ishlatsin, qanday stil saqlasinn, qanday kutubxonalarni tanlasinn. Natijada AI har safar izchil va loyihangizga mos kod yaratadi.
Mavzu izohi
.cursorrules (yoki .cursor/rules papkasi) — bu loyihangiz ildizida yaratiladigan fayl bo'lib, AI ga doimiy ko'rsatmalar beradi. Har safar siz Chat yoki Agent ishlatganingizda, Cursor avval bu faylni o'qiydi va qoidalarga amal qiladi.
Misol: agar siz '.cursorrules' ga 'Har doim TypeScript ishlatsin, tailwind CSS qo'llasin, funksiya nomlari camelCase da bo'lsin' deb yozsangiz — AI hech qachon JavaScript yaratmaydi, hech qachon oddiy CSS yozmaydi va nomlarni doim to'g'ri format da beradi.
Bu vibe coding uchun juda muhim chunki: siz har safar promptda 'TypeScript ishlatsin' deb yozishingiz shart emas. Bir marta rules ga yozsangiz — AI doim amal qiladi. Bu vaqt tejaydi va natija izchilligini ta'minlaydi.
Kontekst boshqaruvi kengroq tushuncha: .cursorrules dan tashqari, Cursor loyihangizning package.json, tsconfig, README va boshqa konfiguratsiya fayllarini ham o'qiydi. Siz @ mentions bilan qo'shimcha kontekst berasiz. Bularning barchasi AI javob sifatini oshiradi.
Bu darsdan nima olasiz
- .cursorrules faylini yaratish va to'g'ri joylashtirish
- Loyiha uchun samarali qoidalar yozish
- AI natijalarini izchil (consistent) qilish
- Loyiha kontekstini to'g'ri boshqarish (@mentions, .cursorignore)
- .cursor/rules papkasi bilan murakkab qoidalar tizimi qurish
Chuqurroq tushuntirish
.cursorrules fayli strukturasi: Fayl oddiy matn (markdown yoki plain text). AI uni to'liq o'qiydi va system prompt sifatida ishlatadi. Eng yaxshi format: avval rol (kim sifatida ish), keyin qoidalar ro'yxati (nima qilsin/qilmasinn), oxirida loyiha haqida kontekst (qanday texnologiyalar, qanday tuzilma).
.cursor/rules papkasi: Katta loyihalar uchun bitta .cursorrules yetmasligi mumkin. .cursor/rules/ papkasida alohida fayllar yaratishingiz mumkin: frontend.md, backend.md, testing.md, styling.md. Cursor barchasini o'qiydi. Bu jamoaviy loyihalarda har bir soha uchun alohida qoidalar berish imkonini beradi.
.cursorignore fayli: .gitignore ga o'xshash — bu faylda ko'rsatilgan papka va fayllarni Cursor indekslamaydi. node_modules, .next, dist, build kabi papkalarni qo'shish kerak. Bu AI javob tezligini oshiradi va keraksiz kontentdan tozalaydi.
Real loyihada .cursorrules namunasi: Professional loyihalarda qoidalarga error handling strategiyasi, naming convention, favqulodda holatlarda nima qilish (masalan: 'agar bilmasang — so'ra, taxmin qilma'), test yozish talabi va commit message formati ham qo'shiladi. Bu AI ni deyarli jamoa a'zosi darajasiga olib chiqadi.
Tayyor prompt shabloni
Ko'chirib moslashtiring# .cursorrules fayli namunasi Sen tajribali TypeScript/Next.js dasturchisan. Qoidalar: - Har doim TypeScript ishlatsin (JavaScript emas) - React Server Components default, 'use client' faqat kerak bo'lganda - Stil uchun CSS Modules (Tailwind emas) - Funksiya nomlari camelCase, komponent nomlari PascalCase - Har bir funksiyaga JSDoc izoh qo'sh - Error handling har doim bo'lsin (try/catch) - O'zbek tilida izohlar yoz
Nega ishlaydi
Rol: 'tajribali TypeScript/Next.js dasturchi' — AI shu perspektivada ishlaydi
Til: 'TypeScript, JavaScript emas' — aniq cheklov
Arxitektura: 'Server Components default' — loyiha pattern i belgilangan
Stil: 'CSS Modules' — dizayn qarorlari oldindan berilgan
Konvensiya: 'camelCase, PascalCase, JSDoc' — kod standarti
Til: 'O'zbek tilida izohlar' — izoh tili belgilangan
Amaliy mashq
- Loyiha ildizida .cursorrules fayli yarating
- Yuqoridagi shablon asosida o'z loyihangiz uchun qoidalar yozing
- Chat da oddiy komponent so'rang va AI qoidalarga amal qilganini tekshiring
- Qoidalarni o'zgartiring (masalan 'Tailwind ishlatsin') va farqni ko'ring
- .cursor/rules papkasini yarating va ichida alohida fayllar qo'shing (backend.md, frontend.md)
- .cursorignore faylida node_modules va build papkalarini chiqarib tashlang
Ko'p uchraydigan xatolar
- Juda ko'p qoida yozish — 10-20 ta asosiy qoida yetarli, 100+ qoida AI ni chalkashtirib qo'yadi
- Qarama-qarshi qoidalar — 'TypeScript ishlatsin' va 'oddiy JavaScript yozsin' birga bo'lmasin
- .cursorrules ni git ignore qilish — uni loyiha bilan birga saqlang, jamoa uchun foydali
- Qoidalarni yangilamaslik — loyiha o'sganda qoidalar ham yangilanishi kerak
Dars bo'yicha savol-javob
.cursorrules faylini qayerga qo'yaman?
Loyiha ildiz papkasiga — package.json bilan bir xil darajada. Cursor avtomatik topadi va o'qiydi.
Qoidalar qaysi tilda bo'lishi kerak?
Istalgan tilda — inglizcha, o'zbekcha, ruscha. AI barchasini tushunadi. Lekin inglizcha qoidalar aniqroq ishlaydi chunki modellar ko'proq ingliz matnida o'qitilgan.
Bir loyihada nechta rules fayli bo'lishi mumkin?
.cursor/rules/ papkasida cheksiz fayl bo'lishi mumkin. Lekin umumiy hajm 10,000 so'zdan oshmasin — aks holda AI muhim qoidalarni e'tiborsiz qoldirishi mumkin.