LIVE//NAKODIL.SITE//PAYLOAD :: GUIDE
Настройка Claude Code: глобальный и проектный уровень
Claude Code хранит настройки на двух уровнях — глобальном и проектном. Разбираемся, что класть в каждый, почему это экономит токены, и забираем готовый шаблон CLAUDE.md.
- Claude Code читает настройки с двух уровней: глобальный `~/.claude/` (работает везде) и проектный `.claude/` (только в этом репозитории).
- В глобальный — только поведение и инструменты, которые нужны во всех проектах. В проектный — стек, структура и скиллы конкретного репо.
- Всё, что лежит в глобальном, грузится в каждый запрос и тратит токены. Чем меньше там лишнего — тем дешевле и быстрее работает Claude.
- В конце — готовый шаблон CLAUDE.md, который можно скопировать и адаптировать под себя.
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 из любой директории. Сюда идёт всё, что нужно всегда и везде..claude/в корне репозитория — проектный уровень. Виден только когда ты работаешь в этом проекте. Сюда идёт всё, что специфично для конкретной кодовой базы.
Claude автоматически загружает оба. При конфликте правил проектный уровень имеет приоритет. Правило выбора простое: применимо везде — глобальный, только в этом репо — проектный.
Что класть в глобальный уровень
Глобальный уровень — это три части: CLAUDE.md, skills/ и agents/.
~/.claude/
├── CLAUDE.md # поведение во всех проектах
├── skills/ # только универсальные
└── agents/ # только универсальные
1. CLAUDE.md — поведение во всех проектах
Это главный файл. Загружается всегда, в каждой сессии, до первого твоего сообщения. Сюда — то, как Claude должен себя вести независимо от проекта:
- Язык и тон общения
- Общие правила работы (например, «перед изменением функции — найди все вызовы»)
- Краткое описание тебя и твоих целей
- Что нельзя делать без подтверждения (deploy, удаление файлов, force push)
Важный момент: не клади сюда инструкции конкретного проекта. Стек, структура папок, как деплоить — это второй уровень.
Ориентир по размеру — до 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/ — ...
## Деплой
- Команда деплоя и куда выкатывается
- Что проверить перед выкаткой
## Конвенции
- Именование, формат коммитов, ожидания по тестам
С чего начать
Не пытайся настроить всё сразу. Порядок, который даёт максимум эффекта:
- 30 минут — глобальный CLAUDE.md. Скопируй шаблон выше, заполни под себя. Это 80% пользы от всей структуры.
- Дальше — почисти глобальные скиллы. Оставь только те, которыми реально пользуешься везде. Остальное убери — оно зря ест контекст.
- Потом — проектный CLAUDE.md в репозитории, над которым работаешь чаще всего. Стек, структура, деплой.
Источники
- Claude Code — Memory (CLAUDE.md) — официальная документация по файлам памяти
- Claude Code — Subagents — глобальные и проектные агенты
- Claude Code — Settings — структура настроек и приоритеты
- Claude Code — Overview — общая документация
Читать дальше
- Квест: сайт за неделю на Claude Code — практика с нуля
- Гайды по Claude Code — все материалы по теме
Если что-то не сошлось или есть вопрос по конкретному уровню — пиши, отвечаю.
Частые вопросы
Чем глобальный уровень отличается от проектного?
Глобальный (`~/.claude/`) виден Claude из любой папки и применяется ко всем проектам. Проектный (`.claude/` в корне репозитория) виден только когда ты работаешь в этом проекте.
Где лежит файл CLAUDE.md?
В двух местах: глобальный — `~/.claude/CLAUDE.md`, проектный — `.claude/CLAUDE.md` в корне репозитория. Claude загружает оба, проектный имеет приоритет при конфликте.
Сколько строк должно быть в CLAUDE.md?
Ориентир — до 200 строк. Чем длиннее файл, тем хуже Claude ему следует и тем больше тратит контекста. Детали выноси в скиллы или отдельные файлы.
Виден ли скилл из проекта в других проектах?
Нет. Скилл, установленный в `.claude/skills/` конкретного репозитория, доступен только в нём. Чтобы скилл работал везде, клади его в `~/.claude/skills/`.
Правда ли неправильная настройка тратит токены?
Да. Глобальный CLAUDE.md и описания всех глобальных скиллов и агентов попадают в контекст каждой сессии. Лишнее в глобальном уровне — это лишние токены в каждом запросе.