agent-starter-pack 0.7.1__tar.gz → 0.9.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- agent_starter_pack-0.9.0/.claude/settings.local.json +11 -0
- agent_starter_pack-0.9.0/.cloudbuild/ci/test_remote_template.yaml +36 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/.cloudbuild/terraform/build_triggers.tf +38 -10
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/.gitignore +3 -1
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/PKG-INFO +7 -6
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/README.md +2 -1
- agent_starter_pack-0.9.0/agents/README.md +7 -0
- agent_starter_pack-0.7.1/agents/adk_base/template/.templateconfig.yaml → agent_starter_pack-0.9.0/agents/adk_base/.template/templateconfig.yaml +3 -1
- {agent_starter_pack-0.7.1/agents/adk_gemini_fullstack → agent_starter_pack-0.9.0/agents/adk_base}/notebooks/adk_app_testing.ipynb +8 -6
- agent_starter_pack-0.7.1/agents/adk_gemini_fullstack/template/.templateconfig.yaml → agent_starter_pack-0.9.0/agents/adk_gemini_fullstack/.template/templateconfig.yaml +3 -2
- {agent_starter_pack-0.7.1/agents/agentic_rag → agent_starter_pack-0.9.0/agents/adk_gemini_fullstack}/notebooks/adk_app_testing.ipynb +8 -6
- agent_starter_pack-0.7.1/agents/agentic_rag/template/.templateconfig.yaml → agent_starter_pack-0.9.0/agents/agentic_rag/.template/templateconfig.yaml +2 -1
- {agent_starter_pack-0.7.1/agents/adk_base → agent_starter_pack-0.9.0/agents/agentic_rag}/notebooks/adk_app_testing.ipynb +8 -6
- agent_starter_pack-0.7.1/agents/crewai_coding_crew/template/.templateconfig.yaml → agent_starter_pack-0.9.0/agents/crewai_coding_crew/.template/templateconfig.yaml +1 -1
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/docs/.vitepress/config.js +7 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/docs/cli/create.md +1 -0
- agent_starter_pack-0.9.0/docs/guide/remote-templating.md +211 -0
- agent_starter_pack-0.9.0/docs/guide/template-config-reference.md +72 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/docs/index.md +4 -1
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/llm.txt +7 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/pyproject.toml +6 -6
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/base_template/Makefile +5 -1
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/base_template/README.md +2 -2
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/base_template/deployment/cd/deploy-to-prod.yaml +1 -16
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/base_template/deployment/cd/staging.yaml +4 -19
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/base_template/deployment/terraform/apis.tf +2 -2
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/base_template/deployment/terraform/build_triggers.tf +5 -5
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/base_template/deployment/terraform/dev/apis.tf +8 -1
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/base_template/deployment/terraform/dev/variables.tf +3 -1
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/base_template/deployment/terraform/iam.tf +8 -8
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/base_template/deployment/terraform/locals.tf +9 -2
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/base_template/deployment/terraform/log_sinks.tf +2 -2
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/base_template/deployment/terraform/service_accounts.tf +3 -3
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/base_template/deployment/terraform/storage.tf +7 -7
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/base_template/deployment/terraform/variables.tf +3 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/base_template/pyproject.toml +4 -3
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/cli/commands/create.py +191 -41
- agent_starter_pack-0.9.0/src/cli/commands/list.py +158 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/cli/commands/setup_cicd.py +2 -2
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/cli/main.py +2 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/cli/utils/cicd.py +2 -2
- agent_starter_pack-0.9.0/src/cli/utils/remote_template.py +254 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/cli/utils/template.py +134 -25
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/deployment_targets/agent_engine/app/agent_engine_app.py +7 -7
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/deployment_targets/agent_engine/tests/load_test/README.md +1 -6
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/deployment_targets/agent_engine/tests/load_test/load_test.py +13 -3
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/deployment_targets/cloud_run/Dockerfile +3 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/deployment_targets/cloud_run/app/server.py +18 -0
- agent_starter_pack-0.9.0/src/deployment_targets/cloud_run/deployment/terraform/dev/service.tf +231 -0
- agent_starter_pack-0.9.0/src/deployment_targets/cloud_run/deployment/terraform/service.tf +360 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/deployment_targets/cloud_run/tests/integration/test_server_e2e.py +8 -5
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/deployment_targets/cloud_run/tests/load_test/README.md +2 -2
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/deployment_targets/cloud_run/tests/load_test/load_test.py +21 -17
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/adk_gemini_fullstack/frontend/src/App.tsx +2 -3
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/resources/docs/adk-cheatsheet.md +1 -1
- agent_starter_pack-0.7.1/src/resources/locks/uv-adk_base-cloud_run.lock → agent_starter_pack-0.9.0/src/resources/locks/uv-adk_base-agent_engine.lock +882 -560
- agent_starter_pack-0.9.0/src/resources/locks/uv-adk_base-cloud_run.lock +4469 -0
- agent_starter_pack-0.7.1/src/resources/locks/uv-adk_gemini_fullstack-cloud_run.lock → agent_starter_pack-0.9.0/src/resources/locks/uv-adk_gemini_fullstack-agent_engine.lock +882 -560
- agent_starter_pack-0.9.0/src/resources/locks/uv-adk_gemini_fullstack-cloud_run.lock +4469 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/resources/locks/uv-agentic_rag-agent_engine.lock +508 -373
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/resources/locks/uv-agentic_rag-cloud_run.lock +668 -469
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/resources/locks/uv-crewai_coding_crew-agent_engine.lock +582 -587
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/resources/locks/uv-crewai_coding_crew-cloud_run.lock +791 -733
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/resources/locks/uv-langgraph_base_react-agent_engine.lock +587 -478
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/resources/locks/uv-langgraph_base_react-cloud_run.lock +799 -627
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/resources/locks/uv-live_api-cloud_run.lock +803 -603
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/resources/setup_cicd/github.tf +2 -2
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/utils/lock_utils.py +1 -1
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/tests/cicd/test_e2e_deployment.py +11 -0
- agent_starter_pack-0.9.0/tests/cli/commands/test_create_local.py +78 -0
- agent_starter_pack-0.9.0/tests/cli/commands/test_list.py +40 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/tests/cli/commands/test_setup_cicd.py +2 -2
- agent_starter_pack-0.9.0/tests/cli/utils/test_remote_template.py +464 -0
- agent_starter_pack-0.9.0/tests/integration/test_remote_templating.py +103 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/tests/integration/test_template_linting.py +1 -46
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/tests/integration/test_templated_patterns.py +1 -54
- agent_starter_pack-0.9.0/tests/integration/utils.py +73 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/tests/utils/get_agents.py +19 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/uv.lock +8 -8
- agent_starter_pack-0.7.1/src/deployment_targets/cloud_run/uv.lock +0 -6952
- agent_starter_pack-0.7.1/src/resources/locks/uv-adk_base-agent_engine.lock +0 -3268
- agent_starter_pack-0.7.1/src/resources/locks/uv-adk_gemini_fullstack-agent_engine.lock +0 -3268
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/.cloudbuild/cd/test_e2e.yaml +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/.cloudbuild/ci/build_use_wheel.yaml +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/.cloudbuild/ci/lint.yaml +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/.cloudbuild/ci/lint_templated_agents.yaml +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/.cloudbuild/ci/test.yaml +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/.cloudbuild/ci/test_templated_agents.yaml +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/.cloudbuild/terraform/apis.tf +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/.cloudbuild/terraform/service_account.tf +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/.cloudbuild/terraform/storage.tf +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/.cloudbuild/terraform/variables.tf +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/.github/workflows/docs.yml +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/CODE_OF_CONDUCT.md +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/CONTRIBUTING.md +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/LICENSE +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/Makefile +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/agents/adk_base/README.md +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/agents/adk_base/app/agent.py +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/agents/adk_base/notebooks/evaluating_adk_agent.ipynb +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/agents/adk_base/tests/integration/test_agent.py +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/agents/adk_gemini_fullstack/README.md +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/agents/adk_gemini_fullstack/app/agent.py +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/agents/adk_gemini_fullstack/app/config.py +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/agents/adk_gemini_fullstack/notebooks/evaluating_adk_agent.ipynb +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/agents/adk_gemini_fullstack/tests/integration/test_agent.py +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/agents/agentic_rag/README.md +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/agents/agentic_rag/app/agent.py +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/agents/agentic_rag/app/retrievers.py +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/agents/agentic_rag/app/templates.py +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/agents/agentic_rag/notebooks/evaluating_adk_agent.ipynb +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/agents/agentic_rag/tests/integration/test_agent.py +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/agents/crewai_coding_crew/README.md +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/agents/crewai_coding_crew/app/agent.py +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/agents/crewai_coding_crew/app/crew/config/agents.yaml +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/agents/crewai_coding_crew/app/crew/config/tasks.yaml +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/agents/crewai_coding_crew/app/crew/crew.py +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/agents/crewai_coding_crew/notebooks/evaluating_crewai_agent.ipynb +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/agents/crewai_coding_crew/notebooks/evaluating_langgraph_agent.ipynb +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/agents/crewai_coding_crew/tests/integration/test_agent.py +0 -0
- /agent_starter_pack-0.7.1/agents/langgraph_base_react/template/.templateconfig.yaml → /agent_starter_pack-0.9.0/agents/langgraph_base_react/.template/templateconfig.yaml +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/agents/langgraph_base_react/README.md +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/agents/langgraph_base_react/app/agent.py +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/agents/langgraph_base_react/notebooks/evaluating_langgraph_agent.ipynb +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/agents/langgraph_base_react/tests/integration/test_agent.py +0 -0
- /agent_starter_pack-0.7.1/agents/live_api/template/.templateconfig.yaml → /agent_starter_pack-0.9.0/agents/live_api/.template/templateconfig.yaml +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/agents/live_api/README.md +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/agents/live_api/app/agent.py +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/agents/live_api/app/server.py +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/agents/live_api/tests/integration/test_server_e2e.py +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/agents/live_api/tests/load_test/load_test.py +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/agents/live_api/tests/unit/test_server.py +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/docs/agents/overview.md +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/docs/cli/index.md +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/docs/cli/setup_cicd.md +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/docs/guide/data-ingestion.md +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/docs/guide/deploy-ui.md +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/docs/guide/deployment.md +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/docs/guide/development-guide.md +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/docs/guide/getting-started.md +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/docs/guide/installation.md +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/docs/guide/observability.md +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/docs/guide/troubleshooting.md +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/docs/guide/video-tutorials.md +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/docs/guide/why_starter_pack.md +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/docs/images/adk_gemini_fullstack.gif +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/docs/images/adk_gemini_fullstack_architecture.png +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/docs/images/adk_logo.png +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/docs/images/agent_starter_pack_screenshot.png +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/docs/images/ags_high_level_architecture.png +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/docs/images/icon.png +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/docs/images/logo.png +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/docs/images/prototype_to_prod.png +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/docs/images/why_sp_edited.png +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/docs/images/why_starter_pack.png +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/docs/package-lock.json +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/docs/package.json +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/base_template/.gitignore +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/base_template/GEMINI.md +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/base_template/app/__init__.py +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/base_template/app/utils/gcs.py +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/base_template/app/utils/tracing.py +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/base_template/app/utils/typing.py +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/base_template/deployment/README.md +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/base_template/deployment/ci/pr_checks.yaml +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/base_template/deployment/terraform/dev/iam.tf +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/base_template/deployment/terraform/dev/log_sinks.tf +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/base_template/deployment/terraform/dev/providers.tf +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/base_template/deployment/terraform/dev/storage.tf +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/base_template/deployment/terraform/dev/vars/env.tfvars +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/base_template/deployment/terraform/providers.tf +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/base_template/deployment/terraform/vars/env.tfvars +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/base_template/tests/unit/test_dummy.py +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/cli/utils/__init__.py +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/cli/utils/datastores.py +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/cli/utils/gcp.py +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/cli/utils/logging.py +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/cli/utils/version.py +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/data_ingestion/README.md +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/data_ingestion/data_ingestion_pipeline/components/ingest_data.py +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/data_ingestion/data_ingestion_pipeline/components/process_data.py +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/data_ingestion/data_ingestion_pipeline/pipeline.py +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/data_ingestion/data_ingestion_pipeline/submit_pipeline.py +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/data_ingestion/pyproject.toml +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/data_ingestion/uv.lock +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/deployment_targets/agent_engine/deployment_metadata.json +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/deployment_targets/agent_engine/notebooks/intro_agent_engine.ipynb +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/deployment_targets/agent_engine/tests/integration/test_agent_engine_app.py +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/deployment_targets/agent_engine/tests/load_test/.results/.placeholder +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/deployment_targets/cloud_run/tests/load_test/.results/.placeholder +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/adk_gemini_fullstack/frontend/components.json +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/adk_gemini_fullstack/frontend/eslint.config.js +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/adk_gemini_fullstack/frontend/index.html +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/adk_gemini_fullstack/frontend/package-lock.json +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/adk_gemini_fullstack/frontend/package.json +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/adk_gemini_fullstack/frontend/src/components/ActivityTimeline.tsx +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/adk_gemini_fullstack/frontend/src/components/ChatMessagesView.tsx +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/adk_gemini_fullstack/frontend/src/components/InputForm.tsx +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/adk_gemini_fullstack/frontend/src/components/WelcomeScreen.tsx +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/adk_gemini_fullstack/frontend/src/components/ui/badge.tsx +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/adk_gemini_fullstack/frontend/src/components/ui/button.tsx +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/adk_gemini_fullstack/frontend/src/components/ui/card.tsx +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/adk_gemini_fullstack/frontend/src/components/ui/input.tsx +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/adk_gemini_fullstack/frontend/src/components/ui/scroll-area.tsx +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/adk_gemini_fullstack/frontend/src/components/ui/select.tsx +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/adk_gemini_fullstack/frontend/src/components/ui/tabs.tsx +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/adk_gemini_fullstack/frontend/src/components/ui/textarea.tsx +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/adk_gemini_fullstack/frontend/src/global.css +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/adk_gemini_fullstack/frontend/src/main.tsx +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/adk_gemini_fullstack/frontend/src/utils.ts +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/adk_gemini_fullstack/frontend/src/vite-env.d.ts +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/adk_gemini_fullstack/frontend/tsconfig.json +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/adk_gemini_fullstack/frontend/tsconfig.node.json +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/adk_gemini_fullstack/frontend/vite.config.ts +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/live_api_react/frontend/package-lock.json +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/live_api_react/frontend/package.json +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/live_api_react/frontend/public/favicon.ico +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/live_api_react/frontend/public/index.html +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/live_api_react/frontend/public/robots.txt +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/live_api_react/frontend/src/App.scss +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/live_api_react/frontend/src/App.test.tsx +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/live_api_react/frontend/src/App.tsx +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/live_api_react/frontend/src/components/audio-pulse/AudioPulse.tsx +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/live_api_react/frontend/src/components/audio-pulse/audio-pulse.scss +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/live_api_react/frontend/src/components/control-tray/ControlTray.tsx +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/live_api_react/frontend/src/components/control-tray/control-tray.scss +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/live_api_react/frontend/src/components/logger/Logger.tsx +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/live_api_react/frontend/src/components/logger/logger.scss +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/live_api_react/frontend/src/components/logger/mock-logs.ts +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/live_api_react/frontend/src/components/side-panel/SidePanel.tsx +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/live_api_react/frontend/src/components/side-panel/side-panel.scss +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/live_api_react/frontend/src/contexts/LiveAPIContext.tsx +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/live_api_react/frontend/src/hooks/use-live-api.ts +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/live_api_react/frontend/src/hooks/use-media-stream-mux.ts +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/live_api_react/frontend/src/hooks/use-screen-capture.ts +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/live_api_react/frontend/src/hooks/use-webcam.ts +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/live_api_react/frontend/src/index.css +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/live_api_react/frontend/src/index.tsx +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/live_api_react/frontend/src/multimodal-live-types.ts +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/live_api_react/frontend/src/react-app-env.d.ts +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/live_api_react/frontend/src/reportWebVitals.ts +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/live_api_react/frontend/src/setupTests.ts +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/live_api_react/frontend/src/utils/audio-recorder.ts +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/live_api_react/frontend/src/utils/audio-streamer.ts +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/live_api_react/frontend/src/utils/audioworklet-registry.ts +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/live_api_react/frontend/src/utils/multimodal-live-client.ts +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/live_api_react/frontend/src/utils/store-logger.ts +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/live_api_react/frontend/src/utils/utils.ts +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/live_api_react/frontend/src/utils/worklets/audio-processing.ts +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/live_api_react/frontend/src/utils/worklets/vol-meter.ts +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/live_api_react/frontend/tsconfig.json +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/streamlit/frontend/side_bar.py +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/streamlit/frontend/streamlit_app.py +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/streamlit/frontend/style/app_markdown.py +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/streamlit/frontend/utils/chat_utils.py +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/streamlit/frontend/utils/local_chat_history.py +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/streamlit/frontend/utils/message_editing.py +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/streamlit/frontend/utils/multimodal_utils.py +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/streamlit/frontend/utils/stream_handler.py +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/frontends/streamlit/frontend/utils/title_summary.py +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/resources/containers/data_processing/Dockerfile +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/resources/containers/e2e-tests/Dockerfile +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/resources/idx/.idx/dev.nix +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/resources/idx/idx-template.json +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/resources/idx/idx-template.nix +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/resources/setup_cicd/cicd_variables.tf +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/resources/setup_cicd/providers.tf +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/utils/generate_locks.py +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/src/utils/watch_and_rebuild.py +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/tests/__init__.py +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/tests/cicd/example.env +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/tests/cli/commands/test_create.py +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/tests/cli/utils/test_cicd.py +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/tests/test_frontend/test_side_bar.py +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/tests/test_frontend/test_streamlit_app.py +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/tests/test_frontend/test_utils/test_chat_utils.py +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/tests/test_frontend/test_utils/test_local_chat_history.py +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/tests/test_frontend/test_utils/test_message_editing.py +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/tests/test_frontend/test_utils/test_multimodal_utils.py +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/tests/test_frontend/test_utils/test_stream_handler.py +0 -0
- {agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/tests/utils/__init__.py +0 -0
@@ -0,0 +1,36 @@
|
|
1
|
+
# Copyright 2025 Google LLC
|
2
|
+
#
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at
|
6
|
+
#
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
|
15
|
+
steps:
|
16
|
+
# Sync dependencies
|
17
|
+
- name: "europe-west4-docker.pkg.dev/production-ai-template/starter-pack/e2e-tests"
|
18
|
+
id: install-dependencies
|
19
|
+
entrypoint: /bin/bash
|
20
|
+
args:
|
21
|
+
- "-c"
|
22
|
+
- |
|
23
|
+
uv sync --locked
|
24
|
+
|
25
|
+
# Run unit tests using pytest
|
26
|
+
- name: "europe-west4-docker.pkg.dev/production-ai-template/starter-pack/e2e-tests"
|
27
|
+
id: test-templated-agents
|
28
|
+
entrypoint: /bin/bash
|
29
|
+
args:
|
30
|
+
- "-c"
|
31
|
+
- |
|
32
|
+
uv run pytest tests/integration/test_remote_templating.py
|
33
|
+
|
34
|
+
logsBucket: gs://${PROJECT_ID}-logs-data/build-logs
|
35
|
+
options:
|
36
|
+
defaultLogsBucketBehavior: REGIONAL_USER_OWNED_BUCKET
|
{agent_starter_pack-0.7.1 → agent_starter_pack-0.9.0}/.cloudbuild/terraform/build_triggers.tf
RENAMED
@@ -85,16 +85,12 @@ locals {
|
|
85
85
|
value = "live_api,cloud_run"
|
86
86
|
},
|
87
87
|
{
|
88
|
-
name = "
|
89
|
-
value = "
|
90
|
-
},
|
91
|
-
{
|
92
|
-
name = "adk_gemini_fullstack-cloud_run"
|
93
|
-
value = "adk_gemini_fullstack,cloud_run"
|
88
|
+
name = "adk_base-cloud_run-alloydb"
|
89
|
+
value = "adk_base,cloud_run,--session-type,alloydb"
|
94
90
|
},
|
95
91
|
]
|
96
92
|
|
97
|
-
|
93
|
+
agent_testing_included_files = { for combo in local.agent_testing_combinations :
|
98
94
|
combo.name => [
|
99
95
|
# Only include files for the specific agent being tested
|
100
96
|
"agents/${split(",", combo.value)[0]}/**",
|
@@ -135,8 +131,8 @@ locals {
|
|
135
131
|
value = "live_api,cloud_run"
|
136
132
|
},
|
137
133
|
{
|
138
|
-
name = "
|
139
|
-
value = "
|
134
|
+
name = "adk_base-cloud_run-alloydb"
|
135
|
+
value = "adk_base,cloud_run,--session-type,alloydb"
|
140
136
|
},
|
141
137
|
]
|
142
138
|
# Create a safe trigger name by replacing underscores with hyphens and dots with hyphens
|
@@ -146,7 +142,17 @@ locals {
|
|
146
142
|
}
|
147
143
|
|
148
144
|
e2e_agent_deployment_included_files = { for combo in local.agent_testing_combinations :
|
149
|
-
combo.name => [
|
145
|
+
combo.name => combo.name == "adk_base-cloud_run-alloydb" ? [
|
146
|
+
"src/deployment_targets/cloud_run/**",
|
147
|
+
"pyproject.toml",
|
148
|
+
] : substr(combo.name, 0, 11) == "agentic_rag" ? [
|
149
|
+
"agents/agentic_rag/**",
|
150
|
+
"src/data_ingestion/**",
|
151
|
+
"pyproject.toml",
|
152
|
+
] : substr(combo.name, 0, 8) == "live_api" ? [
|
153
|
+
"agents/live_api/**",
|
154
|
+
"pyproject.toml",
|
155
|
+
] : [
|
150
156
|
# Only include files for the specific agent being tested
|
151
157
|
"agents/${split(",", combo.value)[0]}/**",
|
152
158
|
# Common files that affect all agents
|
@@ -313,3 +319,25 @@ resource "google_cloudbuild_trigger" "main_e2e_deployment_test" {
|
|
313
319
|
_E2E_PROD_PROJECT = var.e2e_test_project_mapping.prod
|
314
320
|
}
|
315
321
|
}
|
322
|
+
|
323
|
+
# f. Create Remote Template Test trigger for PR requests
|
324
|
+
resource "google_cloudbuild_trigger" "pr_test_remote_template" {
|
325
|
+
name = "pr-test-remote-template"
|
326
|
+
project = var.cicd_runner_project_id
|
327
|
+
location = var.region
|
328
|
+
description = "Trigger for PR checks on remote templating"
|
329
|
+
service_account = resource.google_service_account.cicd_runner_sa.id
|
330
|
+
|
331
|
+
repository_event_config {
|
332
|
+
repository = local.repository_path
|
333
|
+
pull_request {
|
334
|
+
branch = "main"
|
335
|
+
comment_control = "COMMENTS_ENABLED_FOR_EXTERNAL_CONTRIBUTORS_ONLY"
|
336
|
+
}
|
337
|
+
}
|
338
|
+
|
339
|
+
filename = ".cloudbuild/ci/test_remote_template.yaml"
|
340
|
+
included_files = local.common_included_files
|
341
|
+
ignored_files = local.common_ignored_files
|
342
|
+
include_build_logs = "INCLUDE_BUILD_LOGS_WITH_STATUS"
|
343
|
+
}
|
@@ -188,6 +188,7 @@ testem.log
|
|
188
188
|
Thumbs.db
|
189
189
|
*.vscode*
|
190
190
|
|
191
|
+
.locust_env/
|
191
192
|
.saved_chats
|
192
193
|
.aider*
|
193
194
|
target
|
@@ -196,4 +197,5 @@ delete_genai_repos.sh
|
|
196
197
|
cleanup_e2e_projects.sh
|
197
198
|
.cloudbuild/terraform/backend.tf
|
198
199
|
.cloudbuild/terraform/vars/env.tfvars
|
199
|
-
docs/.vitepress/cache
|
200
|
+
docs/.vitepress/cache
|
201
|
+
tests/cicd/delete_gcp_resources.sh
|
@@ -1,17 +1,17 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: agent-starter-pack
|
3
|
-
Version: 0.
|
3
|
+
Version: 0.9.0
|
4
4
|
Summary: CLI to bootstrap production-ready Google Cloud GenAI agent projects from templates.
|
5
5
|
Author-email: Google LLC <agent-starter-pack@google.com>
|
6
6
|
License: Apache-2.0
|
7
7
|
License-File: LICENSE
|
8
8
|
Requires-Python: >=3.10
|
9
9
|
Requires-Dist: backoff>=2.2.1
|
10
|
-
Requires-Dist: click
|
11
|
-
Requires-Dist: cookiecutter~=2.
|
10
|
+
Requires-Dist: click>=8.1.7
|
11
|
+
Requires-Dist: cookiecutter~=2.6.0
|
12
12
|
Requires-Dist: google-cloud-aiplatform>=1.87.0
|
13
|
-
Requires-Dist: pyyaml
|
14
|
-
Requires-Dist: rich
|
13
|
+
Requires-Dist: pyyaml>=6.0.1
|
14
|
+
Requires-Dist: rich>=13.7.0
|
15
15
|
Provides-Extra: jupyter
|
16
16
|
Requires-Dist: ipykernel>=6.29.5; extra == 'jupyter'
|
17
17
|
Requires-Dist: jupyter; extra == 'jupyter'
|
@@ -103,7 +103,8 @@ Looking to explore more ADK examples? Check out the [ADK Samples Repository](htt
|
|
103
103
|
The `agent-starter-pack` offers two key features to accelerate and simplify the development of your agent:
|
104
104
|
- **🔄 [CI/CD Automation (Experimental)](https://googlecloudplatform.github.io/agent-starter-pack/cli/setup_cicd)** - One command to set up a complete GitHub + Cloud Build pipeline for all environments
|
105
105
|
- **📥 [Data Pipeline for RAG with Terraform/CI-CD](https://googlecloudplatform.github.io/agent-starter-pack/guide/data-ingestion)** - Seamlessly integrate a data pipeline to process embeddings for RAG into your agent system. Supporting [Vertex AI Search](https://cloud.google.com/generative-ai-app-builder/docs/enterprise-search-introduction) and [Vector Search](https://cloud.google.com/vertex-ai/docs/vector-search/overview).
|
106
|
-
|
106
|
+
- **[Remote Templates](docs/guide/remote-templating.md)**: Create and share your own agent starter packs templates from any Git repository.
|
107
|
+
- **🤖 Gemini CLI Integration** - Use the [Gemini CLI](https://github.com/google-gemini/gemini-cli) and the included `GEMINI.md` context file to ask questions about your template, agent architecture, and the path to production. Get instant guidance and code examples directly in your terminal.
|
107
108
|
|
108
109
|
## High-Level Architecture
|
109
110
|
|
@@ -78,7 +78,8 @@ Looking to explore more ADK examples? Check out the [ADK Samples Repository](htt
|
|
78
78
|
The `agent-starter-pack` offers two key features to accelerate and simplify the development of your agent:
|
79
79
|
- **🔄 [CI/CD Automation (Experimental)](https://googlecloudplatform.github.io/agent-starter-pack/cli/setup_cicd)** - One command to set up a complete GitHub + Cloud Build pipeline for all environments
|
80
80
|
- **📥 [Data Pipeline for RAG with Terraform/CI-CD](https://googlecloudplatform.github.io/agent-starter-pack/guide/data-ingestion)** - Seamlessly integrate a data pipeline to process embeddings for RAG into your agent system. Supporting [Vertex AI Search](https://cloud.google.com/generative-ai-app-builder/docs/enterprise-search-introduction) and [Vector Search](https://cloud.google.com/vertex-ai/docs/vector-search/overview).
|
81
|
-
|
81
|
+
- **[Remote Templates](docs/guide/remote-templating.md)**: Create and share your own agent starter packs templates from any Git repository.
|
82
|
+
- **🤖 Gemini CLI Integration** - Use the [Gemini CLI](https://github.com/google-gemini/gemini-cli) and the included `GEMINI.md` context file to ask questions about your template, agent architecture, and the path to production. Get instant guidance and code examples directly in your terminal.
|
82
83
|
|
83
84
|
## High-Level Architecture
|
84
85
|
|
@@ -0,0 +1,7 @@
|
|
1
|
+
# Agent Templates
|
2
|
+
|
3
|
+
This directory contains template implementations for various agents designed to work with the Agent Starter Pack templating system.
|
4
|
+
Feel free to browse through these folders to preview what each template offers.
|
5
|
+
Direct cloning of this repository isn't necessary to utilize these templates.
|
6
|
+
|
7
|
+
For setup instructions and getting started, please refer to the main [README](/README.md) which explains how to install and use the Agent Starter Pack.
|
@@ -16,7 +16,9 @@ description: "A base ReAct agent built with Google's Agent Development Kit (ADK)
|
|
16
16
|
example_question: "What's the weather in San Francisco?"
|
17
17
|
settings:
|
18
18
|
requires_data_ingestion: false
|
19
|
+
requires_session: true
|
19
20
|
deployment_targets: ["agent_engine", "cloud_run"]
|
20
|
-
extra_dependencies: ["google-adk~=1.
|
21
|
+
extra_dependencies: ["google-adk~=1.6.0"]
|
21
22
|
tags: ["adk"]
|
22
23
|
frontend_type: "None"
|
24
|
+
|
@@ -207,14 +207,15 @@
|
|
207
207
|
"outputs": [],
|
208
208
|
"source": [
|
209
209
|
"user_id = \"test_user_123\"\n",
|
210
|
-
"session_id = \"test_session_456\"\n",
|
211
210
|
"session_data = {\"state\": {\"preferred_language\": \"English\", \"visit_count\": 1}}\n",
|
212
211
|
"\n",
|
213
|
-
"session_url = f\"{SERVICE_URL}/apps/app/users/{user_id}/sessions
|
212
|
+
"session_url = f\"{SERVICE_URL}/apps/app/users/{user_id}/sessions\"\n",
|
214
213
|
"headers = {\"Content-Type\": \"application/json\", \"Authorization\": f\"Bearer {ID_TOKEN}\"}\n",
|
215
214
|
"\n",
|
216
215
|
"session_response = requests.post(session_url, headers=headers, json=session_data)\n",
|
217
|
-
"print(f\"Session creation status code: {session_response.status_code}\")"
|
216
|
+
"print(f\"Session creation status code: {session_response.status_code}\")\n",
|
217
|
+
"print(f\"Session creation response: {session_response.json()}\")\n",
|
218
|
+
"session_id = session_response.json()[\"id\"]"
|
218
219
|
]
|
219
220
|
},
|
220
221
|
{
|
@@ -279,14 +280,15 @@
|
|
279
280
|
"outputs": [],
|
280
281
|
"source": [
|
281
282
|
"user_id = \"test_user_123\"\n",
|
282
|
-
"session_id = \"test_session_456\"\n",
|
283
283
|
"session_data = {\"state\": {\"preferred_language\": \"English\", \"visit_count\": 1}}\n",
|
284
284
|
"\n",
|
285
|
-
"session_url = f\"http://127.0.0.1:8000/apps/app/users/{user_id}/sessions
|
285
|
+
"session_url = f\"http://127.0.0.1:8000/apps/app/users/{user_id}/sessions\"\n",
|
286
286
|
"headers = {\"Content-Type\": \"application/json\"}\n",
|
287
287
|
"\n",
|
288
288
|
"session_response = requests.post(session_url, headers=headers, json=session_data)\n",
|
289
|
-
"print(f\"Session creation status code: {session_response.status_code}\")"
|
289
|
+
"print(f\"Session creation status code: {session_response.status_code}\")\n",
|
290
|
+
"print(f\"Session creation response: {session_response.json()}\")\n",
|
291
|
+
"session_id = session_response.json()[\"id\"]"
|
290
292
|
]
|
291
293
|
},
|
292
294
|
{
|
@@ -16,13 +16,14 @@ description: "A production-ready fullstack research agent that uses Gemini to st
|
|
16
16
|
example_question: "A report on the latest Google I/O event"
|
17
17
|
settings:
|
18
18
|
requires_data_ingestion: false
|
19
|
+
requires_session: true
|
19
20
|
deployment_targets: ["agent_engine", "cloud_run"]
|
20
|
-
extra_dependencies: ["google-adk~=1.
|
21
|
+
extra_dependencies: ["google-adk~=1.6.0"]
|
21
22
|
tags: ["adk"]
|
22
23
|
frontend_type: "adk_gemini_fullstack"
|
23
24
|
commands:
|
24
25
|
override:
|
25
|
-
install: "npm --prefix frontend install"
|
26
|
+
install: "uv sync --dev --extra jupyter && npm --prefix frontend install"
|
26
27
|
extra:
|
27
28
|
dev:
|
28
29
|
command: 'make dev-backend & make dev-frontend'
|
@@ -207,14 +207,15 @@
|
|
207
207
|
"outputs": [],
|
208
208
|
"source": [
|
209
209
|
"user_id = \"test_user_123\"\n",
|
210
|
-
"session_id = \"test_session_456\"\n",
|
211
210
|
"session_data = {\"state\": {\"preferred_language\": \"English\", \"visit_count\": 1}}\n",
|
212
211
|
"\n",
|
213
|
-
"session_url = f\"{SERVICE_URL}/apps/app/users/{user_id}/sessions
|
212
|
+
"session_url = f\"{SERVICE_URL}/apps/app/users/{user_id}/sessions\"\n",
|
214
213
|
"headers = {\"Content-Type\": \"application/json\", \"Authorization\": f\"Bearer {ID_TOKEN}\"}\n",
|
215
214
|
"\n",
|
216
215
|
"session_response = requests.post(session_url, headers=headers, json=session_data)\n",
|
217
|
-
"print(f\"Session creation status code: {session_response.status_code}\")"
|
216
|
+
"print(f\"Session creation status code: {session_response.status_code}\")\n",
|
217
|
+
"print(f\"Session creation response: {session_response.json()}\")\n",
|
218
|
+
"session_id = session_response.json()[\"id\"]"
|
218
219
|
]
|
219
220
|
},
|
220
221
|
{
|
@@ -279,14 +280,15 @@
|
|
279
280
|
"outputs": [],
|
280
281
|
"source": [
|
281
282
|
"user_id = \"test_user_123\"\n",
|
282
|
-
"session_id = \"test_session_456\"\n",
|
283
283
|
"session_data = {\"state\": {\"preferred_language\": \"English\", \"visit_count\": 1}}\n",
|
284
284
|
"\n",
|
285
|
-
"session_url = f\"http://127.0.0.1:8000/apps/app/users/{user_id}/sessions
|
285
|
+
"session_url = f\"http://127.0.0.1:8000/apps/app/users/{user_id}/sessions\"\n",
|
286
286
|
"headers = {\"Content-Type\": \"application/json\"}\n",
|
287
287
|
"\n",
|
288
288
|
"session_response = requests.post(session_url, headers=headers, json=session_data)\n",
|
289
|
-
"print(f\"Session creation status code: {session_response.status_code}\")"
|
289
|
+
"print(f\"Session creation status code: {session_response.status_code}\")\n",
|
290
|
+
"print(f\"Session creation response: {session_response.json()}\")\n",
|
291
|
+
"session_id = session_response.json()[\"id\"]"
|
290
292
|
]
|
291
293
|
},
|
292
294
|
{
|
@@ -16,9 +16,10 @@ description: "ADK RAG agent for document retrieval and Q&A. Includes a data pipe
|
|
16
16
|
example_question: "How to save a pandas dataframe to CSV?"
|
17
17
|
settings:
|
18
18
|
requires_data_ingestion: true
|
19
|
+
requires_session: true
|
19
20
|
deployment_targets: ["agent_engine", "cloud_run"]
|
20
21
|
extra_dependencies: [
|
21
|
-
"google-adk~=1.
|
22
|
+
"google-adk~=1.6.0",
|
22
23
|
"langchain-google-vertexai~=2.0.7",
|
23
24
|
"langchain~=0.3.24",
|
24
25
|
"langchain-core~=0.3.55",
|
@@ -207,14 +207,15 @@
|
|
207
207
|
"outputs": [],
|
208
208
|
"source": [
|
209
209
|
"user_id = \"test_user_123\"\n",
|
210
|
-
"session_id = \"test_session_456\"\n",
|
211
210
|
"session_data = {\"state\": {\"preferred_language\": \"English\", \"visit_count\": 1}}\n",
|
212
211
|
"\n",
|
213
|
-
"session_url = f\"{SERVICE_URL}/apps/app/users/{user_id}/sessions
|
212
|
+
"session_url = f\"{SERVICE_URL}/apps/app/users/{user_id}/sessions\"\n",
|
214
213
|
"headers = {\"Content-Type\": \"application/json\", \"Authorization\": f\"Bearer {ID_TOKEN}\"}\n",
|
215
214
|
"\n",
|
216
215
|
"session_response = requests.post(session_url, headers=headers, json=session_data)\n",
|
217
|
-
"print(f\"Session creation status code: {session_response.status_code}\")"
|
216
|
+
"print(f\"Session creation status code: {session_response.status_code}\")\n",
|
217
|
+
"print(f\"Session creation response: {session_response.json()}\")\n",
|
218
|
+
"session_id = session_response.json()[\"id\"]"
|
218
219
|
]
|
219
220
|
},
|
220
221
|
{
|
@@ -279,14 +280,15 @@
|
|
279
280
|
"outputs": [],
|
280
281
|
"source": [
|
281
282
|
"user_id = \"test_user_123\"\n",
|
282
|
-
"session_id = \"test_session_456\"\n",
|
283
283
|
"session_data = {\"state\": {\"preferred_language\": \"English\", \"visit_count\": 1}}\n",
|
284
284
|
"\n",
|
285
|
-
"session_url = f\"http://127.0.0.1:8000/apps/app/users/{user_id}/sessions
|
285
|
+
"session_url = f\"http://127.0.0.1:8000/apps/app/users/{user_id}/sessions\"\n",
|
286
286
|
"headers = {\"Content-Type\": \"application/json\"}\n",
|
287
287
|
"\n",
|
288
288
|
"session_response = requests.post(session_url, headers=headers, json=session_data)\n",
|
289
|
-
"print(f\"Session creation status code: {session_response.status_code}\")"
|
289
|
+
"print(f\"Session creation status code: {session_response.status_code}\")\n",
|
290
|
+
"print(f\"Session creation response: {session_response.json()}\")\n",
|
291
|
+
"session_id = session_response.json()[\"id\"]"
|
290
292
|
]
|
291
293
|
},
|
292
294
|
{
|
@@ -43,6 +43,13 @@ export default defineConfig({
|
|
43
43
|
{ text: 'Troubleshooting', link: '/guide/troubleshooting' }
|
44
44
|
]
|
45
45
|
},
|
46
|
+
{
|
47
|
+
text: 'Authoring Templates',
|
48
|
+
items: [
|
49
|
+
{ text: 'Remote Templating', link: '/guide/remote-templating' },
|
50
|
+
{ text: 'Template Config Reference', link: '/guide/template-config-reference' }
|
51
|
+
]
|
52
|
+
},
|
46
53
|
{
|
47
54
|
text: 'Agents',
|
48
55
|
items: [
|
@@ -22,6 +22,7 @@ The following options will be prompted interactively if not provided via the com
|
|
22
22
|
- `--deployment-target`, `-d`: Deployment target (`agent_engine` or `cloud_run`). Prompts if omitted.
|
23
23
|
- `--datastore`, `-ds`: Datastore for RAG agents (`vertex_ai_search` or `vertex_ai_vector_search`). Prompted if `--include-data-ingestion` is specified, or if the selected agent (e.g., `agentic_rag`) requires data ingestion, and this option is omitted.
|
24
24
|
- `--region`: GCP region for deployment (default: `us-central1`). Prompts for confirmation if not specified and `--auto-approve` is not used.
|
25
|
+
- `--session-type`: Type of session storage to use (`in_memory` or `alloydb`). This is only applicable for agents that require session management and when the deployment target is `cloud_run`.
|
25
26
|
|
26
27
|
GCP account and project ID are detected automatically (using your active `gcloud config` settings). You will be prompted to confirm or change them unless `--auto-approve` is used.
|
27
28
|
|
@@ -0,0 +1,211 @@
|
|
1
|
+
# Remote Templates
|
2
|
+
|
3
|
+
With remote templating, you can create and share your own agent starter packs without needing to fork the main repository. A remote template is a Git repository that the `agent-starter-pack` CLI can use as a blueprint to create new agent projects. This allows for easy sharing and reuse of customized agent setups.
|
4
|
+
|
5
|
+
This guide covers how to build, test, and use remote templates.
|
6
|
+
|
7
|
+
## Quickstart: Creating Your First Remote Template
|
8
|
+
|
9
|
+
Let's build a simple remote template that customizes the built-in `adk_base` agent.
|
10
|
+
|
11
|
+
### Step 1: Create the Template Directory Structure
|
12
|
+
|
13
|
+
A remote template is structured just like a standard agent project. The only special part is the `.template/` directory, which holds the configuration.
|
14
|
+
|
15
|
+
Create the following structure on your local machine:
|
16
|
+
|
17
|
+
```
|
18
|
+
my-first-remote-template/
|
19
|
+
├── .template/
|
20
|
+
│ └── templateconfig.yaml # Configuration file
|
21
|
+
├── app/
|
22
|
+
│ └── agent.py # Your custom agent logic
|
23
|
+
└── pyproject.toml # Your custom dependencies
|
24
|
+
```
|
25
|
+
|
26
|
+
### Step 2: Configure the Template
|
27
|
+
|
28
|
+
The `templateconfig.yaml` file is required. It tells the starter pack how to use your template.
|
29
|
+
|
30
|
+
Put the following content in `.template/templateconfig.yaml`:
|
31
|
+
|
32
|
+
```yaml
|
33
|
+
# (Required) The built-in agent to use as a foundation.
|
34
|
+
base_template: "adk_base"
|
35
|
+
|
36
|
+
# (Required) Your template's name and description.
|
37
|
+
name: "My First Remote Template"
|
38
|
+
description: "A simple template that says hello."
|
39
|
+
|
40
|
+
# (Optional) Override settings from the base template.
|
41
|
+
settings:
|
42
|
+
# This template will only support the 'agent_engine' deployment target.
|
43
|
+
deployment_targets: ["agent_engine"]
|
44
|
+
```
|
45
|
+
|
46
|
+
### Step 3: Customize Dependencies and Agent Logic
|
47
|
+
|
48
|
+
First, define any custom dependencies in `pyproject.toml`. For this example, we'll just use the base dependencies but you could add your own here.
|
49
|
+
|
50
|
+
Put the following in `pyproject.toml`:
|
51
|
+
```toml
|
52
|
+
[project]
|
53
|
+
name = "my-first-remote-template"
|
54
|
+
version = "0.1.0"
|
55
|
+
dependencies = [
|
56
|
+
"google-adk",
|
57
|
+
]
|
58
|
+
```
|
59
|
+
|
60
|
+
Next, we'll override the default `agent.py` to create a simple "hello world" agent.
|
61
|
+
|
62
|
+
Put the following code in `app/agent.py`:
|
63
|
+
|
64
|
+
```python
|
65
|
+
from google.adk.agents import Agent
|
66
|
+
|
67
|
+
def get_greeting(name: str = "World") -> str:
|
68
|
+
"""Returns a friendly greeting from the remote template."""
|
69
|
+
return f"Hello, {name}! This greeting comes from a remote template."
|
70
|
+
|
71
|
+
root_agent = Agent(
|
72
|
+
name="root_agent",
|
73
|
+
model="gemini-2.5-flash",
|
74
|
+
instruction="You are a helpful AI assistant. Use your tools to answer questions.",
|
75
|
+
tools=[get_greeting],
|
76
|
+
)
|
77
|
+
```
|
78
|
+
|
79
|
+
### Step 4: Test Your Template Locally
|
80
|
+
|
81
|
+
Before publishing to Git, you can test your template from your local filesystem using the `local@` prefix.
|
82
|
+
|
83
|
+
Run the `create` command from the directory *outside* of your template folder:
|
84
|
+
|
85
|
+
```bash
|
86
|
+
# Make sure you are in the parent directory of 'my-first-remote-template'
|
87
|
+
uvx agent-starter-pack create my-test-agent -a local@./my-first-remote-template
|
88
|
+
```
|
89
|
+
|
90
|
+
This creates a new project `my-test-agent` using your local template.
|
91
|
+
|
92
|
+
### Step 5: Publish and Use Your Template
|
93
|
+
|
94
|
+
Once you are satisfied, initialize a Git repository, commit your files, and push them to a provider like GitHub. Now, you or anyone else can use your template directly from its Git URL:
|
95
|
+
|
96
|
+
```bash
|
97
|
+
# Replace with your repository URL
|
98
|
+
REPO_URL="https://github.com/your-username/my-first-remote-template"
|
99
|
+
|
100
|
+
uvx agent-starter-pack create my-remote-agent -a $REPO_URL
|
101
|
+
```
|
102
|
+
|
103
|
+
## Template Structure
|
104
|
+
|
105
|
+
A remote template repository mirrors the structure of a standard agent. The templating engine copies the entire contents of your repository and overlays them onto the base agent.
|
106
|
+
|
107
|
+
- **Your Agent Files (`app/`, `tests/`, etc.)**: These should be at the root of your repository. They will overwrite the corresponding files from the `base_template`.
|
108
|
+
- **`.template/` directory**: This special directory is **only** for the `templateconfig.yaml` file. It is read by the CLI for configuration but is not copied into the final project.
|
109
|
+
- **Dependencies (`pyproject.toml`, `uv.lock`)**: These must be at the root of your repository.
|
110
|
+
|
111
|
+
**Example Structure:**
|
112
|
+
```
|
113
|
+
my-awesome-template/
|
114
|
+
├── .template/
|
115
|
+
│ └── templateconfig.yaml # (Required) Configuration only.
|
116
|
+
├── pyproject.toml # (Required) Custom Python dependencies.
|
117
|
+
├── uv.lock # (Recommended) Locked Python dependencies.
|
118
|
+
├── app/
|
119
|
+
│ └── agent.py # Your custom agent logic.
|
120
|
+
└── README.md # Your repository's README.
|
121
|
+
```
|
122
|
+
|
123
|
+
## How File Merging Works
|
124
|
+
|
125
|
+
Files are copied and overlaid in the following order, with later steps overwriting earlier ones if files have the same name and path:
|
126
|
+
|
127
|
+
1. **[Base Project Files](https://github.com/GoogleCloudPlatform/agent-starter-pack/tree/main/src/base_template)**: The foundational files from the starter pack.
|
128
|
+
2. **[Deployment Target Files](https://github.com/GoogleCloudPlatform/agent-starter-pack/tree/main/src/deployment_targets)**: Files for the chosen deployment target (e.g., `cloud_run`).
|
129
|
+
3. **[Frontend Files](https://github.com/GoogleCloudPlatform/agent-starter-pack/tree/main/src/frontends)** (Optional): If a `frontend_type` is specified, its files are copied.
|
130
|
+
4. **[Base Agent Files](https://github.com/GoogleCloudPlatform/agent-starter-pack/tree/main/agents)**: The application logic from the `base_template` you specified (e.g., files from `agents/adk_base/`).
|
131
|
+
5. **Remote Template Files**: **(Highest Precedence)** All files from the root of your remote repository (except for the `.template` directory itself).
|
132
|
+
|
133
|
+
## Managing Dependencies
|
134
|
+
|
135
|
+
You have full control over the Python dependencies. Both `pyproject.toml` and `uv.lock` must be at the **root** of your remote template repository.
|
136
|
+
* **`pyproject.toml`**: Required file that replaces the base template's version. Must include all dependencies for your agent.
|
137
|
+
|
138
|
+
* **`uv.lock`**: Strongly recommended to ensure reproducibility.
|
139
|
+
* If present, guarantees exact dependency versions.
|
140
|
+
* If missing, falls back to base template's lock file. A new lock file will be generatede by the user when performing installation.
|
141
|
+
|
142
|
+
**Best Practice:** Always run `uv lock` after changing dependencies and commit the resulting lock file.
|
143
|
+
|
144
|
+
## Makefile Behavior
|
145
|
+
|
146
|
+
You cannot replace the `Makefile` from the `base_template`. However, you can add new commands or override existing ones via the `settings.commands` section in your `templateconfig.yaml`.
|
147
|
+
|
148
|
+
**Example:**
|
149
|
+
```yaml
|
150
|
+
settings:
|
151
|
+
commands:
|
152
|
+
override:
|
153
|
+
# Replaces the default 'make install' command
|
154
|
+
install: "uv sync --dev --extra jupyter"
|
155
|
+
extra:
|
156
|
+
# Adds 'make custom-lint'
|
157
|
+
custom-lint:
|
158
|
+
command: "ruff check ."
|
159
|
+
description: "Run a custom lint check."
|
160
|
+
```
|
161
|
+
|
162
|
+
## Configuration Reference
|
163
|
+
|
164
|
+
The `templateconfig.yaml` file is the control center for defining an agent's properties, for both built-in and remote templates. For a complete breakdown of all available fields and their options, see the [Template Config Reference](./template-config-reference.md).
|
165
|
+
|
166
|
+
## Usage Reference
|
167
|
+
|
168
|
+
### Creating a Project from a Template
|
169
|
+
|
170
|
+
Use the `create` command with the `--agent` (`-a`) flag.
|
171
|
+
|
172
|
+
* **Full GitHub URL:**
|
173
|
+
```bash
|
174
|
+
uvx agent-starter-pack create my-agent -a https://github.com/my-org/my-repo/tree/main/path-to-template
|
175
|
+
```
|
176
|
+
|
177
|
+
* **Shorthand URL (GitHub, GitLab, Bitbucket):**
|
178
|
+
```bash
|
179
|
+
# Specify a branch/tag with @
|
180
|
+
uvx agent-starter-pack create my-agent -a github.com/my-org/my-repo/path-to-template@develop
|
181
|
+
```
|
182
|
+
|
183
|
+
* **ADK Samples Shortcut:** A convenient alias for official Google agent examples. It allows you to create projects from the [google/adk-samples](https://github.com/google/adk-samples) repository without needing to type the full URL.
|
184
|
+
```bash
|
185
|
+
# Creates a project from the 'gemini-fullstack' template in adk-samples
|
186
|
+
uvx agent-starter-pack create my-agent -a adk@gemini-fullstack
|
187
|
+
```
|
188
|
+
|
189
|
+
* **Local Testing:**
|
190
|
+
```bash
|
191
|
+
uvx agent-starter-pack create my-test-project -a local@./path/to/your/template
|
192
|
+
```
|
193
|
+
|
194
|
+
### Listing Available Agents
|
195
|
+
|
196
|
+
The `list` command helps you discover templates.
|
197
|
+
|
198
|
+
* **List Built-in Agents:**
|
199
|
+
```bash
|
200
|
+
uvx agent-starter-pack list
|
201
|
+
```
|
202
|
+
|
203
|
+
* **List Agents in a Remote Repository:**
|
204
|
+
```bash
|
205
|
+
uvx agent-starter-pack list --source https://github.com/my-org/my-repo
|
206
|
+
```
|
207
|
+
|
208
|
+
* **List Official ADK Samples:**
|
209
|
+
```bash
|
210
|
+
uvx agent-starter-pack list --adk
|
211
|
+
```
|