Правило в CLAUDE.md остаётся пожеланием: агент соблюдает его почти всегда, но около 12% нарушений проскакивают в прод. Проверка в CI работает как закон: код, который нарушает правило, просто не смёржится. Разница критична, когда агент за вечер выдаёт больше кода, чем ревьюер прочтёт за неделю.
Самым рычаговым автор называет лимиты сложности из ESLint, которые почти никто не включает: complexity, max-depth, max-lines-per-function, max-params, max-statements, плюс cognitive-complexity из SonarJS. Без них агент выдаёт функцию на 150 строк со switch внутри try-catch внутри цикла.
Лимит сложности работает как прокси: упёршись в max-lines-per-function, агент расколет функцию на одноразовые хелперы или воткнёт eslint-disable-next-line. Поэтому автор советует запрещать disable-комментарии через eslint-plugin-eslint-comments.

