agent-starter-pack 0.9.2__tar.gz → 0.10.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.
Files changed (291) hide show
  1. agent_starter_pack-0.10.0/.claude/settings.local.json +17 -0
  2. agent_starter_pack-0.10.0/.cloudbuild/ci/test_pipeline_parity.yaml +37 -0
  3. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/.cloudbuild/terraform/build_triggers.tf +53 -2
  4. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/.gitignore +1 -0
  5. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/Makefile +1 -1
  6. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/PKG-INFO +2 -2
  7. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/README.md +1 -1
  8. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/agents/adk_base/.template/templateconfig.yaml +1 -1
  9. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/agents/adk_gemini_fullstack/.template/templateconfig.yaml +1 -1
  10. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/agents/agentic_rag/.template/templateconfig.yaml +1 -1
  11. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/agents/agentic_rag/README.md +1 -1
  12. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/agents/live_api/tests/integration/test_server_e2e.py +7 -1
  13. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/docs/agents/overview.md +1 -1
  14. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/docs/cli/create.md +1 -1
  15. agent_starter_pack-0.10.0/docs/cli/setup_cicd.md +105 -0
  16. agent_starter_pack-0.10.0/docs/guide/deployment.md +117 -0
  17. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/docs/guide/development-guide.md +22 -25
  18. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/docs/guide/remote-templating.md +2 -2
  19. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/docs/guide/template-config-reference.md +1 -1
  20. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/llm.txt +3 -2
  21. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/pyproject.toml +3 -1
  22. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/base_template/Makefile +4 -3
  23. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/base_template/README.md +7 -2
  24. agent_starter_pack-0.10.0/src/base_template/deployment/README.md +11 -0
  25. agent_starter_pack-0.10.0/src/base_template/deployment/terraform/github.tf +284 -0
  26. {agent_starter_pack-0.9.2/src/resources/setup_cicd → agent_starter_pack-0.10.0/src/base_template/deployment/terraform}/providers.tf +3 -0
  27. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/base_template/deployment/terraform/variables.tf +40 -1
  28. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/base_template/deployment/terraform/vars/env.tfvars +7 -1
  29. agent_starter_pack-0.10.0/src/base_template/deployment/terraform/{% if cookiecutter.cicd_runner == 'github_actions' %}wif.tf{% else %}unused_wif.tf{% endif %} +43 -0
  30. agent_starter_pack-0.9.2/src/base_template/deployment/terraform/build_triggers.tf → agent_starter_pack-0.10.0/src/base_template/deployment/terraform/{% if cookiecutter.cicd_runner == 'google_cloud_build' %}build_triggers.tf{% else %}unused_build_triggers.tf{% endif %} +33 -18
  31. agent_starter_pack-0.10.0/src/base_template/{% if cookiecutter.cicd_runner == 'github_actions' %}.github{% else %}unused_github{% endif %}/workflows/deploy-to-prod.yaml +114 -0
  32. agent_starter_pack-0.10.0/src/base_template/{% if cookiecutter.cicd_runner == 'github_actions' %}.github{% else %}unused_github{% endif %}/workflows/pr_checks.yaml +65 -0
  33. agent_starter_pack-0.10.0/src/base_template/{% if cookiecutter.cicd_runner == 'github_actions' %}.github{% else %}unused_github{% endif %}/workflows/staging.yaml +170 -0
  34. agent_starter_pack-0.9.2/src/base_template/deployment/cd/deploy-to-prod.yaml → agent_starter_pack-0.10.0/src/base_template/{% if cookiecutter.cicd_runner == 'google_cloud_build' %}.cloudbuild{% else %}unused_.cloudbuild{% endif %}/deploy-to-prod.yaml +7 -7
  35. agent_starter_pack-0.9.2/src/base_template/deployment/cd/staging.yaml → agent_starter_pack-0.10.0/src/base_template/{% if cookiecutter.cicd_runner == 'google_cloud_build' %}.cloudbuild{% else %}unused_.cloudbuild{% endif %}/staging.yaml +7 -7
  36. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/cli/commands/create.py +120 -4
  37. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/cli/commands/list.py +1 -1
  38. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/cli/commands/setup_cicd.py +292 -298
  39. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/cli/utils/cicd.py +19 -7
  40. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/cli/utils/remote_template.py +4 -4
  41. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/cli/utils/template.py +67 -19
  42. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/deployment_targets/cloud_run/app/server.py +19 -0
  43. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/deployment_targets/cloud_run/deployment/terraform/dev/service.tf +4 -3
  44. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/deployment_targets/cloud_run/deployment/terraform/service.tf +4 -3
  45. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/deployment_targets/cloud_run/tests/integration/test_server_e2e.py +35 -0
  46. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/deployment_targets/cloud_run/tests/load_test/README.md +1 -1
  47. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/live_api_react/frontend/package-lock.json +19 -16
  48. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/streamlit/frontend/side_bar.py +1 -1
  49. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/streamlit/frontend/utils/chat_utils.py +1 -1
  50. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/streamlit/frontend/utils/local_chat_history.py +2 -2
  51. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/resources/docs/adk-cheatsheet.md +1 -1
  52. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/resources/locks/uv-adk_base-agent_engine.lock +164 -131
  53. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/resources/locks/uv-adk_base-cloud_run.lock +177 -144
  54. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/resources/locks/uv-adk_gemini_fullstack-agent_engine.lock +164 -131
  55. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/resources/locks/uv-adk_gemini_fullstack-cloud_run.lock +177 -144
  56. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/resources/locks/uv-agentic_rag-agent_engine.lock +223 -190
  57. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/resources/locks/uv-agentic_rag-cloud_run.lock +251 -218
  58. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/resources/locks/uv-crewai_coding_crew-agent_engine.lock +315 -485
  59. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/resources/locks/uv-crewai_coding_crew-cloud_run.lock +358 -531
  60. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/resources/locks/uv-langgraph_base_react-agent_engine.lock +281 -249
  61. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/resources/locks/uv-langgraph_base_react-cloud_run.lock +323 -290
  62. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/resources/locks/uv-live_api-cloud_run.lock +350 -327
  63. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/tests/cicd/test_e2e_deployment.py +547 -125
  64. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/tests/cli/commands/test_create.py +1 -0
  65. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/tests/cli/commands/test_setup_cicd.py +20 -58
  66. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/tests/cli/utils/test_cicd.py +5 -2
  67. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/tests/cli/utils/test_remote_template.py +5 -2
  68. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/tests/integration/test_makefile_usability.py +2 -2
  69. agent_starter_pack-0.10.0/tests/integration/test_pipeline_parity.py +324 -0
  70. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/tests/integration/test_template_linting.py +1 -1
  71. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/tests/integration/utils.py +1 -0
  72. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/tests/test_frontend/test_utils/test_chat_utils.py +1 -1
  73. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/tests/test_frontend/test_utils/test_local_chat_history.py +1 -1
  74. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/uv.lock +1 -1
  75. agent_starter_pack-0.9.2/.claude/settings.local.json +0 -11
  76. agent_starter_pack-0.9.2/docs/cli/setup_cicd.md +0 -96
  77. agent_starter_pack-0.9.2/docs/guide/deployment.md +0 -129
  78. agent_starter_pack-0.9.2/src/base_template/deployment/README.md +0 -126
  79. agent_starter_pack-0.9.2/src/base_template/deployment/terraform/providers.tf +0 -37
  80. agent_starter_pack-0.9.2/src/resources/setup_cicd/cicd_variables.tf +0 -41
  81. agent_starter_pack-0.9.2/src/resources/setup_cicd/github.tf +0 -87
  82. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/.cloudbuild/cd/test_e2e.yaml +0 -0
  83. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/.cloudbuild/ci/build_use_wheel.yaml +0 -0
  84. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/.cloudbuild/ci/lint.yaml +0 -0
  85. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/.cloudbuild/ci/lint_templated_agents.yaml +0 -0
  86. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/.cloudbuild/ci/test.yaml +0 -0
  87. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/.cloudbuild/ci/test_makefile.yaml +0 -0
  88. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/.cloudbuild/ci/test_remote_template.yaml +0 -0
  89. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/.cloudbuild/ci/test_templated_agents.yaml +0 -0
  90. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/.cloudbuild/terraform/apis.tf +0 -0
  91. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/.cloudbuild/terraform/service_account.tf +0 -0
  92. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/.cloudbuild/terraform/storage.tf +0 -0
  93. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/.cloudbuild/terraform/variables.tf +0 -0
  94. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/.github/workflows/docs.yml +0 -0
  95. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/CODE_OF_CONDUCT.md +0 -0
  96. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/CONTRIBUTING.md +0 -0
  97. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/LICENSE +0 -0
  98. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/agents/README.md +0 -0
  99. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/agents/adk_base/README.md +0 -0
  100. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/agents/adk_base/app/agent.py +0 -0
  101. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/agents/adk_base/notebooks/adk_app_testing.ipynb +0 -0
  102. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/agents/adk_base/notebooks/evaluating_adk_agent.ipynb +0 -0
  103. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/agents/adk_base/tests/integration/test_agent.py +0 -0
  104. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/agents/adk_gemini_fullstack/README.md +0 -0
  105. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/agents/adk_gemini_fullstack/app/agent.py +0 -0
  106. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/agents/adk_gemini_fullstack/app/config.py +0 -0
  107. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/agents/adk_gemini_fullstack/notebooks/adk_app_testing.ipynb +0 -0
  108. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/agents/adk_gemini_fullstack/notebooks/evaluating_adk_agent.ipynb +0 -0
  109. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/agents/adk_gemini_fullstack/tests/integration/test_agent.py +0 -0
  110. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/agents/agentic_rag/app/agent.py +0 -0
  111. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/agents/agentic_rag/app/retrievers.py +0 -0
  112. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/agents/agentic_rag/app/templates.py +0 -0
  113. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/agents/agentic_rag/notebooks/adk_app_testing.ipynb +0 -0
  114. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/agents/agentic_rag/notebooks/evaluating_adk_agent.ipynb +0 -0
  115. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/agents/agentic_rag/tests/integration/test_agent.py +0 -0
  116. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/agents/crewai_coding_crew/.template/templateconfig.yaml +0 -0
  117. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/agents/crewai_coding_crew/README.md +0 -0
  118. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/agents/crewai_coding_crew/app/agent.py +0 -0
  119. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/agents/crewai_coding_crew/app/crew/config/agents.yaml +0 -0
  120. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/agents/crewai_coding_crew/app/crew/config/tasks.yaml +0 -0
  121. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/agents/crewai_coding_crew/app/crew/crew.py +0 -0
  122. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/agents/crewai_coding_crew/notebooks/evaluating_crewai_agent.ipynb +0 -0
  123. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/agents/crewai_coding_crew/notebooks/evaluating_langgraph_agent.ipynb +0 -0
  124. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/agents/crewai_coding_crew/tests/integration/test_agent.py +0 -0
  125. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/agents/langgraph_base_react/.template/templateconfig.yaml +0 -0
  126. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/agents/langgraph_base_react/README.md +0 -0
  127. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/agents/langgraph_base_react/app/agent.py +0 -0
  128. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/agents/langgraph_base_react/notebooks/evaluating_langgraph_agent.ipynb +0 -0
  129. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/agents/langgraph_base_react/tests/integration/test_agent.py +0 -0
  130. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/agents/live_api/.template/templateconfig.yaml +0 -0
  131. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/agents/live_api/README.md +0 -0
  132. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/agents/live_api/app/agent.py +0 -0
  133. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/agents/live_api/app/server.py +0 -0
  134. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/agents/live_api/tests/load_test/load_test.py +0 -0
  135. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/agents/live_api/tests/unit/test_server.py +0 -0
  136. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/docs/.vitepress/config.js +0 -0
  137. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/docs/cli/index.md +0 -0
  138. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/docs/guide/data-ingestion.md +0 -0
  139. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/docs/guide/deploy-ui.md +0 -0
  140. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/docs/guide/getting-started.md +0 -0
  141. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/docs/guide/installation.md +0 -0
  142. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/docs/guide/observability.md +0 -0
  143. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/docs/guide/troubleshooting.md +0 -0
  144. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/docs/guide/video-tutorials.md +0 -0
  145. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/docs/guide/why_starter_pack.md +0 -0
  146. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/docs/images/adk_gemini_fullstack.gif +0 -0
  147. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/docs/images/adk_gemini_fullstack_architecture.png +0 -0
  148. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/docs/images/adk_logo.png +0 -0
  149. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/docs/images/agent_starter_pack_screenshot.png +0 -0
  150. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/docs/images/ags_high_level_architecture.png +0 -0
  151. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/docs/images/icon.png +0 -0
  152. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/docs/images/logo.png +0 -0
  153. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/docs/images/prototype_to_prod.png +0 -0
  154. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/docs/images/why_sp_edited.png +0 -0
  155. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/docs/images/why_starter_pack.png +0 -0
  156. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/docs/index.md +0 -0
  157. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/docs/package-lock.json +0 -0
  158. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/docs/package.json +0 -0
  159. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/base_template/.gitignore +0 -0
  160. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/base_template/GEMINI.md +0 -0
  161. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/base_template/app/__init__.py +0 -0
  162. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/base_template/app/utils/gcs.py +0 -0
  163. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/base_template/app/utils/tracing.py +0 -0
  164. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/base_template/app/utils/typing.py +0 -0
  165. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/base_template/deployment/terraform/apis.tf +0 -0
  166. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/base_template/deployment/terraform/dev/apis.tf +0 -0
  167. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/base_template/deployment/terraform/dev/iam.tf +0 -0
  168. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/base_template/deployment/terraform/dev/log_sinks.tf +0 -0
  169. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/base_template/deployment/terraform/dev/providers.tf +0 -0
  170. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/base_template/deployment/terraform/dev/storage.tf +0 -0
  171. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/base_template/deployment/terraform/dev/variables.tf +0 -0
  172. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/base_template/deployment/terraform/dev/vars/env.tfvars +0 -0
  173. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/base_template/deployment/terraform/iam.tf +0 -0
  174. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/base_template/deployment/terraform/locals.tf +0 -0
  175. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/base_template/deployment/terraform/log_sinks.tf +0 -0
  176. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/base_template/deployment/terraform/service_accounts.tf +0 -0
  177. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/base_template/deployment/terraform/storage.tf +0 -0
  178. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/base_template/pyproject.toml +0 -0
  179. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/base_template/tests/unit/test_dummy.py +0 -0
  180. {agent_starter_pack-0.9.2/src/base_template/deployment/ci → agent_starter_pack-0.10.0/src/base_template/{% if cookiecutter.cicd_runner == 'google_cloud_build' %}.cloudbuild{% else %}unused_.cloudbuild{% endif %}}/pr_checks.yaml +0 -0
  181. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/cli/main.py +0 -0
  182. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/cli/utils/__init__.py +0 -0
  183. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/cli/utils/datastores.py +0 -0
  184. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/cli/utils/gcp.py +0 -0
  185. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/cli/utils/logging.py +0 -0
  186. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/cli/utils/version.py +0 -0
  187. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/data_ingestion/README.md +0 -0
  188. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/data_ingestion/data_ingestion_pipeline/components/ingest_data.py +0 -0
  189. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/data_ingestion/data_ingestion_pipeline/components/process_data.py +0 -0
  190. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/data_ingestion/data_ingestion_pipeline/pipeline.py +0 -0
  191. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/data_ingestion/data_ingestion_pipeline/submit_pipeline.py +0 -0
  192. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/data_ingestion/pyproject.toml +0 -0
  193. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/data_ingestion/uv.lock +0 -0
  194. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/deployment_targets/agent_engine/app/agent_engine_app.py +0 -0
  195. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/deployment_targets/agent_engine/deployment_metadata.json +0 -0
  196. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/deployment_targets/agent_engine/notebooks/intro_agent_engine.ipynb +0 -0
  197. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/deployment_targets/agent_engine/tests/integration/test_agent_engine_app.py +0 -0
  198. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/deployment_targets/agent_engine/tests/load_test/.results/.placeholder +0 -0
  199. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/deployment_targets/agent_engine/tests/load_test/README.md +0 -0
  200. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/deployment_targets/agent_engine/tests/load_test/load_test.py +0 -0
  201. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/deployment_targets/cloud_run/Dockerfile +0 -0
  202. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/deployment_targets/cloud_run/tests/load_test/.results/.placeholder +0 -0
  203. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/deployment_targets/cloud_run/tests/load_test/load_test.py +0 -0
  204. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/adk_gemini_fullstack/frontend/components.json +0 -0
  205. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/adk_gemini_fullstack/frontend/eslint.config.js +0 -0
  206. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/adk_gemini_fullstack/frontend/index.html +0 -0
  207. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/adk_gemini_fullstack/frontend/package-lock.json +0 -0
  208. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/adk_gemini_fullstack/frontend/package.json +0 -0
  209. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/adk_gemini_fullstack/frontend/src/App.tsx +0 -0
  210. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/adk_gemini_fullstack/frontend/src/components/ActivityTimeline.tsx +0 -0
  211. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/adk_gemini_fullstack/frontend/src/components/ChatMessagesView.tsx +0 -0
  212. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/adk_gemini_fullstack/frontend/src/components/InputForm.tsx +0 -0
  213. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/adk_gemini_fullstack/frontend/src/components/WelcomeScreen.tsx +0 -0
  214. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/adk_gemini_fullstack/frontend/src/components/ui/badge.tsx +0 -0
  215. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/adk_gemini_fullstack/frontend/src/components/ui/button.tsx +0 -0
  216. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/adk_gemini_fullstack/frontend/src/components/ui/card.tsx +0 -0
  217. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/adk_gemini_fullstack/frontend/src/components/ui/input.tsx +0 -0
  218. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/adk_gemini_fullstack/frontend/src/components/ui/scroll-area.tsx +0 -0
  219. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/adk_gemini_fullstack/frontend/src/components/ui/select.tsx +0 -0
  220. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/adk_gemini_fullstack/frontend/src/components/ui/tabs.tsx +0 -0
  221. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/adk_gemini_fullstack/frontend/src/components/ui/textarea.tsx +0 -0
  222. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/adk_gemini_fullstack/frontend/src/global.css +0 -0
  223. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/adk_gemini_fullstack/frontend/src/main.tsx +0 -0
  224. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/adk_gemini_fullstack/frontend/src/utils.ts +0 -0
  225. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/adk_gemini_fullstack/frontend/src/vite-env.d.ts +0 -0
  226. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/adk_gemini_fullstack/frontend/tsconfig.json +0 -0
  227. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/adk_gemini_fullstack/frontend/tsconfig.node.json +0 -0
  228. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/adk_gemini_fullstack/frontend/vite.config.ts +0 -0
  229. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/live_api_react/frontend/package.json +0 -0
  230. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/live_api_react/frontend/public/favicon.ico +0 -0
  231. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/live_api_react/frontend/public/index.html +0 -0
  232. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/live_api_react/frontend/public/robots.txt +0 -0
  233. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/live_api_react/frontend/src/App.scss +0 -0
  234. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/live_api_react/frontend/src/App.test.tsx +0 -0
  235. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/live_api_react/frontend/src/App.tsx +0 -0
  236. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/live_api_react/frontend/src/components/audio-pulse/AudioPulse.tsx +0 -0
  237. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/live_api_react/frontend/src/components/audio-pulse/audio-pulse.scss +0 -0
  238. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/live_api_react/frontend/src/components/control-tray/ControlTray.tsx +0 -0
  239. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/live_api_react/frontend/src/components/control-tray/control-tray.scss +0 -0
  240. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/live_api_react/frontend/src/components/logger/Logger.tsx +0 -0
  241. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/live_api_react/frontend/src/components/logger/logger.scss +0 -0
  242. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/live_api_react/frontend/src/components/logger/mock-logs.ts +0 -0
  243. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/live_api_react/frontend/src/components/side-panel/SidePanel.tsx +0 -0
  244. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/live_api_react/frontend/src/components/side-panel/side-panel.scss +0 -0
  245. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/live_api_react/frontend/src/contexts/LiveAPIContext.tsx +0 -0
  246. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/live_api_react/frontend/src/hooks/use-live-api.ts +0 -0
  247. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/live_api_react/frontend/src/hooks/use-media-stream-mux.ts +0 -0
  248. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/live_api_react/frontend/src/hooks/use-screen-capture.ts +0 -0
  249. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/live_api_react/frontend/src/hooks/use-webcam.ts +0 -0
  250. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/live_api_react/frontend/src/index.css +0 -0
  251. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/live_api_react/frontend/src/index.tsx +0 -0
  252. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/live_api_react/frontend/src/multimodal-live-types.ts +0 -0
  253. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/live_api_react/frontend/src/react-app-env.d.ts +0 -0
  254. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/live_api_react/frontend/src/reportWebVitals.ts +0 -0
  255. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/live_api_react/frontend/src/setupTests.ts +0 -0
  256. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/live_api_react/frontend/src/utils/audio-recorder.ts +0 -0
  257. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/live_api_react/frontend/src/utils/audio-streamer.ts +0 -0
  258. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/live_api_react/frontend/src/utils/audioworklet-registry.ts +0 -0
  259. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/live_api_react/frontend/src/utils/multimodal-live-client.ts +0 -0
  260. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/live_api_react/frontend/src/utils/store-logger.ts +0 -0
  261. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/live_api_react/frontend/src/utils/utils.ts +0 -0
  262. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/live_api_react/frontend/src/utils/worklets/audio-processing.ts +0 -0
  263. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/live_api_react/frontend/src/utils/worklets/vol-meter.ts +0 -0
  264. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/live_api_react/frontend/tsconfig.json +0 -0
  265. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/streamlit/frontend/streamlit_app.py +0 -0
  266. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/streamlit/frontend/style/app_markdown.py +0 -0
  267. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/streamlit/frontend/utils/message_editing.py +0 -0
  268. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/streamlit/frontend/utils/multimodal_utils.py +0 -0
  269. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/streamlit/frontend/utils/stream_handler.py +0 -0
  270. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/frontends/streamlit/frontend/utils/title_summary.py +0 -0
  271. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/resources/containers/data_processing/Dockerfile +0 -0
  272. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/resources/containers/e2e-tests/Dockerfile +0 -0
  273. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/resources/idx/.idx/dev.nix +0 -0
  274. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/resources/idx/idx-template.json +0 -0
  275. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/resources/idx/idx-template.nix +0 -0
  276. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/utils/generate_locks.py +0 -0
  277. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/utils/lock_utils.py +0 -0
  278. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/src/utils/watch_and_rebuild.py +0 -0
  279. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/tests/__init__.py +0 -0
  280. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/tests/cicd/example.env +0 -0
  281. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/tests/cli/commands/test_create_local.py +0 -0
  282. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/tests/cli/commands/test_list.py +0 -0
  283. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/tests/integration/test_remote_templating.py +0 -0
  284. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/tests/integration/test_templated_patterns.py +0 -0
  285. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/tests/test_frontend/test_side_bar.py +0 -0
  286. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/tests/test_frontend/test_streamlit_app.py +0 -0
  287. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/tests/test_frontend/test_utils/test_message_editing.py +0 -0
  288. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/tests/test_frontend/test_utils/test_multimodal_utils.py +0 -0
  289. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/tests/test_frontend/test_utils/test_stream_handler.py +0 -0
  290. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/tests/utils/__init__.py +0 -0
  291. {agent_starter_pack-0.9.2 → agent_starter_pack-0.10.0}/tests/utils/get_agents.py +0 -0
