Много проектов. В каждом свой CLAUDE.md, свои правила. Начинаешь что-то улучшать в одном месте - хочется перенести в другое. Переносишь. Потом улучшаешь там. Переносишь обратно. И так по кругу.
В какой-то момент у меня образовалась каша из разных версий одних и тех же правил, разбросанных по десятку проектов. Копипаста настроек бесила, но руки не доходили.
На новогодних праздниках решил разобраться.
Решение
Всё перенёс в домашнюю директорию ~/.claude/. Один конфиг на все проекты.
Да, я привязался к структуре папок в домашней директории. Но эта структура у меня не менялась годами - ~/my/ для проектов, ~/education/ для обучения. Риск минимальный.
Структура
| |
Как работает навигация
Ключевой файл - HOME_MAP.md. Это карта всей домашней директории с правилами определения контекста.
Claude видит ключевые слова в запросе и понимает, в какой директории работать:
aitrader,archlint,блог->~/my/курс,книга,обучение->~/education/память,запомни,миссия->~/my/org-roam/
Если контекст неоднозначный - спрашивает.
Проектные правила
Если нужны специфичные правила для проекта - добавляю в rules/projects/. Например, aitrader.md содержит:
- Как запускать collector (без proxy для Tinkoff API)
- Команды тестирования
- Особенности проекта
Эти правила загружаются глобально, но применяются только когда работаю в контексте aitrader.
Git
Конфиги под git: один репозиторий, одна история изменений.
.gitignore настроен так, чтобы версионировать только нужное - конфиги, .claude/, dotfiles. Всё приватное и временное остаётся вне git. Улучшил правило - оно сразу под контролем версий.
Больше никакого копирования между проектами. Улучшил правило - оно сразу работает везде.
Итог
Было: десяток проектов с разрозненными CLAUDE.md, постоянное копирование настроек, разные версии одного и того же.
Стало: один ~/.claude/, структурированные правила, git для версионирования. Улучшение в одном месте - работает везде.
Минус: жёсткая привязка к структуре домашней директории. Для меня не проблема - структура стабильна.