Вклад в Bedrud приветствуется. В этом руководстве описан процесс отправки изменений.
Примечание: Каноническое руководство по участию находится в корне репозитория: CONTRIBUTING.md. Эта страница оставлена только для справки.
Начало работы
- Сделайте форк репозитория
- Клонируйте свой форк
- Создайте ветку для функции от
main - Внесите свои изменения
- Отправьте pull request
Предварительные требования
- Go 1.22+
- Bun (для веб-фронтенда)
- Rust (для десктопного приложения)
- Make
- Git
Настройка окружения разработки
# After forking on GitHub, clone your fork
git clone https://github.com/<your-username>/bedrud.git
cd bedrud
make init
make devСм. Рабочий процесс разработки для подробных инструкций по настройке.
Структура проекта
| Директория | Язык | Описание |
|---|---|---|
server/ | Go | Бэкенд API и встроенный LiveKit |
apps/web/ | TypeScript/React | Веб-фронтенд |
apps/desktop/ | Rust + Slint | Десктопное приложение |
apps/android/ | Kotlin | Приложение для Android |
apps/ios/ | Swift | Приложение для iOS |
agents/ | Python | Бот-агенты |
packages/ | TypeScript | Общие определения типов |
tools/cli/ | Python | CLI для развёртывания |
docs/ | Markdown | Документация |
Стиль кода
| Язык | Стандарт |
|---|---|
| Go | gofmt |
| TypeScript/React | Biome |
| Kotlin | Стандартное форматирование Android Studio |
| Swift | Стандартное форматирование Xcode |
| Python | ruff |
Процесс Pull Request
- Именование веток:
feature/description,fix/descriptionилиdocs/description - Сообщения коммитов:
<действие> <что> для <почему>(например,add user model for auth feature,fix login redirect for expired sessions) - CI-проверки: Все проверки GitHub Actions должны пройти
- Описание: Укажите, что изменилось и почему
CI-проверки
Каждый PR автоматически проходит следующие проверки:
| Проверка | Что проверяет |
|---|---|
| Server | go vet, сборка, тесты |
| Web | Проверка типов TypeScript, сборка |
| Android | Lint, модульные тесты |
| iOS | Сборка, тесты (симулятор) |
Сообщение о проблемах
Создавайте issues на GitHub Issues с указанием:
- Шагов для воспроизведения
- Ожидаемого и фактического поведения
- Деталей окружения (ОС, браузер, версия приложения)
Документация
Документация находится в docs/ и собирается с помощью MkDocs Material.
Локальный предпросмотр
pip install mkdocs-material
mkdocs serveЗатем откройте http://localhost:8000 в браузере.
Структура
Страницы документации организованы по темам. Навигация определяется в mkdocs.yml в корне проекта.
Лицензия
Внося вклад, вы соглашаетесь с тем, что ваши изменения будут лицензированы под Apache License 2.0.