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 сейчас загружены. Важно: файлы уровня папки не каскадируют на соседние и родительские папки.

Корневой CLAUDE.md, собранный через @import
# Конвенции проекта

@import .claude/rules/typescript.md
@import .claude/rules/testing.md
@import .claude/rules/pci-compliance.md

Anti-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 их не соблюдает. Вероятная причина?

  • A Версия Claude Code у новичка не поддерживает CLAUDE.md
  • B Конвенции лежат в ~/.claude/CLAUDE.md (личный уровень, не в VCS, нет на машине новичка)
  • C CLAUDE.md использует @import, который требует особого расширения
  • D Файлы CLAUDE.md уровня папки не наследуются подпапками

Продуктивность разработчика с Claude

Один CLAUDE.md на 800 строк охватывает TypeScript, тесты, PCI-комплаенс, инфраструктуру и фронтенд. Разные люди владеют разными секциями и регулярно затирают чужие правки. Лучшая реструктуризация?

  • A Отдельный CLAUDE.md в каждой подпапке — каждая команда владеет своим файлом
  • B Разбить на тематические .claude/rules/*.md (testing.md, pci-compliance.md, deployment.md) и собрать через @import в корне
  • C Защитой ветки Git разрешить правку CLAUDE.md только владельцам
  • D Перенести некритичные конвенции в личные ~/.claude/CLAUDE.md, чтобы уменьшить общий файл

Продуктивность разработчика с Claude

Три слоя конфигурации: пользовательский, проектный и src/payments/CLAUDE.md с правилами PCI-DSS. Разработчик видит, что PCI-DSS активны, а личные предпочтения из ~/.claude/CLAUDE.md отсутствуют. Точный диагноз?

  • A Это баг — все три слоя должны быть активны всегда одновременно
  • B Проектный CLAUDE.md блокирует пользовательский через механизм переопределения
  • C Все три слоя складываются. Раз правила папки работают, а личные нет — проблема в самом пользовательском файле (синтаксис/путь/пустой)
  • D Файлы уровня папки заменяют конфигурации родительских уровней