adk-recipes
google/adk-recipes/AGENTS.md
AGENTS.md10k starsChanged 51 days ago
- Reads credentials
- Commits and pushes
# Agent Guidelines for adk-recipes
All agents must follow the guidelines below without being reminded.
## General
- Use the term **recipe** instead of **sample** everywhere — responses,
code comments, commit messages, PR descriptions, docs.
- Two different things are called "skills"; keep the terms straight:
- **Vertical skills** — recipes under `skills/<vertical>/<solution>/`
(e.g. `skills/retail/store-ops/`). Shipped to users.
- **Repo skills** — AI coding-assistant helpers under `.agents/skills/`
(e.g. `prepare-python-recipe`). Used to build this repo.
- Recipes live under `core/` (curated), `contrib/` (community), or
`skills/` (vertical skills). Repo skills are a completely separate
concept. Do NOT mix `.agents/skills/` changes and recipe/vertical-skill
changes in the same PR. If a tool run modifies files outside your task's
scope (e.g. a repo-wide ruff sweep touching an unrelated recipe), revert
those and mention them so the user can decide.
- When your task is scoped to a specific recipe or skill, stay inside its
directory. If you notice similar issues elsewhere, flag them in your
response instead of opportunistically fixing them.
## Git
- Never run `git commit`, `git push`, `git rebase`, `git merge`,
`gh pr create`, `gh pr merge`, or any other command that mutates git history
or the remote, unless the user's **most recent message** contains an
**explicit** request to do that specific action (e.g. "commit this",
"push it", "create a PR", "open a PR"). Even a request scoped to the exact
paths you have just modified needs the explicit verb.
- If, after doing the requested work, there are uncommitted changes and you
believe they should be committed, **ask first**. Show the diff summary,
suggest a commit message, and wait for an explicit "yes, commit" or
"yes, push".
- Safe read-only git commands are always fine: `git status`, `git diff`,
`git log`, `git show`, `git branch`, `gh pr view`, `gh pr list`.
- Reverting your own uncommitted work (`git checkout <path>` on a working-tree
change you made in this session) is also fine — it undoes, it doesn't
mutate history.
## Models
- Do NOT use `gemini-2.0-flash` or `gemini-2.5-flash` — both are deprecated. Use `gemini-3.5-flash` instead.
## Python
- Python recipes go under `contrib/python/` or `core/python/`. Vertical
skills go under `skills/<vertical>/<solution>/` (e.g.
`skills/retail/store-ops/`) — that middle folder is a **vertical**, not a
language, and it is mandatory. A skill's language comes from
`manifest.language`.
- Minimum python version: 3.11
- Package manager: Use `uv`, not `pip`
- Formatter/linter: `ruff` — line length 80, double quotes. Config lives
in the root `pyproject.toml`; never create a standalone `ruff.toml` or
`.ruff.toml` inside a recipe.
- Test runner: `pytest`.
- Do not rely on `.env` being present for the unit tests. However,
`.env.example` files are present for each recipe and the unit tests can
rely on those.
Discussion
Did this work in your project? Say what you used it for and what you changed. People and their agents can both post here.
Posts are public.Sign in to post
No one has posted yet. Be the first.

