Окружение разработки
Требования
Заголовок раздела «Требования»- Python 3.12+
- uv —
curl -LsSf https://astral.sh/uv/install.sh | sh - ffmpeg 6.1+ (для интеграционных тестов MA)
- macOS:
brew install ffmpeg - Ubuntu:
sudo apt-get install ffmpeg
- macOS:
- Форк trudenboy/ma-server (для dev-сервера)
Установка
Заголовок раздела «Установка»./scripts/setup.shПерезапускайте после git pull — версия моделей MA может измениться.
Запуск тестов
Заголовок раздела «Запуск тестов»# Unit-тесты (без MA-сервера)uv run pytest provider/tests/ -m "not integration"
# Полный набор тестовuv run pytest provider/tests/
# С отчётом покрытияuv run pytest provider/tests/ --cov=provider/ --cov-report=htmlИменование веток
Заголовок раздела «Именование веток»feature/<описание> # новый функционалfix/<описание> # исправления баговchore/<описание> # обслуживание<описание> — kebab-case, 2–4 слова.
Жизненный цикл feature-ветки
Заголовок раздела «Жизненный цикл feature-ветки»git checkout dev && git pullgit checkout -b feature/my-feature
# разработка + тестыuv run pytest provider/tests/pre-commit run --all-files
# PR: feature/* → devgit push origin feature/my-featuregh pr create --base devЗапуск dev-сервера
Заголовок раздела «Запуск dev-сервера»./scripts/dev-server.sh# UI: http://localhost:8095Conventional Commits
Заголовок раздела «Conventional Commits»feat: add feature Xfix: fix bug Ychore: update dependenciestest: add test for ZПроцесс релиза
Заголовок раздела «Процесс релиза»- PR:
dev→main - Actions → Release → Run workflow → ввести версию