Contributing Guide
Thank you for your interest in contributing to Agent Development Kit (ADK)! We welcome contributions to the core frameworks, documentation, and related components, which are listed below.
This guide provides information on how to get involved.
Preparing to contribute¶
Choose the right repository¶
The ADK project is split across several repositories. Find the right one for your contribution:
Repository | Description | Detailed Guide |
---|---|---|
google/adk-python |
Contains the core Python library source code | CONTRIBUTING.md |
google/adk-python-community |
Contains community-contributed tools, integrations, and scripts | CONTRIBUTING.md |
google/adk-java |
Contains the core Java library source code | CONTRIBUTING.md |
google/adk-docs |
Contains the source for the documentation site you are currently reading | CONTRIBUTING.md |
google/adk-web |
Contains the source for the adk web dev UI |
These repositories typically include a CONTRIBUTING.md
file in the root of
their repository with more detailed information on requirements, testing, code
review processes, etc. for that particular component.
Sign a CLA¶
Contributions to this project must be accompanied by a Contributor License Agreement (CLA). You (or your employer) retain the copyright to your contribution; this simply gives us permission to use and redistribute your contributions as part of the project.
If you or your current employer have already signed the Google CLA (even if it was for a different project), you probably don't need to do it again.
Visit https://cla.developers.google.com/ to see your current agreements or to sign a new one.
Review community guidelines¶
This project follows Google's Open Source Community Guidelines.
Join the discussion¶
Have questions, want to share ideas, or discuss how you're using ADK? Head over to our Python or Java Discussions!
This is the primary place for:
- Asking questions and getting help from the community and maintainers.
- Sharing your projects or use cases (
Show and Tell
). - Discussing potential features or improvements before creating a formal issue.
- General conversation about ADK.
How to contribute¶
There are several ways you can contribute to ADK:
Reporting issues¶
If you find a bug in the framework or an error in the documentation:
- Framework Bugs: Open an issue in
google/adk-python
or ingoogle/adk-java
- Documentation Errors: Open an issue in
google/adk-docs
(use bug template)
Suggesting enhancements¶
Have an idea for a new feature or an improvement to an existing one?
- Framework Enhancements: Open an issue in
google/adk-python
or ingoogle/adk-java
- Documentation Enhancements: Open an issue in
google/adk-docs
Improving documentation¶
Found a typo, unclear explanation, or missing information? Submit your changes directly:
- How: Submit a Pull Request (PR) with your suggested improvements.
- Where: Create a Pull Request in
google/adk-docs
Writing code¶
Help fix bugs, implement new features or contribute code samples for the documentation:
How: Submit a Pull Request (PR) with your code changes.
- Python Framework: Create a Pull Request in
google/adk-python
- Java Framework: Create a Pull Request in
google/adk-java
- Documentation: Create a Pull Request in
google/adk-docs
Code reviews¶
-
All contributions, including those from project members, undergo a review process.
-
We use GitHub Pull Requests (PRs) for code submission and review. Please ensure your PR clearly describes the changes you are making.
License¶
By contributing, you agree that your contributions will be licensed under the project's Apache 2.0 License.
Questions?¶
If you get stuck or have questions, feel free to open an issue on the relevant repository's issue tracker.