Thank you for investing time in gemini-client.
Use the GitHub issue chooser to open a bug report with the project template:
Include the library version, JDK version, operating system, a minimal reproduction, and any relevant stack traces.
Use the feature request template in the same issue chooser and describe:
- the problem you are solving
- the API shape you expect
- any alternatives you evaluated first
- Clone the repository.
- Install JDK 21 and Maven 3.9 or newer.
- Run
./mvnw clean verify. - Set
GEMINI_API_KEYonly if you plan to run manual live API checks outside the default test suite.
- Java sources use UTF-8, LF line endings, and the shared rules in
.editorconfig. - Formatting is defined by Spotless and the
qualityMaven profile. - Static checks live in
checkstyle.xmland thequalityMaven profile. - Keep public APIs documented and validate public method inputs clearly.
Use a focused branch name that reflects the change:
feature/<short-description>fix/<short-description>docs/<short-description>chore/<short-description>
Conventional Commits are recommended:
feat: add streaming helper for multipart responsesfix: handle null usage metadata safelydocs: clarify snapshot publishing steps
Before opening a pull request:
- Rebase or merge from the latest default branch.
- Run
./mvnw clean verify. - Run
./mvnw -Pquality spotless:check checkstyle:check spotbugs:check. - Update tests and documentation for any behavior change.
- Add a
CHANGELOG.mdentry underUnreleasedwhen the change is user-visible.
Each pull request should include:
- a concise description of the change
- linked issues when applicable
- notes about API, behavior, or compatibility impacts
- tests covering the new behavior or the bug fix
- All pull requests must pass CI before merge.
- New features should include tests when practical.
- Bug fixes should include a regression test whenever the failure can be reproduced offline.
- Keep network-dependent checks out of the default Maven test lifecycle.
By participating in this project, you agree to follow the guidelines in CODE_OF_CONDUCT.md.