Contributing to Vortix
March 31, 2026 ยท View on GitHub
Thanks for your interest in contributing! ๐
Quick Start
git clone https://github.com/Harry-kp/vortix.git
cd vortix
cargo build
sudo cargo run
Ways to Contribute
- ๐ Report bugs โ Open an issue with steps to reproduce
- ๐ก Suggest features โ Check the roadmap first, then open an issue
- ๐ Improve docs โ README, code comments, examples
- ๐งช Add tests โ Unit tests, integration tests
- ๐ Linux support โ Help port macOS-specific code
Linux Help Wanted
Vortix is developed primarily on macOS, so Linux users can have outsized impact.
Ways Linux contributors can help:
- Test PRs and release candidates on Ubuntu, Fedora, and Arch
- Report distro-specific issues around firewall backends, DNS detection, and privilege handling
- Contribute fixes for Linux-only regressions
- Share packaging and install feedback from real systems
If you regularly use Vortix on Linux and want to help more deeply, start in the Linux tester discussion with your distro and what you are willing to test.
Development Workflow
- Fork the repo
- Create a feature branch:
git checkout -b feat/my-feature - Make your changes
- Run checks:
cargo fmt # Format code cargo clippy # Lint cargo test # Run tests - Commit with conventional commits:
feat:new featurefix:bug fixdocs:documentationrefactor:code refactoring
- Push and open a PR
Code Style
- Run
cargo fmtbefore committing - Run
cargo clippyand fix all warnings - Keep functions small and focused
- Add doc comments for public APIs
Testing
Vortix requires root for VPN operations. For testing:
# Run unit tests (no root needed)
cargo test
# Run with demo mode (masks sensitive data)
sudo cargo run -- --demo
For Linux bug reports, include as much of the following as possible:
- distro + version
- kernel version
- install method (
cargo, Homebrew, npm, package manager, binary installer) vortix report- whether your system uses
iptables,nftables,firewalld,NetworkManager, orsystemd-resolved
Questions?
Open a discussion or reach out on Twitter/X.