Extending and Contributing to Gemini CLI
1. Start with one package-level goal​
Gemini CLI is easiest to contribute to when you choose one focused change:
| Goal | First place to look |
|---|---|
| Runtime or command behavior | packages/ |
| Docs or onboarding | docs/ |
| Validation or tooling | tests and config files |
2. Why narrow changes matter​
Terminal agents combine UX, model behavior, file access, and shell execution. Small, well-scoped changes are easier to reason about and much safer to review.
3. Best first contributions​
- docs clarifications,
- auth and setup ergonomics,
- better permission messaging,
- targeted runtime fixes,
- test coverage for common command flows.
4. Think through the full session​
A good patch should improve the real interactive loop, not only a helper function in isolation.
5. Before opening a PR​
Read the project contribution docs, validate the workflow you changed from the terminal, and keep the scope narrow enough that the session behavior is easy to verify.