Участие в разработке Repomix
Спасибо за ваш интерес к Repomix! 🚀 Мы будем рады вашей помощи в улучшении проекта. Это руководство поможет вам начать участвовать в разработке.
Как внести вклад
- Поставьте звезду репозиторию: Покажите вашу поддержку, поставив звезду репозиторию!
- Создайте Issue: Нашли баг? Есть идея новой функции? Дайте нам знать, создав issue.
- Отправьте Pull Request: Нашли что-то для исправления или улучшения? Присоединяйтесь и отправьте PR!
- Расскажите о нас: Поделитесь своим опытом с Repomix в социальных сетях, блогах или с вашим техническим сообществом.
- Используйте Repomix: Лучшая обратная связь приходит от реального использования, так что интегрируйте Repomix в свои проекты!
- Спонсорство: Поддержите разработку Repomix, став спонсором.
Настройка разработки
Предварительные требования
- Node.js ≥ 20.0.0
- Git
- npm
- Docker (опционально, для запуска сайта или контейнерной разработки)
Локальная разработка
Для настройки Repomix для локальной разработки:
# Клонировать репозиторий
git clone https://github.com/yamadashy/repomix.git
cd repomix
# Установить зависимости
npm install
# Запустить CLI
npm run repomixРазработка с Docker
Вы также можете запустить Repomix с помощью Docker:
# Собрать образ
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Команды разработки
# Запустить CLI
npm run repomix
# Запустить тесты
npm run test
npm run test-coverage
# Проверить код
npm run lintТестирование
Мы используем Vitest для тестирования. Для запуска тестов:
# Запустить тесты
npm run test
# Покрытие тестами
npm run test-coverage
# Линтинг
npm run lint-biome
npm run lint-ts
npm run lint-secretlintСтиль кода
- Используйте Biome для линтинга и форматирования
- Внедрение зависимостей для тестируемости
- Держите файлы меньше 250 строк
- Добавляйте тесты для новых функций
Мы используем Biome для линтинга и форматирования. Убедитесь, что ваш код следует руководству по стилю:
npm run lintРекомендации по Pull Request
Перед отправкой Pull Request убедитесь:
- Ваш код проходит все тесты: Запустите
npm run test - Ваш код соответствует стандартам линтинга: Запустите
npm run lint - Вы обновили соответствующую документацию
- Вы следуете существующему стилю кода
Разработка сайта
Сайт Repomix построен на VitePress. Для локального запуска сайта:
# Предварительные требования: Docker должен быть установлен в вашей системе
# Запустить сервер разработки сайта
npm run website
# Доступ к сайту по адресу http://localhost:5173/При обновлении документации вам нужно только обновить английскую версию. Мейнтейнеры позаботятся о переводах на другие языки.
Процесс релиза
Для мейнтейнеров и контрибьюторов, интересующихся процессом релиза:
- Обновить версию
npm version patch # или minor/major- Запустить тесты и сборку
npm run test-coverage
npm run build- Опубликовать
npm publishНовые версии управляются мейнтейнером. Если вы считаете, что нужен релиз, откройте issue для обсуждения.