adk-python/CONTRIBUTING.md
Tanmay Ghare da677b7a34
chore: Fix typos in CONTRIBUTING.md (#460)
Co-authored-by: Hangfei Lin <hangfei@google.com>
2025-05-02 17:35:39 -07:00

2.4 KiB

How to contribute

We'd love to accept your patches and contributions to this project.

Before you begin

Sign our Contributor License Agreement

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 our community guidelines

This project follows Google's Open Source Community Guidelines.

Contribution process

  1. Clone the repository:

    git clone git@github.com:google/adk-python.git
    cd adk-python
    
  2. Create and activate a virtual environment:

    python -m venv .venv
    source .venv/bin/activate
    pip install uv
    
  3. Install dependencies:

    uv pip install -e .[dev,test,extensions,eval]
    
  4. Run unit tests:

    uv run pytest ./tests/unittests
    
  5. Run pyink to format codebase:

    uv run pyink  --config pyproject.toml ./src
    

Requirement for PRs

  • All PRs, other than small documentation or typo fixes, should have an issue associated. If not, please create one.
  • Submit small, focused PRs. Keep changes minimal—one concern per PR.
  • For bug fixes or features, please provide logs or screenshots after the fix is applied to help reviewers better understand the change.
  • Please add corresponding tests for your code change if it is not covered by existing tests.

Large or Complex Changes

For substantial features or architectural revisions:

  • Open an issue first: Outline your proposal, including design considerations and impact.
  • Gather feedback: Discuss with maintainers and the community to ensure alignment and avoid duplicate work.

Code reviews

All submissions, including submissions by project members, require review. We use GitHub pull requests for this purpose. Consult GitHub Help for more information on using pull requests.