Skip to content

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:

Suggesting enhancements

Have an idea for a new feature or an improvement to an existing one?

Improving documentation

Found a typo, unclear explanation, or missing information? Submit your changes directly:

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.

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.