Claude Code — Минимальная настройка
14 августа 2026 г.
2 мин
8

Claude Code — Минимальная настройка

Большинство разработчиков устанавливают Claude Code и сразу бросаются в работу. Пропускают базовую настройку - потом удивляются почему инструмент ведёт себя непредсказуемо.

Вот что реально нужно настроить до того как начать.

Структура файлов конфигурации

Claude Code не имеет единого файла настроек. Настройки разбросаны по нескольким файлам с разным охватом:

# Глобальные (применяются ко всем проектам)
~/.claude/settings.json     # твои личные настройки: модель, разрешения
~/.claude/CLAUDE.md         # инструкции которые загружаются в каждой сессии

# На уровне проекта (живут в репозитории)
.claude/settings.json        # общие настройки команды - коммитить
.claude/settings.local.json  # твои личные переопределения - в .gitignore
CLAUDE.md                    # инструкции проекта - коммитить
CLAUDE.local.md              # твои личные заметки - в .gitignore

Правило простое: более специфичный файл всегда побеждает. Проектный переопределяет глобальный.

Важный момент про permissions: если ты определяешь блок permissions на уровне проекта - он заменяет твои глобальные разрешения, а не дополняет. Это нужно учитывать заранее.

Два файла которые нужны прямо сейчас

~/.claude/settings.json - начни здесь. Укажи модель:

{
  "model": "claude-sonnet-4-6",
  "permissions": {
    "allow": [
      "Bash(git log *)",
      "Bash(git diff *)"
    ]
  }
}

CLAUDE.md - Claude читает этот файл в начале каждой сессии, до того как ты что-то напишешь. Лучшая аналогия - это onboarding документ для нового разработчика. Только этот действительно читается каждый раз и без пропусков.

# Project: my-site

## Stack
Next.js 16, Node.js, PostgreSQL, TypeScript

## Build and Test
- Build: npm run build
- Dev: npm run dev
- Deploy: npm run deploy

## Architecture
- Бизнес-логика и трансформация данных - в утилитах (/utils)
- Компоненты остаются чистыми
- Не делать прямых запросов к БД из компонентов

Почему я не использую deny правила

Deny rules это паттерн-матчинг по строкам. Claude Code - агент который умеет рассуждать. И агенты рассуждают вокруг паттерн-матчинга.

Исследователи зафиксировали случай где Claude обошёл deny правило используя /proc/self/root/usr/bin/npx вместо npx. Разная строка - тот же бинарник.

Для всего что реально не хочешь трогать - используй права доступа на уровне ОС или запускай Claude Code в контейнере.

Что коммитить а что нет

# Коммитить - делиться с командой
./CLAUDE.md
./.claude/settings.json

# НЕ коммитить - личные переопределения
./CLAUDE.local.md          # добавь в .gitignore вручную!
./.claude/settings.local.json  # gitignored автоматически

CLAUDE.local.md нужно добавить самому:

echo "CLAUDE.local.md" >> .gitignore

Правило которое реально работает

Не пиши deny правила в надежде что они защитят. Пиши CLAUDE.md с чёткими инструкциями что делать - и разрешай только то что нужно в settings.json.

Не знаешь с чего начать? Запусти /init из директории проекта. Claude Code сканирует кодовую базу и генерирует стартовый файл. Не идеально, но лучше чем чистый лист.

Итог

До хуков, субагентов и других интеграций - сделай эти два правильно:

  1. ~/.claude/settings.json - выбери модель, задай разрешённые инструменты. На сейчас достаточно.
  2. CLAUDE.md - глобальный файл для личных дефолтов, проектный для команд сборки, стека и конвенций. Коммить проектный. Делай их оба достаточно короткими чтобы ты сам стал их читать.

Самая частая путаница: люди пишут правила в CLAUDE.md ожидая что они будут держаться под давлением, потом обращаются к settings.json разрешениям как к послемысли. Обычно работает наоборот - permissions для жёстких стопов, CLAUDE.md для всего что требует суждения.