ADK Style Guide
Style Guide (references/)
- Visibility — naming conventions for module-private, internal, and package-private visibility.
- Imports — relative vs absolute imports,
TYPE_CHECKINGpatterns. - Typing — strong typing, avoiding Any, bare type names, keyword-only arguments,
Optionalvs| None, abstract parameter types, mutable default avoidance, runtime type discrimination. - Pydantic Patterns — Pydantic v2 usage,
Field()constraints,field_validator,model_validator, private attributes, deprecation migration, post-init setup. - Formatting — indentation, line limits, and running pre-commit hooks.
- Documentation — comments and docstrings.
- Logging — lazy evaluation and log levels.
- File Organization — file headers and class organization.
Testing
references/testing.md — core principles, 9 rules for writing ADK tests, test structure template