# Copyright 2026 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. exclude: ^(src/google/adk/cli/browser/|src/google/adk/v1/|v1_tests/) repos: - repo: https://github.com/pre-commit/pre-commit-hooks rev: v4.6.0 hooks: - id: check-yaml args: [--allow-multiple-documents] - id: end-of-file-fixer - id: trailing-whitespace - repo: https://github.com/tox-dev/pyproject-fmt rev: v2.24.0 hooks: - id: pyproject-fmt - repo: https://github.com/astral-sh/ruff-pre-commit rev: v0.15.17 hooks: - id: ruff args: [--fix] files: ^src/ - repo: https://github.com/PyCQA/isort rev: 8.0.1 hooks: - id: isort - repo: https://github.com/google/pyink rev: 25.12.0 hooks: - id: pyink - repo: local hooks: - id: addlicense name: addlicense entry: > bash -c 'if command -v addlicense >/dev/null 2>&1; then addlicense -c "Google LLC" -l apache "$@"; else echo "Warning: addlicense not installed, skipping"; fi' -- language: system files: \.(py|sh)$ - id: check-new-py-prefix name: Check new Python files have _ prefix description: Enforces private-by-default policy for new Python files (see .agents/skills/adk-style/references/visibility.md). entry: scripts/check_new_py_files.sh language: script files: ^src/google/adk/.*\.py$ pass_filenames: false - id: compliance-checks name: ADK Compliance Checks entry: scripts/compliance_checks.py language: script files: \.py$ # This script documents and matches the very patterns it forbids, so # it must not scan itself or other dev-only tooling. exclude: ^scripts/ - repo: https://github.com/executablebooks/mdformat rev: 0.7.22 hooks: - id: mdformat files: ^(README\.md|CONTRIBUTING\.md|contributing/.*\.md)$ exclude: (?i)SKILL\.md$ additional_dependencies: - mdformat-gfm