justxor/claude-code-pro-course

★ 183⑂ 32

Claude Code PRO — полный курс и гайд на русском: CLAUDE.md, settings, skills, subagents, hooks, MCP, плагины, CI. 8 лабораторных, библиотека промптов и готовый starter-kit.

About justxor/claude-code-pro-course

justxor/claude-code-pro-course is an open-source project on GitHub, mainly written in Shell. Claude Code PRO — полный курс и гайд на русском: CLAUDE.md, settings, skills, subagents, hooks, MCP, плагины, CI. It currently holds 183 stars and 32 forks with 0 open issues, and was last pushed on an unknown date (repository created unknown).

Project Overview

AI Homed tracks it on the Today's Trending board, currently at rank #93 with 0 new stars today.

GitHub Repository Details

Repository justxor/claude-code-pro-course · default branch - · size 0 KB · watchers 0 · source: GitHub REST API and repository README

README

Claude Code PRO — курс и гайд

Практический курс по работе с Claude Code на русском: от первого запуска до профессиональной настройки команды.
CLAUDE.md, settings, skills, subagents, hooks, MCP, плагины, headless-режим и CI — с лабораторными работами и готовыми шаблонами, которые можно скопировать в свой проект. 🧠 Machine learning — здесь можно найти полный список самых крутых ИИ курсво, чтобы стать гуру ИИ и множество полезных инструментов и уроками работы с ними, абсолютных мастхев!

Validate level modules labs lang license

---

Содержание

| Старт | Как это работает | Практика | Справочник | |---|---|---|---| | Быстрый старт | Агентный цикл | Продвинутые приёмы | Безопасность | | Маршрут обучения | Конфигурация | Рецепты задач | Шаблоны | | Программа | Принципы | Антипаттерны | Экономия · Проблемы |

Что внутри

| | | |---|---| | 📚 12 модулей | Теория с примерами: от установки до мульти-агентной работы | | 🧪 8 лабораторных | Задания с критериями «готово» — закрепить на практике | | 🧰 Starter kit | 8 skills, 5 субагентов, 4 hooks, правила, statusline, output style — ставится одной командой | | 💬 Библиотека промптов | Проверенные формулировки для 13 типов задач | | 🧩 Пример плагина | Как упаковать настройки и раздать команде | | ⚙️ GitHub Actions | @claude в issues/PR и авто-ревью | | 📋 Шпаргалка · FAQ | Всё важное на одной странице и решения типичных проблем |

Полезные ресурсы

Для кого

Быстрый старт за 5 минут

# 1. Установите Claude Code
curl -fsSL https://claude.ai/install.sh | bash     # macOS / Linux / WSL

или: npm install -g @anthropic-ai/claude-code

2. Поставьте starter-kit в свой проект

git clone https://github.com/justxor/claude-code-pro-course.git bash claude-code-pro-course/install.sh ~/path/to/my-project

3. Запустите

cd ~/path/to/my-project && claude
/context # что загружено
/onboard # skill из starter-kit: обзор проекта

Маршрут обучения

flowchart LR
    subgraph B["🟢 Основы"]
        M0["00 Установка"] --> M1["01 Промптинг"] --> M2["02 CLAUDE.md"] --> M3["03 Настройки"]
    end
    subgraph W["🟡 Рабочий процесс"]
        M4["04 Workflow профи"]
    end
    subgraph E["🟠 Расширение"]
        M5["05 Skills"] --> M6["06 Subagents"] --> M7["07 Hooks"] --> M8["08 MCP"]
    end
    subgraph P["🔴 Масштаб"]
        M9["09 Плагины"] --> M10["10 Headless и CI"] --> M11["11 Pro-приёмы"]
    end
    B --> W --> E --> P

Программа

