Skip to content

Процесс контрибьюции в проект Snowflake Desktop

Основные принципы

Проект Snowflake Desktop приветствует вклад сообщества разработчиков. Мы стремимся поддерживать высокое качество кода, документации и пользовательского опыта. Этот документ описывает процесс внесения вклада в проект.

Подготовка к разработке

Требования к окружению

  • Node.js (последняя LTS версия)
  • pnpm (для управления пакетами)
  • Rust (стабильная версия)
  • Tauri CLI

Настройка окружения разработки

  1. Клонируйте репозиторий:

    bash
    git clone https://github.com/your-username/snowflake-desktop.git
    cd snowflake-desktop
  2. Установите зависимости:

    bash
    pnpm install
  3. Настройте среду разработки:

    bash
    pnpm tauri dev

Рабочий процесс

1. Выбор задачи

  • Просмотрите список открытых issues на GitHub
  • Если вы планируете работать над существующей issue, оставьте комментарий, чтобы избежать дублирования работы
  • Если вы хотите добавить новую функциональность, сначала создайте issue для обсуждения

2. Создание ветки

Для каждой задачи создавайте отдельную ветку от main:

bash
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

  1. Убедитесь, что ваша ветка актуальна относительно main:

    bash
    git checkout main
    git pull
    git checkout your-branch
    git rebase main
  2. Отправьте изменения:

    bash
    git push origin your-branch
  3. Создайте Pull Request на GitHub

  4. Заполните шаблон PR, описав внесенные изменения

  5. Привяжите 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! Ваш вклад помогает улучшать проект и делать его более полезным для писателей.