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.

## Join the community

- Want to discuss ADK, ask questions, or talk about all things agents? Head to
  **[r/agentdevelopmentkit](https://www.reddit.com/r/agentdevelopmentkit/)** on
  Reddit.
- Want updates on the monthly community call? Join the
  **[ADK Community Google Group](https://groups.google.com/g/adk-community)**.
- Want to file a bug or contribute to the ADK framework? See the sections
  below for how to find the right repo and get started.

## 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`](https://github.com/google/adk-python) | Contains the core Python library source code | [`CONTRIBUTING.md`](https://github.com/google/adk-python/blob/main/CONTRIBUTING.md)
[`google/adk-python-community`](https://github.com/google/adk-python-community) | Contains community-contributed tools, integrations, and scripts | [`CONTRIBUTING.md`](https://github.com/google/adk-python-community/blob/main/CONTRIBUTING.md)
[`google/adk-js`](https://github.com/google/adk-js) | Contains the core JavaScript library source code | [`CONTRIBUTING.md`](https://github.com/google/adk-js/blob/main/CONTRIBUTING.md)
[`google/adk-go`](https://github.com/google/adk-go) | Contains the core Go library source code | [`CONTRIBUTING.md`](https://github.com/google/adk-go/blob/main/CONTRIBUTING.md)
[`google/adk-java`](https://github.com/google/adk-java) | Contains the core Java library source code | [`CONTRIBUTING.md`](https://github.com/google/adk-java/blob/main/CONTRIBUTING.md)
[`google/adk-docs`](https://github.com/google/adk-docs) | Contains the source for the documentation site you are currently reading | [`CONTRIBUTING.md`](https://github.com/google/adk-docs/blob/main/CONTRIBUTING.md)
[`google/adk-samples`](https://github.com/google/adk-samples) | Contains sample agents for ADK | [`CONTRIBUTING.md`](https://github.com/google/adk-samples/blob/main/CONTRIBUTING.md)
[`google/adk-web`](https://github.com/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](https://cla.developers.google.com/about) (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](https://opensource.google/conduct/).

## How to contribute

There are several ways you can contribute to ADK:

### Reporting issues { #reporting-issues-bugs-errors }

If you find a bug in the framework or an error in the documentation:

* **Framework Bugs:** Open an issue in [`google/adk-python`](https://github.com/google/adk-python/issues/new),
[`google/adk-js`](https://github.com/google/adk-js/issues/new),
[`google/adk-go`](https://github.com/google/adk-go/issues/new), or
[`google/adk-java`](https://github.com/google/adk-java/issues/new)
* **Documentation Errors:** [Open an issue in `google/adk-docs` (use bug template)](https://github.com/google/adk-docs/issues/new?template=bug_report.md)

### Suggesting enhancements { #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`](https://github.com/google/adk-python/issues/new),
[`google/adk-js`](https://github.com/google/adk-js/issues/new),
[`google/adk-go`](https://github.com/google/adk-go/issues/new), or
[`google/adk-java`](https://github.com/google/adk-java/issues/new)
* **Documentation Enhancements:** [Open an issue in `google/adk-docs`](https://github.com/google/adk-docs/issues/new)

### Improving documentation { #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`](https://github.com/google/adk-docs/pulls)

### Writing code { #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`](https://github.com/google/adk-python/pulls)
* **TypeScript Framework:** [Create a Pull Request in `google/adk-js`](https://github.com/google/adk-js/pulls)
* **Go Framework:** [Create a Pull Request in `google/adk-go`](https://github.com/google/adk-go/pulls)
* **Java Framework:** [Create a Pull Request in `google/adk-java`](https://github.com/google/adk-java/pulls)
* **Documentation:** [Create a Pull Request in `google/adk-docs`](https://github.com/google/adk-docs/pulls)

### 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](https://github.com/google/adk-docs/blob/main/LICENSE).

## Questions?

If you get stuck or have questions, feel free to open an issue on the relevant
repository's issue tracker.
