Thanks for your interest in contributing to Shimmy!
- Fork the repo and create a branch (
git checkout -b feature/foo) - Make your changes with clear commits and tests if applicable
- Sign off your commits (required):
git commit -s -m "Your message" - Run existing tests to ensure nothing breaks (
cargo test) - Ensure code quality (
cargo fmt && cargo clippy) - Open a Pull Request against
main
All contributions must be signed off with the Developer Certificate of Origin. This certifies that you have the right to contribute your code. See DCO.md for details.
Quick setup:
git config format.signoff true # Auto sign-off all commits- Rust 2021 edition
- Use
cargo fmtandcargo clippybefore submitting - Keep PRs small and focused - large refactors may be rejected
- Add tests for new functionality
- Document public APIs with rustdoc comments
Features should align with the Shimmy philosophy:
- Lightweight: ~5MB binary target
- Zero-config: No setup, just works
- OpenAI API compatibility: Drop-in replacement
- Invisible infrastructure: Minimal surface area
- Bug fixes with test cases
- Performance improvements
- API compatibility enhancements
- Documentation improvements
- Platform-specific fixes
- Test coverage improvements
- Features that bloat binary size significantly
- Complex configuration systems
- UI/dashboard components (use external tools)
- Breaking changes to established APIs
- Features not aligned with OpenAI compatibility
- All PRs require review and approval from the lead maintainer
- Merge authority is reserved to maintain project direction
- We aim to review PRs within 1-2 business days
- Constructive feedback will be provided for rejected PRs
# Clone and setup
git clone https://github.com/Michael-A-Kuykendall/shimmy
cd shimmy
cargo build
# Run tests
cargo test
# Check formatting and linting
cargo fmt --check
cargo clippy -- -D warnings- Lead Maintainer: Michael A. Kuykendall (@Michael-A-Kuykendall)
- Additional Maintainers: Currently none (solo-maintained project)
Currently, Shimmy is maintained by a single maintainer to ensure consistent vision and rapid iteration. If you're interested in becoming a maintainer in the future:
-
Demonstrate Expertise: Contribute several high-quality PRs over time
-
Private Application: Email
maintainer-request@shimmy-ai.devwith:- Your GitHub username and contribution history
- Area of expertise (e.g., performance, platform support, API design)
- Time commitment you can provide
- Why you'd like to help maintain Shimmy
-
Evaluation Process: Applications are reviewed when additional maintainers are needed
When additional maintainers are added, they will:
- Review and approve pull requests
- Triage and respond to issues
- Maintain code quality standards
- Participate in release planning
- Uphold the Shimmy philosophy and project direction
Note: The project may remain solo-maintained until contribution volume requires additional help.
Contributors are acknowledged in AUTHORS.md after a merged PR.
Open a GitHub Discussion or ping @Michael-A-Kuykendall in your PR.