Thank you for your interest in contributing to OpenZax! This document provides guidelines and instructions for contributing.
This project adheres to a code of conduct. By participating, you are expected to uphold this code.
- Fork the repository
- Clone your fork:
git clone https://github.com/YOUR_USERNAME/openzax.git - Create a branch:
git checkout -b feature/your-feature-name - Make your changes
- Run tests:
cargo test - Run formatting:
cargo fmt - Run linting:
cargo clippy - Commit your changes:
git commit -m "Add your feature" - Push to your fork:
git push origin feature/your-feature-name - Open a Pull Request
- Rust 1.82+ (2024 edition)
- Git
cargo buildcargo testWe use rustfmt and clippy to maintain code quality:
cargo fmt --all
cargo clippy --all-targets --all-features -- -D warningsopenzax/
├── crates/
│ ├── core/ # Core engine
│ ├── shell/ # Terminal interface
│ ├── sdk/ # SDK for extensions
│ └── cli/ # CLI tool
├── docs/ # Documentation
└── .github/ # CI/CD workflows
- Keep PRs focused on a single feature or fix
- Write clear commit messages
- Add tests for new functionality
- Update documentation as needed
- Ensure all CI checks pass
When reporting issues, please include:
- OpenZax version
- Operating system
- Rust version
- Steps to reproduce
- Expected vs actual behavior
- Error messages or logs
Feature requests are welcome! Please:
- Check if the feature is already planned in the roadmap
- Describe the use case clearly
- Explain why it would benefit the project
Feel free to open an issue for questions or join our community discussions.
By contributing, you agree that your contributions will be licensed under the same terms as the project (MIT OR Apache-2.0).