Contributing
Thank you for your interest in contributing to kagi CLI! This document outlines how you can help improve the project.Ways to Contribute
Report Bugs
If you find a bug, please open an issue on GitHub with:- Clear description of the problem
- Steps to reproduce
- Expected vs actual behavior
- Your environment (OS, shell, kagi version)
- Any relevant error messages
Request Features
Feature requests are welcome! When proposing new features:- Explain the use case
- Describe the desired behavior
- Consider backward compatibility
- Be open to discussion and alternatives
Documentation
Documentation improvements are always appreciated:- Fix typos or unclear explanations
- Add examples for complex workflows
- Improve code comments
- Update outdated information
Code Contributions
Getting Started
- Fork the repository
- Clone your fork
- Build the project (see Development)
- Make your changes
- Test thoroughly
- Submit a pull request
Development Setup
Code Style
- Follow existing Rust conventions
- Run
cargo fmtbefore committing - Address any
cargo clippywarnings - Keep functions focused and small
- Add tests for new functionality
Pull Request Process
- Update documentation if needed
- Add tests for new features
- Ensure all tests pass
- Update CHANGELOG.md if applicable
- Request review from maintainers
Commit Guidelines
- Use clear, descriptive commit messages
- Reference issues when applicable
- Keep commits focused on a single change
- Prefer present tense (“Add feature” not “Added feature”)
Questions?
- Check existing documentation
- Search existing issues
- Join discussions in issue threads
- Reach out via GitHub Discussions