Contribute to the Community
Help grow the Gemini CLI community by sharing your knowledge, tools, and experiences with fellow developers.
Open-source software thrives on community involvement. Whether you are an experienced engineer who wants to improve the core codebase, a technical writer who wants to make the documentation clearer, a polyglot who can translate content for non-English speakers, or a tester with a knack for finding edge cases — there is a meaningful way for you to contribute. Every pull request, every bug report, and every answered forum question moves the project forward.
Types of Contributions
Contributions to Gemini CLI fall into four broad categories. Each one is equally valued by the maintainer team, and many contributors work across several categories simultaneously.
Code Contributions
Code contributions include new features, bug fixes, performance improvements, and refactors. Before starting significant new work, open an issue on GitHub to discuss the approach with the maintainers. This avoids wasted effort and ensures your contribution aligns with the project roadmap. Small bug fixes and documentation typos can be submitted as pull requests directly without prior discussion.
The project uses TypeScript throughout. New code must pass all existing tests, include new tests for added behaviour, and comply with the ESLint and Prettier configuration checked in at the root of the repository.
Documentation Contributions
Good documentation is often more impactful than a new feature. Documentation contributions include improving existing guides, writing new tutorials, adding usage examples to the API reference, and fixing inaccuracies. Documentation lives alongside the source code in the same repository, so the same fork-and-PR workflow applies.
When writing documentation, favour concrete examples over abstract descriptions. Every claim about CLI behaviour should be accompanied by a command the reader can run themselves to verify it.
Translation Contributions
Gemini CLI is used by developers all over the world, but the documentation is currently primarily in English. Translating guides and tutorials into other languages dramatically lowers the barrier for non-English speakers to get started. If you are fluent in another language, your contribution can directly benefit thousands of developers.
Translations are maintained under the docs/i18n/ directory. Each language has its own subdirectory. Before beginning a new translation, check the existing issues to avoid duplication of effort.
Testing Contributions
A robust test suite is the foundation of a reliable open-source project. Testing contributions include writing new unit tests for under-covered code paths, adding integration tests for complex workflows, and performing exploratory testing against pre-release builds to find regressions before they reach users.
Even without writing test code, you can contribute by installing pre-release versions, following the test plan in release issues, and reporting unexpected behaviour with detailed reproduction steps.
The Contribution Process
All code and documentation contributions follow the same Git-based workflow. Here is a step-by-step guide from first idea to merged pull request:
Fork the repository
Navigate to the google/gemini-cli repository on GitHub and click "Fork". This creates your own copy of the repository under your GitHub account where you have full write access.
Create a feature branch
Clone your fork locally and create a descriptively named branch: git checkout -b feat/improve-error-messages. Using a separate branch keeps your changes isolated and makes it easy to work on multiple contributions simultaneously.
Implement your changes
Make your changes following the code style guide (see below). Run npm run lint and npm test frequently to catch issues early. Write or update tests as needed.
Open a pull request
Push your branch to your fork and open a PR against the main branch of the upstream repository. Fill in the PR template completely — include a description of the change, the motivation, and how to test it. Link any related issues.
Respond to review feedback
Maintainers will review your PR and may request changes. Address each comment constructively and push additional commits to your branch. Once all feedback is resolved, the maintainer will approve and merge your contribution.
Code Standards
Consistent code style makes the codebase easier for everyone to read and maintain. The following standards are enforced automatically via pre-commit hooks and CI checks:
- ✓TypeScript strict mode: All new code must compile without errors under
tsc --strict. Avoidanytypes; use proper generics or type guards instead. - ✓ESLint: The project uses the Airbnb ESLint preset with minor overrides. Run
npm run lintbefore every commit and fix all reported issues. - ✓Prettier formatting: Code is auto-formatted using Prettier. Run
npm run formatto apply formatting automatically, or configure your editor to format on save. - ✓Test coverage: New features must include tests. Bug fixes must include a regression test that fails before the fix and passes after. The minimum coverage threshold is 80% for all new files.
- ✓Commit messages: Follow the Conventional Commits specification. Use prefixes like
feat:,fix:,docs:, andtest:to make the changelog generation automatic.
How to Report a Bug
A well-written bug report can be more valuable than a code fix — it enables maintainers and other contributors to reproduce the problem, understand its root cause, and implement a lasting solution. Before filing a new issue, search the existing issues to see if it has already been reported.
When opening a bug report, include the following information: your operating system and version, your Node.js version, the version of Gemini CLI you are using (gemini --version), the exact command you ran, the full output you received, and the output you expected instead. If possible, provide a minimal reproducible example — a small script or sequence of commands that demonstrates the problem in isolation.
Community Code of Conduct
The Gemini CLI project is committed to providing a welcoming, inclusive, and harassment-free environment for everyone, regardless of age, body size, disability, ethnicity, gender identity, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
All participants in the project — including contributors, maintainers, and community members — are expected to treat others with respect and professionalism. Constructive criticism is welcome; personal attacks, trolling, and discriminatory language are not. When in doubt, assume good intent and ask clarifying questions before escalating a disagreement.
Violations of the Code of Conduct can be reported by emailing the maintainer team at the address listed in the CODE_OF_CONDUCT.md file in the repository. All reports will be reviewed promptly and handled confidentially.
Ways to Contribute
Submit a Tutorial
Share your knowledge by creating step-by-step tutorials for the community.
Submit TutorialContribution Guidelines
- ✓Quality Content: Ensure your contributions are well-written, accurate, and helpful
- ✓Original Work: Submit only original content or properly attribute sources
- ✓Clear Instructions: Provide step-by-step instructions with examples
- ✓Tested Code: Test all code examples and ensure they work as expected
- ✓Community Standards: Follow our community guidelines and code of conduct
Recognition Program
Community Star
For outstanding contributions and community involvement
Expert Contributor
For high-quality tutorials and technical content
Helper Hero
For actively helping community members in forums
Frequently Asked Questions
How do I submit a code contribution to Gemini CLI?
Fork the repository on GitHub, create a feature branch, implement your changes following the project's ESLint and Prettier configuration, write or update tests to maintain coverage, then open a pull request against the main branch. The maintainers will review your PR and provide feedback within a few business days.
Can I contribute without writing code?
Absolutely. Non-code contributions are just as valuable. You can improve documentation, translate content into other languages, write tutorials, report bugs with detailed reproduction steps, answer questions in the community forum, or help triage open issues on GitHub.
What is the community Code of Conduct?
The Gemini CLI community follows the Contributor Covenant Code of Conduct. All participants are expected to be respectful, inclusive, and constructive. Harassment, discrimination, and personal attacks are not tolerated. Violations can be reported to the maintainers who will review and act on every report.
Ready to Contribute?
Start contributing today and help make Gemini CLI better for everyone.