| # | Модуль | Что освоите | Практика | |---|--------|-------------|----------| | 00 | Установка и первый запуск | Установка, логин, интерфейс, горячие клавиши | — | | 01 | Основы работы и промптинг | Постановка задач, контекст, @-упоминания, изображения | — | | 02 | CLAUDE.md — память проекта | Иерархия, импорты, .claude/rules/ | Лаба 1 | | 03 | Настройки и разрешения | settings.json, allow/ask/deny, режимы, модели | Лаба 2 | | 04 | Workflow профи | Plan mode, TDD, чекпоинты, управление контекстом | Лаба 3 | | 05 | Skills и slash-команды | SKILL.md, аргументы, авто-вызов | Лаба 4 | | 06 | Subagents | Изоляция контекста, специализация, параллельность | Лаба 5 | | 07 | Hooks | Автоформат, защита файлов, уведомления | Лаба 6 | | 08 | MCP | GitHub, браузер, БД, свои серверы | Лаба 7 | | 09 | Плагины и маркетплейсы | Упаковка и раздача конфигурации команде | Пример | | 10 | Headless, CI и GitHub Actions | claude -p, JSON, @claude в PR, Agent SDK | Лаба 8 | | 11 | Продвинутые приёмы | Worktrees, мульти-агенты, экономия, безопасность | Чек-листы |

Как работает Claude Code

Claude Code — это агент, а не автодополнение: он сам решает, какие файлы прочитать и какие команды запустить, и крутит цикл «действие → проверка», пока задача не решена. Ваша работа — дать ему цель, контекст и способ проверить результат.

