Процесс контрибьюции в проект Snowflake Desktop
Основные принципы
Проект Snowflake Desktop приветствует вклад сообщества разработчиков. Мы стремимся поддерживать высокое качество кода, документации и пользовательского опыта. Этот документ описывает процесс внесения вклада в проект.
Подготовка к разработке
Требования к окружению
- Node.js (последняя LTS версия)
- pnpm (для управления пакетами)
- Rust (стабильная версия)
- Tauri CLI
Настройка окружения разработки
Клонируйте репозиторий:
bashgit clone https://github.com/your-username/snowflake-desktop.git cd snowflake-desktop
Установите зависимости:
bashpnpm install
Настройте среду разработки:
bashpnpm tauri dev
Рабочий процесс
1. Выбор задачи
- Просмотрите список открытых issues на GitHub
- Если вы планируете работать над существующей issue, оставьте комментарий, чтобы избежать дублирования работы
- Если вы хотите добавить новую функциональность, сначала создайте issue для обсуждения
2. Создание ветки
Для каждой задачи создавайте отдельную ветку от main
:
git checkout -b feature/название-функции
# или
git checkout -b fix/описание-исправления
Используйте следующие префиксы:
feature/
- для новых функцийfix/
- для исправленийdocs/
- для изменений в документацииrefactor/
- для рефакторингаtest/
- для добавления тестов
3. Разработка
При разработке придерживайтесь следующих принципов:
- Следуйте стилю кода проекта
- Пишите чистый, поддерживаемый код
- Добавляйте комментарии, где это необходимо
- Обновляйте документацию при изменении функциональности
Коммиты
Используйте осмысленные сообщения коммитов в настоящем времени:
feat: add character relationship visualization
fix: resolve issue with project loading
docs: update installation instructions
refactor: improve timeline performance
test: add unit tests for book module
4. Тестирование
Перед отправкой Pull Request:
- Запустите существующие тесты:bash
pnpm test
- Добавьте тесты для новой функциональности
- Убедитесь, что приложение работает на всех поддерживаемых платформах
5. Создание Pull Request
Убедитесь, что ваша ветка актуальна относительно
main
:bashgit checkout main git pull git checkout your-branch git rebase main
Отправьте изменения:
bashgit push origin your-branch
Создайте Pull Request на GitHub
Заполните шаблон PR, описав внесенные изменения
Привяжите PR к соответствующей issue (если применимо)
6. Проверка кода
После создания PR:
- Код будет проверен автоматическими проверками CI
- Другие разработчики проведут ревью кода
- При необходимости внесите изменения на основе полученных комментариев
Стандарты кода
TypeScript / Vue 3
- Используйте Composition API
- Следуйте рекомендациям Vue Style Guide (приоритет A и B)
- Используйте TypeScript для всех новых компонентов
- Определяйте типы для всех параметров и возвращаемых значений
Rust / Tauri
- Следуйте официальным рекомендациям по стилю кода Rust
- Используйте типобезопасность Rust
- Обрабатывайте все потенциальные ошибки
- Документируйте публичные API
Обновление документации
При внесении изменений в код, пожалуйста, обновляйте соответствующую документацию:
- Для новых функций обновите
current-features.md
- Для изменений в API обновите соответствующие разделы технической документации
- Для изменений в пользовательском интерфейсе обновите руководство пользователя
Получение помощи
Если у вас возникли вопросы:
- Задавайте их в Discussions на GitHub
- Используйте раздел Issues для сообщений о проблемах
- Обратитесь к основным разработчикам через указанные контакты
Благодарим вас за интерес к Snowflake Desktop! Ваш вклад помогает улучшать проект и делать его более полезным для писателей.