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

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

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

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

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.
