Development Environment
Requirements
Section titled “Requirements”- Python 3.12+
- uv —
curl -LsSf https://astral.sh/uv/install.sh | sh - ffmpeg 6.1+ (for MA integration tests)
- macOS:
brew install ffmpeg - Ubuntu:
sudo apt-get install ffmpeg
- macOS:
- Fork of trudenboy/ma-server (for the dev server)
./scripts/setup.shRe-run after git pull — the MA models version may change.
Running Tests
Section titled “Running Tests”# Unit tests (no MA server required)uv run pytest provider/tests/ -m "not integration"
# Full test suiteuv run pytest provider/tests/
# With coverage reportuv run pytest provider/tests/ --cov=provider/ --cov-report=htmlBranch Naming
Section titled “Branch Naming”feature/<description> # new functionalityfix/<description> # bug fixeschore/<description> # maintenance<description> should be kebab-case, 2–4 words.
Feature Branch Lifecycle
Section titled “Feature Branch Lifecycle”git checkout dev && git pullgit checkout -b feature/my-feature
# develop + testuv run pytest provider/tests/pre-commit run --all-files
# PR: feature/* → devgit push origin feature/my-featuregh pr create --base devRunning the Dev Server
Section titled “Running the Dev Server”./scripts/dev-server.sh# UI: http://localhost:8095Conventional Commits
Section titled “Conventional Commits”feat: add feature Xfix: fix bug Ychore: update dependenciestest: add test for ZRelease Process
Section titled “Release Process”- PR:
dev→main - Actions → Release → Run workflow → enter version