flowchart LR
    U["👤 Задача
промпт · @файлы · скриншоты"] --> C["📥 Сбор контекста
CLAUDE.md · Read · Grep · Glob"] C --> P["🧠 План
что менять и как проверить"] P --> A["🛠 Действие
Edit · Write · Bash · MCP"] A --> V{"✅ Проверка
тесты · линтер · сборка"} V -- "ошибка" --> C V -- "готово" --> R["📝 Результат
diff · коммит · PR"] PM["🔐 Permissions"] -. "разрешить / спросить / запретить" .-> A H["🪝 Hooks"] -. "до и после каждого инструмента" .-> A

Контекст — главный ресурс

Всё, что Claude «знает» в сессии, лежит в одном окне контекста. Чем оно чище, тем точнее ответы. Посмотреть, чем оно занято, — /context.

flowchart TB
    subgraph CW["🪟 Окно контекста"]
        direction TB
        S1["Системный промпт и инструменты"]
        S2["CLAUDE.md и правила"]
        S3["Описания skills · agents · MCP"]
        S4["История диалога"]
        S5["Прочитанные файлы и вывод команд"]
    end
    CW --> Q{"Что дальше?"}
    Q -- "новая задача" --> CL["/clear
чистый лист"] Q -- "длинная задача" --> CO["/compact
сжать историю"] Q -- "большое исследование" --> SA["🤖 Subagent
своё окно, вернёт только вывод"]

Как устроена конфигурация Claude Code

flowchart TB
    subgraph U["👤 Пользователь — ~/.claude/"]
        U1["CLAUDE.md"]
        U2["settings.json"]
        U3["skills/ · agents/ · output-styles/"]
    end
    subgraph PR["📦 Проект — в git, для команды"]
        P1["CLAUDE.md · .claude/rules/"]
        P2[".claude/settings.json
permissions · hooks · statusLine"] P3[".claude/skills/ · .claude/agents/"] P4[".mcp.json"] end subgraph L["🔒 Локально — не в git"] L1["CLAUDE.local.md"] L2[".claude/settings.local.json"] end PL["🧩 Плагины
skills · agents · hooks · MCP"] U --> S(("Сессия
Claude Code")) PR --> S L --> S PL --> S

Что куда класть:

| Хочу… | Инструмент | |---|---| | чтобы Claude знал правила проекта | CLAUDE.md, .claude/rules/ | | не отвечать на одни и те же вопросы о разрешениях | permissions.allow в settings | | запретить опасное | permissions.deny + hook PreToolUse | | переиспользовать процедуру / промпт | skill | | изолировать исследование или дать узкую роль | subagent | | чтобы что-то происходило всегда | hook | | подключить внешнюю систему | MCP | | раздать всё это другим репозиториям | плагин | | запускать без человека | claude -p, GitHub Actions, Agent SDK |

Как выбрать инструмент

flowchart TD
    Q1{"Должно происходить всегда,
без исключений?"} -- да --> HK["🪝 Hook"] Q1 -- нет --> Q2{"Нужна внешняя система
или данные?"} Q2 -- да --> MCP["🔌 MCP-сервер"] Q2 -- нет --> Q3{"Задача шумная,
нужен отдельный контекст?"} Q3 -- да --> SA["🤖 Subagent"] Q3 -- нет --> Q4{"Повторяемая процедура
или промпт?"} Q4 -- да --> SK["🧰 Skill"] Q4 -- нет --> CM["📄 CLAUDE.md или обычный промпт"]

Главные принципы (TL;DR)

1. Контекст — ваш главный ресурс. Чистите (/clear), сжимайте (/compact), выносите исследование в subagents. 2. Сначала план, потом код. Plan mode (Shift+Tab) для всего, что сложнее одного файла. 3. Дайте Claude способ проверить себя — тесты, линтер, скриншоты. Это самый сильный рычаг качества. 4. CLAUDE.md короткий и конкретный. Команды, стиль, запреты. Не роман. 5. Повторяется трижды — сделайте skill. Должно случаться всегда — сделайте hook. 6. Разрешения — через allowlist, а не через bypassPermissions.

Продвинутые приёмы работы с Claude Code

Режимы работы

Shift+Tab переключает режимы по кругу:

| Режим | Что делает Claude | Когда использовать | |---|---|---| | Обычный | Спрашивает разрешение на правки и команды | Незнакомый код, рискованные изменения | | Auto-accept edits | Правит файлы без подтверждения | План согласован, есть тесты и git | | Plan mode | Только читает и предлагает план | Старт любой нетривиальной задачи |

Explore → Plan → Code → Verify → Commit

Главный рабочий цикл. Не давайте Claude сразу писать код: сначала пусть разберётся и предложит план.

sequenceDiagram
    actor Dev as Разработчик
    participant C as Claude
    participant R as Репозиторий
    Dev->>C: Plan mode — изучи модуль оплаты, ничего не меняй
    C->>R: Read · Grep · Glob
    C-->>Dev: План — файлы, шаги, риски, как проверить
    Dev->>C: Поправь шаг 3, остальное ок — реализуй
    loop пока проверки не зелёные
        C->>R: Edit
        C->>R: Bash — тесты и линтер
    end
    C-->>Dev: diff и краткий итог
    Dev->>C: Закоммить и открой PR

Промпты, которые работают

| ❌ Размыто | ✅ Конкретно | |---|---| | «Почини баг» | «При пустом email signup() падает с TypeError. Воспроизведи тестом, исправь, прогони npm test.» | | «Добавь тесты» | «Покрой parseDate тестами: границы месяцев, таймзоны, невалидный ввод. Без моков, стиль как в utils.test.ts.» | | «Отрефактори» | «Вынеси работу с БД из orders.ts в репозиторий. Публичный API не меняй, существующие тесты должны пройти без правок.» | | «Сделай красиво» | «Сверстай по скриншоту, сними скриншот результата через браузерный MCP, сравни и исправь расхождения.» |

Формула: цель + где искать + ограничения + как проверить.

Контекст и память

Дайте Claude способ проверить себя

Без обратной связи агент угадывает, с ней — итерирует до результата:

Hooks: гарантии вместо просьб

CLAUDE.md — это просьба, hook — это правило. Hook запускается на событии и может заблокировать действие.

sequenceDiagram
    participant C as Claude
    participant H as Hook
    participant T as Инструмент
    C->>H: PreToolUse — Bash rm -rf
    alt опасная команда
        H-->>C: exit 2 и причина в stderr
        Note over C: вызов заблокирован, Claude видит причину
    else всё в порядке
        H-->>C: exit 0
        C->>T: выполнить
        T-->>C: результат
        C->>H: PostToolUse — Edit
        H-->>C: prettier и eslint --fix
    end

Автоформат после каждой правки (.claude/settings.json):

{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Edit|Write",
        "hooks": [
          { "type": "command", "command": "jq -r '.tool_input.file_path' | xargs npx prettier --write" }
        ]
      }
    ]
  }
}

| Событие | Пример использования | |---|---| | SessionStart | подгрузить текущую ветку, открытые задачи | | UserPromptSubmit | добавить контекст к каждому промпту | | PreToolUse | запретить rm -rf, правки .env и миграций | | PostToolUse | форматтер, линтер, тесты по изменённому файлу | | Notification | уведомление на рабочий стол, когда Claude ждёт вас | | Stop | финальная проверка: тесты зелёные — можно завершать | | PreCompact | сохранить важное перед сжатием контекста |

Subagents: специалисты со своим контекстом

Субагент работает в отдельном окне контекста и возвращает только вывод — главная сессия остаётся чистой.

flowchart LR
    M["🎯 Главная сессия"] --> A1["🔍 explorer
ищет по коду"] M --> A2["🧪 test-runner
гоняет тесты"] M --> A3["🛡 security-reviewer
ищет уязвимости"] A1 -- "краткая сводка" --> M A2 -- "только упавшие тесты" --> M A3 -- "список находок" --> M

.claude/agents/reviewer.md:

---
name: reviewer
description: Ревью изменений перед коммитом. Используй после любой заметной правки.
tools: Read, Grep, Glob, Bash
model: sonnet
---
Ты строгий ревьюер. Проверь git diff на баги, пограничные случаи,
утечки секретов и нарушения стиля из CLAUDE.md.
Отвечай списком: файл:строка — проблема — как исправить.

Параллельная работа через git worktree

flowchart TB
    R["📦 Репозиторий"] --> W1["../app-auth
feature/auth"] R --> W2["../app-billing
feature/billing"] R --> W3["../app-fix
fix/flaky-test"] W1 --> C1["🤖 Claude 1"] W2 --> C2["🤖 Claude 2"] W3 --> C3["🤖 Claude 3"]
git worktree add ../app-auth -b feature/auth
cd ../app-auth && claude

Каждая сессия работает в своей папке и ветке — задачи идут параллельно и не мешают друг другу.

Writer / Reviewer: один Claude пишет код, второй в чистой сессии делает ревью, первый исправляет по замечаниям. Свежий контекст замечает то, что «замылилось».

Headless и автоматизация

# Разовый запрос в скрипте или CI
claude -p "Найди причину падения сборки" --output-format json < build.log

Ревью своего diff перед пушем

git diff main | claude -p "Сделай ревью: баги, пограничные случаи, безопасность"

Ограничить инструменты и число шагов

claude -p "Обнови CHANGELOG по последним коммитам" --allowedTools "Read,Edit,Bash(git log:*)" --max-turns 10

Массовая миграция: файл за файлом

for f in $(git ls-files 'src/**/*.js'); do claude -p "Переведи $f на TypeScript, не меняя поведения" --allowedTools "Read,Edit,Bash(npx tsc:*)" done

Шпаргалка по управлению

| Клавиша / команда | Что делает | |---|---| | Esc | прервать Claude, не теряя контекст | | Esc Esc · /rewind | откатиться к прошлому шагу (код и диалог) | | Shift+Tab | переключить режим: обычный → auto-accept → plan | | @файл · !команда | добавить файл / вывод команды в контекст | | /clear · /compact · /context | очистить, сжать, посмотреть контекст | | /model | сменить модель | | /permissions · /hooks · /agents · /mcp | настройка разрешений, хуков, агентов, MCP | | claude --continue · claude --resume | продолжить последнюю / выбрать прошлую сессию |

Практические рецепты задач

Готовые промпты под частые задачи — копируйте и подставляйте своё. Больше — в библиотеке промптов.

🗺 Разобраться в незнакомом проекте
Plan mode. Изучи репозиторий и объясни: архитектуру, точки входа,
поток данных для запроса /api/orders, где тесты и как их запускать.
Ничего не меняй. В конце — 5 мест, где новичку легче всего ошибиться.

🐛 Баг по стектрейсу
@error.log Вот стектрейс из продакшена.
1) Найди корневую причину, а не место падения.
2) Напиши падающий тест, который воспроизводит баг.
3) Исправь минимальным изменением, прогони все тесты.

