Advanced Claude Code - Noldan Advanced Darajagacha

Claude Code CLI'ni professional darajada ishlatish bo'yicha amaliy qo'llanma - CLAUDE.md, MCP, hooks, skills, memory va token tejashning real sirlari.
17th April 2026
Assalomu alaykum, do'stlar. Men bu maqolani bir sabab bilan yozyapman - atrofimdagi ko'pchilik dasturchilar Claude Code'ga pul to'layapti, lekin uning 10%idan ham foydalana olmayapti. Ular shunchaki chat deb qarashadi: savol yozadilar, javob oladilar, tamom.
Holbuki Claude Code - bu agent. Sizning terminalingizda yashaydi, fayl ochadi, test ishga tushiradi, git qiladi va kerak bo'lsa - bir soat o'zicha "o'ylab" ishlaydi. Faqat siz uni to'g'ri sozlashingiz kerak.
Bu maqolada men sizga noldan advanced darajagacha yo'lni ko'rsataman. Oxirida esa tayyor .claude/ folder'ni gist orqali yuklab olasiz va loyihangizga joylashtirasiz.
⚠️ Eslatma: men bu yerda to'liq loyiha kodi yozmayman. Bu - metodologiya haqida. Tayyor snippet'lar va gist linklari bo'ladi.
Nima o'rganasiz
- ✅ Context window va token ni boshqarish
- ✅
CLAUDE.md,rules/,hooks/,skills/,memory/o'rtasidagi farq - ✅
.mcp.jsonyozish va kerakli MCP'larni tanlash - ✅
statusLinebilan tokenometer qurish - ✅
/looporqali avtonom ishlash - ✅ Yangilar qiladigan 5 ta katta xatoni takrorlamaslik
- ✅ Noldan loyiha uchun 10 qadamli setup checklist

