Матвей АбрамовМатвей АбрамовВступить в клуб

Как настроить проект в Claude Code: структура папок и контекст

Матвей Абрамов
1 июня 2026 · 20 мин чтения · Уровень: Базовый → Средний
1 460 просмотров 21 поделились 183 оценили полезной
CLAUDE.md /.clauderulesskillsagents контекст проект готов

Хороший проект в Claude Code держится на двух вещах: правильной структуре папок и грамотном контексте в CLAUDE.md. Настроишь это один раз — и Claude перестаёт «забывать» проект, переспрашивать и жечь токены впустую. Ниже — полный разбор: как устроена память Claude Code, что писать в CLAUDE.md (с готовым шаблоном), как разложить папку .claude/ с правилами, навыками и агентами, как управлять контекстом и вести проект изо дня в день. В конце — рабочий пример с нуля и как на этом фундаменте собрать свой первый продукт без лица.

Веду канал про Claude и вайбкодингРазборы, связки и то, как на этом собирать продукт без лица.
Подписаться
Что узнаешь из гайда
  • Как работает память Claude Code и почему он «забывает» проект без настройки
  • Что писать в CLAUDE.md, а что туда класть нельзя — с готовым шаблоном
  • Как устроена папка .claude/: правила, навыки, агенты, команды — с примерами
  • Контекст-инжиниринг: как держать Claude точным и не жечь токены
  • Рабочий пример настройки проекта с нуля + 7 типичных ошибок и как их чинить
  • Как на готовом проекте собрать свой первый продукт без лица

Почему без настройки Claude «тупит» и жжёт токены

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

Если проект не настроен, дальше происходит предсказуемое. Claude гадает, где что лежит, и читает лишние файлы, чтобы сориентироваться. Переспрашивает очевидное. Принимает решения вразрез с твоими договорённостями — потому что он про них не знает. Пишет в стиле, который не совпадает с остальным кодом. И повторяет то, что вы уже обсуждали вчера, потому что «вчера» для него не существует.

Каждое такое действие — это сожжённые токены и ответ мимо цели. На реальном проекте это легко превращается в десятки лишних минут и тысячи токенов за сессию. Сравни два сценария:

Без настройкиС настройкой
Claude читает полпроекта, чтобы понять структуруОткрывает CLAUDE.md и сразу видит карту
Переспрашивает про стек и командыЗнает стек и команды из карты
Делает в своём стиле, ломает договорённостиРаботает по твоим правилам
Контекст забит лишним → дороже и хужеВ контексте только нужное → точнее и дешевле

Настройка убирает всё это одним движением: ты один раз даёшь Claude карту проекта и правила, и дальше он работает по ним, а не догадывается.

Правильно настроенный проект — это разница между «ассистентом, который знает твой проект» и «стажёром, которому каждое утро объясняешь всё заново». Первый экономит часы и токены, второй — сжигает и то и другое.

Как устроена память Claude Code: три уровня

Чтобы настройка была осмысленной, надо понять, откуда Claude вообще берёт «память». Файлы CLAUDE.md работают на трёх уровнях, и Claude подгружает их все, от общего к частному:

УровеньГде лежитДля чего
Глобальный~/.claude/CLAUDE.mdТвои привычки и правила для ВСЕХ проектов (стиль ответов, язык, общие принципы)
Проектный./CLAUDE.md в корнеВсё про конкретный проект — стек, карта, правила. Главный файл, его коммитят в репозиторий
Локальный./CLAUDE.local.mdЛичные заметки по проекту, которые не нужны команде (в .gitignore)
ВложенныйCLAUDE.md в подпапкеПравила для конкретного модуля — подхватываются, когда работаешь внутри него

Принцип простой: чем ближе файл к тому, над чем ты работаешь, тем он приоритетнее. Глобальный задаёт общие привычки, проектный уточняет их под проект, вложенный — под модуль. Это как слои: общий фон → проект → конкретная папка.

Практический вывод

