Thank you for considering a contribution! Whether you're fixing a bug, adding a new export route, or improving documentation - your help makes this project better for everyone.
Found a bug? Please open an issue and include:
- OS and version (e.g. macOS 15.2, Windows 11, Ubuntu 24.04)
- App version (shown in the title bar or About screen)
- Steps to reproduce the issue
- Expected vs actual behavior
- Sample model or export route details, if relevant
Have an idea? Open a feature request describing:
- The problem you're trying to solve
- Your proposed solution
- Any alternatives you've considered
| Tool | Install |
|---|---|
| Rust (stable) | rustup.rs |
| Bun | bun.sh |
| Tauri v2 CLI | Tauri prerequisites |
# Install frontend dependencies
bun install
# Start development server
bun run tauri dev
# Type-check and build frontend
bun run build
# Frontend type-check only
bun run lint
# Run Rust tests
cd src-tauri && cargo test
# Lint Rust code
cd src-tauri && cargo clippy
# Build release binary
bun run tauri build- Fork the repository and clone your fork
- Create a branch from
main:git checkout -b feat/my-feature
- Make your changes and test locally with
bun run tauri dev - Run checks before committing:
bun run build # frontend type-check + build bun run lint # frontend type-check only cd src-tauri && cargo clippy # Rust lints cd src-tauri && cargo test # Rust tests
- Commit with a clear, descriptive message
- Push your branch and open a pull request against
main
- TypeScript - Strict mode is enabled. Fix all type errors before submitting.
- Rust - Use stable Rust. Run
cargo fmtandcargo clippybefore committing. Warnings should be resolved. - Commits - Use clear, imperative-tense messages (e.g. "Add OpenVINO export route help text").
New to the project? Look for issues tagged good first issue - these are scoped, well-documented tasks that make a great starting point.
Welcome aboard!