ADK Samples: A Repository of Runnable Agent Recipes for Google ADK
A collection of sample agents built with Agent Development Kit (ADK)
At a glance
- What is it?
- ADK Samples (also called ADK Recipes in its README) is a public GitHub repository that collects working agent examples for Google's Agent Development Kit. It targets engineers who want a concrete starting point rather than a blank file when building agents with ADK.
- Who is it for?
- ADK Samples suits engineers who have already decided to use Google's Agent Development Kit and want a working agent to fork rather than starting from scratch. It is not a framework or a library you install directly.
- Can I use it commercially?
- Yes. Apache-2.0 is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository received new commits within the last day.
- What is it written in?
- Mainly Python, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 29, 2026, and from our analysis. They are not legal advice.
Editorial analysis
What ADK Samples Is and Who It Is For
ADK Samples is a curated set of small, self-contained agent programs built on Google's Agent Development Kit. The repository's own README describes its contents as "small, runnable agents that show how to solve real problems with the Agent Development Kit." The intended audience is an engineer who already knows they want to build with ADK and wants a concrete, working agent as a foundation rather than reading documentation in the abstract.
The collection covers a range of practical patterns: OAuth flows, session memory, guardrails, and retrieval-augmented generation (RAG) patterns appear in the core section. Industry workflows, customer service bots, and research agents live in the community-contributed section. Each recipe targets one specific pattern or use case. The README explicitly notes this is not an officially supported Google product and that the recipes are for demonstration and as starting points, not for direct production use.
Repository Layout: Core Recipes and Community Contributions
The repository splits its content into two top-level directories. The core/ directory holds canonical patterns curated by the agents-cli team. These recipes are intentionally small and focused, each teaching one thing clearly: an OAuth flow, a RAG integration, a guardrail pattern, or a session memory approach.
The contrib/ directory holds community-contributed recipes. These are broader in scope and address specific use cases or industry workflows. A contrib recipe is self-contained for its scenario but is not curated with the same editorial narrowness as a core recipe.
Beyond these two user-facing directories, the repository also contains language-specific subdirectories (python/, typescript/, go/, java/) and a skills/ directory that holds what the README calls "vertical skills," which are recipes shipped to users under a skill classification. There is a separate .agents/skills/ directory for AI coding assistant helpers used to build the repository itself, including recipe scaffolding, manifest generation, and pyproject alignment. These are internal tools, not recipes for end users.
Language Support and Prerequisites
ADK supports five language runtimes. The README lists the official SDK repositories:
- ADK Python: github.com/google/adk-python - ADK TypeScript: github.com/google/adk-js - ADK Go: github.com/google/adk-go - ADK Java: github.com/google/adk-java - ADK Kotlin: github.com/google/adk-kotlin
Before using any recipe, you install the relevant ADK SDK. The README points to adk.dev/get-started for installation instructions. The repository itself uses Python tooling for its validation and formatting scripts: the pyproject.toml specifies Python 3.11 or newer and uses uv as the package manager. Dev dependencies include pytest for testing, ruff for formatting, and mypy for type checking. These are needed if you want to contribute a new recipe or run the repository's own CI checks, not if you simply want to run an existing recipe.
Each recipe contains its own README.md with setup and run instructions specific to that recipe's language and dependencies. There is no single global install step that applies across all recipes.
How to Pick and Start a Recipe
The intended workflow is to browse the core/ or contrib/ directories in the repository, find a recipe that matches the pattern you need, read that recipe's own README.md, and then fork or copy the recipe as the base of your project. The main repository README describes this directly: "Fork one as the starting point for your own project, or browse the collection to learn the patterns."
Because each recipe is fully self-contained, you are not running a central command against the repository root to start one. The repository root's pyproject.toml and uv.lock are for the repo's own tooling (validation scripts in tools/, CI scripts in .github/scripts/), not for running recipes.
For engineers who want to contribute a recipe, the process starts with docs/recipe-checklist.md, which the README describes as a one-page summary of everything needed to ship a recipe. The docs/recipe-handbook/README.md provides deeper context and a tooling reference. Issues can be opened at github.com/google/adk-recipes/issues.
Limitations of Using Sample Agents in Production
The repository README states clearly that recipes are for demonstration and as starting points, not for production use. This is a meaningful constraint. A recipe that demonstrates an OAuth flow shows the ADK pattern for that flow, but it will not include production-grade error handling, rate limiting, credential rotation, or audit logging. An engineer who deploys a recipe without adding these layers is taking on risk the recipe does not cover.
A second limitation is maintenance fragmentation. Because each recipe maintains its own dependencies and its own README, a recipe that was correct when contributed may fall behind the ADK SDK version or a third-party integration it relies on. The repository does not guarantee that all recipes in contrib/ are tested against the current ADK release. Before committing to a contrib recipe, checking the recipe's dependency versions against the current ADK SDK documentation is a necessary step.
The repository also explicitly states it is not eligible for the Google OSS Vulnerability Rewards Program, which means security issues in the recipe code are handled as ordinary GitHub issues rather than through a formal disclosure process.
ADK Samples vs. LangChain Examples
LangChain, maintained in the langchain-ai organization on GitHub, is another widely used agent and chain framework with its own collection of example notebooks and scripts. The structural difference is the target runtime: ADK Samples assumes you are building with Google's Agent Development Kit, while LangChain examples assume the LangChain Python or JavaScript SDK. The two ecosystems use different abstractions for tools, memory, and orchestration, so recipes from one cannot be dropped into the other without rewriting the agent logic.
For engineers who are still deciding which framework to use, ADK Samples is not a good comparison point on its own, because its value is in showing ADK-specific patterns. The choice between ADK and LangChain rests on factors such as deployment target, team familiarity, and integration requirements, not on the quality of the sample collections.
Maintenance, License, and Contribution Status
The last push to the repository was on 2026-09-22, indicating the repository is currently active. The codebase is licensed under Apache 2.0, which permits use, modification, and redistribution with attribution. The license applies to the recipe code; it does not grant rights to use Google Cloud services or APIs that a recipe may depend on.
Contribution to the repository is open. The repository has a CONTRIBUTING.md at the root, a recipe checklist in docs/recipe-checklist.md, and a recipe handbook for contributors who want to add a new recipe. The README notes that existing recipes rely on AI coding assistant helpers in .agents/skills/ for tasks like recipe scaffolding and manifest generation, which means contributors can use these helpers to reduce manual setup when creating a new recipe.
Editorial conclusion
ADK Samples suits engineers who have already decided to use Google's Agent Development Kit and want a working agent to fork rather than starting from scratch. It is not a framework or a library you install directly. Engineers working with other agent frameworks such as LangChain will not find the recipes transferable. Before adopting a recipe, verify that the corresponding language SDK (Python, TypeScript, Go, or Java) is at a version supported by the recipe's own README, since the collection spans multiple language runtimes and each recipe carries its own dependency requirements.
Frequently asked questions
Do I need to install anything from the ADK Samples repository itself?
No. You install the ADK language SDK for your preferred language (Python, TypeScript, Go, or Java) from adk.dev/get-started, then clone or fork the specific recipe you want to use. The repository root's tooling (pyproject.toml, uv.lock) is for recipe validation and formatting, not for running recipes.
What is the difference between core and contrib recipes in ADK Samples?
Core recipes are curated by the agents-cli team and are intentionally small, each teaching one pattern clearly. Contrib recipes are community-contributed, broader in scope, and address specific use cases or industry workflows. Both are self-contained, but core recipes carry a tighter editorial standard.
Can I deploy a recipe from ADK Samples directly in production?
The README states explicitly that recipes are for demonstration and as starting points, not for production use. They show ADK patterns but do not include production-grade concerns such as error handling, rate limiting, or security hardening.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/google-adk-samples)