🧪 Фича через TDD
Фича: скидка 10% для заказов от 5000 ₽.
Сначала напиши тесты (включая границы: 4999, 5000, 0, отрицательные),
убедись, что они падают, и закоммить. Потом реализуй, не меняя тесты.

♻️ Безопасный рефакторинг
Разбей @src/services/user.ts на модули по ответственности.
Поведение и публичный API не меняй. После каждого шага — тесты и tsc.
Если тестов не хватает, сначала добавь характеризационные тесты.

🔍 Ревью своего кода
Сделай ревью git diff main как строгий senior:
баги, гонки, пограничные случаи, безопасность, производительность.
Формат: файл:строка — проблема — критичность — как исправить.

🎲 Плавающий (flaky) тест
Тест checkout.spec.ts падает примерно в 1 из 10 запусков.
Запусти его 30 раз, собери статистику, найди источник
недетерминизма (время, порядок, сеть, общий стейт) и устрани его.

⬆️ Обновление зависимости
Обнови react-router с v5 до v6. Сначала составь план миграции
по changelog и список затронутых файлов. Затем мигрируй по одному
модулю, после каждого — сборка и тесты.

🎨 Вёрстка по макету
[скриншот] Сверстай этот экран на наших компонентах из @src/ui.
После — сними скриншот через браузерный MCP, сравни с макетом
и исправь расхождения. Повтори, пока не совпадёт.

