Thank you for considering contributing to Sheetz! 🎉 All contributions are welcome — from fixing a typo to implementing a new file format.
Never contributed to open source before? No problem. Here's how to make your first PR:
- Find an issue labelled
good first issue - Comment "I'd like to work on this" — a maintainer will assign it to you within 24 hours
- Fork the repo and create a branch:
git checkout -b feature/my-feature - Make your changes and add tests
- Run tests:
mvn test - Open a PR — use the PR template and link the issue
- See your name in the next CHANGELOG! 🎊
Expect review feedback within 48 hours. We'll help you get it merged.
Use the Bug Report template. Include a minimal reproduction and your environment details.
Use the Feature Request template. Check the Roadmap — your idea may already be planned.
# Clone your fork
git clone https://github.com/YOUR_USERNAME/sheetz.git
cd sheetz
# Build and run tests
mvn clean install
# Run only tests
mvn test
# Check code coverage (requires JaCoCo)
mvn verify
open target/site/jacoco/index.htmlRequirements: Java 11+, Maven 3.6+
- Follow existing code style (no external formatter required)
- Add Javadoc for all public methods
- Maintain test coverage above 80% for new code
- No breaking changes to the public API without discussion
- Every bug fix must include a test that fails before the fix and passes after
- Every new feature must include unit tests covering happy path + edge cases
- Use the existing test patterns in
src/test/java - Add sample files to
src/test/resourcesif needed for file-based tests
Use conventional commits style:
feat: add ODS format support
fix: handle null values in LocalDate converter
docs: add streaming example to README
test: add validation edge cases for empty CSV
refactor: extract SAX parser into dedicated class
If Sheetz is used in production at your company or project, please open a PR to add it to the README's "Used By" section. Include your company/project name and a link.
All contributors are:
- Listed in
CHANGELOG.mdby name - Added to the GitHub contributors graph
- Mentioned in release notes
Thank you for helping make Sheetz better! ⭐