🎉 First of all, thank you for your interest in contributing to InferMesh!
We welcome contributions of all kinds: code, documentation, design proposals, and community support.
By participating in this project, you agree to abide by our Code of Conduct.
Please read it to understand the expectations for all contributors.
- Use the GitHub Issues tracker.
- Provide clear reproduction steps, logs, or metrics where applicable.
- Label issues appropriately:
bug,enhancement,question,documentation.
- Open an issue labeled
proposalorenhancement. - Provide context: what problem are you solving? why does it belong in infermesh?
- Discuss design options before implementation.
- Fork the repo and create your branch from
main:git checkout -b feature/my-feature
- Run the lints and tests locally:
cargo fmt --all -- --check cargo clippy --all-targets --all-features -- -D warnings cargo nextest run --all
- Commit with clear messages (see Commit Guidelines below).
- Push to your fork and open a Pull Request (PR).
- Fix typos, clarify explanations, or add examples.
- Documentation-only PRs are always welcome.
- Add example PromQL queries, Grafana dashboards, or Kubernetes manifests under
docs/orexamples/.
- Rust (stable, via rustup)
protoc(protobuf compiler)- Docker (optional, for container builds)
- NVIDIA drivers + CUDA (for GPU nodes)
cargo build --workspace --releasecargo nextest run --allcargo fmt --all -- --check
cargo clippy --all-targets --all-features -- -D warningsWe follow a conventional commit style:
feat:new featurefix:bug fixdocs:documentation changesstyle:formatting or stylistic changes (no logic)refactor:code restructuring without behavior changetest:adding or updating testschore:maintenance tasks
Example:
feat(router): add hedged requests for p99 tail latency
- Code compiles and tests pass locally
- Lints pass (fmt + clippy)
- Documentation updated (README, ARCHITECTURE, etc. if applicable)
- Added tests for new functionality
- PR description explains what and why, not just how
- Maintainers update
CHANGELOG.mdwith highlights. - Version bump in
Cargo.toml(semver). - Tag a release:
git tag -a vX.Y.Z -m "Release vX.Y.Z" git push origin vX.Y.Z - GitHub Actions builds and publishes release artifacts (binaries, containers).
Thanks again for helping improve InferMesh 💜