Claude Code: установка, настройка и работа с терминальным агентом для программирования
Введение
Claude Code — агент для программирования от Anthropic из того же
семейства, что и Claude Opus 5.5. Он
читает кодовую базу, правит файлы, запускает команды, работает с git и
подключается к внешним инструментам по MCP.
Он работает в терминале, в расширениях для VS Code и JetBrains, в
настольном приложении и в браузере, и все эти поверхности используют
одну и ту же конфигурацию проекта.
Это руководство — рабочий справочник: установка, вход, файлы памяти,
разрешения, субагенты, навыки, MCP и приёмы, которые окупаются каждый
день. Файлам агентов посвящён отдельный разбор —
Субагенты Claude Code;
сравнение с OpenCode бок о бок — в статье
Создание ИИ-агентов.
Установка
На macOS, Linux и WSL рекомендуется нативный установщик: он обновляется сам в фоне:
curl -fsSL https://claude.ai/install.sh | bash
В Windows используйте PowerShell или CMD — в зависимости от вашей оболочки:
irm https://claude.ai/install.ps1 | iex
curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd
Пакетные менеджеры тоже подходят. В Homebrew есть стабильный кейск и кейск, который обновляется быстрее; установка через Homebrew и WinGet сама не обновляется:
brew install --cask claude-code brew install --cask claude-code@latest winget install Anthropic.ClaudeCode
Пользователи Debian, Fedora, RHEL и Alpine могут установить пакет из репозиториев пакетного менеджера; точные команды перечислены на странице установки по ссылке ниже. После установки откройте новый терминал и проверьте:
claude --version claude doctor
claude doctor запускает диагностику установки, не начиная сессию: дубли установок, проблемы с PATH, нечитаемые настройки и ожидающие обновления. Если оболочка отвечает claude: command not found, каталог установки ещё не попал в PATH; страница решения проблем описывает исправление по шагам. На нативном Windows рекомендуется поставить Git for Windows, чтобы у инструмента Bash была настоящая оболочка.
Предпочитаете редактор или окно? Расширение для VS Code и Cursor, плагин для JetBrains, настольное приложение и веб-версия на claude.ai/code используют тот же движок и ту же конфигурацию. В настольное приложение командная строка входит, поэтому отдельно CLI для него ставить не нужно. Подробности установки: code.claude.com setup.
Вход и провайдеры
При первом запуске инструмент просит войти в аккаунт. Два основных пути:
- Подписка Claude: войдите под тем же аккаунтом, что и на claude.ai. Лимиты тарифа действуют на использование Claude Code и общие с веб- и мобильными приложениями.
- Anthropic Console: используйте ключ API из Console. Оплата по факту, лимитов тарифа нет, лучше подходит для автоматизации и CI.
Для скриптов задайте ANTHROPIC_API_KEY в окружении и подтвердите ключ, когда его спросят; тогда Claude Code пропускает запрос на вход. Команды на облачных платформах могут маршрутизировать запросы через Amazon Bedrock, Google Cloud или Microsoft Foundry вместо API Anthropic; переменные провайдера описаны в документации по сторонним интеграциям.
export ANTHROPIC_API_KEY=sk-ant-... claude
Внутри сессии /login и /logout переключают аккаунты, а /status показывает, какой аккаунт, тариф и модель активны. Сессии по подписке могут ещё синхронизировать навыки из вашего аккаунта claude.ai; сессии с ключом API — нет.
CLAUDE.md и память
Каждая сессия начинается с чистого контекстного окна, поэтому долговечные правила должны жить в файлах. CLAUDE.md — файл инструкций проекта; он читается в начале каждого разговора. Расположения, от самого широкого к самому конкретному:
- Управляемая политика: её разворачивают администраторы, например /etc/claude-code/CLAUDE.md в Linux.
- Пользователь: ~/.claude/CLAUDE.md — личные предпочтения для всех проектов.
- Проект: ./CLAUDE.md или ./.claude/CLAUDE.md — коммитится и доступен команде.
- Локальный: ./CLAUDE.local.md — ваши личные заметки по этому проекту; добавьте его в .gitignore.
Файлы от рабочего каталога вверх склеиваются, ближайший — последним.
Файлы во вложенных каталогах загружаются по требованию, когда Claude
трогает файл там. Запустите /init один раз,
чтобы сгенерировать начальный файл, /memory —
чтобы открыть и отредактировать файлы, и
/context — чтобы проверить, что именно
загрузилось.
Репозиториям, которые уже используют
AGENTS.md, дубликат не нужен: Claude Code
читает AGENTS.md вместо
CLAUDE.md, когда в рабочем каталоге или выше
нет ни CLAUDE.md, ни
CLAUDE.local.md. Однострочный
CLAUDE.md с импортом
@AGENTS.md держит оба инструмента на одном
файле, если CLAUDE.md уже существует или
версия старее.
# CLAUDE.md @AGENTS.md ## Claude Code - Use plan mode for changes under src/billing/.
Импорты по @path раскрываются при запуске и могут вкладываться на четыре уровня. Для больших проектов разложите инструкции по файлам .claude/rules/; правило с frontmatter paths: загружается, только когда Claude работает с подходящими файлами. Держите каждый файл примерно до 200 строк: длинные файлы стоят контекста и снижают послушность. Claude ещё ведёт собственную авто-память в ~/.claude/projects/<project>/memory/ с индексом MEMORY.md; смотреть её — /memory.
Настройки и разрешения
Настройки лежат в JSON-файлах с ясным приоритетом: управляемая политика, затем пользовательский ~/.claude/settings.json, затем проектный .claude/settings.json, затем локальный .claude/settings.local.json. Блок permissions — это слой безопасности. Правила оцениваются как allow, ask и deny, с именем инструмента и необязательным уточнением. Общие правила проекта идут в .claude/settings.json:
vi .claude/settings.json
{ "permissions": { "allow": [ "Bash(git status:*)", "Bash(git diff:*)", "Bash(npm run test:*)" ], "ask": ["Bash(git push:*)"], "deny": [ "Read(./.env)", "Read(./secrets/**)", "Bash(curl:*)" ] } }
Правила проекта и хуки начинают действовать только после того, как вы один раз доверитесь рабочему каталогу; склонированный репозиторий не может сам одобрить свою конфигурацию. Режимы разрешений меняют то, как часто вас спрашивают:
- default: спрашивает, когда инструмент не покрыт правилом.
- plan: сначала исследование только для чтения; Claude показывает план и ждёт одобрения, прежде чем править. Сложную работу начинайте здесь.
- acceptEdits: правки файлов проходят без запросов; shell всё ещё спрашивает.
- auto: классификатор одобряет или блокирует вызовы по вашим правилам; меньше вопросов, те же ограничители.
- bypassPermissions: запросов нет совсем. Только в одноразовых песочницах и CI, никогда на ноутбуке с рабочими секретами.
Режим задаётся на сессию флагом --permission-mode или переключается внутри сессии через /permissions. Правила deny и хуки — единственные слои, которые держатся даже в режиме auto, поэтому туда кладите по-настоящему запретные пути: .env, учётные данные, ключи развёртывания.
Субагенты
Субагенты — специализированные воркеры со своим контекстным окном, своим системным промптом, своим списком инструментов и своей моделью. Claude делегирует им, сопоставляя задачу с описанием каждого субагента, а они возвращают только сводку, и это удерживает исследование и логи вне основного разговора. Файлы лежат в .claude/agents/ (проект) или ~/.claude/agents/ (личные). Пример файла .claude/agents/code-reviewer.md:
mkdir -p .claude/agents
vi .claude/agents/code-reviewer.md
--- name: code-reviewer description: Reviews changes for correctness, security and missing tests. Use after every code change. tools: Read, Grep, Glob model: opus --- You are a strict reviewer. Report findings in severity order, each with file and line. Never edit files.
Попросите конкретного субагента по имени, когда он нужен явно: Use the code-reviewer subagent on my staged changes. Встроенные субагенты, такие как Explore, Plan и general-purpose, закрывают поиск и многошаговую работу вообще без файлов. Файлы, поля, инструменты, модели, память, изоляция worktree и полные примеры — в статье Субагенты Claude Code.
Навыки и команды
Навык упаковывает повторяемую процедуру. Это каталог с файлом SKILL.md внутри; тело загружается только когда навык используется, поэтому длинные чек-листы в покое почти ничего не стоят. Навыки проекта лежат в .claude/skills/<name>/SKILL.md. Пример файла .claude/skills/summarize-changes/SKILL.md:
mkdir -p .claude/skills/summarize-changes
vi .claude/skills/summarize-changes/SKILL.md
--- description: Summarizes uncommitted changes and flags risks. Use when the user asks what changed. allowed-tools: Bash(git diff:*) --- ## Current changes !`git diff HEAD` Summarize in two or three bullets, then list risks: missing error handling, hardcoded values, tests to update.
Запустить его можно двумя способами: Claude вызывает навык
автоматически, когда совпадает описание, или вы набираете
/summarize-changes. Остальным управляет
frontmatter: disable-model-invocation делает
навык только ручным, allowed-tools заранее
одобряет инструменты на ход, paths
ограничивает активацию подходящими файлами, а
context: fork запускает навык в отдельном
субагенте. Файл Markdown в .claude/commands/ —
это старый формат команд, он всё ещё работает; пользовательские
команды и навыки объединили.
Навыки следуют открытому стандарту Agent Skills, и
.claude/skills/ читает также
OpenCode как совместимое место — один
каталог, два ассистента. Claude Code поставляется и со встроенными
навыками, включая /code-review,
/verify и /run;
список — /skills. Детали формата и другие
примеры — в статье
Как писать навыки для ИИ-ассистентов.
Серверы MCP
MCP подключает Claude Code к трекерам задач, базам данных, файлам дизайна и мониторингу. Добавьте удалённый сервер по HTTP:
claude mcp add --transport http notion https://mcp.notion.com/mcp claude mcp add --transport http secure-api https://api.example.com/mcp \ --header "Authorization: Bearer your-token"
Для локального инструмента, который работает процессом, всё после двойного дефиса — это команда запуска:
claude mcp add airtable --env AIRTABLE_API_KEY=YOUR_KEY -- npx -y airtable-mcp-server
Три области решают, кто видит сервер: local (только вы, этот проект), project (коммитится в .mcp.json и доступен команде) и user (все ваши проекты). Проверять и управлять ими — claude mcp list и /mcp; серверы проекта ждут вашего одобрения при первом обращении. Относитесь к каждому серверу как к коду, который вы запускаете: проверьте издателя перед подключением, потому что сервер, который тянет внешнее содержимое, может нести внедрение промпта.
Хуки
Инструкции в CLAUDE.md — это рекомендации; хуки — это принуждение. Они запускают команды оболочки в фиксированных точках жизненного цикла, настраиваются под ключом hooks в файле настроек: перед вызовом инструмента (PreToolUse), после него (PostToolUse), при старте или конце сессии и при загрузке инструкций. Типичные применения: форматирование после каждой правки, запуск линтера-шлюза перед коммитом или прямой запрет команды. Хуки проекта идут в .claude/settings.json:
vi .claude/settings.json
{ "hooks": { "PostToolUse": [ { "matcher": "Edit|Write", "hooks": [ { "type": "command", "command": "npx prettier --write $CLAUDE_FILE_PATHS" } ] } ] } }
Хуки работают с вашими правами и действуют на всю сессию, поэтому держите их маленькими и детерминированными. Руководство по хукам по ссылке ниже описывает каждое событие, сопоставление и контракт кодов выхода: code.claude.com hooks.
Рабочие приёмы
- Планируйте до правок. Нетривиальные изменения начинайте в режиме plan; прочитайте предложенный план, исправьте его, затем одобрите. Это дешевле, чем откатывать неверный рефакторинг.
- Ревью субагентом. После сборки попросите ревьюера только для чтения вынести вердикт по staged diff. Свежий контекст ловит то, что builder нормализовал.
- Проверка на приложении. /verify собирает и запускает проект, чтобы подтвердить, что изменение работает, вместо доверия одним тестам; /run прогоняет приложение, чтобы это увидеть.
- В конвейер. Неинтерактивный режим превращает Claude Code в инструмент Unix: tail -200 app.log | claude -p "summarize the errors" или git diff main --name-only | claude -p "review these for security issues".
- Коммит и PR. Claude индексирует изменения, пишет сообщения коммитов и открывает пулл-реквесты. Оставьте правила разрешений из раздела Настройки, чтобы push оставался за запросом.
- Параллельные сессии. Фоновые агенты и настольное приложение ведут несколько сессий рядом; запланированные задачи закрывают повторяющуюся работу вроде утреннего ревью PR.
Полная карта поверхностей и автоматизации — в официальной документации: code.claude.com overview.
Решение проблем
- После установки команда не найдена. Каталог установки не в PATH; откройте новый терминал, затем пройдите раздел PATH в руководстве по решению проблем установки.
- AGENTS.md будто игнорируется. В рабочем каталоге или выше есть CLAUDE.md или CLAUDE.local.md, поэтому побеждает он. Импортируйте AGENTS.md из CLAUDE.md или настройте Project instructions так, чтобы читались оба.
- Инструкции не выполняются. Запустите /context и проверьте Memory files: файла, которого там нет, никогда не загружали. Затем сделайте правило конкретным и проверяемым вместо общей просьбы.
- Сервер MCP не подключается. Запустите claude mcp list: Needs authentication значит, что нужно войти через /mcp, Pending approval — что сервер проекта надо одобрить в интерактивной сессии.
- Что-то вообще не так. Запустите claude doctor в оболочке или /doctor в сессии, а /doctor prompt-audit — чтобы найти противоречивые инструкции в файлах CLAUDE.md, навыках и командах.
Автор статьи: Клавдия Кондакова