Thanks for your interest in contributing to Shimmy!
Pull requests are restricted to approved maintainers only. Unsolicited PRs will be declined. To contribute code, you must first apply for maintainer status by emailing michaelallenkuykendall@gmail.com.
Non-maintainers can contribute by:
- Opening issues for bugs or feature requests
- Participating in GitHub Discussions
- Providing feedback and testing
- 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
IMPORTANT: Pull Request Access is Restricted
- Only approved maintainers may submit pull requests
- All contributions from non-maintainers will be declined
- Code contributions require pre-approval via maintainer application process
For Approved Maintainers:
- 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. Code contributions require pre-approved maintainer status.
To apply for maintainer status:
-
Private Application: Email michaelallenkuykendall@gmail.com with:
- Your GitHub username and relevant experience
- 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
-
No Unsolicited PRs: Code contributions without prior approval will be declined
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.