Thank you for considering contributing to Zix! Contributions, whether they're bug reports, feature requests, or pull requests, are greatly appreciated. To ensure a smooth collaboration, please follow the guidelines below.
-
Fork the Repository Fork the repository to your GitHub account and clone it locally. Make sure you are working on the latest version of the main branch:
git clone https://github.com/zix-rs/zix.git cd zix git pull origin main
-
Install Dependencies If the project has additional dependencies, make sure to install them as per the instructions in the README.
-
Configure Git Commit Message Ensure your commit messages follow the correct convention by configuring Git to use the predefined message template:
git config commit.template .gitmessage
- Follow the Rust coding conventions outlined in rustfmt. Run
cargo fmt
before submitting changes. - Ensure your code is lint-free by running
cargo clippy
.
Use meaningful commit messages with one of the following prefixes to describe the purpose of your change:
Prefix | Use Case |
---|---|
feat: |
Adding a new feature |
fix: |
Fixing a bug |
docs: |
Documentation updates or improvements |
refactor: |
Code refactoring without changing functionality |
test: |
Adding or improving tests |
chore: |
Maintenance tasks (e.g., dependencies updates) |
ci: |
Changes to CI/CD pipelines |
Example:
feat: add support for environment variable configuration
You can also specify the feature your change is related to by including it in parentheses after the prefix. This makes it easier to track which feature the change impacts.
Examples:
For a new feature:
feat(installer): add workflow to update zix.json on release
fix(cli): correct parsing of command-line arguments
-
Create a New Branch Create a branch with a descriptive name for your contribution:
git checkout -b feat-new-feature
-
Make Changes and Commit
- Ensure your changes are properly tested.
- Use the appropriate commit message prefix (see above).
-
Push Your Changes Push your branch to your fork:
git push origin feat-new-feature
-
Open a Pull Request
- Go to the original repository and open a pull request.
- Provide a clear and concise description of your changes and their purpose.
If you encounter any issues or bugs, please report them by opening a new issue in the repository. Include the following details:
- Steps to reproduce the issue
- Expected behavior
- Actual behavior
- Environment details (e.g., operating system, Rust version)