Advanced Claude Code - Noldan Advanced Darajagacha

Advanced Claude Code Guide

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

claude-codeaiproductivitymcpdevtools

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.json yozish va kerakli MCP'larni tanlash
  • statusLine bilan tokenometer qurish
  • /loop orqali avtonom ishlash
  • ✅ Yangilar qiladigan 5 ta katta xatoni takrorlamaslik
  • ✅ Noldan loyiha uchun 10 qadamli setup checklist

Claude Code Project Structure

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

KomandaNima qiladi
/helpYordam ro'yxati
/initLoyiha uchun avtomatik CLAUDE.md yaratadi
/clearButun sessiyani nolga tushiradi (fresh context)
/compactKontekstni siqadi, xulosasini qoldiradi
/resumeOxirgi sessiyani davom ettiradi
/modelModelni tanlash yoki opusplan rejimi
/fastOpus'ni tez rejimda ishga tushiradi
/reviewPR 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.

ModelDefaultMax (beta)
Opus 4.7200K1M
Sonnet 4.6200K1M
Haiku 4.5200K-

Context ichiga nima kiradi?

  1. System prompt (Claude Code o'zi qo'shadi)
  2. Sizning CLAUDE.md fayllaringiz
  3. MCP server'larning tool schemalari
  4. Har bir Read, Grep, Bash natijasi
  5. 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.mdmemory/
Kim yozadi?Siz (qo'lda)Claude (avtomatik)
Qachon?Loyiha boshidaSessiya davomida
Nima?Statik qoidalarDinamik 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:

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.

ModelInput $/1MOutput $/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.

MCP Architecture

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

MCPNima beradiQachon
context7Zamonaviy docs (training cutoff'dan keyingi)"Django 5.2 GeneratedField qanday?"
playwrightBrauzer avtomatizatsiya, E2E testLogin flow, screenshot, UI tekshirish
postgresTo'g'ridan-to'g'ri SQL"Eng ko'p like olgan 10 post"
githubIssue/PR boshqarishgh CLI o'rniga yoki qo'shimcha

Qachon MCP KERAK EMAS?

  • Bir martalik ish - psql, curl, docker yetadi
  • 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:

  1. superpowers - brainstorming, TDD, debugging, plan yozish - hammasi ichida
  2. context7 - docs uchun (yuqoridagi MCP'ning plugin versiyasi)
  3. 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:

  1. Vaqt: "maksimum 2 soat"
  2. Iteratsiya: "maksimum 20 safar"
  3. 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.


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:

  1. Loyihangizga kirib /init qiling
  2. Gist'dan tayyor .claude/ yuklang
  3. 1-2 kun ishlang - farqni sezasiz

Savollar bo'lsa - Telegram'da kutaman: @davronbekdev. YouTube'da live stream bor, obuna bo'ling.

Manbalar


Token'larni tejang. Kodda ozod bo'ling.

  • @firdavsDev

🔥

Telegram Kanalimizga Qo'shiling

Yangi postlarni o'tkazib yubormaslik uchun telegram kanaliga obuna bo'ling!

@DavronbekDev
Bu postni qanday baholaysiz: