Базовое использование
Быстрый старт
Упаковка всего репозитория:
repomixТипичные сценарии использования
Упаковка конкретных директорий
repomix path/to/directoryВключение конкретных файлов
Используйте glob-паттерны:
repomix --include "src/**/*.ts,**/*.md"Исключение файлов
repomix --ignore "**/*.log,tmp/"Удалённые репозитории
# Использование GitHub URL
repomix --remote https://github.com/user/repo
# Использование сокращения
repomix --remote user/repo
# Конкретная ветка/тег/коммит
repomix --remote user/repo --remote-branch main
repomix --remote user/repo --remote-branch 935b695Ввод списка файлов (stdin)
Передавайте пути файлов через stdin для максимальной гибкости:
# Использование команды find
find src -name "*.ts" -type f | repomix --stdin
# Использование git для получения отслеживаемых файлов
git ls-files "*.ts" | repomix --stdin
# Использование ripgrep (rg) для поиска файлов
rg --files --type ts | repomix --stdin
# Использование grep для поиска файлов с определённым содержимым
grep -l "TODO" **/*.ts | repomix --stdin
# Использование ripgrep для поиска файлов с определённым содержимым
rg -l "TODO|FIXME" --type ts | repomix --stdin
# Использование sharkdp/fd для поиска файлов
fd -e ts | repomix --stdin
# Использование fzf для выбора из всех файлов
fzf -m | repomix --stdin
# Интерактивный выбор файлов с fzf
find . -name "*.ts" -type f | fzf -m | repomix --stdin
# Использование ls с glob-паттернами
ls src/**/*.ts | repomix --stdin
# Из файла, содержащего пути файлов
cat file-list.txt | repomix --stdin
# Прямой ввод с echo
echo -e "src/index.ts\nsrc/utils.ts" | repomix --stdinОпция --stdin позволяет передавать список путей файлов в Repomix, давая вам максимальную гибкость в выборе файлов для упаковки.
При использовании --stdin указанные файлы фактически добавляются к паттернам включения. Это означает, что обычное поведение include и ignore по-прежнему применяется — файлы, указанные через stdin, всё равно будут исключены, если они соответствуют паттернам игнорирования.
NOTE
При использовании --stdin пути файлов могут быть относительными или абсолютными, и Repomix автоматически обработает разрешение путей и удаление дубликатов.
Сжатие кода
repomix --compress
# Также можно использовать с удалёнными репозиториями:
repomix --remote yamadashy/repomix --compressИнтеграция с Git
Включите информацию Git для предоставления контекста разработки для анализа ИИ:
# Включить git diff (незакоммиченные изменения)
repomix --include-diffs
# Включить логи git-коммитов (по умолчанию последние 50)
repomix --include-logs
# Включить определённое количество коммитов
repomix --include-logs --include-logs-count 10
# Включить и diff, и логи
repomix --include-diffs --include-logsЭто добавляет ценный контекст о:
- Последних изменениях: Git diff показывает незакоммиченные модификации
- Паттернах разработки: Git-логи раскрывают, какие файлы обычно изменяются вместе
- Истории коммитов: Последние сообщения коммитов дают представление о фокусе разработки
- Связях файлов: Понимание того, какие файлы модифицируются в одних и тех же коммитах
Оптимизация подсчёта токенов
Понимание распределения токенов в вашей кодовой базе критически важно для оптимизации взаимодействия с ИИ. Используйте опцию --token-count-tree для визуализации использования токенов в проекте:
repomix --token-count-treeЭто отображает иерархическое представление вашей кодовой базы с количеством токенов:
🔢 Token Count Tree:
────────────────────
└── src/ (70,925 tokens)
├── cli/ (12,714 tokens)
│ ├── actions/ (7,546 tokens)
│ └── reporters/ (990 tokens)
└── core/ (41,600 tokens)
├── file/ (10,098 tokens)
└── output/ (5,808 tokens)Вы также можете установить минимальный порог токенов, чтобы сосредоточиться на больших файлах:
repomix --token-count-tree 1000 # Показывать только файлы/директории с 1000+ токеновЭто помогает вам:
- Определить файлы с большим количеством токенов, которые могут превысить лимиты контекста ИИ
- Оптимизировать выбор файлов с помощью паттернов
--includeи--ignore - Планировать стратегии сжатия, нацеливаясь на самых крупных «потребителей»
- Балансировать контент и контекст при подготовке кода для анализа ИИ
Форматы вывода
XML (по умолчанию)
repomix --style xmlMarkdown
repomix --style markdownJSON
repomix --style jsonПростой текст
repomix --style plainДополнительные опции
Удаление комментариев
repomix --remove-commentsПоказ номеров строк
repomix --output-show-line-numbersКопирование в буфер обмена
repomix --copyОтключение проверки безопасности
repomix --no-security-checkКонфигурация
Инициализация файла конфигурации:
repomix --initСм. Руководство по конфигурации для подробностей.