Setup Claude Code like a Pro

Claude Code CLI'ni professional darajada ishlatish bo'yicha qo'llanma.
18th April 2026
Assalomu alaykum, do'stlar. Bu maqolani yozishimga sabab oddiy — atrofimdagi ko'p dasturchilar Claude Code'ga pul to'lab, uning 10%idan ham foydalana olmayapti. Holbuki bu — to'liq agent: fayl ochadi, test ishga tushiradi, git qiladi, kerak bo'lsa soatlab o'zicha ishlaydi.
Nima o'rganasiz
- Context window va prompt cache'ni boshqarish
CLAUDE.md,rules/,hooks/,skills/,memory/o'rtasidagi farq.mcp.jsonyozish va kerakli MCP'larni tanlashstatusLinebilan tokenometer qurish/looporqali avtonom ishlash- 5 ta katta xatoni takrorlamaslik

Asoslar
Chat emas — Agent
Brauzerdagi claude.ai — chat. Siz matn berasiz, u matn qaytaradi, xolos.
Claude Code esa — agentic loop:
[Sizning so'rovingiz]
↓
Read / Grep / Bash
↓
Think → Edit / Write
↓
Observe (natijani ko'radi, kerak bo'lsa qaytadan tuzatadi)
O'rnatish
npm install -g @anthropic-ai/claude-code
claude
# Brauzer ochiladi, Anthropic hisobi bilan login. Tamom.
Eng kerakli slash komandalar
| Komanda | Nima qiladi |
|---|---|
/help | Yordam ro'yxati |
/init | Loyiha uchun avtomatik CLAUDE.md yaratadi |
/clear | Sessiyani nolga tushiradi |
/compact | Kontekstni siqadi, xulosasini qoldiradi |
/model | Modelni tanlash yoki opusplan rejimi |
/review | PR code review |
Context window va prompt cache
Context window — Claude'ning qisqa muddatli xotirasi. U bir vaqtda qancha token "ko'ra" olishi:
| Model | Default | Max (beta) |
|---|---|---|
| Opus 4.7 | 200K | 1M |
| Sonnet 4.6 | 200K | 1M |
| Haiku 4.5 | 200K | — |
Context ichiga: system prompt, CLAUDE.md, MCP schemalari, barcha Read/Bash natijalari va butun suhbat kiradi. To'lsa — model sekinlashadi, qimmatlashadi va halusinatsiya qiladi.
💡 O'zbekcha matn inglizchaga qaraganda 2x ko'p token yeydi.
Anthropic'da prompt cache bor — bir marta o'qilgan context keyingi so'rovda 10x arzon bo'ladi, lekin TTL atigi 5 daqiqa. Uzoq kutadigan bo'lsangiz, /clear qilmang — qisqa xabar yuborib cache'ni tirik tuting.
Loyiha strukturasi
.claude/ folder anatomiyasi
your-project/
├── CLAUDE.md
├── CLAUDE.local.md # shaxsiy, gitignore'da
├── .mcp.json
└── .claude/
├── settings.json # hooks, statusLine, permissions
├── rules/ # jarayon qoidalari
│ ├── code-style.md
│ └── testing.md
├── commands/ # custom /slash komandalar
│ └── review.md
├── skills/ # qayta ishlatiladigan bilim
├── agents/ # maxsus sub-agent'lar
└── hooks/ # shell script hook'lar
CLAUDE.md — loyiha tanishuvi
Bu fayl har sessiya boshida yuklanadi. Uzun yozsangiz — har safar minglab token sarflaydi. Mening qoidam: 500 qatordan oshmasin.
# My Blog Platform
## Stack
- Django 5 + DRF + PostgreSQL 16 + Redis 7
- Celery 5, Docker Compose, MinIO
## Commands
- `make up` — start containers
- `make test` — run pytest
- `make migrate` — run migrations
## Rules
- No N+1 queries — use `select_related`/`prefetch_related`
- Minimum 1 test per view
- Celery tasks only in `tasks.py`
rules/ va commands/
CLAUDE.md loyiha nima ekanini aytsa, rules/ — jarayonlar qanday kechishini.
.claude/rules/testing.md:
# Testing rules
- Minimum 1 test per DRF view
- Test name: `test_<action>_<expectation>`
- Mock — only for external APIs. DB — real.
.claude/commands/review.md:
---
description: Review the current PR
---
1. Read `git diff main...HEAD`
2. Check for bugs, security issues, SOLID, DRY violations
3. For each issue: file:line, reason, recommendation
CLAUDE.md vs memory/
| 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/ |
Advanced sozlashlar
/model opusplan — aqlli almashinish
Opus — eng aqlli, lekin 5x qimmat. opusplan ikkalasini avtomatik almashtiradi: plan → Opus, kod yozish → Sonnet.
/model opusplan
| Model | Input $/1M | Output $/1M |
|---|---|---|
| Opus 4.7 | $15 | $75 |
| Sonnet 4.6 | $3 | $15 |
| Haiku 4.5 | $1 | $5 |
statusLine — tokenometer
Hisob qancha ketayotganini ko'rmasdan tejay olmaysiz.
~/.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"
Hooks — avtomatlashtirish
Hook — ma'lum event'da majburan ishlaydigan shell komanda. Claude emas, harness ishga tushiradi.
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"
}
]
}
]
}
}
⚠️ Hook'lar sizning to'liq ruxsatingiz bilan ishlaydi — ko'r-ko'rona copy-paste qilmang.
Skills — qayta ishlatiladigan bilim
~/.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.
---
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 shunga qarab chaqiradi.
Agents
Agent — maxsus rol bilan sub-Claude. Murakkab multi-agent orkestratsiyadan uzoq turing — 90% holatda bitta asosiy Claude + 1-2 maxsus agent kifoya.
---
name: code-reviewer
description: Reviews code for bugs, SOLID violations, security.
tools: Read, Grep, Glob, Bash
---
Bugs, SOLID/DRY violations, security issues.
Return only high-priority problems. No style preferences.
MCP — Model Context Protocol
MCP — AI modellarga tashqi tool'larni ulash standarti. Claude Code'da o'zi: fayl, shell, git. Qo'shimcha kerak bo'lsa — MCP server ulaysiz.

