10 настроек Claude Code для разработчика-архитектора

Claude Code работает из коробки — но «из коробки» значит с настройками по умолчанию, которые не знают о вашем проекте, команде и рабочих привычках. Правильно настроенный инстанс работает иначе: он знает, что разрешено и что нельзя, как обрабатывать git, где хранить память и как интегрироваться с корпоративными инструментами.

Официальная документация по настройкам Claude Code описывает 70+ параметров. Этот гайд — выборка из 10 наиболее важных для разработчика-архитектора, с объяснением зачем каждый нужен.

Как работает система настроек

Claude Code использует иерархию из четырёх уровней (от высшего приоритета к низшему):

  1. Managed — корпоративные политики (MDM, серверные настройки). Нельзя переопределить
  2. Local.claude/settings.local.json в репозитории, gitignored (личные настройки)
  3. Project.claude/settings.json в репозитории, коммитится в git (командные настройки)
  4. 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+) и примеры конфигураций — в официальной документации.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *