📑 Содержание
Участие в разработке Carch
Мы рады, что вы заинтересованы в участии в разработке Carch! Приветствуются любые виды вкладов, будь то исправление ошибок, добавление новых функций или улучшение документации. Следуйте этому руководству, чтобы начать.
WARNING
Перед внесением любых изменений сначала откройте задачу в разделе Запрос функций. Мы обсудим изменения там перед началом реализации.
📌 Изучение кодовой базы
NOTE
Перед участием изучите структуру Carch:
- Основные Rust файлы Carch расположены в:
src
src/
├── ui/
│ ├── app.rs
│ ├── mod.rs
│ ├── popups.rs
│ └── render.rs
├── main.rs
├── commands.rs
├── display.rs
├── script_list.rs
└── version.rs
- Все скрипты
модулей
организованы по категориям в:
modules/
├── Browser/ # Скрипты для браузеров
├── Desktop/ # Скрипты для настройки рабочего окружения
├── Development/ # Скрипты инструментов разработки
├── System/ # Скрипты конфигурации системы
└── Terminal/ # Скрипты настройки терминала
IMPORTANT
Сначала проанализируйте, как работает скрипт перед внесением изменений. Если вы хотите улучшить или дополнить проект, убедитесь, что вы понимаете структуру и то, как каждая часть взаимодействует. Это поможет вам вносить вклад в соответствии с дизайном проекта.
Для коммитов используйте метки вроде
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. 🌿 Клонирование форк-репозитория
Используйте следующую команду для клонирования репозитория в вашу локальную систему:
bashgit clone https://github.com/your-username/carch.git
Замените
your-username
на ваше имя пользователя GitHub.
💡 СОВЕТ
Вы также можете использовать GUI инструменты, такие как GitHub Desktop
или даже веб-интерфейс GitHub для создания форков и клонирования репозиториев. Эти инструменты предоставляют простой в использовании визуальный интерфейс для управления вашими вкладами.
3. 🌱 Установка оригинального репозитория как upstream
Добавьте оригинальный репозиторий Carch как upstream remote, чтобы поддерживать ваш форк актуальным:
bashcd carch
bashgit remote add upstream https://github.com/original-author/carch.git
4. 🍇 Создание новой ветки функции
Перед внесением изменений создайте новую ветку с описательным названием:
bashgit checkout -b feature/your-branch-name
Примеры названий веток:
feature/add-new-script
bugfix/fix-installation-issue
5. 🔧 Внесение изменений
- Реализуйте необходимые изменения в коде или документации.
- Убедитесь, что ваши изменения понятны, протестированы и соответствуют стандартам кодирования проекта.
6. 📝 Индексация и коммит изменений
Добавьте измененные файлы в область индексации:
bashgit add .
Зафиксируйте ваши изменения с понятным сообщением:
bashgit commit -m "Add: [краткое описание ваших изменений]"
7. 🚀 Отправка изменений в ваш форк
Отправьте вашу ветку в ваш форк-репозиторий:
bashgit push origin feature/your-branch-name
8. 📥 Создание Pull Request (PR)
- Перейдите к оригинальному репозиторию Carch на GitHub.
- Нажмите на New Pull Request.
- Выберите вашу ветку из выпадающего списка и подробно опишите ваши изменения.
- Отправьте PR на рассмотрение!
📚 Участие в разработке документации Carch
Документация Carch доступна ➥ здесь
🚀 Способы участия
Вы можете внести вклад:
- 🪛 Исправляя опечатки или ошибки в существующих руководствах
- 🌐 Переводя документацию на другие языки (очень приветствуется!)
🌍 Перевод документации
Хотите помочь сделать Carch доступным для пользователей по всему миру? Помогите нам перевести документацию!
Если вы добавляете новый язык, следуйте этим шагам:
- 📁 Создайте новую папку для вашего языка внутри каталога
docs/
. Используйте коды ISO 639-1 (например,fr
,es
,hi
, и т.д.). - 🛠️ Переведите содержимое Markdown внутри новой папки.
- 🧩 Измените
docs/.vitepress/config.ts
:- Добавьте ваш язык в раздел
locales
. - Укажите
label
,lang
иlink
для навигации.
- Добавьте ваш язык в раздел
🧪 Локальное тестирование изменений
Для предварительного просмотра ваших изменений:
bun install
bun run docs:dev
IMPORTANT
Пожалуйста, сначала откройте задачу, если планируете внести серьезные структурные или организационные изменения. Мы хотели бы обсудить и поработать над этим заранее!
🧾 Стиль коммитов
Используйте понятные сообщения коммитов, например:
git commit -m "fix(docs): исправить опечатку в руководстве по установке"
git commit -m "feat(docs): добавить перевод на русский язык"
Подробнее о Conventional Commits.
🙌 Спасибо за помощь в улучшении документации!
Руководящие принципы
Качество кода
- Следуйте существующему стилю кодирования проекта.
- Пишите понятный, краткий и хорошо документированный код.
Тестирование
- Тестируйте ваши изменения локально, чтобы убедиться, что они работают как ожидается.
- Если ваши изменения вводят новые функции, добавьте необходимые тесты, где это применимо.
Документация
- Если ваши изменения касаются новой функциональности, обновите соответствующую документацию.
- Убедитесь, что README или Wiki отражают ваши обновления.
Синхронизация вашего форка
Поддерживайте ваш форк актуальным, чтобы избежать конфликтов:
bashgit fetch upstream
bashgit merge upstream/main
- Замените
main
на основную ветку репозитория, если она отличается.
- Замените
Спасибо за участие в разработке Carch! Ваши усилия помогают сделать этот проект лучше для всех.