All skills
google avatar

/adk-setup

@96319fc
by googlegoogle/adk-python22k stars
4,084

Sets up a local ADK Python development environment in a git clone of the open-source adk-python repository: a uv virtual environment, all dependency extras, pre-commit hooks, and a first unit-test run. Runs only when explicitly requested, never on its own. Use when asked to set up, bootstrap, or repair a development checkout, install project dependencies, fix a missing or broken .venv, or prepare a machine for contributing a pull request. Don't use for debugging a running agent (use adk-debug), for commit and pull-request mechanics (use adk-git), or for re-running formatters on a checkout that is already set up (pre-commit run --all-files).

Use this Skill: https://skilld.dev/gh/google/adk-python/adk-setup

This session only. Nothing lands on disk.

SKILL.md

≈165 tokens always: the name and description. ≈809 when used: this file.

ADK Python Development Setup

Set up a working adk-python checkout: a uv-managed virtual environment with every dependency extra, pre-commit hooks, and a green unit-test run.

Prerequisites

  1. Python. ADK supports 3.10 through 3.14 (requires-python = ">=3.10" in pyproject.toml). These steps use 3.11, the version the repo's own tooling defaults to.

    python3 --version
  2. uv. Dependencies are declared in pyproject.toml. The uv sync step below creates a local uv.lock, which this repository ignores. Run that step before tox, whose lock runner requires the file.

    uv --version

    Install it if missing:

    curl -LsSf https://astral.sh/uv/install.sh | sh

Setup

Run these from the repository root.

  1. Create and activate the virtual environment:

    uv venv --python "python3.11" ".venv"
    source .venv/bin/activate
  2. Install every dependency extra:

    uv sync --all-extras

    --all-extras is what pulls in the test and dev extras. Syncing only the default dependencies leaves pytest and the linters uninstalled.

  3. Install pre-commit and tox as standalone tools:

    uv tool install pre-commit
    uv tool install tox --with tox-uv

    Both are also in the dev extra; installing them as uv tools puts them on PATH so the git hook and multi-version test runs work without an activated venv.

  4. Install addlicense (optional, requires Go):

    go install github.com/google/addlicense@latest

    Without it the pre-commit hook prints Warning: addlicense not installed, skipping and passes, so a missing Go toolchain does not block setup — CI catches missing license headers instead.

  5. Install the git hooks:

    pre-commit install

    On each commit the hooks auto-format with isort, pyink, and mdformat, then run ruff, addlicense, codespell, and the repo's own compliance checks.

  6. Verify the environment:

    pytest tests/unittests -n auto

    A green run here is the success criterion for setup. -n auto needs pytest-xdist, which arrives with the test extra in step 2.

Key commands

Task Command
Run unit tests pytest tests/unittests
Run unit tests in parallel pytest tests/unittests -n auto
Run one test file pytest tests/unittests/agents/test_base_agent.py
Run tests on every supported Python tox (uv downloads any missing interpreters)
Format and lint everything pre-commit run --all-files
Launch the web UI adk web {agents_dir}
Run an agent from the CLI adk run {agent_dir}
Build the wheel uv build

Source: SKILL.md on GitHub

1 warning16d3 checks · Risk SAFE
  • Gen Agent Trust Hub16d

    This skill facilitates the setup of a Python development environment by installing necessary tools and dependencies. It includes security considerations such as downloading an installation script for the uv tool and installing a Go-based utility. These actions are standard for the intended development workflow. See detailed analysis for context.

  • Socket16d

    No alerts

  • Snyk16d

    Risk: MEDIUM · 1 issue

Signed by skilld at 96319fc. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub yesterday.

Activeupdated 2 days ago
disable-model-invocation
true

README badge

README badge for google/adk-python/adk-setup