Yuqoridagi rasm - biz shu maqolada quradigan
.claude/folder anatomiyasi. GenAI.works tayyorlagan ajoyib diagramma.
🟢 BEGINNER - Asoslar
Agar siz Claude Code'ni hali o'rnatmagan bo'lsangiz, bu bo'limdan boshlang.
Chat vs Agent - tub farqi
Brauzerdagi claude.ai - bu chat. Siz matn berasiz, u matn qaytaradi. Tamom. O'zi fayl o'qiy olmaydi.
Claude Code CLI - bu agentic loop:
[Sizning so'rovingiz]
↓
Read / Grep / Bash (o'zi fayllarni o'qiydi)
↓
Think (o'ylaydi)
↓
Edit / Write (o'zi o'zgartiradi)
↓
Observe (natijani ko'radi, kerak bo'lsa qaytadan tuzatadi)
Ya'ni siz - boshqaruvchisiz. Claude - ishchi.
O'rnatish (30 soniya)
npm install -g @anthropic-ai/claude-code
claude
# Brauzer ochiladi, Anthropic hisobi bilan login qiling. Tamom.
Eng kerakli slash komandalar
| Komanda | Nima qiladi |
|---|---|
/help | Yordam ro'yxati |
/init | Loyiha uchun avtomatik CLAUDE.md yaratadi |
/clear | Butun sessiyani nolga tushiradi (fresh context) |
/compact | Kontekstni siqadi, xulosasini qoldiradi |
/resume | Oxirgi sessiyani davom ettiradi |
/model | Modelni tanlash yoki opusplan rejimi |
/fast | Opus'ni tez rejimda ishga tushiradi |
/review | PR code review |
Context window - eng muhim tushuncha
Agar bu maqoladan bir narsani olib qolsangiz, shu bo'lsin.
Context window - Claude'ning "qisqa muddatli xotirasi". U bir vaqtda qancha token'ni "ko'ra" oladi.
| Model | Default | Max (beta) |
|---|---|---|
| Opus 4.7 | 200K | 1M |
| Sonnet 4.6 | 200K | 1M |
| Haiku 4.5 | 200K | - |
Context ichiga nima kiradi?
- System prompt (Claude Code o'zi qo'shadi)
- Sizning
CLAUDE.mdfayllaringiz - MCP server'larning tool schemalari
- Har bir
Read,Grep,Bashnatijasi - Siz va Claude o'rtasidagi butun suhbat
Context to'lsa - model sekinlashadi, qimmatlashadi va halusinatsiya qiladi.
💡 Inglizcha 1 token ≈ 4 harf. O'zbekcha 1 token ≈ 2 harf. Ya'ni o'zbekcha matn 2x ko'p token yeydi.
Prompt cache - 5 daqiqa qoidasi
Anthropic'da bor prompt cache. Bir marta o'qilgan context keyingi so'rovda 10x arzon bo'ladi. Lekin TTL - atigi 5 daqiqa.
- Siz 5 daqiqa ichida xabar yubordingiz → cache tirik, arzon
- 5 daqiqa kutdingiz → cache o'ldi, qaytadan to'liq narx
Amaliy maslahat: uzoq kutadigan bo'lsangiz, /clear qilmang. Qisqa-qisqa xabar yuborib cache'ni tirik tuting.
Birinchi sessiya - mini-checklist
✅ claude → login
✅ /init → CLAUDE.md avtomatik
✅ /model opusplan → aqlli model almashinuvi
✅ Vazifani aniq yozing: fayl yo'li + nima qilish
✅ Tugagach → /clear, yangi vazifa → yangi sessiya
TL;DR: Claude Code - chat emas, agent. Context'ni boshqaring.
🟡 MIDDLE - Loyiha strukturasi
Endi siz Claude'ni ochib-yopib ishlatyapsiz. Keyingi qadam - loyihani Claude bilan gaplashadigan qilib sozlash.
.claude/ folder anatomiyasi
Har bir jiddiy loyihada shunday struktura bo'lishi kerak:
your-project/
├── CLAUDE.md # loyiha haqida umumiy ma'lumot
├── CLAUDE.local.md # shaxsiy, gitignore'da
├── .mcp.json # jamoa MCP sozlamalari
└── .claude/
├── settings.json # hooks, statusLine, permissions
├── settings.local.json # shaxsiy
├── rules/ # "har safar shunday qil" qoidalari
│ ├── code-style.md
│ ├── testing.md
│ └── api-conventions.md
├── commands/ # custom /slash komandalar
│ ├── review.md
│ └── fix-issue.md
├── skills/ # qayta ishlatiladigan bilim
│ └── deploy/
│ └── SKILL.md
├── agents/ # maxsus sub-agent'lar
│ ├── code-reviewer.md
│ └── security-auditor.md
└── hooks/ # shell script hook'lar
└── validate-bash.sh
CLAUDE.md - loyiha tanishuvi
Bu fayl har sessiya boshida Claude'ga yuklanadi. Ya'ni uzun yozsangiz - har safar minglab token sarflaydi.
Mening qoidam: CLAUDE.md 500 qatordan oshmasin.
Misol (Django loyihasi uchun, qisqartirilgan):
# My Blog Platform
## Stack
- Django 5 + DRF + PostgreSQL 16 + Redis 7
- Celery 5, Docker Compose
- Storage: MinIO (S3-compatible)
## Komandalar
- `make up` - konteynerlarni ko'tarish
- `make test` - pytest
- `make migrate` - migration
## Qoidalar
- N+1 query YO'Q - `select_related`/`prefetch_related` ishlating
- Har view uchun minimum 1 ta test
- Settings split: `base.py`, `dev.py`, `prod.py`
- Celery task faqat `tasks.py` faylida
## Atamalar
- **Feed** - home sahifadagi post ro'yxati
- **Wall** - user profilidagi ro'yxat
.claude/rules/ - jarayon qoidalari
CLAUDE.md "loyiha nima haqida" ekanini aytadi. rules/ esa "jarayonlar qanday kechadi" ekanini.
Misol - .claude/rules/testing.md:
# Testing rules
- Har DRF view uchun minimum 1 ta test
- Test nomi: `test_<action>_<expectation>`
- Fixture'lar `conftest.py`da
- `pytest-django` + `factory_boy`
- Mock - faqat tashqi API uchun (OpenAI, S3). DB - real.
.claude/commands/ - custom slash komandalar
O'zingizning /deploy, /review, /migrate komandalaringizni yozishingiz mumkin.
.claude/commands/review.md:
---
description: PR'ni review qilish
---
Joriy branch'dagi o'zgarishlarni tekshir:
1. `git diff main...HEAD` ni o'qi
2. Har faylda: bug, xavfsizlik, SOLID, DRY tekshir
3. Topilgan muammolarni ro'yxat qilib ber
4. Har biriga: fayl:qator, sababi, tavsiya
Endi terminalda /review yozsangiz - shu script ishlaydi.
CLAUDE.md vs memory/ - farq
| CLAUDE.md | memory/ | |
|---|---|---|
| Kim yozadi? | Siz (qo'lda) | Claude (avtomatik) |
| Qachon? | Loyiha boshida | Sessiya davomida |
| Nima? | Statik qoidalar | Dinamik faktlar |
| Qayerda? | Loyiha root | ~/.claude/projects/.../memory/ |
memory/ - Claude "kelgusi sessiyada esda qolishim kerak" degan narsalarini yozadi. Misol: "firdavsDev - senior Django, YouTube stream qiladi".
🎁 Tayyor .claude/ folder (gist)
Yuqoridagi hamma narsani qo'lda yozish - vaqt. Men siz uchun tayyorladim:
- Backend uchun (Django/FastAPI): gist.github.com/firdavsDev/REPLACE_ME_BACKEND
- Frontend uchun (Nuxt/Next.js): gist.github.com/firdavsDev/REPLACE_ME_FRONTEND
Har bir gist ichida zip bor. Yuklab olib, loyihangiz root'iga .claude/ folderni joylashtiring. Keyin CLAUDE.md'ni o'z loyihangizga moslab tahrirlang.
TL;DR: CLAUDE.md - loyiha haqida. rules - jarayon. commands - custom komandalar. memory - avtomatik xotira.
🔴 ADVANCED - Professional sozlashlar
Bu bo'lim - "men Claude'ni kuniga 8 soat ishlataman" deydiganlar uchun.
/model opusplan - aqlli almashinish
Opus - eng aqlli, lekin 5x qimmat. Sonnet - arzon va tez, mexanik ishlar uchun zo'r.
opusplan rejimi ikkalasini avtomatik almashtiradi:
- Plan yaratish → Opus ishlaydi
- Kod yozish, fayl tahrirlash → Sonnet ishlaydi
/model opusplan
Bu - default bo'lishi kerak.
| Model | Input $/1M | Output $/1M |
|---|---|---|
| Opus 4.7 | $15 | $75 |
| Sonnet 4.6 | $3 | $15 |
| Haiku 4.5 | $1 | $5 |
statusLine - tokenometer
Oddiy ekranda siz model nomini, git branch'ni, xarajatni ko'rmaysiz. Buni o'zingiz qo'shasiz.
~/.claude/settings.json:
{
"statusLine": {
"type": "command",
"command": "bash ~/.claude/scripts/statusline.sh"
}
}
statusline.sh:
#!/usr/bin/env bash
INPUT=$(cat)
MODEL=$(echo "$INPUT" | jq -r '.model.display_name // "claude"')
BRANCH=$(git -C "$(echo "$INPUT" | jq -r '.cwd')" branch --show-current 2>/dev/null || echo "-")
TOKENS=$(echo "$INPUT" | jq -r '.session.total_tokens // 0')
COST=$(echo "$INPUT" | jq -r '.session.total_cost_usd // 0')
printf "📦 %s | 🌿 %s | 🪙 %'d | 💸 \$%.3f" "$MODEL" "$BRANCH" "$TOKENS" "$COST"
Endi har sessiyada tokenometer ko'rinib turadi. Ko'rmasdan tejay olmaysiz.
Hooks - avtomatlashtirish
Hook - ma'lum event'da majburan ishlaydigan shell komanda. Claude emas - harness ishga tushiradi.
Event'lar: PreToolUse, PostToolUse, UserPromptSubmit, SessionStart, Stop.
Misol - Python fayl yozilganda avtomatik ruff format:
{
"hooks": {
"PostToolUse": [
{
"matcher": "Write|Edit",
"hooks": [
{
"type": "command",
"command": "ruff format $CLAUDE_TOOL_FILE_PATH 2>/dev/null || true"
}
]
}
]
}
}
Xavfsizlik ogohlantirishi: hook'lar sizning to'liq ruxsatingiz bilan ishlaydi. Hech qachon ko'r-ko'rona copy-paste qilmang - har script'ni o'zingiz o'qib tushuning.
Skills - qayta ishlatiladigan bilim
Skill - SKILL.md + kerak bo'lsa scripts. Claude descriptionga qarab o'zi qachon ishlatishni tanlaydi.
~/.claude/skills/django-test-writer/
├── SKILL.md
└── references/
└── pytest-fixtures.md
SKILL.md:
---
name: django-test-writer
description: Use when writing or refactoring Django test files.
Generates pytest-django tests with factory_boy fixtures.
---
# Django Test Writer
## Process
1. Read the view file
2. Check existing conftest.py
3. Generate test with auth, permissions, happy-path, edge cases
4. Run pytest -q
💡 Description - skill'ning SEO'si. Yaxshi yozing, Claude aynan shunga qarab chaqiradi.
Agents (yakka - multi-agent EMAS)
Agent - maxsus rol bilan sub-Claude. O'z context window'i, o'z tool'lari. Men yakka agentni tavsiya qilaman - murakkab multi-agent orkestratsiyadan uzoq turing (quyida sababini aytaman).
Misol - code-reviewer agent:
---
name: code-reviewer
description: Reviews code for bugs, SOLID violations, security.
tools: Read, Grep, Glob, Bash
---
Sen senior code reviewer'san. Vazifang:
- Bug va logika xatolari
- SOLID/DRY buzilishlari
- Security muammolari (SQL inj, XSS, secret leak)
Faqat **yuqori prioritet** muammolarni qaytar. Style preference'lar YO'Q.
Endi asosiy Claude murakkab vazifani shu agent'ga delegate qila oladi.
MCP - Model Context Protocol
Eng katta advanced tushuncha. Diqqat bilan o'qing.
MCP - AI modellarga tashqi tool'larni ulash standarti. USB-C analogiyasi: ilgari har qurilmaga alohida zaryad, endi bitta port.

Claude Code o'zida faqat: fayl o'qish/yozish, shell, git bor. Agar sizga kerak bo'lsa:
- Postgres'ga to'g'ridan-to'g'ri query
- Brauzer avtomatizatsiyasi (E2E test)
- Zamonaviy kutubxona docs (training cutoff'dan keyingi)
- GitHub issue boshqarish
→ MCP server ulaysiz.
.mcp.json - jamoa sozlamasi
Loyiha root'ida .mcp.json yarating va git'ga commit qiling - butun jamoa bir xil MCP to'plamini oladi.
{
"mcpServers": {
"context7": {
"command": "npx",
"args": ["-y", "@upstash/context7-mcp@latest"]
},
"playwright": {
"command": "npx",
"args": ["-y", "@playwright/mcp@latest"]
},
"postgres": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-postgres",
"postgres://user:pass@localhost:5432/mydb"
]
}
}
}
Qisqa yo'l - CLI orqali qo'shish
claude mcp add context7 npx @upstash/context7-mcp@latest
claude mcp list
claude mcp remove context7
Eng foydali 4 ta MCP
| MCP | Nima beradi | Qachon |
|---|---|---|
| context7 | Zamonaviy docs (training cutoff'dan keyingi) | "Django 5.2 GeneratedField qanday?" |
| playwright | Brauzer avtomatizatsiya, E2E test | Login flow, screenshot, UI tekshirish |
| postgres | To'g'ridan-to'g'ri SQL | "Eng ko'p like olgan 10 post" |
| github | Issue/PR boshqarish | gh CLI o'rniga yoki qo'shimcha |
Qachon MCP KERAK EMAS?
- Bir martalik ish -
psql,curl,dockeryetadi - Har MCP - context'da token. Ortiqcha ulamang.
- Noishonch manba - MCP sizning fayllaringizga kiradi, review qiling
⚠️ Oltin qoida: har MCP - har sessiyada yuklanadigan schema. 5 MCP × 10 tool = 50 schema = minglab token har sessiyada.
Plugins (marketplace)
Claude Code'ning o'z plugin marketplace'i bor. Terminal ichida:
/plugin
U yerdan tayyor plugin'larni ko'rib, bir klikda o'rnatasiz. Men tavsiya qiladigan 3 ta:
- superpowers - brainstorming, TDD, debugging, plan yozish - hammasi ichida
- context7 - docs uchun (yuqoridagi MCP'ning plugin versiyasi)
- playwright - brauzer testlari
/plugin install superpowers
/plugin install context7
/plugin install playwright
O'rnatilgach, plugin'lar avtomatik yuklanadi - siz alohida sozlashingiz shart emas.
/loop - avtonom ishlash (ralph-loop)
Ralph-loop - Simpsons'dagi Ralph Wiggum'dan ilhomlangan meme. "Aqli yetguncha bir ishni takrorlaydi" falsafasi.
Claude'ni bir vazifa ustiga qo'yib, u "hal bo'ldi" deguncha yoki siz to'xtatguncha takror-takror ishga tushirish.
Ikki rejim
Interval:
/loop 10m /check-deploy
Har 10 daqiqada /check-deploy ishga tushadi.
Dynamic (Claude o'zi pace belgilaydi):
/loop /fix-flaky-tests
Amaliy misol - deploy watcher
/loop 10m "
docker compose ps ni o'qi.
Agar biror konteyner unhealthy - so'nggi 50 qator log ko'r.
Agar hammasi healthy - 'OK' yozib to'xta.
Maksimum 2 soat.
"
Siz uxlab yotasiz, Claude soqchilik qiladi.
⚠️ Xavf - token xo'r rejimi
Cheksiz loop = hisobingiz yonadi. Har doim 3 ta chegara:
- Vaqt: "maksimum 2 soat"
- Iteratsiya: "maksimum 20 safar"
- Muvaffaqiyat sharti: "testlar yashil bo'lsa to'xta"
TL;DR: Advanced sozlashlar = tokenometer + hooks + skills + MCP + opusplan. Bularning birortasini qoldirmang.
⚠️ 5 ta Eng Katta Xato
Men o'zim va boshqa dasturchilar qilgan xatolarning eng ko'p uchraydiganlari:
1-xato: 1000 qatorli CLAUDE.md
Yangi foydalanuvchi innovatsion bo'lib CLAUDE.md'ga hamma narsani yozadi: arxitektura, git log, dokumentatsiya, README - hammasini. Natija - har sessiyada 50K+ token context'ga yuklanadi, hech narsa qilinmasdan.
Yechim: CLAUDE.md 500 qatordan oshmasin. Uzun narsalar - docs/ papkasiga, kerak bo'lsa Claude Read qiladi.
2-xato: Murakkab multi-agent orkestratsiya
"Men 5 ta agent yozaman: plannerPM, architect, coder, tester, reviewer - ular bir-birini boshqaradi!" Yaxshi g'oya, lekin amalda 90% holatda yakka agent kifoya.
Multi-agent = ko'p token, ko'p xato, debug qiyin.
Yechim: bitta asosiy Claude + 1-2 maxsus sub-agent (code-reviewer, security-auditor). Ortig'i - ortiqcha murakkablik.
3-xato: "Mukammal prompt"ga obsession
Yangi user 2 soat prompt yozadi - "ideal" bo'lsin deb. Claude'ga 500 qatorli brief beradi, natija - qoniqarsiz. Yana 2 soat qayta yozadi.
Haqiqat: iteratsiya > mukammallik. Qisqa prompt → natija ko'r → tuzat → qayta yubor. 5 ta tsikl 20 daqiqada - bir "ideal" promptdan tezroq.
Yechim: 3-4 qatorli prompt yoz, ishga tushir, natijaga qarab tuzat.
4-xato: /clear qilmaslik
"Men Claude bilan 3 kun gaplashib turibman, juda qulay!" - lekin har xabarda u butun tarixni qayta o'qiydi. 3-kun oxirida 1 ta savolingiz $5 turadi.
Yechim: yangi vazifa = /clear. Shu vazifada davom = /compact. Qoida oddiy.
5-xato: Cheksiz /loop
"Fix my tests" deb /loopga qo'yib, uxlab yotdingiz. Ertalab - $120 faktura. Claude 600 marta "testlarni tuzatishga urindi", hali ham muvaffaqiyatsiz.
Yechim: har loop'ga 3 ta chegara:
- Maksimum iteratsiya
- Maksimum vaqt
- Aniq muvaffaqiyat sharti
🚀 Noldan Loyiha Boshlash - 10 Qadam Checklist
Yangi loyiha ochdingiz. Mana qadamma-qadam:
Qadam 1. cd your-project/
Qadam 2. claude → /init
→ CLAUDE.md avtomatik yaratiladi
Qadam 3. CLAUDE.md'ni qisqartiring (<500 qator)
→ stack, komandalar, qoidalar, atamalar
Qadam 4. .claude/settings.json yarating
→ statusLine qo'shing (tokenometer)
Qadam 5. .mcp.json yarating
→ loyihaga kerakli MCP'lar (context7, postgres, playwright)
Qadam 6. .claude/rules/ papkasini to'ldiring
→ testing.md, commits.md, architecture.md
Qadam 7. .claude/hooks/ - avtomatizatsiya
→ ruff format, eslint --fix avtomatik
Qadam 8. .claude/commands/ - custom slash
→ /review, /deploy, /migrate
Qadam 9. .claude/skills/ - loyihaga maxsus
→ masalan, "blog-feature-writer"
Qadam 10. /model opusplan → default qiling
Tez variant: yuqoridagi gist'lardan zip yuklab oling va .claude/ folderni joylashtiring. Keyin faqat CLAUDE.md va .mcp.jsonni o'z loyihangizga moslang.
- Backend: gist.github.com/firdavsDev/REPLACE_ME_BACKEND
- Frontend: gist.github.com/firdavsDev/REPLACE_ME_FRONTEND
Yakun
Do'stlar, bitta narsani unutmang:
AI'ni bilib ishlatish - yangi farzi ayn.
Kod yozish arzonlashdi. Hammamiz AI ishlatamiz. Ammo farq - kim AI'ni chuqur biladi va qanchalik to'g'ri ishlatadi, shunda.
Siz bu maqolani o'qib chiqdingiz. Endi amalga oshiring:
- Loyihangizga kirib
/initqiling - Gist'dan tayyor
.claude/yuklang - 1-2 kun ishlang - farqni sezasiz
Savollar bo'lsa - Telegram'da kutaman: @davronbekdev. YouTube'da live stream bor, obuna bo'ling.
Manbalar
- docs.claude.com/en/docs/claude-code
- modelcontextprotocol.io
- context7.com
- github.com/anthropics/claude-code
Token'larni tejang. Kodda ozod bo'ling.
- @firdavsDev

Telegram Kanalimizga Qo'shiling
Yangi postlarni o'tkazib yubormaslik uchun telegram kanaliga obuna bo'ling!
@DavronbekDev