@@ -0,0 +1,17 @@
1
+ {
2
+ "permissions": {
3
+ "allow": [
4
+ "Bash(grep:*)",
5
+ "Bash(find:*)",
6
+ "Bash(uv run:*)",
7
+ "Bash(git add:*)",
8
+ "Bash(gh run view:*)",
9
+ "Bash(GOOGLE_CLOUD_PROJECT=asp-starter-dev uv run pytest tests/cicd/test_pipeline_parity.py -v -s --tb=short)",
10
+ "Bash(set -a)",
11
+ "Bash(. tests/cicd/.env)",
12
+ "Bash(set +a)",
13
+ "Bash(bash:*)"
14
+ ],
15
+ "deny": []
16
+ }
17
+ }
@@ -0,0 +1,37 @@
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 --dev --locked
24
+
25
+ # Run pipeline parity tests
26
+ - name: "europe-west4-docker.pkg.dev/production-ai-template/starter-pack/e2e-tests"
27
+ id: pipeline-parity-tests
28
+ entrypoint: /bin/bash
29
+ args:
30
+ - "-c"
31
+ - |
32
+ uv run pytest tests/integration/test_pipeline_parity.py -v
33
+
34
+
35
+ logsBucket: gs://${PROJECT_ID}-logs-data/build-logs
36
+ options:
37
+ defaultLogsBucketBehavior: REGIONAL_USER_OWNED_BUCKET
@@ -98,6 +98,10 @@ locals {
98
98
  name = "adk_base-cloud_run-alloydb"
99
99
  value = "adk_base,cloud_run,--session-type,alloydb"
100
100
  },
