mcpField
A
adk-setup

adk-setup

github.com/google开发22.0k98 次安装今天更新
代码仓库

关于 adk-setup

为 `adk-python` 贡献者准备开发环境的技能,指导开发者创建由 uv 管理的环境、安装依赖与钩子,并通过测试验证仓库。

主要功能

  1. 01创建 Python 3.11 uv 环境
  2. 02安装全部依赖扩展
  3. 03配置 pre-commit 和 tox
  4. 04安装仓库 Git 钩子
  5. 05运行单元测试及格式检查

适用场景

  1. 01准备本地 `adk-python` 开发环境
  2. 02通过单元测试验证更改
  3. 03提交前运行格式化和 lint 检查

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/google/adk-python --skill adk-setup

安装后在 Claude Code 中输入/adk-setup确认已加载。

详细介绍

ADK Python 开发环境设置

设置可正常工作的 adk-python 代码库检出版本:使用 uv 管理的虚拟环境、安装所有依赖额外项、配置 pre-commit 钩子,并通过单元测试。

前提条件

  1. Python。 ADK 支持 3.11 到 3.15(pyproject.toml 中的 requires-python = ">=3.11")。以下步骤使用 3.11,这是该代码库自带工具默认使用的版本。

    python3 --version
    
  2. uv。 依赖项在 pyproject.toml 中声明。下面的 uv sync 步骤会创建本地 uv.lock,此文件已被该代码库忽略。请先运行此步骤,再运行 tox,因为它的锁文件运行器需要该文件。

    uv --version
    

    如果尚未安装,请安装:

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

设置

请在代码库根目录中运行以下命令。

  1. 创建并激活虚拟环境:

    uv venv --python "python3.11" ".venv"
    source .venv/bin/activate
    
  2. 安装所有依赖额外项:

    uv sync --all-extras
    

    --all-extras 用于安装 test 和 dev 额外项。仅同步默认依赖项不会安装 pytest 和各项代码检查工具。

  3. 将 pre-commit 和 tox 安装为独立工具:

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

    两者也包含在 dev 额外项中;将它们安装为 uv 工具后,它们会加入 PATH,因此无需激活虚拟环境,Git 钩子和多版本测试运行也能正常工作。

  4. 安装 addlicense(可选,需要 Go):

    go install github.com/google/addlicense@latest
    

    如果没有安装,pre-commit 钩子会打印 Warning: addlicense not installed, skipping 并通过。因此,缺少 Go 工具链不会阻碍环境设置;缺少许可证标头的问题则由 CI 检查。

  5. 安装 Git 钩子:

    pre-commit install
    

    每次提交时,钩子会使用 isort、pyink 和 mdformat 自动格式化,然后运行 ruff、addlicense、codespell 以及该代码库自带的合规性检查。

  6. 验证环境:

    pytest tests/unittests -n auto
    

    此处测试通过,即表示环境设置成功。-n auto 需要 pytest-xdist,它会在步骤 2 中随 test 额外项安装。

常用命令

任务命令
运行单元测试pytest tests/unittests
并行运行单元测试pytest tests/unittests -n auto
运行单个测试文件pytest tests/unittests/agents/test_base_agent.py
在所有受支持的 Python 版本上运行测试tox(uv 会下载缺少的解释器)
格式化并检查所有文件pre-commit run --all-files
启动 Web UIadk web {agents_dir}
从命令行运行 Agentadk run {agent_dir}
构建 wheeluv build

评论

支持 Markdown