---
title: "Участие в разработке Repomix"
description: "Настройте среду разработки Repomix, запускайте тесты, проверяйте код линтером, изучите структуру проекта и вносите изменения в open source проект."
---

# Участие в разработке Repomix

Спасибо за ваш интерес к **Repomix**! 🚀 Мы будем рады вашей помощи в улучшении проекта. Это руководство поможет вам начать участвовать в разработке.

## Как внести вклад

- **Поставьте звезду репозиторию**: Покажите вашу поддержку, [поставив звезду репозиторию](https://github.com/yamadashy/repomix)!
- **Создайте Issue**: Нашли баг? Есть идея новой функции? Дайте нам знать, [создав issue](https://github.com/yamadashy/repomix/issues).
- **Отправьте Pull Request**: Нашли что-то для исправления или улучшения? Присоединяйтесь и отправьте PR!
- **Расскажите о нас**: Поделитесь своим опытом с Repomix в социальных сетях, блогах или с вашим техническим сообществом.
- **Используйте Repomix**: Лучшая обратная связь приходит от реального использования, так что интегрируйте Repomix в свои проекты!
- **Спонсорство**: Поддержите разработку Repomix, [став спонсором](https://github.com/sponsors/yamadashy).

## Настройка разработки

### Предварительные требования

- Node.js ≥ 22.0.0
- Git
- npm
- Docker (опционально, для запуска сайта или контейнерной разработки)

### Локальная разработка

Для настройки Repomix для локальной разработки:

```bash
# Клонировать репозиторий
git clone https://github.com/yamadashy/repomix.git
cd repomix

# Установить зависимости
npm install

# Запустить CLI
npm run repomix
```

### Разработка с Nix

Если у вас установлен [Nix](https://nixos.org/download) с включёнными flakes, вы можете войти в воспроизводимую среду разработки с предустановленными Node.js 24 и Git:

```bash
nix develop
```

Внутри shell стандартный рабочий процесс `npm` работает как обычно:

```bash
npm ci
npm run build
npm run test
npm run lint
```

Примечание: эта оболочка предназначена для работы над самим Repomix, а не для его установки в качестве CLI.

### Разработка с Docker

Вы также можете запустить Repomix с помощью Docker:

```bash
# Собрать образ
docker build -t repomix .

# Запустить контейнер
docker run -v ./:/app -it --rm repomix
```

### Структура проекта

Проект организован в следующие директории:

```
src/
├── cli/          # Реализация CLI
├── config/       # Обработка конфигурации
├── core/         # Основная функциональность
│   ├── file/     # Обработка файлов
│   ├── metrics/  # Расчёт метрик
│   ├── output/   # Генерация вывода
│   ├── security/ # Проверки безопасности
├── mcp/          # Интеграция MCP-сервера
└── shared/       # Общие утилиты
tests/            # Тесты, отражающие структуру src/
website/          # Сайт документации
├── client/       # Фронтенд (VitePress)
└── server/       # Бэкенд API
```

## Команды разработки

```bash
# Запустить CLI
npm run repomix

# Запустить тесты
npm run test
npm run test-coverage

# Проверить код
npm run lint
```

### Тестирование

Мы используем [Vitest](https://vitest.dev/) для тестирования. Для запуска тестов:

```bash
# Запустить тесты
npm run test

# Покрытие тестами
npm run test-coverage

# Линтинг
npm run lint-biome
npm run lint-ts
npm run lint-secretlint
```

## Стиль кода

- Используйте [Biome](https://biomejs.dev/) для линтинга и форматирования
- Внедрение зависимостей для тестируемости
- Держите файлы меньше 250 строк
- Добавляйте тесты для новых функций

Мы используем [Biome](https://biomejs.dev/) для линтинга и форматирования. Убедитесь, что ваш код следует руководству по стилю:

```bash
npm run lint
```

## Рекомендации по Pull Request

Перед отправкой Pull Request убедитесь:

1. Ваш код проходит все тесты: Запустите `npm run test`
2. Ваш код соответствует стандартам линтинга: Запустите `npm run lint`
3. Вы обновили соответствующую документацию
4. Вы следуете существующему стилю кода

## Разработка сайта

Сайт Repomix построен на [VitePress](https://vitepress.dev/). Для локального запуска сайта:

```bash
# Предварительные требования: Docker должен быть установлен в вашей системе

# Запустить сервер разработки сайта
npm run website

# Доступ к сайту по адресу http://localhost:5173/
```

При обновлении документации вам нужно только обновить английскую версию. Мейнтейнеры позаботятся о переводах на другие языки.

## Процесс релиза

Для мейнтейнеров и контрибьюторов, интересующихся процессом релиза:

1. Обновить версию
```bash
npm version patch  # или minor/major
```

2. Запустить тесты и сборку
```bash
npm run test-coverage
npm run build
```

3. Опубликовать
```bash
npm publish
```

Новые версии управляются мейнтейнером. Если вы считаете, что нужен релиз, откройте issue для обсуждения.

## Нужна помощь?

- [Создать issue](https://github.com/yamadashy/repomix/issues)
- [Присоединиться к Discord](https://discord.gg/wNYzTwZFku)
