--- name: refactor description: Безопасный рефакторинг маленькими шагами без изменения поведения. Используй, когда просят отрефакторить, упростить, разделить модуль, убрать дублирование или почистить код. argument-hint: <файл или модуль> [цель] --- # Refactor: $ARGUMENTS Правило №1: **поведение не меняется.** 1. Убедись, что тесты для затрагиваемого кода есть и зелёные. Если тестов нет — сначала напиши характеризационные тесты на текущее поведение и закоммить их. 2. Опиши план: список маленьких шагов (переименование, выделение функции, перенос и т.д.). Каждый шаг оставляет проект рабочим. 3. Выполняй шаги по одному. После каждого: - запусти тесты и проверку типов; - если красное — откати шаг и попробуй иначе. 4. Не смешивай рефакторинг с новыми фичами и исправлениями багов. Найденные баги — запиши в отчёт. 5. Итог: что изменилось, метрики (строк/функций до и после), найденные баги, что стоит сделать дальше.