Development Workflow¶
Branch Strategy¶
Always branch from main:
Branch naming: type/issue-n/short-description-kebab-case
- feat/issue-n/ - New feature
- fix/issue-n/ - Bug fix
- docs/issue-n/ - Documentation
- refactor/issue-n/ - Refactoring
- test/issue-n/ - Tests
Examples:
- feat/issue-42/add-gnn-routing
- fix/issue-108/prevent-deadlock
- docs/issue-79/update-contributing-guide
Commit Messages¶
Follow Conventional Commits:
type(scope): description
# Examples
feat(scheduler): add adaptive execution
fix(runner): prevent deadlock in parallel execution
docs: update installation guide
test(graph): add tests for dynamic topology
Development Cycle¶
- Create branch
- Make changes
- Run tests:
uv run pytest tests/ -v - Run linting:
uv run ruff check src/ - Format code:
uv run ruff format src/ - Commit with conventional message
- Push to fork
- Create pull request
Pull Request Process¶
- Update your branch with upstream changes
- Push to your fork
- Open PR against
main - Wait for CI checks
- Address review feedback
- Request review when ready
CI/CD¶
The pipeline runs: - Linting (ruff) - Type checking (ty) - Tests (pytest) - Coverage reporting
Ensure all checks pass before requesting review.