10 настроек Claude Code для разработчика-архитектора
Claude Code работает из коробки — но «из коробки» значит с настройками по умолчанию, которые не знают о вашем проекте, команде и рабочих привычках. Правильно настроенный инстанс работает иначе: он знает, что разрешено и что нельзя, как обрабатывать git, где хранить память и как интегрироваться с корпоративными инструментами.
Официальная документация по настройкам Claude Code описывает 70+ параметров. Этот гайд — выборка из 10 наиболее важных для разработчика-архитектора, с объяснением зачем каждый нужен.
Как работает система настроек
Claude Code использует иерархию из четырёх уровней (от высшего приоритета к низшему):
- Managed — корпоративные политики (MDM, серверные настройки). Нельзя переопределить
- Local —
.claude/settings.local.jsonв репозитории, gitignored (личные настройки) - Project —
.claude/settings.jsonв репозитории, коммитится в git (командные настройки) - User —
~/.claude/settings.json(глобальные личные настройки)
Большинство настроек обновляются без перезапуска (hot reload). Исключение: model и outputStyle требуют /clear или рестарта.
1. permissions — что Claude может делать без спроса
Самая важная настройка. Определяет, какие операции разрешены автоматически, какие требуют подтверждения, а какие запрещены.
{
"permissions": {
"allow": [
"Bash(npm run lint)",
"Bash(npm run test)",
"Read(~/.zshrc)"
],
"deny": [
"Bash(curl *)",
"Bash(rm -rf *)",
"Read(./.env)"
]
}
}
Без явных правил Claude будет спрашивать подтверждение на каждый потенциально опасный инструмент. Настройте permissions в .claude/settings.json и закоммитьте в репозиторий — так команда работает с одинаковыми ограничениями.
2. model — выбор модели под задачу
{
"model": "claude-opus-4-7"
}
По умолчанию используется модель, с которой вошли. Архитектурные задачи, рефакторинг крупных модулей, ревью сложного кода — Opus 4.7. Рутинные задачи (generate boilerplate, исправить тест) — Sonnet или Haiku быстрее и дешевле.
3. hooks — автоматические действия на события
Hooks выполняют shell-команды при наступлении событий в жизненном цикле сессии:
{
"hooks": {
"PostToolUse": [
{
"matcher": "Write|Edit",
"hooks": [{"type": "command", "command": "npm run lint --fix $FILE"}]
}
]
}
}
Поддерживаемые события: PreToolUse, PostToolUse, Notification, Stop. Мощный инструмент для интеграции с линтерами, тестами, системами нотификаций прямо в процессе работы Claude.
4. autoMemoryEnabled / autoMemoryDirectory — память между сессиями
{
"autoMemoryEnabled": true,
"autoMemoryDirectory": "~/.claude/projects/my-project/memory/"
}
Автоматическая память сохраняет контекст между сессиями: предпочтения по коду, решения по архитектуре, уточнения команды. Без этого каждая сессия начинается с нуля. Для активных проектов — существенная экономия времени на восстановление контекста.
5. claudeMd — управление CLAUDE.md файлами
{
"claudeMd": {
"includes": ["./CLAUDE.md", "./.claude/instructions/*.md"],
"excludes": ["./legacy/**"]
}
}
CLAUDE.md — основной способ передать Claude контекст проекта: архитектурные принципы, запрещённые паттерны, команды сборки. Параметр claudeMdExcludes позволяет исключить директории с устаревшим кодом, чтобы не загрязнять контекст.
6. effortLevel — баланс между скоростью и глубиной
{
"effortLevel": "high"
}
Значения: low, medium, high. Высокий уровень — более глубокий анализ, больше «думает» перед ответом. Для архитектурных решений и дизайн-ревью — high. Для быстрых правок — low или medium.
7. allowedMcpServers / deniedMcpServers — управление MCP-интеграциями
{
"allowedMcpServers": ["github", "jira-internal"],
"deniedMcpServers": ["*-untrusted"]
}
MCP (Model Context Protocol) позволяет Claude работать с внешними инструментами: GitHub, базами данных, корпоративными системами. В managed-настройках администраторы могут ограничить список разрешённых серверов. В project-настройках — зафиксировать, какие MCP-серверы нужны для проекта.
8. attribution — подпись коммитов
{
"attribution": {
"coAuthoredBy": true,
"gitBlame": false
}
}
Управляет тем, добавляется ли подпись Claude в git-коммиты и PR. Для команд с политикой атрибуции AI-ассистента — включить coAuthoredBy.
9. statusLine — видимость состояния в терминале
{
"statusLine": "auto"
}
Показывает текущее состояние Claude (думает, ждёт ввода) в статусной строке терминала. Полезно при длинных операциях. Поддерживает iTerm2, Kitty, Ghostty — настраивается через preferredNotifChannel.
10. env — переменные окружения для инструментов
{
"env": {
"CLAUDE_CODE_ENABLE_TELEMETRY": "1",
"OTEL_METRICS_EXPORTER": "otlp",
"OTEL_EXPORTER_OTLP_ENDPOINT": "http://localhost:4317"
}
}
Позволяет передавать переменные окружения в hooks и helper-скрипты без изменения системного окружения. Особенно полезно для OpenTelemetry-интеграции и корпоративных прокси.
Типичные ошибки при настройке
Слишком широкий deny без allow. Запрещаете Bash(*) целиком, не добавив разрешения для тестов и линтера. Claude начинает спрашивать подтверждение на каждую операцию — теряется весь смысл автоматизации.
Не закоммиченный project settings. Настройки лежат в .claude/settings.local.json (gitignored), а не в settings.json. Другие разработчики в команде работают с дефолтными правилами — нет единого поведения.
Слишком подробный CLAUDE.md без структуры. Длинный неструктурированный файл с историческими заметками загружает контекст, но Claude не может вычленить приоритетные правила. Держите CLAUDE.md кратким и актуальным — устаревшие инструкции хуже, чем их отсутствие.
autoMemory без ревизии. Автопамять накапливает устаревшие факты о проекте — решения, которые уже изменились, имена файлов, которые переименованы. Периодически просматривайте и чистите memory-директорию.
JSON Schema для автодополнения
Все settings-файлы поддерживают JSON Schema для автодополнения в VS Code и Cursor:
{
"$schema": "https://json.schemastore.org/claude-code-settings.json"
}
Добавьте эту строку в начало settings.json — и IDE будет подсказывать доступные параметры и их допустимые значения.
С чего начать
Минимальный стартовый набор для проекта: создайте .claude/settings.json с permissions (разрешите тесты и lint, запретите curl и .env), добавьте model и закоммитьте. Это даст команде единый baseline без лишних вопросов на каждую операцию.
Источник: официальная документация Claude Code — code.claude.com/docs/en/settings. Актуальный полный список параметров (70+) и примеры конфигураций — в официальной документации.