101
+ {
102
+ name = "adk_base-cloud_run-agent_engine"
103
+ value = "adk_base,cloud_run,--session-type,agent_engine"
104
+ },
101
105
  ]
102
106
 
103
107
  agent_testing_included_files = { for combo in local.agent_testing_combinations :
@@ -116,6 +120,18 @@ agent_testing_included_files = { for combo in local.agent_testing_combinations :
116
120
  ]
117
121
  }
118
122
  e2e_agent_deployment_combinations = [
123
+ {
124
+ name = "adk_base-agent_engine-github"
125
+ value = "adk_base,agent_engine,--cicd-runner,github_actions"
126
+ },
127
+ {
128
+ name = "adk_base-cloud_run-github"
129
+ value = "adk_base,cloud_run,--cicd-runner,github_actions"
130
+ },
131
+ {
132
+ name = "agentic_rag-agent_engine-vertex_ai_search-github"
133
+ value = "agentic_rag,agent_engine,--include-data-ingestion,--datastore,vertex_ai_search,--cicd-runner,github_actions"
134
+ },
119
135
  {
120
136
  name = "adk_base-agent_engine"
121
137
  value = "adk_base,agent_engine"
@@ -151,7 +167,12 @@ agent_testing_included_files = { for combo in local.agent_testing_combinations :
151
167
  combo.name => replace(replace(combo.name, "_", "-"), ".", "-")
152
168
  }
153
169
 
154
- e2e_agent_deployment_included_files = { for combo in local.agent_testing_combinations :
170
+ # Create safe trigger names for e2e deployment combinations
171
+ e2e_trigger_name_safe = { for combo in local.e2e_agent_deployment_combinations :
172
+ combo.name => replace(replace(combo.name, "_", "-"), ".", "-")
173
+ }
174
+
175
+ e2e_agent_deployment_included_files = { for combo in local.e2e_agent_deployment_combinations :
155
176
  combo.name => combo.name == "adk_base-cloud_run-alloydb" ? [
156
177
  "src/deployment_targets/cloud_run/**",
157
178
  "pyproject.toml",
@@ -304,7 +325,7 @@ resource "google_cloudbuild_trigger" "pr_templated_agents_test" {
304
325
  resource "google_cloudbuild_trigger" "main_e2e_deployment_test" {
305
326
  for_each = { for combo in local.e2e_agent_deployment_combinations : combo.name => combo }
306
327
 
307
- name = "e2e-deploy-${local.trigger_name_safe[each.key]}"
328
+ name = "e2e-deploy-${local.e2e_trigger_name_safe[each.key]}"
308
329
  project = var.cicd_runner_project_id
309
330
  location = var.region
310
331
  description = "Trigger for E2E deployment tests on main branch: ${each.value.name}"
@@ -373,3 +394,33 @@ resource "google_cloudbuild_trigger" "pr_test_makefile" {
373
394
  ignored_files = local.common_ignored_files
374
395
  include_build_logs = "INCLUDE_BUILD_LOGS_WITH_STATUS"
375
396
  }
397
+
398
+ # h. Create Pipeline Parity Test trigger for PR requests
399
+ resource "google_cloudbuild_trigger" "pr_test_pipeline_parity" {
400
+ name = "pr-test-pipeline-parity"
401
+ project = var.cicd_runner_project_id
402
+ location = var.region
403
+ description = "Trigger for PR checks on pipeline parity between GitHub Actions and Cloud Build"
404
+ service_account = resource.google_service_account.cicd_runner_sa.id
405
+
406
+ repository_event_config {
407
+ repository = local.repository_path
408
+ pull_request {
409
+ branch = "main"
410
+ comment_control = "COMMENTS_ENABLED_FOR_EXTERNAL_CONTRIBUTORS_ONLY"
411
+ }
412
+ }
413
+
414
+ filename = ".cloudbuild/ci/test_pipeline_parity.yaml"
415
+ included_files = [
416
+ "tests/integration/test_pipeline_parity.py",
417
+ "src/cli/**",
418
+ ".cloudbuild/**",
419
+ "src/base_template/**/.github/**",
420
+ "src/base_template/**/.cloudbuild/**",
421
+ "pyproject.toml",
422
+ "uv.lock",
423
+ ]
424
+ ignored_files = local.common_ignored_files
425
+ include_build_logs = "INCLUDE_BUILD_LOGS_WITH_STATUS"
426
+ }
@@ -199,3 +199,4 @@ cleanup_e2e_projects.sh
199
199
  .cloudbuild/terraform/vars/env.tfvars
200
200
  docs/.vitepress/cache
201
201
  tests/cicd/delete_gcp_resources.sh
202
+ tests/cicd/delete_agent_engines.py
@@ -5,7 +5,7 @@ test-templated-agents:
5
5
  uv run pytest tests/integration/test_templated_patterns.py
6
6
 
7
7
  test-e2e:
8
- set -a && . tests/cicd/.env && set +a && uv run pytest tests/cicd/test_e2e_deployment.py
8
+ set -a && . tests/cicd/.env && set +a && uv run pytest tests/cicd/test_e2e_deployment.py -v
9
9
 
10
10
  generate-lock:
11
11
  uv run src/utils/generate_locks.py
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agent-starter-pack
3
- Version: 0.9.2
3
+ Version: 0.10.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
@@ -99,7 +99,7 @@ Looking to explore more ADK examples? Check out the [ADK Samples Repository](htt
99
99
  #### Extra Features
100
100
 
101
101
  The `agent-starter-pack` offers two key features to accelerate and simplify the development of your agent:
102
- - **🔄 [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
102
+ - **🔄 [CI/CD Automation](https://googlecloudplatform.github.io/agent-starter-pack/cli/setup_cicd)** - A single command to set up a complete CI/CD pipeline for all environments, supporting both **Google Cloud Build** and **GitHub Actions**.
103
103
  - **📥 [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).
104
104
  - **[Remote Templates](docs/guide/remote-templating.md)**: Create and share your own agent starter packs templates from any Git repository.
105
105
  - **🤖 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.
@@ -76,7 +76,7 @@ Looking to explore more ADK examples? Check out the [ADK Samples Repository](htt
76
76
  #### Extra Features
77
77
 
78
78
  The `agent-starter-pack` offers two key features to accelerate and simplify the development of your agent:
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
79
+ - **🔄 [CI/CD Automation](https://googlecloudplatform.github.io/agent-starter-pack/cli/setup_cicd)** - A single command to set up a complete CI/CD pipeline for all environments, supporting both **Google Cloud Build** and **GitHub Actions**.
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
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.
@@ -18,7 +18,7 @@ settings:
18
18
  requires_data_ingestion: false
19
19
  requires_session: true
20
20
  deployment_targets: ["agent_engine", "cloud_run"]
21
- extra_dependencies: ["google-adk~=1.6.0"]
21
+ extra_dependencies: ["google-adk~=1.8.0"]
22
22
  tags: ["adk"]
23
23
  frontend_type: "None"
24
24
 
@@ -18,7 +18,7 @@ settings:
18
18
  requires_data_ingestion: false
19
19
  requires_session: true
20
20
  deployment_targets: ["agent_engine", "cloud_run"]
21
- extra_dependencies: ["google-adk~=1.6.0"]
21
+ extra_dependencies: ["google-adk~=1.8.0"]
22
22
  tags: ["adk"]
23
23
  frontend_type: "adk_gemini_fullstack"
24
24
  commands:
@@ -19,7 +19,7 @@ settings:
19
19
  requires_session: true
20
20
  deployment_targets: ["agent_engine", "cloud_run"]
21
21
  extra_dependencies: [
22
- "google-adk~=1.6.0",
22
+ "google-adk~=1.8.0",
23
23
  "langchain-google-vertexai~=2.0.7",
24
24
  "langchain~=0.3.24",
25
25
  "langchain-core~=0.3.55",
@@ -19,5 +19,5 @@ The agent implements the following architecture:
19
19
  - **Automated Data Ingestion Pipeline:** Automates the process of ingesting data from input sources.
20
20
  - **Custom Embeddings:** Generates embeddings using Vertex AI Embeddings and incorporates them into your data for enhanced semantic search.
21
21
  - **Terraform Deployment:** Ingestion pipeline is instantiated with Terraform alongside the rest of the infrastructure of the starter pack.
22
- - **Cloud Build Integration:** Deployment of ingestion pipelines is added to the CD pipelines of the starter pack.
22
+ - **CI/CD Integration:** Deployment of ingestion pipelines is added to the CD pipelines of the starter pack.
23
23
  - **Customizable Code:** Easily adapt and customize the code to fit your specific application needs and data sources.
@@ -66,6 +66,7 @@ def start_server() -> subprocess.Popen[str]:
66
66
  text=True,
67
67
  bufsize=1,
68
68
  env=env,
69
+ encoding="utf-8",
69
70
  )
70
71
 
71
72
  # Start threads to log stdout and stderr in real-time
@@ -107,7 +108,12 @@ def server_fixture(request: Any) -> Iterator[subprocess.Popen[str]]:
107
108
  def stop_server() -> None:
108
109
  logger.info("Stopping server process")
109
110
  server_process.terminate()
110
- server_process.wait()
111
+ try:
112
+ server_process.wait(timeout=5)
113
+ except subprocess.TimeoutExpired:
114
+ logger.warning("Server process did not terminate, killing it")
115
+ server_process.kill()
116
+ server_process.wait()
111
117
  logger.info("Server process stopped")
112
118
 
113
119
  request.addfinalizer(stop_server)
@@ -52,7 +52,7 @@ Built on the ADK, this template implements [Retrieval-Augmented Generation (RAG)
52
52
  * Flexible datastore options: [Vertex AI Search](https://cloud.google.com/vertex-ai-search-and-conversation) and [Vertex AI Vector Search](https://cloud.google.com/vertex-ai/docs/vector-search/overview).
53
53
  * Generation of custom embeddings for enhanced semantic search.
54
54
  * Answer synthesis from retrieved context.
55
- * Infrastructure deployment via Terraform and Cloud Build.
55
+ * Infrastructure deployment via Terraform and a choice of CI/CD runners (Google Cloud Build or GitHub Actions).
56
56
 
57
57
  ### LangGraph Base ReAct (`langgraph_base_react`)
58
58
 
@@ -22,7 +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
+ - `--session-type`: Type of session storage to use (`in_memory`, `alloydb`, or `agent_engine`). This is only applicable for agents that require session management and when the deployment target is `cloud_run`.
26
26
 
27
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.
28
28
 
@@ -0,0 +1,105 @@
1
+ # `setup-cicd`
2
+
3
+ The `setup-cicd` command is a powerful utility that automates the deployment of your complete CI/CD infrastructure, configuring your Google Cloud projects and GitHub repository in a single operation. It intelligently adapts to your project's configuration, supporting both **Google Cloud Build** and **GitHub Actions** as CI/CD runners.
4
+
5
+ **⚡️ Quick Start Example:**
6
+
7
+ Getting started is straightforward. From the root of your generated agent project, run the following command. The tool will guide you through the process.
8
+
9
+ You can use the `pip` workflow for a traditional setup, or `uvx` to create a project in a single command without a permanent install.
10
+
11
+ ```bash [uvx]
12
+ uvx agent-starter-pack setup-cicd
13
+ ```
14
+
15
+ ```bash [pip]
16
+ agent-starter-pack setup-cicd
17
+ ```
18
+
19
+ *(You will be prompted for Staging and Production project IDs)*
20
+
21
+ Alternatively, you can provide the project IDs and other details directly as flags:
22
+
23
+ ```bash
24
+ uvx agent-starter-pack setup-cicd \
25
+ --staging-project your-staging-project-id \
26
+ --prod-project your-prod-project-id \
27
+ --repository-name my-awesome-agent
28
+ ```
29
+
30
+
31
+ **⚠️ Important Considerations:**
32
+
33
+ * **Run from Project Root:** This command must be executed from the root directory of your generated agent project (the directory containing `pyproject.toml`).
34
+ * **Production Use:** This command is designed to set up a production-ready CI/CD pipeline. However, for highly customized or complex production environments, you may want to review the generated Terraform configuration in `deployment/terraform` before applying.
35
+
36
+ ## Prerequisites
37
+
38
+ 1. **Required Tools:**
39
+ * **`uvx` or `agent-starter-pack`:** The command is part of the starter pack CLI.
40
+ * **Terraform:** Required for infrastructure provisioning.
41
+ * **`gh` CLI (GitHub CLI):** The tool uses the GitHub CLI to interact with your repository.
42
+ * **Authentication:** You must be authenticated. Run `gh auth login`.
43
+ * **Required Scopes:** Your GitHub token needs the **`repo`** and **`workflow`** scopes to create repositories and set up CI/CD. The tool will check for these scopes and guide you if they are missing.
44
+ * **`gcloud` CLI (Google Cloud SDK):** Required for interacting with Google Cloud.
45
+ * **Authentication:** You must be authenticated. Run `gcloud auth application-default login`.
46
+
47
+ 2. **Google Cloud Projects:** You need at least two Google Cloud projects: one for `staging` and one for `production`. You also need a project to host the CI/CD resources (e.g., Cloud Build, Artifact Registry, Terraform state). You can specify this using `--cicd-project`. If omitted, the production project will be used for CI/CD resources.
48
+
49
+ 3. **Permissions:** The user or service account running this command must have the `Owner` role on the specified Google Cloud projects. This is necessary for creating resources and assigning IAM roles.
50
+
51
+ ## How it Works
52
+
53
+ The `setup-cicd` command performs the following steps automatically:
54
+
55
+ 1. **CI/CD Runner Detection:** It inspects your project's structure to automatically detect whether you are using **Google Cloud Build** or **GitHub Actions**.
56
+ 2. **GitHub Integration:** It prompts you to create a new private GitHub repository or connect to an existing one.
57
+ 3. **Project ID Confirmation:** It prompts for Staging and Production project IDs if they are not provided as flags.
58
+ 4. **Infrastructure Setup (Terraform):**
59
+ * It configures and applies the Terraform scripts located in `deployment/terraform`.
60
+ * **For Google Cloud Build:** It sets up a Cloud Build connection to your GitHub repository, either interactively or programmatically (if a GitHub PAT is provided).
61
+ * **For GitHub Actions:** It configures Workload Identity Federation (WIF) to allow GitHub Actions to securely authenticate with Google Cloud without service account keys. It also creates the necessary secrets and variables in your GitHub repository.
62
+ * By default, it sets up remote Terraform state management using a Google Cloud Storage (GCS) bucket. Use `--local-state` to opt-out.
63
+ 5. **Resource Deployment:** It runs `terraform apply` to create all the necessary resources in your Google Cloud projects.
64
+ 6. **Local Git Setup:** It initializes a Git repository locally (if needed) and adds your GitHub repository as the `origin` remote.
65
+
66
+ ## Running the Command
67
+
68
+ ```bash
69
+ uvx agent-starter-pack setup-cicd \
70
+ [--staging-project <YOUR_STAGING_PROJECT_ID>] \
71
+ [--prod-project <YOUR_PROD_PROJECT_ID>] \
72
+ [--cicd-project <YOUR_CICD_PROJECT_ID>] \
73
+ [--dev-project <YOUR_DEV_PROJECT_ID>] \
74
+ [--region <GCP_REGION>] \
75
+ [--repository-name <GITHUB_REPO_NAME>] \
76
+ [--repository-owner <GITHUB_USERNAME_OR_ORG>] \
77
+ [--local-state] \
78
+ [--auto-approve] \
79
+ [--debug]
80
+ ```
81
+
82
+ **Key Options:**
83
+
84
+ * `--staging-project`, `--prod-project`: **Required Information.** Your Google Cloud project IDs for staging and production environments. The command will prompt for these if the flags are omitted.
85
+ * `--cicd-project`: (Optional) Project ID for hosting CI/CD resources. If omitted, defaults to the production project ID.
86
+ * `--dev-project`: (Optional) Project ID for a dedicated development environment.
87
+ * `--region`: (Optional) GCP region for resources (default: `us-central1`).
88
+ * `--repository-name`, `--repository-owner`: (Optional) Details for your GitHub repository. If omitted, you'll be prompted.
89
+ * `--local-state`: (Optional) Use local files for Terraform state instead of the default GCS backend.
90
+ * `--auto-approve`: (Optional) Skip all interactive prompts.
91
+ * `--debug`: (Optional) Enable verbose logging for troubleshooting.
92
+
93
+ *(For advanced programmatic use with Google Cloud Build, see options like `--github-pat`, `--github-app-installation-id`, and `--host-connection-name` by running `uvx agent-starter-pack setup-cicd --help`)*
94
+
95
+ ## After Running the Command
96
+
97
+ To trigger your new CI/CD pipeline, you need to commit and push your code:
98
+
99
+ ```bash
100
+ git add .
101
+ git commit -m "Initial commit of agent starter pack"
102
+ git push -u origin main
103
+ ```
104
+
105
+ After pushing, you can verify the created resources and running pipelines in your GitHub repository and Google Cloud projects.
@@ -0,0 +1,117 @@
1
+ # Deployment
2
+
3
+ This starter pack uses a robust, production-ready deployment strategy that combines **Terraform** for infrastructure as code and a CI/CD pipeline for automated builds, tests, and deployments. You can choose between **Google Cloud Build** and **GitHub Actions** as your CI/CD runner.
4
+
5
+ The recommended way to deploy your agent is with the `agent-starter-pack setup-cicd` command, which automates the entire process.
6
+
7
+ ## Deployment Workflow
8
+
9
+ The CI/CD pipeline is designed with best practices for deploying applications safely and reliably.
10
+
11
+ ![Deployment Workflow](https://storage.googleapis.com/github-repo/generative-ai/sample-apps/e2e-gen-ai-app-starter-pack/deployment_workflow.png)
12
+
13
+ **Description:**
14
+
15
+ 1. **CI Pipeline** (e.g., `.github/workflows/pr_checks.yaml` or `.cloudbuild/pr_checks.yaml`):
16
+ - Triggered on pull request creation/update.
17
+ - Runs unit and integration tests to ensure code quality.
18
+
19
+ 2. **Staging CD Pipeline** (e.g., `.github/workflows/staging.yaml` or `.cloudbuild/staging.yaml`):
20
+ - Triggered on merge to the `main` branch.
21
+ - Builds and pushes the application container to Artifact Registry.
22
+ - Deploys the new version to the **staging environment**.
23
+ - Performs automated load testing against the staging environment.
24
+
25
+ 3. **Production Deployment** (e.g., `.github/workflows/deploy-to-prod.yaml` or `.cloudbuild/deploy-to-prod.yaml`):
26
+ - Triggered after a successful staging deployment.
27
+ - Requires **manual approval** before proceeding to production.
28
+ - Deploys the same container image that was tested in staging to the **production environment**.
29
+
30
+ ## Development Environment Deployment
31
+
32
+ If you want to deploy a standalone development environment without setting up the full CI/CD pipeline, you can use the `make setup-dev-env` command.
33
+
34
+ 1. **Set your Dev Project:**
35
+ ```bash
36
+ gcloud config set project <your-dev-project-id>
37
+ ```
38
+
39
+ 2. **Deploy Dev Infrastructure:**
40
+ This command runs the Terraform configuration in `deployment/terraform/dev` to provision a development environment.
41
+ ```bash
42
+ make setup-dev-env
43
+ ```
44
+
45
+ 3. **Deploy the Application:**
46
+ Once the infrastructure is ready, deploy your agent to the dev environment.
47
+ ```bash
48
+ make backend
49
+ ```
50
+
51
+ ## Automated Deployment with `setup-cicd`
52
+
53
+ For a streamlined, one-command deployment of the entire CI/CD pipeline and infrastructure, use the `setup-cicd` command from the root of your generated project.
54
+
55
+ ```bash
56
+ uvx agent-starter-pack setup-cicd
57
+ ```
58
+
59
+ This command handles all the necessary steps:
60
+ - **Infrastructure Provisioning:** Uses Terraform to create and configure the necessary resources in your staging and production Google Cloud projects.
61
+ - **CI/CD Configuration:** Sets up a complete CI/CD pipeline with your chosen runner (Google Cloud Build or GitHub Actions), including triggers for pull requests and merges to the main branch.
62
+ - **Repository Connection:** Connects your GitHub repository to the CI/CD provider.
63
+
64
+ For a complete guide on the command and its options, see the [**`setup-cicd` CLI Reference**](../cli/setup_cicd.html).
65
+
66
+ ## Required Variables
67
+
68
+ The deployment uses Terraform variables that need to be configured for your environment. These are defined in `src/base_template/deployment/terraform/variables.tf`:
69
+
70
+ ### Core Configuration
71
+ - **`project_name`**: Base name for resource naming (default: auto-generated from cookiecutter)
72
+ - **`prod_project_id`**: Google Cloud Project ID for production deployment
73
+ - **`staging_project_id`**: Google Cloud Project ID for staging deployment
74
+ - **`cicd_runner_project_id`**: Google Cloud Project ID where CI/CD pipelines execute
75
+ - **`region`**: Google Cloud region for resources (default: `us-central1`)
76
+
77
+ ### Repository Connection
78
+ - **`repository_name`**: Name of your GitHub repository
79
+ - **`repository_owner`**: GitHub username or organization name
80
+ - **`host_connection_name`**: Name for Cloud Build connection (default: auto-generated)
81
+
82
+ ### Service Account Permissions
83
+ - **`cloud_run_app_roles`** / **`agentengine_sa_roles`**: Roles for the application service account
84
+ - **`cicd_roles`**: Roles for CI/CD runner service account
85
+ - **`cicd_sa_deployment_required_roles`**: Deployment roles for staging/prod projects
86
+
87
+ ### CI/CD Provider Specific
88
+ For **Cloud Build**:
89
+ - **`github_app_installation_id`**: GitHub App Installation ID
90
+ - **`github_pat`** / **`github_pat_secret_id`**: GitHub Personal Access Token
91
+ - **`create_cb_connection`**: Whether to create new Cloud Build connection
92
+
93
+ For **GitHub Actions**:
94
+ - **`create_repository`**: Whether the repository already exists
95
+
96
+ ### Data Ingestion (Optional)
97
+ If data ingestion is enabled:
98
+ - **`pipeline_cron_schedule`**: Cron schedule for automated ingestion (default: weekly)
99
+ - **`pipelines_roles`**: Roles for Vertex AI Pipelines service account
100
+
101
+ ### Vector Search Configuration (Optional)
102
+ If using Vertex AI Vector Search:
103
+ - **`vector_search_embedding_size`**: Embedding dimensions (default: 768)
104
+ - **`vector_search_approximate_neighbors_count`**: Neighbors to return (default: 150)
105
+ - **`vector_search_min/max_replica_count`**: Scaling configuration
106
+ - **`vector_search_shard_size`**: Shard size (default: SHARD_SIZE_SMALL)
107
+ - **`vector_search_machine_type`**: Instance type (default: e2-standard-2)
108
+
109
+ ### Logging Configuration
110
+ - **`telemetry_logs_filter`**: Log filter for telemetry data
111
+ - **`feedback_logs_filter`**: Log filter for feedback data
112
+
113
+ ### End-to-end Demo video
114
+
115
+ <a href="https://storage.googleapis.com/github-repo/generative-ai/sample-apps/e2e-gen-ai-app-starter-pack/template_deployment_demo.mp4">
116
+ <img src="https://storage.googleapis.com/github-repo/generative-ai/sample-apps/e2e-gen-ai-app-starter-pack/preview_video.png" alt="Watch the video" width="300"/>
117
+ </a>
@@ -24,7 +24,7 @@ agent-starter-pack create my-awesome-agent
24
24
 
25
25
  ```bash [⚡ uvx]
26
26
  # This single command downloads and runs the latest version
27
- `uvx agent-starter-pack create my-awesome-agent
27
+ uvx agent-starter-pack create my-awesome-agent
28
28
  ```
29
29
  :::
30
30
 
@@ -38,19 +38,16 @@ cd my-awesome-agent
38
38
 
39
39
  Inside, you'll find a complete project structure:
40
40
 
41
- ::: tip Leveraging AI Tools (like Gemini CLI)
42
- The starter pack includes a `GEMINI.md` file with guidance formatted for AI interaction. Tools like the [Gemini CLI](https://github.com/google-gemini/gemini-cli) can leverage this file when used within your project directory, providing context for questions about your template.
43
- :::
44
-
45
41
  * `app/`: Backend agent code (prompts, tools, business logic).
46
- * `deployment/`: Terraform infrastructure code.
47
- * `tests/`: Unit and integration tests.
42
+ * `.cloudbuild/`: CI/CD pipeline configurations for Google Cloud Build (if you selected Cloud Build as your CI/CD runner).
43
+ * `.github/`: CI/CD pipeline configurations for GitHub Actions (if you selected GitHub Actions as your CI/CD runner).
44
+ * `deployment/`: Terraform infrastructure-as-code files.
45
+ * `tests/`: Unit, integration, and load tests.
48
46
  * `notebooks/`: Jupyter notebooks for prototyping and evaluation.
49
47
  * `frontend/`: (If applicable) Web UI for interacting with your agent.
50
48
  * `README.md`: **Project-specific instructions for your chosen template.**
51
49
  * `GEMINI.md`: Use this file with AI tools (like [Gemini CLI](https://github.com/google-gemini/gemini-cli)) to ask questions about the template, ADK concepts, or project structure.
52
50
 
53
-
54
51
  Your development loop will look like this:
55
52
 
56
53
  1. **Prototype:** Use the notebooks in `notebooks/` for rapid experimentation with your agent's core logic. This is ideal for trying new prompts or tools before integrating them.
@@ -66,48 +63,46 @@ make install && make playground
66
63
  ## 2. Deploy to the Cloud
67
64
 
68
65
  Once you're satisfied with local testing, you are ready to deploy your agent to Google Cloud.
69
-
70
66
  *All `make` commands should be run from the root of your agent project (`my-awesome-agent`).*
71
-
72
67
  ### A. Cloud Development Environment Setup
73
-
74
68
  First, provision a non-production environment in the cloud for remote testing.
75
-
76
69
  **i. Set Google Cloud Project**
77
70
  Configure `gcloud` to target your development project.
78
71
  ```bash
79
72
  # Replace YOUR_DEV_PROJECT_ID with your actual Google Cloud Project ID
80
73
  gcloud config set project YOUR_DEV_PROJECT_ID
81
74
  ```
82
-
83
75
  **ii. Provision Cloud Resources**
84
76
  This command uses Terraform to set up necessary cloud resources for your dev environment.
85
77
  ```bash
86
78
  make setup-dev-env
87
79
  ```
88
-
89
80
  **iii. Deploy Agent Backend**
90
81
  Build and deploy your agent's backend to the dev environment.
91
82
  ```bash
92
83
  make backend
93
84
  ```
94
85
 
95
- ### B. Production-Ready Deployment with CI/CD
96
-
97
- For reliable, automated deployments, a CI/CD pipeline is essential.
86
+ ### Option 1: Automated CI/CD Setup
98
87
 
99
- **Option 1: One-Command CI/CD Setup (Recommended for GitHub)**
100
- The `agent-starter-pack` CLI can automate the entire CI/CD setup process.
88
+ From the root of your agent project (`my-awesome-agent`), run:
101
89
  ```bash
102
- uvx agent-starter-pack setup-cicd
90
+ agent-starter-pack setup-cicd
103
91
  ```
104
- This command creates a GitHub repository, connects it to Cloud Build, provisions staging/production infrastructure, and configures deployment triggers. For details, see the [`setup-cicd` CLI reference](../cli/setup_cicd).
92
+ This single command handles everything:
93
+ - Creates a GitHub repository.
94
+ - Connects it to your chosen CI/CD provider (Google Cloud Build or GitHub Actions).
95
+ - Provisions all necessary infrastructure for your staging and production environments using Terraform.
96
+ - Configures the deployment triggers.
97
+
98
+ For a detailed walkthrough, see the [**`setup-cicd` CLI reference**](../cli/setup_cicd).
99
+
100
+ ### Option 2: Manual CI/CD Setup
105
101
 
106
- **Option 2: Manual CI/CD Setup**
107
102
  For full control or for other Git providers, refer to the [manual deployment setup guide](./deployment.md).
108
103
 
109
- **Trigger Your First Deployment**
110
- After CI/CD is configured, commit and push your code to trigger the pipeline.
104
+ ### Trigger Your First Deployment
105
+ After the CI/CD setup is complete, commit and push your code to trigger the pipeline.
111
106
  ```bash
112
107
  git add -A
113
108
  git config --global user.email "you@example.com" # If not already configured
@@ -116,6 +111,7 @@ git commit -m "Initial commit of agent code"
116
111
  git push --set-upstream origin main
117
112
  ```
118
113
 
114
+
119
115
  ## 3. Monitor Your Deployed Agent
120
116
 
121
117
  Track your agent's performance using integrated observability tools. OpenTelemetry events are automatically sent to Google Cloud services.
@@ -136,4 +132,5 @@ Tailor the starter pack further to meet your specific requirements.
136
132
  * **RAG Data Ingestion**: For Retrieval Augmented Generation (RAG) agents, configure data pipelines to process your information and load embeddings into Vertex AI Search or Vector Search.
137
133
  ➡️ See the [Data Ingestion Guide](./data-ingestion.md).
138
134
  * **Custom Terraform**: Modify Terraform configurations in `deployment/terraform/` for unique infrastructure needs.
139
- ➡️ Refer to the [Deployment Guide](./deployment.md).
135
+ ➡️ Refer to the [Deployment Guide](./deployment.md).
136
+ * **CI/CD Pipelines**: The CI/CD workflow definitions are located in the `.github/workflows` or `.cloudbuild` directories. You can customize these YAML files to add new steps, change triggers, or modify deployment logic.
@@ -134,8 +134,8 @@ You have full control over the Python dependencies. Both `pyproject.toml` and `u
134
134
  * **`pyproject.toml`**: Required file that replaces the base template's version. Must include all dependencies for your agent.
135
135
 
136
136
  * **`uv.lock`**: Strongly recommended to ensure reproducibility.
137
- * If present, guarantees exact dependency versions.
138
- * If missing, falls back to base template's lock file. A new lock file will be generated by the user when performing installation.
137
+ * If present, it will be copied to the generated agent, guaranteeing exact dependency versions.
138
+ * If missing, the generated agent will **not** include a `uv.lock` file. The user is expected to generate one by running `make install` or `uv pip sync` after the agent is created.
139
139
 
140
140
  **Best Practice:** Always run `uv lock` after changing dependencies and commit the resulting lock file.
141
141
 
@@ -6,7 +6,7 @@ This document provides a detailed reference for all the available fields in the
6
6
 
7
7
  | Field | Type | Required | Description |
8
8
  | ------------------- | ------ | -------- | ------------------------------------------------------------------------------------------------------- |
9
- | `base_template` | string | Yes | The name of the built-in agent that the remote template will inherit from (e.g., `adk_base`, `agentic_rag`). |
9
+ | `base_template` | string | Yes (for remote agents only) | The name of the built-in agent that the remote template will inherit from (e.g., `adk_base`, `agentic_rag`). |
10
10
  | `name` | string | Yes | The display name of your template, shown in the `list` command. |
11
11
  | `description` | string | Yes | A brief description of your template, also shown in the `list` command. |
12
12
  | `example_question` | string | No | An example question or prompt that will be included in the generated project's `README.md`. |