В глобальный ~/.claude/CLAUDE.md вынеси то, что верно всегда (например, «отвечай на русском, код комментируй по делу»). Всё про конкретный проект — в проектный CLAUDE.md. Не дублируй: если правило уже в глобальном, в проектном его повторять не нужно.

Пример глобального ~/.claude/CLAUDE.md — твои привычки на все проекты сразу:

# Общие правила (для всех проектов)
- Отвечай на русском, по делу, без воды.
- Перед крупным изменением — сначала покажи план.
- Комментируй код там, где логика неочевидна.
- Не добавляй зависимости и не удаляй файлы без спроса.

Главный принцип: одна корневая папка + CLAUDE.md как карта

Базовое правило структуры: всё, что относится к проекту, лежит в одной корневой папке. Фронтенд, бэкенд, документация, рабочие заметки, ассеты — всё вместе, под одним корнем. Так Claude видит проект целиком, а не кусками, и связи между частями для него очевидны.

В корне этой папки лежит CLAUDE.md. Ключевая мысль, которую важно усвоить сразу, иначе файл превратится в свалку:

CLAUDE.md — это карта, а не документация

Не нужно описывать каждую функцию. Нужно объяснить Claude: что это за проект, какой стек, где что лежит, по каким правилам работать и какие команды запускать. Карта местности, по которой он сам найдёт нужную улицу — а не пересказ каждого дома.

CLAUDE.md: что писать (с готовым шаблоном)

Не нужно сидеть полдня. 80–150 строк закрывают почти всю пользу. Вот рабочая структура файла, которую можно скопировать и адаптировать:

# Проект: [название]

## Что это
Коротко: что за продукт, для кого, на какой стадии.
Пример: «Лендинг для цифрового продукта, цель — заявки, стадия MVP».

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

## Структура
- /src — код приложения
- /docs — документация и рабочие заметки
- /assets — картинки и медиа
- .claude/ — правила, навыки, агенты

## Команды
- запуск:  npm run dev
- сборка:  npm run build
- тесты:   npm test
- деплой:  ./deploy.sh

## Правила
- Пиши в существующем стиле кода, не переписывай чужое без нужды.
- Перед крупным изменением — сначала покажи план.
- Не трогай файлы в /legacy и /vendor.
- Все тексты — на русском, без канцелярита.

## Чего избегать
- Не добавляй зависимости без спроса.
- Не коммить секреты и ключи.

Принцип отбора простой — в CLAUDE.md идёт только то, что нужно каждую сессию. Всё остальное живёт в файлах, на которые ты при необходимости сошлёшься.

Класть в CLAUDE.mdНЕ класть
Что за проект и стекПолную документацию API
Карту папок («где что»)Длинные куски кода
Команды запуска/тестов/деплояИсторию изменений и решений
Базовые проверяемые правилаСекреты, ключи, пароли
Чего точно не делать«Воду»: «пиши хороший код»

Не хочешь писать руками — Claude соберёт черновик сам. В проекте есть команда /init: он просканирует папку и предложит CLAUDE.md. Либо дай прямой промпт и поправь результат:

Промпт: сгенерировать CLAUDE.md
Просканируй мой проект и собери CLAUDE.md как карту, а не документацию. Включи: что за проект и стек (определи по файлам), структуру папок одной строкой на каждую, команды запуска/сборки/тестов, 5–7 проверяемых правил работы и блок «чего избегать». Объём — до 150 строк. Сначала покажи черновик, я поправлю.

Под разные типы проектов акценты смещаются: для сайта/лендинга важны команды сборки и деплоя, для бота — где лежат сценарии и как запускать локально, для контент-проекта — где шаблоны и в каком голосе писать. Но костяк один.

Папка .claude: rules, skills, agents, commands

Когда проект растёт, один CLAUDE.md становится тесным. Тогда в дело вступает папка .claude/ — «мозг» настройки рядом с проектом. Минимальная разумная структура выглядит так:

