LIVE//NAKODIL.SITE//PAYLOAD :: GUIDE

Гайд · 5 мин чтения

Настройка Claude Code: глобальный и проектный уровень

Claude Code хранит настройки на двух уровнях — глобальном и проектном. Разбираемся, что класть в каждый, почему это экономит токены, и забираем готовый шаблон CLAUDE.md.

Антон 0 просмотров
Настройка Claude Code: глобальный и проектный уровень
Коротко

Claude Code хранит настройки на двух уровнях: глобальном и проектном. Это одна из первых вещей, в которой путаются — складывают всё в одно место, а потом удивляются, почему агент тормозит, забывает контекст и быстро съедает лимиты.

Логика на самом деле простая. Разберём, что куда класть и почему правильная структура экономит токены. В конце — готовый шаблон CLAUDE.md, который можно скопировать.

Главная ошибка: всё в одну кучу

Типичный сценарий: человек ставит Claude Code, открывает глобальный конфиг и сваливает туда всё подряд — общие правила, инструкции конкретного проекта, десятки скиллов «на всякий случай», агентов. Работает? Формально да. Но каждый такой кусок попадает в контекст каждой сессии — и в каждом проекте, даже там, где он не нужен.

Результат: контекст забит, Claude чаще ошибается, отвечает медленнее и быстрее упирается в лимиты. Чинится это разделением на два уровня.

Два уровня: где что лежит

Папка с настройками живёт в двух местах одновременно:

Your Computer
│
├── ~/.claude/            GLOBAL
│   ├── CLAUDE.md
│   ├── skills/
│   └── agents/
│
└── projects/
    └── my-website/      PROJECT
        ├── CLAUDE.md
        ├── .claude/
        │   ├── skills/
        │   └── agents/
        ├── index.html
        └── styles.css

Claude автоматически загружает оба. При конфликте правил проектный уровень имеет приоритет. Правило выбора простое: применимо везде — глобальный, только в этом репо — проектный.

Что класть в глобальный уровень

Глобальный уровень — это три части: CLAUDE.md, skills/ и agents/.

~/.claude/
├── CLAUDE.md   # поведение во всех проектах
├── skills/    # только универсальные
└── agents/    # только универсальные

1. CLAUDE.md — поведение во всех проектах

Это главный файл. Загружается всегда, в каждой сессии, до первого твоего сообщения. Сюда — то, как Claude должен себя вести независимо от проекта:

Важный момент: не клади сюда инструкции конкретного проекта. Стек, структура папок, как деплоить — это второй уровень.

Ориентир по размеру — до 200 строк. Длинный CLAUDE.md работает хуже: Claude перегружен правилами и теряет фокус. Детали выноси в скиллы или отдельные файлы.

2. skills/ и agents/ — только универсальные

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

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

Что класть в проектный уровень

Проектный CLAUDE.md и папка .claude/ внутри репозитория — для всего, что относится только к этому проекту:

my-website/
├── CLAUDE.md   # стек, структура, деплой
└── .claude/
    ├── skills/  # только для этого проекта
    └── agents/

Внутри проекта тоже могут быть свои skills/ и agents/ — те, что нужны только в этом репозитории. И вот тут многие путаются:

Скилл, установленный в проект, в других проектах недоступен. Это не баг — так и задумано. Проектные скиллы едут вместе с репозиторием и не засоряют остальные.

Почему это экономит токены

Ключ к пониманию: глобальный уровень грузится в каждый запрос. Глобальный CLAUDE.md — целиком. Описания всех глобальных скиллов и агентов — в стартовый контекст каждой сессии.

Чем больше лишнего в глобальном уровне, тем больше входных токенов уходит на каждый запрос — ещё до того, как ты что-то спросил. Проектные настройки, наоборот, грузятся только когда ты в этом проекте. В остальных репозиториях они стоят ноль токенов.

Отсюда вся выгода правильной структуры: глобальный уровень держишь маленьким и универсальным, всё специфичное — в проектах. Claude работает чище, быстрее и не сжигает контекст на то, что сейчас не нужно.

Готовый шаблон CLAUDE.md

Скопируй в ~/.claude/CLAUDE.md и адаптируй под себя. Это глобальный уровень — только поведение, ничего проектного:

# Кто я
Короткое описание: чем занимаешься, какие основные проекты, цели.

# Правила
- Язык общения и тон (например: по-русски, конкретно, без воды)
- Делай только то, что просят — не добавляй лишнего
- Перед завершением задачи — опиши, как проверишь результат

# Дисциплина кода
- Перед изменением файла — сначала прочитай его
- Перед изменением функции — найди все её вызовы
- Указывай код точными координатами: file.rb:42-87

# Ключевые пути
- Где основные проекты
- Где заметки / документы

# Чего не делать без подтверждения
- Деплой на прод
- Удаление файлов, force push, сброс изменений

# Проектные инструкции
- Project A → путь/к/проекту/CLAUDE.md

А вот мини-пример проектного .claude/CLAUDE.md — он лежит в корне репозитория и описывает только этот проект:

# Проект X

## Стек
- Язык, фреймворк, ключевые библиотеки

## Структура
- app/ — ...
- config/ — ...

## Деплой
- Команда деплоя и куда выкатывается
- Что проверить перед выкаткой

## Конвенции
- Именование, формат коммитов, ожидания по тестам

С чего начать

Не пытайся настроить всё сразу. Порядок, который даёт максимум эффекта:

Источники

  1. Claude Code — Memory (CLAUDE.md) — официальная документация по файлам памяти
  2. Claude Code — Subagents — глобальные и проектные агенты
  3. Claude Code — Settings — структура настроек и приоритеты
  4. Claude Code — Overview — общая документация

Читать дальше

Если что-то не сошлось или есть вопрос по конкретному уровню — пиши, отвечаю.

Частые вопросы

Чем глобальный уровень отличается от проектного?

Глобальный (`~/.claude/`) виден Claude из любой папки и применяется ко всем проектам. Проектный (`.claude/` в корне репозитория) виден только когда ты работаешь в этом проекте.

Где лежит файл CLAUDE.md?

В двух местах: глобальный — `~/.claude/CLAUDE.md`, проектный — `.claude/CLAUDE.md` в корне репозитория. Claude загружает оба, проектный имеет приоритет при конфликте.

Сколько строк должно быть в CLAUDE.md?

Ориентир — до 200 строк. Чем длиннее файл, тем хуже Claude ему следует и тем больше тратит контекста. Детали выноси в скиллы или отдельные файлы.

Виден ли скилл из проекта в других проектах?

Нет. Скилл, установленный в `.claude/skills/` конкретного репозитория, доступен только в нём. Чтобы скилл работал везде, клади его в `~/.claude/skills/`.

Правда ли неправильная настройка тратит токены?

Да. Глобальный CLAUDE.md и описания всех глобальных скиллов и агентов попадают в контекст каждой сессии. Лишнее в глобальном уровне — это лишние токены в каждом запросе.