ч.2 Ад мёрджа: линтер, решение конфликтов, разрешение CI конфликтов. GitHub Paperclip AI (2026)
Добавляю русскую локализацию в Paperclip AI через react-i18next и упираюсь в pre-push Git hook линтер, который блокирует мой PR. 265 файлов, конфликты слияния, зависший агент Gemini. У Claude близок лимит — впервые пробую Google Gemini как замену. Запускаю трёх параллельных агентов: сборщик ошибок линтера, искатель принципа работы скрипта, убиратель конфликтов ветки. Узнаём, что Git hook можно использовать бесплатно вместо GitHub Enterprise для ограничения коммитов по regex. ЧТО ВЫ УЗНАЕТЕ: + Почему pre-push Git hook блокирует PR в форке, хотя origin под твоим контролем + Как при создании форка Paperclip AI автоматически наследуются правила линтера i18n через Husky + Как запустить трёх параллельных агентов Gemini с разными задачами, чтобы не мешали друг другу + Почему локальный линтер — это джентльменское соглашение и как ИИ может его просто обойти + Как Git hook заменяет GitHub Enterprise для проверки коммитов по regex бесплатно ТАЙМКОДЫ 0:00 — Ценность обучающих стримов: смотреть, как преодолевают сложности вживую, даёт больше пользы, чем готовая инструкция — формирует насмотренность в IT. 0:54 — Задача: PR с 265 файлами отклонён ботом Paperclip (максимум 100), нужно разбить на три части. Плюс неразрешённые конфликты слияния. 2:08 — У Claude закончился лимит — впервые подключаю Google Gemini. Предложение MCP — не вижу смысла, у него и так есть доступ к файловой системе. 3:11 — Погружаю Gemini в контекст: тесты уже пройдены локально и опираются на английские тексты — прошу не трогать этот код, иначе упадут тесты. 5:06 — Диктую задачу: хочу, чтобы в GitHub появилась надпись, что ветка не опаздывает от upstream. 8:37 — Gemini берёт разрешение разрешать конфликты, фиксирует ветку и директорию. Динамическая квота: после перевода текстов поднялась до 30%, за 4 часа опустилась до 3%. 10:19 — Gemini ловит те же ошибки: fail, fail. Скорость интернета — реально 300 мбит/с. Решаю не прерывать процесс — оставил компьютер на 20 минут. 16:17 — Ответ Gemini: сработал pre-push Git hook, линтер i18n заблокировал пуш — код нарушает правила локализации. Агент завис на 6 минут — скорее всего API отвалился по таймауту. Проблема не в конфликтах, а в pre-push скрипте. 20:27 — Origin — мой форк, я его контролирую. Gemini объясняет: при создании форка Paperclip я скопировал всю инфраструктуру разработчика — Git hooks через Husky. Авторы специально повесили этот триггер, чтобы никто не залил хардкод вместо ключей локализации. 23:31 — Понимаю: проблема не в конфликтах, а в линтере, который ошибочно блокирует логику кода, принимая её за нелокализованный текст. 28:39 — Раз линтер есть в коде — его можно найти и изучить. Запускаю трёх параллельных агентов Gemini: сборщик ошибок, искатель линтера, убиратель конфликтов. 39:27 — Создатель Paperclip рекомендует инструмент при трёх и более агентах. В ручном режиме с тремя ещё можно менеджерить и экономить токены. 41:08 — Агент нашёл линтер: предлагает обернуть строки work mode в t(), внести логику в список исключений, обновить скрипт. 43:25 — Откуда в файле локализации логика? Это React-компонент окна создания задачи. При слиянии веток прилетела фича выбора Standard/Plan. Линтер ругается: строки не в t() и добавлена новая логика — запрещено в этой ветке. 46:38 — Говорю агенту: текст мы переводили, оба варианта были обёрнуты. Логику исключил бы из проверки, текстовую проверку оставил. Прошу найти автора линтера через git history. 52:40 — Третий агент хочет отправить пуш сам, но пуш уже идёт в другой сессии. Жду сборщика ошибок 40 минут — полный список захардкоженных текстов будет золотым дном. 55:25 — Новая мысль: Git hook проверяет коммиты по regex до пуша — возможно, не нужно GitHub Enterprise. Но слабость: ИИ с доступом к коду может просто переписать или удалить линтер. 1:00:41 — Помимо линтера, есть end-to-end тесты на английские строки-хардкоды. Просто менять текст ради линтера недостаточно — даю разрешение переписать устаревшие тесты. 1:03:12 — Оптимизм: знаю врага в лицо. Бот в GitHub увидел ветку с i18n и развернул стандартные правила. Агент уже локализует строки через t(), расширяет словарь переводов. 1:14:03 — Итоги: Git hook — бесплатная альтернатива GitHub Enterprise. Есть полный список захардкоженных текстов — допереведём и дозабросим в локализацию. 1:16:41 — Заключение: Paperclip наложил ответственность, когда мы стягивали форк — мы втянули и их правила. Желаю финансового благополучия. ПЛЕЙЛИСТЫ Командная разработка в GitHub + Paperclip AI: https://www.youtube.com/playlist?list=PL6D9b9lf9gb08uIiIrreNaDpYlaY7cUbM ПОЛЕЗНЫЕ ССЫЛКИ Предыдущая часть (ч.1): https://youtu.be/T5x3zCreEpU Установка Claude Code: https://youtu.be/LRZjphm0NaY Установка PyCharm: https://youtu.be/_BN5kArV07s Подключение PyCharm к GitHub: https://youtu.be/kHe3go_wDjU Работаете с open-source? Делайте fork!: https://youtu.be/vARa_R4mnAQ #БудниВайбКодБлогераUSA #ВайбКодинг #PaperclipAI #OpenSource #GitHook #Локализация #i18n #Gemini #GitHub #AIРазработка
Название:
ч.2 Ад мёрджа: линтер, решение конфликтов, разрешение CI конфликтов. GitHub Paperclip AI (2026)
Категория:
Разное