проект/
├── CLAUDE.md            # карта проекта (читается всегда)
├── .claude/
│   ├── settings.json     # настройки и разрешения
│   ├── rules/            # детальные правила по доменам
│   ├── skills/           # повторяемые навыки-процессы
│   ├── agents/           # субагенты под отдельные задачи
│   └── commands/         # свои слэш-команды
├── src/                 # код приложения
├── docs/                # документация и заметки
└── assets/              # картинки, медиа

Разберём каждую часть с примером.

rules/ — детальные правила по доменам

Когда правил становится много, разбей их по областям, чтобы CLAUDE.md не раздувался. Например, .claude/rules/frontend.md:

# Правила фронтенда
- Компоненты — функциональные, без классов.
- Стили — только через CSS-переменные из theme.css.
- Никаких инлайн-стилей в JSX.
- Все тексты — через словарь локализации, не хардкодить.

Claude подхватит эти правила, когда работает с фронтендом, и не будет держать их в контексте, пока возится с бэкендом.

skills/ — повторяемые навыки

Если ты третий раз объясняешь одно и то же («собери лендинг по нашему стандарту»), оформи это как навык: .claude/skills/landing/SKILL.md. Внутри — короткое описание и процесс:

---
name: landing
description: Собрать лендинг по нашему стандарту
---
# Навык: лендинг
Когда просят «собрать лендинг»:
1. Уточни оффер, аудиторию и одно целевое действие.
2. Структура: хук → выгоды → как работает → отзывы → FAQ → CTA.
3. Тёмная тема, акцент оранжевый, шрифт Inter.
4. Тексты — в голосе из /docs/voice.md, без воды.
5. Один экран = одна мысль, CTA повторить 2–3 раза.

Дальше говоришь «сделай лендинг» — Claude применяет навык, а не выслушивает инструкцию заново.

Промпт: оформить навык
Я повторяю эту инструкцию каждый раз: [вставь, как ты это делаешь]. Оформи это как навык Claude Code в .claude/skills/<имя>/SKILL.md: короткое описание, когда применять, и пошаговый процесс. Сделай так, чтобы навык срабатывал, когда я прошу [задача].

agents/ — субагенты под задачи

Субагент — это отдельный «работник» со своим контекстом и набором инструментов под узкую задачу: ревьюер кода, тестировщик, исследователь. Главная польза — он не засоряет твой основной контекст: уходит, делает своё, возвращает результат. Заводится файлом в .claude/agents/ с описанием роли и инструментов. Пример .claude/agents/reviewer.md:

---
name: reviewer
description: Ревью изменений перед коммитом
tools: Read, Grep
---
Ты — придирчивый ревьюер. Проверь изменения на баги, дублирование и
нарушение правил из CLAUDE.md. Выдай список проблем по приоритету.
Сам ничего не правь — только укажи, что и где.

commands/ — свои слэш-команды

Часто повторяемое действие можно повесить на свою команду. Кладёшь .claude/commands/deploy.md с инструкцией — и вызываешь её как /deploy. Удобно для рутины: проверка перед коммитом, сборка релиза, генерация отчёта. Пример .claude/commands/check.md (вызов — /check):

Прогони перед коммитом: линтер, тесты, поиск console.log и TODO
в изменённых файлах. Покажи сводку: что прошло, что упало.
Сам ничего не коммить — только отчёт.
Правило роста

Начинай с одного CLAUDE.md. Папку .claude/ наполняй по мере боли: раздулся файл → выноси в rules/; повторяешь инструкцию → делай skill; задача сложная и засоряет диалог → заводи agent. Не строй всё это заранее — усложнять раньше времени так же вредно, как не настраивать вовсе.

Что когда использовать: сравнение

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

ИнструментЧто этоКогда использовать
CLAUDE.mdКарта и базовые правилаВсегда. Основа проекта
rules/Детальные правила по доменамКогда правил много и они разные для разных частей
skills/Переиспользуемый процессКогда повторяешь одну и ту же инструкцию
agents/Отдельный агент со своим контекстомПод узкую задачу (ревью, тесты), чтобы не засорять диалог
commands/Своя слэш-командаПод повторяемое действие-рутину