.mcp.json
{
"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"
]
}
}
}
claude mcp add context7 npx @upstash/context7-mcp@latest
claude mcp list
Eng foydali 4 ta MCP
| MCP | Nima beradi | Qachon |
|---|---|---|
| context7 | Zamonaviy docs | "Django 5.2 GeneratedField qanday?" |
| playwright | Brauzer avtomatizatsiya, E2E | Login flow, screenshot |
| postgres | To'g'ridan-to'g'ri SQL | "Eng ko'p like olgan 10 post" |
| github | Issue/PR boshqarish | gh CLI o'rniga |
Esda tuting: har MCP — har sessiyada yuklanadigan schema. 5 MCP × 10 tool = minglab token. Ortiqcha ulamang.
Plugins
/plugin install superpowers
/plugin install context7
/plugin install playwright
superpowers — brainstorming, TDD, debugging hammasi ichida. context7 — docs uchun. playwright — brauzer testlari.
/loop — avtonom ishlash
Interval:
/loop 10m /check-deploy
Dynamic (Claude o'zi tezlikni belgilaydi):
/loop /fix-flaky-tests
Amaliy misol:
/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.
"
Har loop'ga 3 ta chegara: maksimum iteratsiya, maksimum vaqt, aniq muvaffaqiyat sharti. Bularni qo'ymay loop yurgizish — hisobingizni yoqish.
5 ta Eng Katta Xato
1. 1000 qatorli CLAUDE.md — har sessiyada 50K+ token context'ga yuklanadi, ish qilinmasdan. Yechim: 500 qatordan oshmasin. Uzun narsalar docs/ ga.
2. Murakkab multi-agent orkestratsiya — "5 ta agent: planner, architect, coder, tester, reviewer" — yaxshi g'oya, amalda ko'p token, ko'p xato, debug qiyin. Bitta Claude + 1-2 agent yetadi.
3. "Mukammal prompt"ga obsession — 2 soat prompt yozib, natija yomon. Haqiqat: iteratsiya > mukammallik. 3-4 qatorli prompt yoz, ishga tushir, natijaga qarab tuzat.
4. /clear qilmaslik — 3 kun davomida bir sessiyada ishlash. Har xabarda butun tarixni qayta o'qiydi. Yangi vazifa = /clear. Davom = /compact.
5. Cheksiz /loop — "Fix my tests" deb loop'ga qo'yib uxlab yotdingiz, ertalab $120 faktura. Har loop'ga vaqt, iteratsiya va muvaffaqiyat sharti qo'ying.
Noldan Loyiha — 10 Qadam
1. cd your-project/
2. claude → /init (CLAUDE.md avtomatik)
3. CLAUDE.md'ni qisqartiring (<500 qator)
4. .claude/settings.json — statusLine qo'shing
5. .mcp.json — context7, postgres, playwright
6. .claude/rules/ — testing.md, commits.md
7. .claude/hooks/ — ruff format, eslint avtomatik
8. .claude/commands/ — /review, /deploy
9. .claude/skills/ — loyihaga maxsus skill
10. /model opusplan — default qiling
Manbalar
- 🎯 Presentation (Gamma)
- docs.claude.com/en/docs/claude-code
- modelcontextprotocol.io
- context7.com
- github.com/anthropics/claude-code
- Anatomy of the .claude/ folder
- become a Claude architect (full course)

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