Contributing
Thank you for your interest in contributing to kodo!
Getting Started
Prerequisites
- Rust 1.93 or later
- mise for toolchain management (recommended)
Building from Source
Running Tests
Development Workflow
Branch Naming
We use GitHub Flow:
feature/*- New featuresfix/*- Bug fixesdocs/*- Documentation updatesrefactor/*- Code refactoringchore/*- Maintenance tasks
Commit Messages
We recommend Conventional Commits:
Pull Request Process
- Create a branch from
main - Make your changes
- Ensure all tests pass:
cargo test - Ensure code is formatted:
cargo fmt - Ensure no clippy warnings:
cargo clippy - Open a pull request to
main - Wait for CI to pass and code review
Code Style
Formatting and Linting
This project uses:
cargo fmtfor code formattingcargo clippyfor linting- prek for pre-commit hooks (via mise)
Pre-commit hooks are automatically set up when you install mise:
Guidelines
- Follow Rust naming conventions
- Write documentation for public APIs
- Add tests for new functionality
- Keep functions focused and small
Branch Protection
The main branch is protected:
- All changes require a pull request
- CI must pass before merging
- Direct pushes to
mainare not allowed
Questions?
Feel free to open an issue if you have questions or need help.