Обновить
16K+
14
Александр Рогов@Ra2007

Full-Stack JS Architect

6,9
Рейтинг
8
Подписчики
Отправить сообщение

Тесты отвечают на вопрос «что должно получиться», а CLAUDE.md на уровне модуля отвечает на «зачем это существует и что категорически нельзя делать». Разница принципиальная. Тест проверит, что calculateTax() возвращает правильное число. Но он не скажет агенту: «эта функция обязана учитывать российское налоговое законодательство, не рефакторь её в generic-утилиту и не выноси логику округления наружу». Именно такие архитектурные инварианты мы писали в CLAUDE.md. Плюс тесты агент читает как данность, а CLAUDE.md он получает как контекст до генерации. Это меняет способ рассуждения, а не только верификацию результата.

Интересный кейс. У нас похожий опыт, только JS в strict TypeScript, примерно 200K строк. Главный инсайт: проблема больших миграций не в конвертере, а в контексте. Агент технически правильно переписывает код, но теряет смысл, «зачем эта функция вообще существует».
Решали через батчи по модулям с явным CLAUDE.md на уровне каждого модуля, туда писали инварианты и бизнес-логику, которую нельзя сломать. Это дало AI нужный контекст.
Как у вас было организовано понимание «намерения» кода, а не только его структуры? Промпты были под конкретные паттерны или более генерализованные?

Пробовал похожий подход на монорепо ~150K строк TypeScript. Проблема grep-подхода именно такая как описано: у нас везде IdentityVerifier, но Claude Code раз за разом grep-ает auth и читает не те файлы. Семантический поиск через эмбеддинги правильное направление. Из нюансов: Docker-зависимость делает SocratiCode чуть тяжеловатым для onboarding новых разработчиков. Кто-нибудь пробовал на монорепо с несколькими независимыми сервисами? Интересно, как он справляется с изоляцией контекста между сервисами чтобы агент при запросе к auth-сервису не тянул сущности из payment-сервиса

12 ...
8

Информация

В рейтинге
1 152-й
Откуда
Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Full-Stack JS Architect
Старший
JavaScript
React
TypeScript
Node.js
React Native
MobX
Next.js
Redux
GraphQL
WebSockets