Skip to content

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

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

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

  • Поставьте звезду репозиторию: Покажите вашу поддержку, поставив звезду репозиторию!
  • Создайте Issue: Нашли баг? Есть идея новой функции? Дайте нам знать, создав issue.
  • Отправьте Pull Request: Нашли что-то для исправления или улучшения? Присоединяйтесь и отправьте PR!
  • Расскажите о нас: Поделитесь своим опытом с Repomix в социальных сетях, блогах или с вашим техническим сообществом.
  • Используйте Repomix: Лучшая обратная связь приходит от реального использования, так что интегрируйте Repomix в свои проекты!
  • Спонсорство: Поддержите разработку Repomix, став спонсором.

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

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

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

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

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

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

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

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

Разработка с 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 для тестирования. Для запуска тестов:

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

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

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

Стиль кода

  • Используйте Biome для линтинга и форматирования
  • Внедрение зависимостей для тестируемости
  • Держите файлы меньше 250 строк
  • Добавляйте тесты для новых функций

Мы используем Biome для линтинга и форматирования. Убедитесь, что ваш код следует руководству по стилю:

bash
npm run lint

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

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

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

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

Сайт Repomix построен на VitePress. Для локального запуска сайта:

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

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

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

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

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

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

  1. Обновить версию
bash
npm version patch  # или minor/major
  1. Запустить тесты и сборку
bash
npm run test-coverage
npm run build
  1. Опубликовать
bash
npm publish

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

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

Released under the MIT License.