⚡ Производительность
Эндпоинт /api/report отвечает 4 секунды. Найди узкое место
(N+1, лишние запросы, тяжёлые вычисления), предложи 2–3 варианта
с оценкой выигрыша. Реализуй лучший и замерь до/после.

🛡 Аудит безопасности
Используй субагента: проверь проект на OWASP Top 10 —
инъекции, XSS, хранение секретов, авторизацию на эндпоинтах.
Верни отчёт по критичности. Ничего не исправляй без моего ок.

📝 Описание PR и changelog
По git log main..HEAD и diff напиши описание PR:
зачем, что изменилось, как проверить, риски.
Добавь запись в CHANGELOG.md в нашем формате.

🚨 Разбор инцидента
@incident.log Восстанови хронологию инцидента по логам,
найди первопричину и напиши постмортем: таймлайн, причина,
влияние, что сделать, чтобы не повторилось.

Антипаттерны и как их исправить

| ❌ Ошибка | Почему плохо | ✅ Как правильно | |---|---|---| | Одна бесконечная сессия на весь день | Контекст забит старым, ответы хуже | /clear между задачами, заметки в файле | | «Сделай фичу» без плана | Claude уверенно идёт не туда | Plan mode → согласовать → реализовать | | Нет тестов и проверок | Агент не видит своих ошибок | Тесты, линтер, скриншоты в цикле | | CLAUDE.md на 500 строк | Важное тонет, тратится контекст | Коротко; детали — в .claude/rules/ и skills | | Правила только словами в CLAUDE.md | Иногда игнорируются | Критичное — через hooks и permissions.deny | | bypassPermissions «чтобы не спрашивал» | Риск удалить лишнее или слить секреты | Allowlist безопасных команд, песочница | | Исправлять ошибку третьим сообщением подряд | Контекст засоряется неудачными попытками | Esc Esc / /rewind и переформулировать | | Принимать diff не глядя | Тихие баги и лишние изменения | Ревью diff или субагент-ревьюер |