Если коротко: CLAUDE.md — это «кто мы и где что», rules — «как делать», skills — «делай вот так по шагам», agents — «сходи сделай отдельно», commands — «запусти рутину».

Контекст-инжиниринг: окно, /context, /compact

Контекст — это всё, что Claude «держит в голове» в текущей сессии: подгруженные CLAUDE.md, открытые и упомянутые файлы, история диалога. У контекста есть предел — контекстное окно. И вот неочевидное: чем оно забитее, тем хуже и дороже работает модель. Лишнее не помогает, а размывает внимание и жжёт токены.

Поэтому контекстом управляют, а не сваливают в него всё подряд. Базовый набор приёмов:

  1. Опирайся на CLAUDE.md, а не на пересказ. Не объясняй проект заново в чате — это уже в карте.
  2. Подключай файлы точечно через @. Нужно поправить модуль — дай ссылку @src/app.js, а не «прочитай весь проект». Связанное Claude дочитает сам.
  3. Смотри загрузку через /context. Команда показывает, чем забито окно. Если видишь мусор — пора чистить.
  4. Сжимай длинные сессии через /compact. Claude свернёт историю в краткую выжимку, освободив окно, но сохранив суть.
  5. Начинай новую задачу с /clear. Закончил одно — очисти контекст, чтобы старое не мешало следующему.
  6. Большие данные — в файл, а не в чат. Длинный лог, таблицу, документ положи файлом и сошлись на него.

Если нужен внешний контекст (база знаний, документация, данные из другого сервиса) — это подключается через MCP-серверы. Они дают Claude доступ к источнику по запросу, не забивая окно постоянно. Но это отдельная тема для следующего гайда.

Главное правило контекста

В окне должно быть ровно то, что нужно для текущей задачи — не больше. Раздутый контекст не делает Claude умнее, он делает его рассеяннее и дороже.

Рабочий процесс и Plan Mode

Настройка — не разовое действие, а привычка вести проект. Вот цикл, который держит всё в порядке и экономит нервы:

  1. Сложные задачи начинай с плана (Plan Mode). Прежде чем Claude тронет код, попроси сначала план — что и в каком порядке он изменит. Проверил, согласовал — запускаешь. Так не приходится откатывать сделанное.
  2. Иди маленькими итерациями. Одна задача — один понятный шаг. Большие расплывчатые задачи Claude выполняет хуже и дороже, и их тяжелее проверять.
  3. Проверяй на каждом шаге. Не копи десять изменений, чтобы потом разбираться в каше. Сделал — посмотрел — дальше.
  4. Обновляй CLAUDE.md, когда что-то меняется. Поменялся стек, добавилась команда, появилось правило — внеси сразу. Устаревшая карта вреднее, чем её отсутствие: Claude уверенно делает по неправде.
  5. Выноси повторяющееся. Третий раз объясняешь одно и то же — заведи правило или навык.
Промпт: аудит настройки проекта
Посмотри мой CLAUDE.md и структуру папок. Скажи: 1) чего не хватает в карте, чтобы ты работал точнее; 2) что в CLAUDE.md лишнее и можно убрать; 3) какие повторяющиеся правила стоит вынести в .claude/rules/; 4) что стоит оформить как навык. Дай конкретные правки, а не общие советы.

Рабочий пример: настраиваем проект с нуля

