First off, thanks for considering contributing! Every contribution matters, whether it's a bug report, a feature request, or a pull request.
- Check if the bug has already been reported in Issues
- If not, create a new issue using the Bug Report template
- Include steps to reproduce, expected behavior, and actual behavior
- Check existing Feature Requests
- Open a new issue using the Feature Request template
- Describe the problem and your proposed solution
- Fork the repository
- Create a feature branch (
git checkout -b feat/your-feature) - Make your changes following the project's coding standards
- Write or update tests as needed
- Commit using Conventional Commits format
- Push to your fork and open a Pull Request
<type>(<scope>): <description>
[optional body]
Types: feat, fix, docs, style, refactor, perf, test, chore, ci
- Rust (stable)
- Node.js >= 22
- Linux:
libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf - Optional: Nix for reproducible environment (
nix develop)
git clone https://github.com/mpiton/vortex.git
cd vortex
npm install # installs deps + sets up lefthook git hooks
npm run tauri dev # starts dev server with hot reloadcargo test --manifest-path src-tauri/Cargo.toml --workspace # Rust tests
npm test # TypeScript tests
npm run typecheck # Type checkingcargo fmt --manifest-path src-tauri/Cargo.toml --check # Rust formatting
cargo clippy --manifest-path src-tauri/Cargo.toml -- -D warnings # Rust linting
npx oxlint . # TypeScript lintingThis project follows a Code of Conduct. By participating, you agree to uphold it.
Open a Discussion or file an issue using the Question template.