Мы рады вашему желанию внести вклад в развитие проекта! Это руководство поможет вам разобраться с процессом.
Проект использует VS Code Tasks для удобной разработки. Все основные команды доступны через Command Palette (Ctrl+Shift+P).
-
Установить правильную версию Node.js:
- Нажмите
Ctrl+Shift+P - Выберите "Tasks: Run Task"
- Выберите "🔄 Установить Node.js из .nvmrc"
- Или вручную:
nvm use
- Нажмите
-
Установить зависимости:
- Через Command Palette найдите "Tasks: Run Task"
- Выберите "📦 Установить зависимости (npm ci)"
- Или вручную:
npm ci
-
Настроить Git хуки (husky):
- Это настраивает автоматические проверки перед коммитом
- Через Command Palette выберите "🔧 Настроить Git хуки (husky)"
- Или вручную:
npm run prepare ⚠️ Обязательно выполните этот шаг! Без него pre-commit хуки не будут работать.
После настройки husky при каждом коммите автоматически:
- ✅ Форматируются измененные файлы (Prettier)
- ✅ Проверяется стиль Markdown файлов (markdownlint)
- ✅ Проверяется орфография (cSpell)
- ✅ Проверяется формат сообщения коммита (Conventional Commits)
Проект использует Conventional Commits. Формат сообщения коммита:
<тип>(<область>): <описание>
Типы:
feat- новая функциональностьfix- исправление ошибкиdoc- изменения в документацииstyle- форматирование кодаrefactor- рефакторингperf- улучшение производительностиtest- добавление или изменение тестовchore- обновление зависимостей, настройка и т.д.ci- изменения в CI/CDbuild- изменения в системе сборкиrevert- откат изменений
Примеры:
feat(doc): добавить документацию по APIfix(core): исправить обработку ошибокdoc: обновить READMEchore(ci): настроить pre-commit хуки
Для запуска и разработки используйте команды из раздела Полезные команды ниже.
Подробную информацию о pre-commit хуках смотрите в разделе Процесс проверки ниже.
Если коммит заблокирован:
- Исправьте ошибки, указанные в выводе
- Используйте VS Code Tasks для автоматического исправления
- Для орфографии: проверьте слова в
.cspell.jsonили добавьте их в словарь
-
Создайте Issue
- Перед внесением изменений создайте Issue с описанием проблемы или улучшения
- Подождите обратной связи от сопровождающих проекта
- Убедитесь, что похожая Issue еще не существует
-
Подготовка окружения
- Создайте fork репозитория
- Клонируйте его локально
- Выполните шаги из раздела Подготовка окружения выше
-
Разработка
- Создайте ветку для ваших изменений
- Внесите необходимые изменения
- Следуйте существующему стилю форматирования
- Проверьте качество документации (см. раздел Полезные команды)
- Запустите локальный сервер для проверки изменений (см. раздел Запуск и разработка)
-
Создание Pull Request
- Убедитесь, что все тесты проходят
- Создайте Pull Request в основной репозиторий
- Опишите внесенные изменения
- Свяжите PR с соответствующей Issue
-
Качество документации
- Соблюдайте правила оформления Markdown
- Используйте понятный и профессиональный язык
- Добавляйте примеры там, где это уместно
-
Структура контента
- Размещайте новые файлы в соответствующих разделах
- Следуйте существующей иерархии документации
- Обновляйте оглавление при необходимости
-
Технические требования
- Используйте Node.js версии, указанной в .nvmrc
- Проверяйте работу локально перед отправкой PR
- Следите за отсутствием ошибок линтера
При создании Pull Request автоматически запускаются следующие проверки:
- Markdown Lint - проверка стиля и форматирования Markdown файлов
- Spellcheck - проверка орфографии
- Build Test - сборка документации для проверки ошибок
- Link Checker - проверка работоспособности всех ссылок
- Lighthouse - проверка производительности и доступности сайта
Все проверки должны пройти успешно перед слиянием PR.
После прохождения автоматических проверок ваш PR будет проверен сопровождающими проекта:
- Проверка содержания и соответствия стандартам проекта
- Проверка форматирования и стиля
- Проверка полноты описания изменений
- Проверка связанных Issues
При каждом коммите автоматически выполняются (см. также раздел Что делают Git хуки? выше):
- Форматирование измененных файлов (Prettier)
- Проверка стиля Markdown файлов (markdownlint)
- Проверка орфографии (cSpell)
- Проверка формата сообщения коммита (Conventional Commits)
Все основные команды доступны через VS Code Tasks. Откройте Command Palette (Ctrl+Shift+P) и выберите "Tasks: Run Task":
Подготовка окружения:
- 🔄 Установить Node.js из .nvmrc
- 📦 Установить зависимости (npm ci)
- 🔧 Настроить Git хуки (husky)
Разработка:
▶️ Запустить Dev сервер- 🏗️ Собрать проект
- 🚀 Запустить собранный проект
- 🧹 Очистить кэш
Проверка качества:
- 📝 Проверить Markdown
- 🔧 Исправить Markdown
- 📖 Проверить орфографию
- ✨ Проверить форматирование
- 🎨 Форматировать код
- 🔗 Проверить ссылки
- 🔍 Проверить уязвимости
Если вы предпочитаете использовать командную строку напрямую:
# Установка зависимостей
npm ci # установка зависимостей из package-lock.json
# Разработка
npm start # запуск dev сервера (обычно http://localhost:3000)
npm run build # сборка проекта
npm run serve # запуск собранного проекта локально
npm run clear # очистка кэша Docusaurus
# Проверка качества
npm run lint:md # проверка markdown файлов
npm run lint:md:fix # автоисправление проблем в markdown
npm run spellcheck # проверка орфографии
npm run format:check # проверка форматирования кода
npm run format # автоисправление форматирования кода
# Дополнительные проверки
npm run check:links # проверка работоспособности ссылок (требует сборки)
npm run lighthouse:mobile # проверка мобильной версии (требует запущенный сервер)
npm run lighthouse:desktop # проверка десктопной версии (требует запущенный сервер)
npm run lighthouse:ci # автоматическая проверка Lighthouse в CIПроект использует GitHub Actions для автоматизации проверок и публикации:
- spellcheck.yml - проверка орфографии при каждом PR
- markdown-lint.yml - проверка стиля Markdown
- build-test.yml - сборка и проверка документации
- link-checker.yml - проверка работоспособности ссылок
- lighthouse.yml - проверка производительности сайта
- deploy.yml - автоматическая публикация на GitHub Pages
Все workflow файлы находятся в .github/workflows/. Подробнее о настройке CI/CD смотрите в документации проекта.
Если у вас возникли вопросы или нужна помощь:
- Просмотрите существующие Issues
- Создайте новую Issue с вопросом (используйте шаблон "Вопрос по документации")
- Присоединитесь к обсуждению в Telegram
- Ознакомьтесь с CODE_OF_CONDUCT.md