Thank you for your interest in contributing! 🎉
StrataRouter is an AI Execution Control Plane backed by a Rust core. Contributions are welcome across the entire stack: Rust engine, Python SDK, framework integrations, benchmarks, and documentation.
- Fork the repository on GitHub
- Clone your fork:
git clone https://github.com/ai-deeptech/stratarouter.git cd stratarouter - Create a branch:
git checkout -b feature/your-feature-name
- Python 3.8+
- Rust 1.70+ (
rustup update stable) cargo(comes with Rust)maturin(pip install maturin)
# Install Python dev dependencies
pip install -e "python/.[dev]"
# Build the Rust core and install Python bindings
cd python && maturin develop --release && cd ..
# Verify everything works
make test- Follow PEP 8
- Format with Black:
black python/ - Lint with Ruff:
ruff check python/ - Type hints required on all public APIs
- Max line length: 100
- Follow the Rust API Guidelines
- Format:
cargo fmt(required before every commit) - Lint:
cargo clippy -- -D warnings(all warnings are errors) - Document all public APIs with
///doc comments
# Run everything
make test
# Python tests only
cd python && pytest tests/ -v --cov=stratarouter
# Rust tests only
cd core && cargo test --release
# Benchmarks (compile-check only in CI)
cd core && cargo bench --no-run- Write / update tests for your changes (Rust:
cargo test, Python:pytest) - Update documentation — docstrings, README, or docs/ as appropriate
- Update
CHANGELOG.mdunder[Unreleased] - Ensure CI is green — all checks must pass before review
- Open a PR with a clear description and reference to any related issue
| Prefix | When to use |
|---|---|
feat: |
New feature or capability |
fix: |
Bug fix |
perf: |
Performance improvement |
docs: |
Documentation only |
test: |
Tests only |
refactor: |
Code restructuring, no behaviour change |
ci: |
CI/CD workflow changes |
chore: |
Build system, dependencies |
Examples:
feat: Add Ollama encoderfix: Cohere encoder lazy importperf: SIMD cosine similarity for AVX2docs: Update quick-start example
-
cargo fmtandcargo clippy -- -D warningspass -
black python/andruff check python/pass -
mypy stratarouter/ --ignore-missing-importshas no new errors - All tests pass (
cargo test --release,pytest tests/ -v) - New tests added for new behaviour
-
CHANGELOG.mdupdated under[Unreleased] - Public API changes reflected in docstrings and docs/
Look for good first issue
labels — these are well-scoped tasks ideal for new contributors.
Contributions we especially welcome:
- New encoders: Mistral, Gemini, Ollama
- Framework integrations (DSPy, Haystack, Semantic Kernel)
- Benchmark improvements and methodology documentation
- Documentation improvements and tutorials
- GitHub Issues — bug reports and feature requests
- GitHub Discussions — design questions, ideas, general help
- Email — support@stratarouter.com
- Docs — https://docs.stratarouter.com
By contributing, you agree that your contributions will be licensed under the MIT License.
Thank you for making StrataRouter better! 🚀