Contributing
Guidelines for contributing to Capsa.
Code Style
- Run
cargo fmtbefore committing - All code must pass
clippy -D warnings - Add tests for new functionality
- Update documentation for API changes
Pull Request Process
- Fork the repository
- Create a feature branch
- Make your changes with tests
- Ensure CI passes
- Submit a pull request
Commit Messages
Use conventional commit format:
feat: add support for virtio-gpu
fix: resolve race condition in vsock connection
docs: update networking guide
test: add integration tests for VM poolsTypes
| Type | Description |
|---|---|
feat | New feature |
fix | Bug fix |
docs | Documentation only |
test | Adding or updating tests |
refactor | Code change that neither fixes a bug nor adds a feature |
perf | Performance improvement |
chore | Build process or auxiliary tool changes |
Testing Requirements
Before submitting a PR:
- Run unit tests:
cargo test-linux --liborcargo test-macos --lib - Run integration tests:
cargo test-linux -- --test-threads=1 - Run clippy:
cargo clippy-linux -- -D warnings - Check formatting:
cargo fmt --all -- --check
Documentation
- Update relevant documentation when changing public APIs
- Add doc comments for new public items
- Include examples in doc comments where helpful
Getting Help
- Open an issue for bugs or feature requests
- Discuss larger changes in an issue before implementing