Contributing¶
Thanks for your interest in contributing to adk-fluent! This guide covers the development workflow, code standards, and how to get your changes merged.
Quick Start¶
# Clone and install in dev mode
git clone https://github.com/vamsiramakrishnan/adk-fluent.git
cd adk-fluent
pip install -e ".[dev,docs]"
# Run tests
uv run pytest tests/ -v --tb=short
# Lint and format
uv run ruff check .
uv run ruff format .
Development Workflow¶
Fork and branch — Create a feature branch from
masterWrite code — Follow the existing patterns in
src/adk_fluent/Add tests — Tests live in
tests/and use pytestLint — Run
uv run ruff check . && uv run ruff format .Open a PR — Target
master, describe what and why
Key Directories¶
Directory |
Purpose |
|---|---|
|
Library source code |
|
Type stubs for IDE autocomplete |
|
Test suite (pytest) |
|
Sphinx documentation |
|
Code generation and build tools |
|
Runnable example agents |
Code Standards¶
Python 3.11+ — Use modern syntax (
match,|union types in annotations)Ruff — Linting and formatting (config in
pyproject.toml)Type hints — All public APIs must have type annotations
No breaking changes to public API without discussion in an issue first
Generated Code¶
Many builder modules (agent.py, tool.py, config.py, etc.) and their .pyi stubs are auto-generated from manifest.json. Do not edit these files directly — your changes will be overwritten. Instead:
Modify the generation templates in
scripts/Run the codegen pipeline to regenerate
See the guides below for details.