Соберём всё вместе на конкретном сценарии: ты хочешь сделать лендинг для своего цифрового продукта. Вот как выглядит правильный старт, по шагам:

  1. Создай одну корневую папку и открой её в Claude Code: claude из этой папки. Всё про лендинг будет жить здесь.
  2. Запусти /init или дай промпт на генерацию CLAUDE.md. Получишь черновик карты — поправь под себя: цель (заявки), стек (например, чистый HTML/CSS), команды.
  3. Опиши правила, которые важны: «тёмная тема, акцент оранжевый», «тексты — в моём голосе, примеры в /docs/voice.md», «не подключать тяжёлые библиотеки».
  4. Положи опору в файлы: примеры твоих текстов, описание продукта, референсы — в /docs/. В CLAUDE.md только сошлись на них.
  5. Работай через план. «Сначала структура страницы и план секций» → проверил → «теперь свёрстай первый экран» → проверил. Итерациями.
  6. Повторяемое — в навык. Если будешь делать ещё лендинги, оформи процесс как skill, чтобы следующий собрать вдвое быстрее.

Час такой настройки экономит десятки часов потом: Claude перестаёт переспрашивать и выдаёт ровно то, что нужно, в твоём стиле. А главное — у тебя получается не разовый результат, а воспроизводимый процесс, который можно применять снова.

Разрешения и безопасность

Claude Code умеет запускать команды и менять файлы — поэтому стоит сразу очертить границы. Это делается в .claude/settings.json: что разрешено без спроса, а что требует подтверждения.

  • Разрешай рутину — чтение файлов, безопасные команды (тесты, линтер), чтобы не подтверждать каждый шаг.
  • Держи под подтверждением опасное — удаление, деплой, установку зависимостей, отправку наружу.
  • Никогда не клади секреты в CLAUDE.md и не давай доступ к ключам «на всякий случай». Что не нужно — то не подключаем.

В .claude/settings.json это задаётся явно — что разрешено без вопросов, а что под запретом:

{
  "permissions": {
    "allow": ["Read", "Bash(npm test)", "Bash(npm run *)"],
    "deny":  ["Bash(rm -rf *)", "Bash(git push *)"]
  }
}
Простой принцип

Разрешай то, что не страшно откатить, и проси подтверждение на то, что трудно отменить. Это снимает 90% рисков и при этом не превращает работу в бесконечные «да/нет».

Хуки: автоматизация на событиях

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

Настраиваются в settings.json. Частый пример — автоматически форматировать код после каждой правки:

{
  "hooks": {
    "PostToolUse": [
      { "matcher": "Edit|Write", "command": "npm run format" }
    ]
  }
}

Так же можно прогонять линтер после изменений, подтягивать свежие данные при старте сессии или логировать действия. Но не увлекайся на старте: заводи хук под конкретную повторяющуюся рутину, а не «на всякий случай» — иначе настройка превращается в кашу, в которой сам потом не разберёшься.

7 ошибок, которые ломают проект в Claude Code

  • CLAUDE.md-простыня. Файл на 500 строк с документацией внутри. Claude тонет в нём так же, как и ты. Чинится: оставь карту, детали вынеси в rules/ и файлы.
  • Нет карты репозитория. Не написал, где что лежит — Claude ищет вслепую и жжёт токены на чтение лишнего. Чинится: добавь блок «Структура» одной строкой на папку.
  • Дублирование контекста. Одно и то же в CLAUDE.md, в чате и в файлах. Claude получает противоречия. Чинится: один факт — одно место.
  • Правила-«вода». «Пиши хороший код» бесполезно. Чинится: делай правила проверяемыми: «не меняй публичные API без пометки», «тесты обязательны».
  • Карту не обновляют. Проект ушёл вперёд, CLAUDE.md остался — Claude уверенно делает по устаревшему. Чинится: правишь проект — правь карту в тот же заход.
  • Грузят всё в контекст. «Прочитай весь проект» на каждую мелочь. Чинится: точечные ссылки через @ + /clear между задачами.
  • Работают без плана. Большая задача сразу «в бой» — и потом долгий откат. Чинится: Plan Mode на всё крупное.

Зачем всё это — или почему ты вайбкодишь в пустоту

Теперь честный вопрос, который мало кто себе задаёт. Ты научился настраивать проект, освоил Claude Code, собрал бота или лендинг. А дальше что?