Безопасность и разрешения

Каждый вызов инструмента проходит через правила. Порядок проверки: deny → ask → allow, запрет всегда сильнее разрешения.

flowchart LR
    T["🛠 Claude хочет
вызвать инструмент"] --> H{"🪝 PreToolUse
hook"} H -- "exit 2" --> X["⛔ Заблокировано"] H -- "ок" --> D{"Есть правило
deny?"} D -- да --> X D -- нет --> K{"Есть правило
ask?"} K -- да --> Q["🙋 Спросить вас"] K -- нет --> A{"Есть правило
allow?"} A -- да --> OK["✅ Выполнить"] A -- нет --> Q Q -- "разрешили" --> OK Q -- "отказали" --> X

Пример .claude/settings.json для команды:

{
  "permissions": {
    "allow": [
      "Bash(npm run test:*)",
      "Bash(npm run lint)",
      "Bash(git status)",
      "Bash(git diff:*)"
    ],
    "ask": [
      "Bash(git push:*)"
    ],
    "deny": [
      "Read(./.env)",
      "Read(./.env.*)",
      "Read(./secrets/**)",
      "Bash(rm -rf:*)",
      "Bash(curl:*)"
    ]
  }
}

Чек-лист:

Готовые шаблоны

📄 CLAUDE.md — короткий и рабочий
# Проект: магазин на Next.js + PostgreSQL

Команды

  • npm run dev — запуск
  • npm test — тесты (Vitest), npm run lint — линтер
  • npm run db:migrate — миграции (только с подтверждения!)

Архитектура

  • src/app — роуты, src/lib — бизнес-логика, src/db — доступ к БД
  • Вся работа с БД только через src/db, не из компонентов

Правила

  • TypeScript strict, без any
  • Новый код — с тестами, баг — сначала падающий тест
  • Не трогать src/legacy без явной просьбы
  • Перед завершением задачи: npm test && npm run lint

🧰 Skill — повторяемая процедура

.claude/skills/release-notes/SKILL.md:

```markdown --- name: release-notes description: Готовит release notes по коммитам с последнего тега. Используй, когда просят релиз, changelog или заметки к версии. --- 1. Найди последний тег: git describe --tags --abbrev=0 2. Собери коммиты: git log <тег>..HEAD --oneline 3. Сгруппируй: ✨ Новое,

GitHub Stars & Activity

183Stars
32Forks
0Open issues
ShellLanguage

GitHub Popularity

GitHub stars183
Forks32
Open issues0
Primary languageShell
License-
Stars gained today0
Created-
Last pushed-

Trending History

Daily boardrank #93 · ▲ 0 stars

Related AI Projects

1

obra / superpowers

Shell★ 294,369⑂ 26,315▲ 561 stars
→
2

mattpocock / skills

Shell★ 274,594⑂ 23,053▲ 955 stars
→
3

msitarzewski / agency-agents

Shell★ 155,791⑂ 25,133▲ 130 stars
→
4

OthmanAdi / planning-with-files

Shell★ 27,261⑂ 2,268▲ 43 stars
→
5

Donchitos / Claude-Code-Game-Studios

Shell★ 25,655⑂ 3,647▲ 47 stars
→
6

github / copilot-cli

Shell★ 11,236⑂ 1,953▲ 10 stars
→
7

cloudflare / skills

Shell★ 2,971⑂ 299▲ 10 stars
→
8

affaan-m / ECC

JavaScript★ 271,104⑂ 40,507▲ 572 stars
→

More AI Rankings