---
title: "Базовое использование"
description: "Используйте CLI Repomix для упаковки директорий, удалённых репозиториев, выбранных файлов, git diff, логов коммитов, разделённых выводов, подсчёта токенов и сжатого кода."
---

# Базовое использование

## Быстрый старт

Упаковка всего репозитория:
```bash
repomix
```

## Типичные сценарии использования

### Упаковка конкретных директорий
```bash
repomix path/to/directory
```

### Включение конкретных файлов
Используйте [glob-паттерны](https://github.com/mrmlnc/fast-glob?tab=readme-ov-file#pattern-syntax):
```bash
repomix --include "src/**/*.ts,**/*.md"
```

### Исключение файлов
```bash
repomix --ignore "**/*.log,tmp/"
```

### Разделение Вывода на Несколько Файлов

При работе с большими кодовыми базами упакованный вывод может превысить ограничения размера файла, установленные некоторыми AI-инструментами (например, ограничение 1 МБ в Google AI Studio). Используйте `--split-output` для автоматического разделения вывода на несколько файлов:

```bash
repomix --split-output 1mb
```

Это создаёт нумерованные файлы вида:
- `repomix-output.1.xml`
- `repomix-output.2.xml`
- `repomix-output.3.xml`

Размер можно указать с единицами измерения: `500kb`, `1mb`, `2mb`, `1.5mb` и т.д. Поддерживаются десятичные значения.

> [!NOTE]
> Файлы группируются по каталогу верхнего уровня для сохранения контекста. Один файл или каталог никогда не будет разделён между несколькими выходными файлами.

### Удалённые репозитории
```bash
# Использование GitHub URL
repomix --remote https://github.com/user/repo

# Использование сокращения
repomix --remote user/repo

# Использование сокращения без --remote (определяется автоматически)
repomix user/repo

# Конкретная ветка/тег/коммит
repomix --remote user/repo --remote-branch main
repomix --remote user/repo --remote-branch 935b695
```

### Ввод списка файлов (stdin)

Передавайте пути файлов через stdin для максимальной гибкости:

```bash
# Использование команды 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 автоматически обработает разрешение путей и удаление дубликатов.

### Сжатие кода {#code-compression}

Уменьшите количество токенов, сохраняя структуру кода. Подробности см. в [руководстве по сжатию кода](/ru/guide/code-compress).

```bash
repomix --compress

# Также можно использовать с удалёнными репозиториями:
repomix --remote yamadashy/repomix --compress
```

### Интеграция с Git

Включите информацию Git для предоставления контекста разработки для анализа ИИ:

```bash
# Включить 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` для визуализации использования токенов в проекте:

```bash
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)
```

Вы также можете установить минимальный порог токенов, чтобы сосредоточиться на больших файлах:

```bash
repomix --token-count-tree 1000  # Показывать только файлы/директории с 1000+ токенов
```

Это помогает вам:
- **Определить файлы с большим количеством токенов**, которые могут превысить лимиты контекста ИИ
- **Оптимизировать выбор файлов** с помощью паттернов `--include` и `--ignore`
- **Планировать стратегии сжатия**, нацеливаясь на самых крупных «потребителей»
- **Балансировать контент и контекст** при подготовке кода для анализа ИИ

## Форматы вывода

### XML (по умолчанию)
```bash
repomix --style xml
```

### Markdown
```bash
repomix --style markdown
```

### JSON
```bash
repomix --style json
```

### Простой текст
```bash
repomix --style plain
```

## Дополнительные опции

### Удаление комментариев

Подробности о поддерживаемых языках см. в разделе [Удаление комментариев](/ru/guide/comment-removal).

```bash
repomix --remove-comments
```

### Показ номеров строк
```bash
repomix --output-show-line-numbers
```

### Копирование в буфер обмена
```bash
repomix --copy
```

### Отключение проверки безопасности

Подробности о том, что обнаруживает Repomix, см. в разделе [Безопасность](/ru/guide/security).

```bash
repomix --no-security-check
```

## Конфигурация

Инициализация файла конфигурации:
```bash
repomix --init
```

См. [Руководство по конфигурации](/ru/guide/configuration) для подробностей.

## Связанные ресурсы

- [Форматы вывода](/ru/guide/output) - Узнайте о форматах XML, Markdown, JSON и простого текста
- [Параметры командной строки](/ru/guide/command-line-options) - Полная справка по CLI
- [Примеры промптов](/ru/guide/prompt-examples) - Примеры промптов для анализа с ИИ
- [Сценарии использования](/ru/guide/use-cases) - Реальные примеры и рабочие процессы