У большинства — ничего. Проект лежит в папке. Ты потратил вечера, освоил реально крутой навык — и не заработал на нём ни рубля. Это и есть вайбкодинг в пустоту: ты кодишь, оно работает, тебе нравится — но денег это не приносит, потому что ты собираешь игрушки для себя, а не продукт для рынка.

Ловушка, в которой застревают 9 из 10

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

Вся суть в одном развороте: вайбкодинг — это не цель, а инструмент. Цель — не код, а продукт, который продаётся. И всё, что ты настроил выше, ценно ровно тем, что на этом «станке» ты за вечер собираешь не игрушку, а продаваемую вещь: лендинг с оффером, бота-продавца, мини-сервис по подписке.

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

Я зарабатываю не на том, что вайбкожу. Я зарабатываю на продуктах, собранных вайбкодингом. Настроенный проект, про который весь этот гайд, — это первый кирпич. Без него ты просто кодишь в стол. С ним — собираешь актив.

Разница между «балуюсь ИИ по вечерам» и «ИИ кормит» — не в навыке. Навык у тебя уже будет. Разница в том, доведёшь ли ты дело до продукта и до первой продажи. Большинство не доводит. Те, кто доводит, — забирают рынок, пока остальные показывают друг другу скриншоты «смотрите, что я закодил».

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

Дальше у тебя два пути — и оба ведут к своему продукту. Разница в скорости и в том, сколько шишек набьёшь.

Путь 1 — сам

Разбираться по крупицам

  • Месяцами собирать процесс по гайдам
  • Самому искать, что и как продавать
  • Дойти реально, но дольше и через ошибки
Путь 2 — со мной

Собрать за 3 вечера на практикуме

  • Настраиваем Claude под твой продукт
  • Собираем продукт без лица по шагам
  • Доводим до лендинга и первой продажи
Прийти на практикум · 2 000 ₽

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

Нужен ли CLAUDE.md для маленького проекта?

Да. Даже 10 строк с описанием проекта, стека и правил заметно повышают качество ответов и экономят токены. Для маленького проекта хватает одного короткого CLAUDE.md в корне.

Какого размера должен быть CLAUDE.md?

Оптимально 80–200 строк. Это карта, а не документация. Когда файл разрастается — выноси правила по доменам в .claude/rules/, а повторяющиеся инструкции в .claude/skills/.

Чем .claude/rules отличается от CLAUDE.md?

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

Чем skill отличается от subagent?

Skill — переиспользуемая инструкция-процесс, которую Claude применяет в текущем диалоге. Subagent — отдельный агент со своим контекстом и инструментами под узкую задачу (ревью, тесты), который не засоряет основной контекст.

Как Claude Code понимает структуру проекта?

Он читает CLAUDE.md при запуске и ориентируется по карте папок, а конкретные файлы открывает по ссылке или по необходимости. Поэтому карта важнее подробной документации.

Как не жечь токены?

Держи CLAUDE.md коротким, не дублируй контекст, подключай файлы точечно через @, чисти контекст между задачами через /clear и сжимай длинные сессии через /compact.

Нужно ли уметь программировать?

Базовое понимание структуры файлов помогает, но писать код руками не обязательно. Правильно настроенный проект позволяет собирать лендинги, ботов и сервисы, формулируя задачи словами.

Хочешь собрать на этом свой первый продукт?

На практикуме за 3 вечера настраиваем Claude под тебя, собираем цифровой продукт без лица и доводим до лендинга и первой продажи. Онлайн, запись навсегда.

Пройти практикум за 2 000 ₽
Матвей Абрамов
Матвей Абрамов
Профессионально монетизирую Claude

Собираю цифровые продукты без лица на нейросетях и довожу до продаж. В блоге и канале — разборы по Claude и вайбкодингу и то, как на этом строить деньги, без инфоцыганщины.

Собери продукт без лица за 3 вечера на практикуме
2 000 ₽ →
{TAG}