Skip to content

📑 Содержание

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

Мы рады, что вы заинтересованы в участии в разработке Carch! Приветствуются любые виды вкладов, будь то исправление ошибок, добавление новых функций или улучшение документации. Следуйте этому руководству, чтобы начать.

WARNING

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

📌 Изучение кодовой базы

NOTE

Перед участием изучите структуру Carch:

  • Основные Rust файлы Carch расположены в: src
sh
src/
├── ui/
   ├── app.rs
   ├── mod.rs
   ├── popups.rs
   └── render.rs 
├── main.rs 
├── commands.rs
├── display.rs
├── script_list.rs 
└── version.rs
  • Все скрипты модулей организованы по категориям в:
sh
modules/
├── Browser/     # Скрипты для браузеров 
├── Desktop/     # Скрипты для настройки рабочего окружения
├── Development/ # Скрипты инструментов разработки
├── System/      # Скрипты конфигурации системы
└── Terminal/    # Скрипты настройки терминала

IMPORTANT

Сначала проанализируйте, как работает скрипт перед внесением изменений. Если вы хотите улучшить или дополнить проект, убедитесь, что вы понимаете структуру и то, как каждая часть взаимодействует. Это поможет вам вносить вклад в соответствии с дизайном проекта.

sh
Для коммитов используйте метки вроде
feat: ваше-сообщение-коммита или fix: ваше-сообщение-коммита.

Кстати, перед коммитом, если вы изменяете файл .sh или Bash-скрипт, убедитесь, что вы проверили директорию scripts/ и запустили ./check.sh, чтобы найти лишние пробелы. Если скрипт не проходит, запустите ./cleanup.sh. Это только для Bash-скриптов.
Для изменений в файлах Rust убедитесь, что запустили cargo fmt --all --check. Если будут предложения — запустите cargo fmt --all.
Также убедитесь, что выполнили cargo clippy и cargo clippy -- -Dwarnings, чтобы не осталось ошибок. Спасибо.

Для получения дополнительной информации о Conventional Commits, изучите это руководство.

Если у вас есть вопросы или нужна помощь, свяжитесь с нами:
📧 Email: [email protected]
💬 Discord: Присоединиться здесь

Шаги для участия

1. 🍽️ Создание форка репозитория

  • Перейдите на страницу GitHub Carch.
  • Нажмите кнопку Fork в правом верхнем углу, чтобы создать собственную копию репозитория.

2. 🌿 Клонирование форк-репозитория

  • Используйте следующую команду для клонирования репозитория в вашу локальную систему:

    bash
    git clone https://github.com/your-username/carch.git
  • Замените your-username на ваше имя пользователя GitHub.

💡 СОВЕТ

Вы также можете использовать GUI инструменты, такие как GitHub Desktop или даже веб-интерфейс GitHub для создания форков и клонирования репозиториев. Эти инструменты предоставляют простой в использовании визуальный интерфейс для управления вашими вкладами.

3. 🌱 Установка оригинального репозитория как upstream

  • Добавьте оригинальный репозиторий Carch как upstream remote, чтобы поддерживать ваш форк актуальным:

    bash
    cd carch
    bash
    git remote add upstream https://github.com/original-author/carch.git

4. 🍇 Создание новой ветки функции

  • Перед внесением изменений создайте новую ветку с описательным названием:

    bash
    git checkout -b feature/your-branch-name
  • Примеры названий веток:

    • feature/add-new-script
    • bugfix/fix-installation-issue

5. 🔧 Внесение изменений

  • Реализуйте необходимые изменения в коде или документации.
  • Убедитесь, что ваши изменения понятны, протестированы и соответствуют стандартам кодирования проекта.

6. 📝 Индексация и коммит изменений

  • Добавьте измененные файлы в область индексации:

    bash
    git add .
  • Зафиксируйте ваши изменения с понятным сообщением:

    bash
    git commit -m "Add: [краткое описание ваших изменений]"

7. 🚀 Отправка изменений в ваш форк

  • Отправьте вашу ветку в ваш форк-репозиторий:

    bash
    git push origin feature/your-branch-name

8. 📥 Создание Pull Request (PR)

  • Перейдите к оригинальному репозиторию Carch на GitHub.
  • Нажмите на New Pull Request.
  • Выберите вашу ветку из выпадающего списка и подробно опишите ваши изменения.
  • Отправьте PR на рассмотрение!

📚 Участие в разработке документации Carch

Документация Carch доступна ➥ здесь

🚀 Способы участия

Вы можете внести вклад:

  • 🪛 Исправляя опечатки или ошибки в существующих руководствах
  • 🌐 Переводя документацию на другие языки (очень приветствуется!)

🌍 Перевод документации

Хотите помочь сделать Carch доступным для пользователей по всему миру? Помогите нам перевести документацию!

Если вы добавляете новый язык, следуйте этим шагам:

  1. 📁 Создайте новую папку для вашего языка внутри каталога docs/. Используйте коды ISO 639-1 (например, fr, es, hi, и т.д.).
  2. 🛠️ Переведите содержимое Markdown внутри новой папки.
  3. 🧩 Измените docs/.vitepress/config.ts:
    • Добавьте ваш язык в раздел locales.
    • Укажите label, lang и link для навигации.

🧪 Локальное тестирование изменений

Для предварительного просмотра ваших изменений:

sh
bun install
bun run docs:dev

IMPORTANT

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

🧾 Стиль коммитов

Используйте понятные сообщения коммитов, например:

sh
git commit -m "fix(docs): исправить опечатку в руководстве по установке"
git commit -m "feat(docs): добавить перевод на русский язык"

Подробнее о Conventional Commits.

🙌 Спасибо за помощь в улучшении документации!

Руководящие принципы

Качество кода

  • Следуйте существующему стилю кодирования проекта.
  • Пишите понятный, краткий и хорошо документированный код.

Тестирование

  • Тестируйте ваши изменения локально, чтобы убедиться, что они работают как ожидается.
  • Если ваши изменения вводят новые функции, добавьте необходимые тесты, где это применимо.

Документация

  • Если ваши изменения касаются новой функциональности, обновите соответствующую документацию.
  • Убедитесь, что README или Wiki отражают ваши обновления.

Синхронизация вашего форка

  • Поддерживайте ваш форк актуальным, чтобы избежать конфликтов:

    bash
    git fetch upstream
    bash
    git merge upstream/main
    • Замените main на основную ветку репозитория, если она отличается.

Спасибо за участие в разработке Carch! Ваши усилия помогают сделать этот проект лучше для всех.

Выпущено под лицензией MIT.