Claude Certified Architect · Модуль 3 · Урок 3.1
Иерархия CLAUDE.md и модульная организация
Суть
Три уровня конфигурации складываются (аддитивны): пользовательский (~/.claude/CLAUDE.md), проектный (.claude/CLAUDE.md или корневой), и уровень папки (src/payments/CLAUDE.md). Пользовательский конфиг никогда не коммитится — он есть только у создавшего его разработчика.
Модульность и диагностика
Синтаксис @import позволяет дробить правила по файлам .claude/rules/*.md и собирать их вместе. Команда /memory показывает, какие файлы CLAUDE.md сейчас загружены. Важно: файлы уровня папки не каскадируют на соседние и родительские папки.
# Конвенции проекта
@import .claude/rules/typescript.md
@import .claude/rules/testing.md
@import .claude/rules/pci-compliance.mdAnti-patterns
| Ловушка | Почему не работает | Верный паттерн |
|---|---|---|
| Новый коллега не получает инструкции | Правила в ~/.claude/CLAUDE.md (личный уровень, не в VCS) | Перенести общие правила в .claude/CLAUDE.md или корень и закоммитить |
| Один монолитный CLAUDE.md на 800 строк | Неподдерживаемо; грузит лишнее; конфликты владения | Разбить на .claude/rules/*.md по темам и собрать через @import |
| Личные предпочтения в проектном CLAUDE.md | Личные настройки утекают коллегам через VCS | Личное — в ~/.claude/CLAUDE.md; командное — на проектном уровне |
Exam traps
| Ловушка | Почему не работает | Верный паттерн |
|---|---|---|
| Путать область личного и проектного конфига | Личный не шарится; командным нужен проектный уровень | Общее — проектный уровень; личное — пользовательский |
| Считать, что CLAUDE.md папки каскадирует на подпапки/соседей | Каскада на соседние папки нет | Для кросс-папочных правил — правила с привязкой к путям |
Практическое задание (T1)
- Создать проектный
CLAUDE.mdс 3 универсальными правилами и закоммитить. - Создать
~/.claude/CLAUDE.mdс 2 личными правилами; убедиться, что их видите только вы. - Создать
src/payments/CLAUDE.mdс правилами платежей; проверить ограничение по папке. - Разбить проектный CLAUDE.md на 3 файла
.claude/rules/*.mdчерез@importи проверить загрузку. - Запустить
/memoryи сверить вывод с ожидаемыми загруженными файлами.
Проверка знаний
Продуктивность разработчика с Claude
Старший разработчик настроил детальные TypeScript-конвенции в Claude Code. Новый участник команды сообщает, что Claude их не соблюдает. Вероятная причина?
Верный ответ: B
B верно. Пользовательский конфиг есть только на машине автора и не коммитится. Решение — перенести правила на проектный уровень и закоммитить. A — поддержка CLAUDE.md универсальна. C — @import встроен. D — ложная посылка: проектный CLAUDE.md как раз действует во всех подпапках.
Продуктивность разработчика с Claude
Один CLAUDE.md на 800 строк охватывает TypeScript, тесты, PCI-комплаенс, инфраструктуру и фронтенд. Разные люди владеют разными секциями и регулярно затирают чужие правки. Лучшая реструктуризация?
Верный ответ: B
B верно. Разбиение на .claude/rules/*.md с @import даёт владение каждой команде, оставаясь в VCS и собираясь воедино. A годится для правил по папкам, но не для кросс-папочных конвенций. C — это контроль доступа, не поддерживаемость. D лишает коллег общих конвенций.
Продуктивность разработчика с Claude
Три слоя конфигурации: пользовательский, проектный и src/payments/CLAUDE.md с правилами PCI-DSS. Разработчик видит, что PCI-DSS активны, а личные предпочтения из ~/.claude/CLAUDE.md отсутствуют. Точный диагноз?
Верный ответ: C
C верно. Иерархия аддитивна. Раз PCI-DSS работают, а личные правила нет — проблема в пользовательском файле; иерархия исправна, отлаживать надо его. A — это не баг. B — механизма переопределения нет. D — файлы папки добавляются к стеку, а не заменяют родителей.