Setup Claude Code like a Pro

Advanced Claude Code Guide

Claude Code CLI'ni professional darajada ishlatish bo'yicha qo'llanma.

18th April 2026

claude-codeclidevtools

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.json yozish va kerakli MCP'larni tanlash
  • statusLine bilan tokenometer qurish
  • /loop orqali avtonom ishlash
  • 5 ta katta xatoni takrorlamaslik

Claude Code Project Structure


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

KomandaNima qiladi
/helpYordam ro'yxati
/initLoyiha uchun avtomatik CLAUDE.md yaratadi
/clearSessiyani nolga tushiradi
/compactKontekstni siqadi, xulosasini qoldiradi
/modelModelni tanlash yoki opusplan rejimi
/reviewPR code review

Context window va prompt cache

Context window — Claude'ning qisqa muddatli xotirasi. U bir vaqtda qancha token "ko'ra" olishi:

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

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.mdmemory/
Kim yozadi?Siz (qo'lda)Claude (avtomatik)
Qachon?Loyiha boshidaSessiya davomida
Nima?Statik qoidalarDinamik 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
ModelInput $/1MOutput $/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 Architecture

.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

MCPNima beradiQachon
context7Zamonaviy docs"Django 5.2 GeneratedField qanday?"
playwrightBrauzer avtomatizatsiya, E2ELogin flow, screenshot
postgresTo'g'ridan-to'g'ri SQL"Eng ko'p like olgan 10 post"
githubIssue/PR boshqarishgh 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



🔥

Telegram Kanalimizga Qo'shiling

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

@DavronbekDev
Bu postni qanday baholaysiz: