Чек-лист
кодовое словоРепо

Как скормить репозиторий нейросети

Есть инструмент, который обещает, что если пришлешь ссылку на репозиторий, то можно забрать «оригинальный промт». Почти полторы тысячи звёзд на GitHub, ссылка ходит по всем подборкам инструментов. Но сервис забирает метаданные, дерево файлов глубины 1 и README. Всё. Ни одного файла с кодом он не открывает.

Содержание4 глав
  1. 01Четыре инструмента: что каждый реально читает
  2. 02Порядок действий
  3. 03Когда проект не влезает в контекст
  4. 04Красные флаги

Инструменты, которые «превращают репозиторий в промт», делают разные вещи, и разница видна только в их документации. Один читает описание проекта и список папок в корне. Другой забирает содержимое всех файлов. Ниже - что каждый реально берёт, в каком порядке действовать и что делать, когда проект не влезает в контекст.

Четыре инструмента: что каждый реально читает

01
GitReverse
метаданные, дерево глубины 1 и README
Забирает метаданные репозитория, дерево файлов глубины 1 и README. Дальше модель сочиняет один короткий промт по этому описанию. Сам разработчик называет результат синтетическим промтом.
02
Gitingest
структура каталогов и содержимое файлов
Забирает структуру каталогов и содержимое файлов одним текстовым дайджестом. Работает в браузере, из командной строки (`pip install gitingest`) и как расширение.
03
uithub
полный контекст по адресу
Полный контекст репозитория прямо по адресу: в ссылке меняется одна буква, github.com становится `uithub.com`. Когда брать: разовый быстрый вброс в чат без установки чего-либо
04
Repomix
весь репозиторий в один файл
Весь репозиторий в один файл. Форматы XML, Markdown, JSON и plain.

Трюк с адресом работает у трёх из четырёх. В ссылке на репозиторий меняется часть домена: hub на reverse - синтетический промт, hub на ingest - текстовый дайджест кода, github на uithub - полный контекст. Одинаковый жест, три совершенно разных результата на выходе.

Порядок действий

01
Сформулируй задачу до того, как вставишь ссылку
«Понять, о чём проект» и «дать нейросети код» - это два разных инструмента. Половина разочарований начинается с того, что взяли первый, а ждали второго
02
Посмотри, есть ли у проекта описание
Всё, что синтезирует промт по обложке, опирается на README. Если описания нет или оно в одну строку - на выходе будет уверенный текст ни о чём
03
Забирай содержимое файлов, а не дерево
Список папок говорит модели, как проект называется. Ответ на вопрос «как он работает» лежит только в самом коде
04
Выкини лишнее до упаковки
Файлы блокировок зависимостей, сборки, картинки, тесты-фикстуры, кэш. Это половина объёма и ноль смысла. Проще всего через списки исключений в конфиге упаковщика
05
Посчитай токены до вставки, а не после
Repomix показывает счётчик по каждому файлу и по всему проекту сразу. Так видно, какие три файла съедают половину бюджета, ещё до того, как ты открыл чат
06
Прогони проверку на секреты
Ключи и токены живут в файлах окружения, конфигах и старых коммитах. Перед тем как отправлять код в чужой сервис, проверь его автоматически - в Repomix эта проверка встроена
07
Не выдавай синтетический промт за исходный
Если инструмент реконструировал промт по описанию - это гипотеза о проекте, а не история его создания. Пользоваться можно, ссылаться как на факт - нет
08
Свой контекст держи в файле проекта, а не в чужом промте
Для собственного репозитория постоянный контекст живёт в CLAUDE.md: команды сборки, соглашения, структура.

Когда проект не влезает в контекст

01
Сжать
Режим сжатия оставляет сигнатуры функций, классы и структуру, выбрасывая тела. Проект перестаёт быть дословным, но остаётся понятным - для вопросов об архитектуре этого достаточно
02
Сузить
Упакуй одну папку и один слой: только серверную часть, только модели данных, только миграции. Точный маленький контекст работает лучше, чем полный и обрезанный посередине
03
Разбить
Упаковщик умеет резать вывод на несколько файлов. Ещё надёжнее - склонировать репозиторий локально и дать агенту читать файлы самому, по мере надобности
Правило одного вопроса
Собирай контекст под конкретный вопрос, а не «на всякий случай». Проект целиком в окне модели чаще мешает, чем помогает: чем больше лишнего, тем слабее то, что действительно нужно.
Проверка перед отправкой
Открой упакованный файл и пролистай глазами. Если там оказались картинки в base64, чужие ключи или папка со сборкой - фильтры настроены неправильно.

Красные флаги

01
«Оригинальный промт»
Промта, которым собрали чужой проект, не существует в репозитории - его там физически негде хранить. Всё, что выдаётся под таким названием, реконструировано моделью
02
Инструмент не говорит, что именно он читает
Первое, что стоит найти в документации: берёт он дерево, README или содержимое файлов. Если это нигде не написано - считай, что берёт минимум
03
В репозитории нет файла лицензии
Отсутствие лицензии не означает «делай что хочешь». По умолчанию это все права защищены: поднять свою копию у себя юридически нельзя. У GitReverse файла лицензии нет, у Gitingest и Repomix - MIT
04
Приватный код уходит в чужой веб-сервис
Веб-версии удобны для публичных репозиториев. Рабочий проект компании упаковывай локально, командой на своей машине
05
Вера в размер окна
Большое контекстное окно не означает, что модель одинаково хорошо помнит всё, что в него положили. Середина длинного контекста теряется первой - поэтому важное кладут ближе к вопросу