Обработка GitHub-репозиториев
Базовое использование
Обработка публичных репозиториев:
# Использование полного URL
repomix --remote https://github.com/user/repo
# Использование сокращения GitHub
repomix --remote user/repoВы также можете передать сокращение owner/repo напрямую, без --remote:
repomix yamadashy/repomixПоскольку owner/repo выглядит так же, как относительный локальный путь, Repomix рассматривает его как удалённый репозиторий только тогда, когда локального файла или каталога с таким именем не существует, а репозиторий доступен на GitHub. Существующий локальный путь всегда имеет приоритет; чтобы принудительно обработать путь в форме owner/repo как локальный, добавьте перед ним ./ (например, repomix ./owner/repo). Если аргумент соответствует шаблону, но репозиторий недоступен (например, приватный репозиторий или опечатка), Repomix обрабатывает его как локальный путь.
Выбор ветки и коммита
# Конкретная ветка
repomix --remote user/repo --remote-branch main
# Тег
repomix --remote user/repo --remote-branch v1.0.0
# Хэш коммита
repomix --remote user/repo --remote-branch 935b695Требования
- Git должен быть установлен
- Интернет-соединение
- Доступ на чтение репозитория
Управление выводом
# Пользовательское расположение вывода
repomix --remote user/repo -o custom-output.xml
# В формате XML
repomix --remote user/repo --style xml
# Удаление комментариев
repomix --remote user/repo --remove-commentsИспользование Docker
# Обработка и вывод в текущую директорию
docker run -v .:/app -it --rm ghcr.io/yamadashy/repomix \
--remote user/repo
# Вывод в конкретную директорию
docker run -v ./output:/app -it --rm ghcr.io/yamadashy/repomix \
--remote user/repoБезопасность
В целях безопасности конфигурационные файлы (repomix.config.*) из удалённых репозиториев по умолчанию не загружаются. Это предотвращает выполнение кода из ненадёжных репозиториев через конфигурационные файлы вроде repomix.config.ts.
Ваша глобальная конфигурация и параметры CLI по-прежнему применяются.
Чтобы доверять конфигурации удалённого репозитория:
# С помощью флага CLI
repomix --remote user/repo --remote-trust-config
# С помощью переменной окружения
REPOMIX_REMOTE_TRUST_CONFIG=true repomix --remote user/repoWARNING
--remote-trust-config предоставляет конфигурации удалённого репозитория такой же уровень доверия, как и вашей собственной машине. Доверенная конфигурация может (через input.processors) выполнять произвольные команды и (например, через output.instructionFilePath или шаблоны include с использованием ../) читать локальные файлы за пределами репозитория. Используйте эту опцию только для репозиториев, которым вы полностью доверяете и которые проверили, с той же осторожностью, что и перед запуском npm install или Makefile из незнакомого источника.
Запрос подтверждения
Когда вы доверяете конфигурации репозитория в интерактивном терминале, repomix показывает конфигурацию, которая будет выполнена, и просит подтвердить перед её загрузкой:
- Да, только один раз: доверять только этому запуску.
- Да, и больше не спрашивать для этого репозитория: запоминается до очистки временных файлов и только пока этот файл конфигурации остаётся неизменным (при изменении файла конфигурации запрос появится снова). Обратите внимание, что проверка распространяется только на сам файл конфигурации: конфигурация
.ts/.jsможет импортировать другие файлы, и они не учитываются при проверке. - Нет: прервать без выполнения конфигурации.
Запрос пропускается, если вы передали --force, в неинтерактивных оболочках, таких как CI (конфигурация считается доверенной как и раньше, что сохраняет работу существующей автоматизации), или если вы уже выбрали всегда доверять этому репозиторию.
Полную модель доверия — что может делать доверенная конфигурация, как отображаемая конфигурация защищена от подделки и где хранится решение «не спрашивать снова» — см. в разделе Безопасность.
При использовании --config с --remote необходимо указать абсолютный путь:
repomix --remote user/repo --config /home/user/repomix.config.jsonТипичные проблемы
Проблемы с доступом
- Убедитесь, что репозиторий публичный
- Проверьте установку Git
- Проверьте интернет-соединение
Большие репозитории
- Используйте
--includeдля выбора конкретных путей - Включите
--remove-comments - Обрабатывайте ветки по отдельности
Связанные ресурсы
- Параметры командной строки - Полная справка по CLI, включая опции
--remote - Конфигурация - Настройка опций по умолчанию для удалённой обработки
- Сжатие кода - Уменьшение размера вывода для больших репозиториев
- Безопасность - Как Repomix обрабатывает обнаружение конфиденциальных данных