# Параметры командной строки
## Базовые опции
- `-v, --version`: Показать информацию о версии и выйти
## Опции ввода/вывода CLI
- `--verbose`: Включить подробное отладочное логирование (показывает обработку файлов, количество токенов и детали конфигурации)
- `--quiet`: Подавить весь вывод в консоль, кроме ошибок (полезно для скриптов)
- `--stdout`: Записать упакованный вывод напрямую в stdout вместо файла (подавляет всё логирование)
- `--stdin`: Читать пути файлов из stdin, по одному на строку (указанные файлы обрабатываются напрямую)
- `--copy`: Копировать сгенерированный вывод в системный буфер обмена после обработки
- `--token-count-tree [threshold]`: Показать дерево файлов с количеством токенов; опциональный порог для показа только файлов с ≥N токенов (например, --token-count-tree 100)
- `--top-files-len <number>`: Количество самых больших файлов для показа в сводке (по умолчанию: 5, например, --top-files-len 20)
## Опции вывода Repomix
- `-o, --output <file>`: Путь к выходному файлу (по умолчанию: repomix-output.xml, используйте "-" для stdout)
- `--style <style>`: Формат вывода: xml, markdown, json или plain (по умолчанию: xml)
- `--parsable-style`: Экранировать специальные символы для обеспечения валидного XML/Markdown (необходимо, когда вывод содержит код, нарушающий форматирование)
- `--compress`: Извлечь существенную структуру кода (классы, функции, интерфейсы) с помощью парсинга Tree-sitter
- `--output-show-line-numbers`: Добавить номер строки к каждой строке в выводе
- `--no-file-summary`: Исключить раздел сводки файлов из вывода
- `--no-directory-structure`: Исключить визуализацию дерева директорий из вывода
- `--no-files`: Сгенерировать только метаданные без содержимого файлов (полезно для анализа репозитория)
- `--remove-comments`: Удалить все комментарии кода перед упаковкой
- `--remove-empty-lines`: Удалить пустые строки из всех файлов
- `--truncate-base64`: Обрезать длинные строки base64-данных для уменьшения размера вывода
- `--header-text <text>`: Пользовательский текст для включения в начало вывода
- `--instruction-file-path <path>`: Путь к файлу с пользовательскими инструкциями для включения в вывод
- `--include-empty-directories`: Включить папки без файлов в структуру директорий
- `--include-full-directory-structure`: Показать полное дерево репозитория в разделе Directory Structure, даже при использовании паттернов --include
- `--no-git-sort-by-changes`: Не сортировать файлы по частоте изменений в git (по умолчанию: наиболее изменяемые файлы первыми)
- `--include-diffs`: Добавить раздел git diff, показывающий изменения рабочего дерева и staged-изменения
- `--include-logs`: Добавить историю git-коммитов с сообщениями и изменёнными файлами
- `--include-logs-count <count>`: Количество последних коммитов для включения с --include-logs (по умолчанию: 50)
## Опции выбора файлов
- `--include <patterns>`: Включить только файлы, соответствующие этим glob-паттернам (через запятую, например, "src/**/*.js,*.md")
- `-i, --ignore <patterns>`: Дополнительные паттерны для исключения (через запятую, например, "*.test.js,docs/**")
- `--no-gitignore`: Не использовать правила .gitignore для фильтрации файлов
- `--no-dot-ignore`: Не использовать правила .ignore для фильтрации файлов
- `--no-default-patterns`: Не применять встроенные паттерны игнорирования (node_modules, .git, директории сборки и т.д.)
## Опции удалённого репозитория
- `--remote <url>`: Клонировать и упаковать удалённый репозиторий (GitHub URL или формат user/repo)
- `--remote-branch <name>`: Конкретная ветка, тег или коммит (по умолчанию: ветка по умолчанию репозитория)
## Опции конфигурации
- `-c, --config <path>`: Использовать пользовательский файл конфигурации вместо repomix.config.json
- `--init`: Создать новый файл repomix.config.json со значениями по умолчанию
- `--global`: С --init создать конфигурацию в домашней директории вместо текущей
## Опции безопасности
- `--no-security-check`: Пропустить сканирование на конфиденциальные данные, такие как API-ключи и пароли (используйте с осторожностью; может раскрыть секреты в выводе)
## Опции подсчёта токенов
- `--token-count-encoding <encoding>`: Модель токенизатора для подсчёта: o200k_base (GPT-4o), cl100k_base (GPT-3.5/4) и т.д. (по умолчанию: o200k_base)
## Опции MCP
- `--mcp`: Запустить как сервер Model Context Protocol для интеграции с ИИ-инструментами
## Примеры
```bash
# Базовое использование
repomix
# Пользовательский выходной файл и формат
repomix -o my-output.md --style markdown
repomix -o my-output.json --style json
# Вывод в stdout
repomix --stdout > custom-output.txt
# Отправка вывода в stdout, затем передача в другую команду (например, simonw/llm)
repomix --stdout | llm "Please explain what this code does."
# Пользовательский вывод со сжатием
repomix --compress
# Обработка конкретных файлов по паттернам
repomix --include "src/**/*.ts,*.md" --ignore "*.test.js,docs/**"
# Удалённый репозиторий с веткой
repomix --remote https://github.com/user/repo/tree/main
# Удалённый репозиторий с коммитом
repomix --remote https://github.com/user/repo/commit/836abcd7335137228ad77feb28655d85712680f1
# Удалённый репозиторий с сокращением
repomix --remote user/repo
# Использование stdin для списка файлов
find src -name "*.ts" -type f | repomix --stdin
git ls-files "*.js" | repomix --stdin
echo -e "src/index.ts\nsrc/utils.ts" | repomix --stdin
# Интеграция с Git
repomix --include-diffs # Включить git diff для незакоммиченных изменений
repomix --include-logs # Включить git-логи (по умолчанию последние 50 коммитов)
repomix --include-logs --include-logs-count 10 # Включить последние 10 коммитов
repomix --include-diffs --include-logs # Включить и diff, и логи
# Анализ количества токенов
repomix --token-count-tree
repomix --token-count-tree 1000 # Показывать только файлы/директории с 1000+ токенов
```