agent-starter-pack 0.10.0__tar.gz → 0.11.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 (294) hide show
  1. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/.claude/settings.local.json +4 -2
  2. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/.gitignore +3 -1
  3. agent_starter_pack-0.11.0/CLAUDE.md +1 -0
  4. agent_starter_pack-0.11.0/GEMINI.md +130 -0
  5. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/PKG-INFO +2 -2
  6. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/README.md +1 -1
  7. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/agents/adk_gemini_fullstack/.template/templateconfig.yaml +1 -0
  8. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/agents/crewai_coding_crew/.template/templateconfig.yaml +2 -2
  9. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/agents/crewai_coding_crew/tests/integration/test_agent.py +1 -1
  10. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/agents/langgraph_base_react/.template/templateconfig.yaml +1 -1
  11. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/agents/langgraph_base_react/tests/integration/test_agent.py +1 -1
  12. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/agents/live_api/tests/unit/test_server.py +2 -1
  13. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/docs/.vitepress/config.js +7 -2
  14. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/docs/agents/overview.md +0 -1
  15. agent_starter_pack-0.11.0/docs/cli/create.md +176 -0
  16. agent_starter_pack-0.11.0/docs/cli/enhance.md +180 -0
  17. agent_starter_pack-0.11.0/docs/cli/list.md +36 -0
  18. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/docs/index.md +0 -3
  19. agent_starter_pack-0.11.0/docs/remote-templates/creating-remote-templates.md +368 -0
  20. agent_starter_pack-0.11.0/docs/remote-templates/index.md +52 -0
  21. agent_starter_pack-0.11.0/docs/remote-templates/using-remote-templates.md +188 -0
  22. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/pyproject.toml +1 -1
  23. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/base_template/deployment/terraform/dev/iam.tf +12 -11
  24. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/base_template/deployment/terraform/dev/variables.tf +2 -7
  25. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/base_template/deployment/terraform/github.tf +14 -0
  26. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/base_template/deployment/terraform/iam.tf +10 -7
  27. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/base_template/deployment/terraform/service_accounts.tf +4 -5
  28. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/base_template/deployment/terraform/variables.tf +2 -7
  29. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/base_template/deployment/terraform/{% if cookiecutter.cicd_runner == 'google_cloud_build' %}build_triggers.tf{% else %}unused_build_triggers.tf{% endif %} +4 -2
  30. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/base_template/pyproject.toml +2 -2
  31. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/base_template/{% if cookiecutter.cicd_runner == 'github_actions' %}.github{% else %}unused_github{% endif %}/workflows/deploy-to-prod.yaml +1 -0
  32. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/base_template/{% if cookiecutter.cicd_runner == 'github_actions' %}.github{% else %}unused_github{% endif %}/workflows/staging.yaml +1 -0
  33. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/base_template/{% if cookiecutter.cicd_runner == 'google_cloud_build' %}.cloudbuild{% else %}unused_.cloudbuild{% endif %}/deploy-to-prod.yaml +1 -0
  34. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/base_template/{% if cookiecutter.cicd_runner == 'google_cloud_build' %}.cloudbuild{% else %}unused_.cloudbuild{% endif %}/staging.yaml +1 -0
  35. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/cli/commands/create.py +232 -101
  36. agent_starter_pack-0.11.0/src/cli/commands/enhance.py +248 -0
  37. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/cli/commands/list.py +23 -11
  38. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/cli/commands/setup_cicd.py +1 -1
  39. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/cli/main.py +2 -0
  40. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/cli/utils/logging.py +40 -0
  41. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/cli/utils/remote_template.py +55 -16
  42. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/cli/utils/template.py +212 -94
  43. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/deployment_targets/agent_engine/app/agent_engine_app.py +8 -0
  44. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/deployment_targets/cloud_run/app/server.py +1 -1
  45. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/deployment_targets/cloud_run/deployment/terraform/dev/service.tf +1 -1
  46. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/deployment_targets/cloud_run/deployment/terraform/service.tf +2 -2
  47. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/resources/locks/uv-adk_base-agent_engine.lock +312 -312
  48. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/resources/locks/uv-adk_base-cloud_run.lock +403 -404
  49. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/resources/locks/uv-adk_gemini_fullstack-agent_engine.lock +312 -312
  50. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/resources/locks/uv-adk_gemini_fullstack-cloud_run.lock +403 -404
  51. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/resources/locks/uv-agentic_rag-agent_engine.lock +371 -371
  52. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/resources/locks/uv-agentic_rag-cloud_run.lock +477 -478
  53. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/resources/locks/uv-crewai_coding_crew-agent_engine.lock +661 -591
  54. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/resources/locks/uv-crewai_coding_crew-cloud_run.lock +868 -760
  55. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/resources/locks/uv-langgraph_base_react-agent_engine.lock +496 -446
  56. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/resources/locks/uv-langgraph_base_react-cloud_run.lock +639 -565
  57. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/resources/locks/uv-live_api-cloud_run.lock +584 -510
  58. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/tests/cicd/test_e2e_deployment.py +2 -2
  59. agent_starter_pack-0.11.0/tests/cli/commands/test_create_local.py +374 -0
  60. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/tests/cli/utils/test_remote_template.py +78 -10
  61. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/tests/integration/test_remote_templating.py +3 -1
  62. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/uv.lock +1 -1
  63. agent_starter_pack-0.10.0/docs/cli/create.md +0 -50
  64. agent_starter_pack-0.10.0/docs/guide/remote-templating.md +0 -202
  65. agent_starter_pack-0.10.0/tests/cli/commands/test_create_local.py +0 -84
  66. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/.cloudbuild/cd/test_e2e.yaml +0 -0
  67. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/.cloudbuild/ci/build_use_wheel.yaml +0 -0
  68. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/.cloudbuild/ci/lint.yaml +0 -0
  69. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/.cloudbuild/ci/lint_templated_agents.yaml +0 -0
  70. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/.cloudbuild/ci/test.yaml +0 -0
  71. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/.cloudbuild/ci/test_makefile.yaml +0 -0
  72. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/.cloudbuild/ci/test_pipeline_parity.yaml +0 -0
  73. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/.cloudbuild/ci/test_remote_template.yaml +0 -0
  74. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/.cloudbuild/ci/test_templated_agents.yaml +0 -0
  75. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/.cloudbuild/terraform/apis.tf +0 -0
  76. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/.cloudbuild/terraform/build_triggers.tf +0 -0
  77. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/.cloudbuild/terraform/service_account.tf +0 -0
  78. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/.cloudbuild/terraform/storage.tf +0 -0
  79. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/.cloudbuild/terraform/variables.tf +0 -0
  80. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/.github/workflows/docs.yml +0 -0
  81. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/CODE_OF_CONDUCT.md +0 -0
  82. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/CONTRIBUTING.md +0 -0
  83. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/LICENSE +0 -0
  84. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/Makefile +0 -0
  85. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/agents/README.md +0 -0
  86. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/agents/adk_base/.template/templateconfig.yaml +0 -0
  87. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/agents/adk_base/README.md +0 -0
  88. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/agents/adk_base/app/agent.py +0 -0
  89. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/agents/adk_base/notebooks/adk_app_testing.ipynb +0 -0
  90. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/agents/adk_base/notebooks/evaluating_adk_agent.ipynb +0 -0
  91. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/agents/adk_base/tests/integration/test_agent.py +0 -0
  92. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/agents/adk_gemini_fullstack/README.md +0 -0
  93. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/agents/adk_gemini_fullstack/app/agent.py +0 -0
  94. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/agents/adk_gemini_fullstack/app/config.py +0 -0
  95. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/agents/adk_gemini_fullstack/notebooks/adk_app_testing.ipynb +0 -0
  96. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/agents/adk_gemini_fullstack/notebooks/evaluating_adk_agent.ipynb +0 -0
  97. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/agents/adk_gemini_fullstack/tests/integration/test_agent.py +0 -0
  98. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/agents/agentic_rag/.template/templateconfig.yaml +0 -0
  99. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/agents/agentic_rag/README.md +0 -0
  100. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/agents/agentic_rag/app/agent.py +0 -0
  101. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/agents/agentic_rag/app/retrievers.py +0 -0
  102. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/agents/agentic_rag/app/templates.py +0 -0
  103. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/agents/agentic_rag/notebooks/adk_app_testing.ipynb +0 -0
  104. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/agents/agentic_rag/notebooks/evaluating_adk_agent.ipynb +0 -0
  105. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/agents/agentic_rag/tests/integration/test_agent.py +0 -0
  106. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/agents/crewai_coding_crew/README.md +0 -0
  107. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/agents/crewai_coding_crew/app/agent.py +0 -0
  108. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/agents/crewai_coding_crew/app/crew/config/agents.yaml +0 -0
  109. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/agents/crewai_coding_crew/app/crew/config/tasks.yaml +0 -0
  110. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/agents/crewai_coding_crew/app/crew/crew.py +0 -0
  111. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/agents/crewai_coding_crew/notebooks/evaluating_crewai_agent.ipynb +0 -0
  112. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/agents/crewai_coding_crew/notebooks/evaluating_langgraph_agent.ipynb +0 -0
  113. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/agents/langgraph_base_react/README.md +0 -0
  114. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/agents/langgraph_base_react/app/agent.py +0 -0
  115. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/agents/langgraph_base_react/notebooks/evaluating_langgraph_agent.ipynb +0 -0
  116. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/agents/live_api/.template/templateconfig.yaml +0 -0
  117. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/agents/live_api/README.md +0 -0
  118. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/agents/live_api/app/agent.py +0 -0
  119. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/agents/live_api/app/server.py +0 -0
  120. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/agents/live_api/tests/integration/test_server_e2e.py +0 -0
  121. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/agents/live_api/tests/load_test/load_test.py +0 -0
  122. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/docs/cli/index.md +0 -0
  123. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/docs/cli/setup_cicd.md +0 -0
  124. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/docs/guide/data-ingestion.md +0 -0
  125. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/docs/guide/deploy-ui.md +0 -0
  126. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/docs/guide/deployment.md +0 -0
  127. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/docs/guide/development-guide.md +0 -0
  128. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/docs/guide/getting-started.md +0 -0
  129. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/docs/guide/installation.md +0 -0
  130. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/docs/guide/observability.md +0 -0
  131. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/docs/guide/template-config-reference.md +0 -0
  132. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/docs/guide/troubleshooting.md +0 -0
  133. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/docs/guide/video-tutorials.md +0 -0
  134. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/docs/guide/why_starter_pack.md +0 -0
  135. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/docs/images/adk_gemini_fullstack.gif +0 -0
  136. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/docs/images/adk_gemini_fullstack_architecture.png +0 -0
  137. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/docs/images/adk_logo.png +0 -0
  138. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/docs/images/agent_starter_pack_screenshot.png +0 -0
  139. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/docs/images/ags_high_level_architecture.png +0 -0
  140. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/docs/images/icon.png +0 -0
  141. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/docs/images/logo.png +0 -0
  142. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/docs/images/prototype_to_prod.png +0 -0
  143. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/docs/images/why_sp_edited.png +0 -0
  144. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/docs/images/why_starter_pack.png +0 -0
  145. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/docs/package-lock.json +0 -0
  146. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/docs/package.json +0 -0
  147. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/llm.txt +0 -0
  148. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/base_template/.gitignore +0 -0
  149. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/base_template/GEMINI.md +0 -0
  150. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/base_template/Makefile +0 -0
  151. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/base_template/README.md +0 -0
  152. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/base_template/app/__init__.py +0 -0
  153. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/base_template/app/utils/gcs.py +0 -0
  154. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/base_template/app/utils/tracing.py +0 -0
  155. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/base_template/app/utils/typing.py +0 -0
  156. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/base_template/deployment/README.md +0 -0
  157. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/base_template/deployment/terraform/apis.tf +0 -0
  158. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/base_template/deployment/terraform/dev/apis.tf +0 -0
  159. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/base_template/deployment/terraform/dev/log_sinks.tf +0 -0
  160. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/base_template/deployment/terraform/dev/providers.tf +0 -0
  161. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/base_template/deployment/terraform/dev/storage.tf +0 -0
  162. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/base_template/deployment/terraform/dev/vars/env.tfvars +0 -0
  163. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/base_template/deployment/terraform/locals.tf +0 -0
  164. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/base_template/deployment/terraform/log_sinks.tf +0 -0
  165. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/base_template/deployment/terraform/providers.tf +0 -0
  166. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/base_template/deployment/terraform/storage.tf +0 -0
  167. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/base_template/deployment/terraform/vars/env.tfvars +0 -0
  168. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/base_template/deployment/terraform/{% if cookiecutter.cicd_runner == 'github_actions' %}wif.tf{% else %}unused_wif.tf{% endif %} +0 -0
  169. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/base_template/tests/unit/test_dummy.py +0 -0
  170. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/base_template/{% if cookiecutter.cicd_runner == 'github_actions' %}.github{% else %}unused_github{% endif %}/workflows/pr_checks.yaml +0 -0
  171. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/base_template/{% if cookiecutter.cicd_runner == 'google_cloud_build' %}.cloudbuild{% else %}unused_.cloudbuild{% endif %}/pr_checks.yaml +0 -0
  172. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/cli/utils/__init__.py +0 -0
  173. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/cli/utils/cicd.py +0 -0
  174. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/cli/utils/datastores.py +0 -0
  175. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/cli/utils/gcp.py +0 -0
  176. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/cli/utils/version.py +0 -0
  177. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/data_ingestion/README.md +0 -0
  178. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/data_ingestion/data_ingestion_pipeline/components/ingest_data.py +0 -0
  179. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/data_ingestion/data_ingestion_pipeline/components/process_data.py +0 -0
  180. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/data_ingestion/data_ingestion_pipeline/pipeline.py +0 -0
  181. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/data_ingestion/data_ingestion_pipeline/submit_pipeline.py +0 -0
  182. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/data_ingestion/pyproject.toml +0 -0
  183. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/data_ingestion/uv.lock +0 -0
  184. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/deployment_targets/agent_engine/deployment_metadata.json +0 -0
  185. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/deployment_targets/agent_engine/notebooks/intro_agent_engine.ipynb +0 -0
  186. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/deployment_targets/agent_engine/tests/integration/test_agent_engine_app.py +0 -0
  187. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/deployment_targets/agent_engine/tests/load_test/.results/.placeholder +0 -0
  188. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/deployment_targets/agent_engine/tests/load_test/README.md +0 -0
  189. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/deployment_targets/agent_engine/tests/load_test/load_test.py +0 -0
  190. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/deployment_targets/cloud_run/Dockerfile +0 -0
  191. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/deployment_targets/cloud_run/tests/integration/test_server_e2e.py +0 -0
  192. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/deployment_targets/cloud_run/tests/load_test/.results/.placeholder +0 -0
  193. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/deployment_targets/cloud_run/tests/load_test/README.md +0 -0
  194. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/deployment_targets/cloud_run/tests/load_test/load_test.py +0 -0
  195. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/adk_gemini_fullstack/frontend/components.json +0 -0
  196. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/adk_gemini_fullstack/frontend/eslint.config.js +0 -0
  197. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/adk_gemini_fullstack/frontend/index.html +0 -0
  198. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/adk_gemini_fullstack/frontend/package-lock.json +0 -0
  199. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/adk_gemini_fullstack/frontend/package.json +0 -0
  200. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/adk_gemini_fullstack/frontend/src/App.tsx +0 -0
  201. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/adk_gemini_fullstack/frontend/src/components/ActivityTimeline.tsx +0 -0
  202. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/adk_gemini_fullstack/frontend/src/components/ChatMessagesView.tsx +0 -0
  203. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/adk_gemini_fullstack/frontend/src/components/InputForm.tsx +0 -0
  204. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/adk_gemini_fullstack/frontend/src/components/WelcomeScreen.tsx +0 -0
  205. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/adk_gemini_fullstack/frontend/src/components/ui/badge.tsx +0 -0
  206. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/adk_gemini_fullstack/frontend/src/components/ui/button.tsx +0 -0
  207. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/adk_gemini_fullstack/frontend/src/components/ui/card.tsx +0 -0
  208. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/adk_gemini_fullstack/frontend/src/components/ui/input.tsx +0 -0
  209. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/adk_gemini_fullstack/frontend/src/components/ui/scroll-area.tsx +0 -0
  210. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/adk_gemini_fullstack/frontend/src/components/ui/select.tsx +0 -0
  211. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/adk_gemini_fullstack/frontend/src/components/ui/tabs.tsx +0 -0
  212. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/adk_gemini_fullstack/frontend/src/components/ui/textarea.tsx +0 -0
  213. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/adk_gemini_fullstack/frontend/src/global.css +0 -0
  214. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/adk_gemini_fullstack/frontend/src/main.tsx +0 -0
  215. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/adk_gemini_fullstack/frontend/src/utils.ts +0 -0
  216. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/adk_gemini_fullstack/frontend/src/vite-env.d.ts +0 -0
  217. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/adk_gemini_fullstack/frontend/tsconfig.json +0 -0
  218. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/adk_gemini_fullstack/frontend/tsconfig.node.json +0 -0
  219. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/adk_gemini_fullstack/frontend/vite.config.ts +0 -0
  220. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/live_api_react/frontend/package-lock.json +0 -0
  221. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/live_api_react/frontend/package.json +0 -0
  222. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/live_api_react/frontend/public/favicon.ico +0 -0
  223. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/live_api_react/frontend/public/index.html +0 -0
  224. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/live_api_react/frontend/public/robots.txt +0 -0
  225. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/live_api_react/frontend/src/App.scss +0 -0
  226. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/live_api_react/frontend/src/App.test.tsx +0 -0
  227. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/live_api_react/frontend/src/App.tsx +0 -0
  228. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/live_api_react/frontend/src/components/audio-pulse/AudioPulse.tsx +0 -0
  229. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/live_api_react/frontend/src/components/audio-pulse/audio-pulse.scss +0 -0
  230. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/live_api_react/frontend/src/components/control-tray/ControlTray.tsx +0 -0
  231. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/live_api_react/frontend/src/components/control-tray/control-tray.scss +0 -0
  232. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/live_api_react/frontend/src/components/logger/Logger.tsx +0 -0
  233. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/live_api_react/frontend/src/components/logger/logger.scss +0 -0
  234. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/live_api_react/frontend/src/components/logger/mock-logs.ts +0 -0
  235. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/live_api_react/frontend/src/components/side-panel/SidePanel.tsx +0 -0
  236. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/live_api_react/frontend/src/components/side-panel/side-panel.scss +0 -0
  237. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/live_api_react/frontend/src/contexts/LiveAPIContext.tsx +0 -0
  238. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/live_api_react/frontend/src/hooks/use-live-api.ts +0 -0
  239. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/live_api_react/frontend/src/hooks/use-media-stream-mux.ts +0 -0
  240. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/live_api_react/frontend/src/hooks/use-screen-capture.ts +0 -0
  241. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/live_api_react/frontend/src/hooks/use-webcam.ts +0 -0
  242. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/live_api_react/frontend/src/index.css +0 -0
  243. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/live_api_react/frontend/src/index.tsx +0 -0
  244. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/live_api_react/frontend/src/multimodal-live-types.ts +0 -0
  245. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/live_api_react/frontend/src/react-app-env.d.ts +0 -0
  246. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/live_api_react/frontend/src/reportWebVitals.ts +0 -0
  247. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/live_api_react/frontend/src/setupTests.ts +0 -0
  248. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/live_api_react/frontend/src/utils/audio-recorder.ts +0 -0
  249. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/live_api_react/frontend/src/utils/audio-streamer.ts +0 -0
  250. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/live_api_react/frontend/src/utils/audioworklet-registry.ts +0 -0
  251. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/live_api_react/frontend/src/utils/multimodal-live-client.ts +0 -0
  252. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/live_api_react/frontend/src/utils/store-logger.ts +0 -0
  253. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/live_api_react/frontend/src/utils/utils.ts +0 -0
  254. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/live_api_react/frontend/src/utils/worklets/audio-processing.ts +0 -0
  255. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/live_api_react/frontend/src/utils/worklets/vol-meter.ts +0 -0
  256. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/live_api_react/frontend/tsconfig.json +0 -0
  257. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/streamlit/frontend/side_bar.py +0 -0
  258. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/streamlit/frontend/streamlit_app.py +0 -0
  259. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/streamlit/frontend/style/app_markdown.py +0 -0
  260. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/streamlit/frontend/utils/chat_utils.py +0 -0
  261. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/streamlit/frontend/utils/local_chat_history.py +0 -0
  262. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/streamlit/frontend/utils/message_editing.py +0 -0
  263. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/streamlit/frontend/utils/multimodal_utils.py +0 -0
  264. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/streamlit/frontend/utils/stream_handler.py +0 -0
  265. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/frontends/streamlit/frontend/utils/title_summary.py +0 -0
  266. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/resources/containers/data_processing/Dockerfile +0 -0
  267. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/resources/containers/e2e-tests/Dockerfile +0 -0
  268. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/resources/docs/adk-cheatsheet.md +0 -0
  269. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/resources/idx/.idx/dev.nix +0 -0
  270. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/resources/idx/idx-template.json +0 -0
  271. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/resources/idx/idx-template.nix +0 -0
  272. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/utils/generate_locks.py +0 -0
  273. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/utils/lock_utils.py +0 -0
  274. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/src/utils/watch_and_rebuild.py +0 -0
  275. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/tests/__init__.py +0 -0
  276. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/tests/cicd/example.env +0 -0
  277. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/tests/cli/commands/test_create.py +0 -0
  278. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/tests/cli/commands/test_list.py +0 -0
  279. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/tests/cli/commands/test_setup_cicd.py +0 -0
  280. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/tests/cli/utils/test_cicd.py +0 -0
  281. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/tests/integration/test_makefile_usability.py +0 -0
  282. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/tests/integration/test_pipeline_parity.py +0 -0
  283. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/tests/integration/test_template_linting.py +0 -0
  284. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/tests/integration/test_templated_patterns.py +0 -0
  285. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/tests/integration/utils.py +0 -0
  286. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/tests/test_frontend/test_side_bar.py +0 -0
  287. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/tests/test_frontend/test_streamlit_app.py +0 -0
  288. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/tests/test_frontend/test_utils/test_chat_utils.py +0 -0
  289. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/tests/test_frontend/test_utils/test_local_chat_history.py +0 -0
  290. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/tests/test_frontend/test_utils/test_message_editing.py +0 -0
  291. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/tests/test_frontend/test_utils/test_multimodal_utils.py +0 -0
  292. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/tests/test_frontend/test_utils/test_stream_handler.py +0 -0
  293. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/tests/utils/__init__.py +0 -0
  294. {agent_starter_pack-0.10.0 → agent_starter_pack-0.11.0}/tests/utils/get_agents.py +0 -0
@@ -10,8 +10,10 @@
10
10
  "Bash(set -a)",
11
11
  "Bash(. tests/cicd/.env)",
12
12
  "Bash(set +a)",
13
- "Bash(bash:*)"
13
+ "Bash(bash:*)",
14
+ "Bash(ls:*)"
14
15
  ],
15
16
  "deny": []
16
- }
17
+ },
18
+ "$schema": "https://json.schemastore.org/claude-code-settings.json"
17
19
  }
@@ -199,4 +199,6 @@ 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
202
+ tests/cicd/delete_agent_engines.py
203
+ backup*
204
+ .geminiignore
@@ -0,0 +1 @@
1
+ GEMINI.md
@@ -0,0 +1,130 @@
1
+ # Agent Starter Pack - Coding Agent Guide
2
+
3
+ This document provides essential guidance, architectural insights, and best practices for AI coding agents tasked with modifying the Google Cloud Agent Starter Pack. Adhering to these principles is critical for making safe, consistent, and effective changes.
4
+
5
+ ## Core Principles for AI Agents
6
+
7
+ 1. **Preserve and Isolate:** Your primary objective is surgical precision. Modify *only* the code segments directly related to the user's request. Preserve all surrounding code, comments, and formatting. Do not rewrite entire files or functions to make a small change.
8
+ 2. **Follow Conventions:** This project relies heavily on established patterns. Before writing new code, analyze the surrounding files to understand and replicate existing conventions for naming, templating logic, and directory structure.
9
+ 3. **Search Comprehensively:** A single change often requires updates in multiple places. When modifying configuration, variables, or infrastructure, you **must** search across the entire repository, including:
10
+ * `src/base_template/` (the core template)
11
+ * `src/deployment_targets/` (environment-specific overrides)
12
+ * `.github/` and `.cloudbuild/` (CI/CD workflows)
13
+ * `docs/` (user-facing documentation)
14
+
15
+ ## Project Architecture Overview
16
+
17
+ ### Templating Engine: Cookiecutter + Jinja2
18
+
19
+ The starter pack uses **Cookiecutter** to generate project scaffolding from templates that are heavily customized with the **Jinja2** templating language. Understanding the rendering process is key to avoiding errors.
20
+
21
+ **Multi-Phase Template Processing:**
22
+
23
+ Templates are processed in a specific order. A failure at any stage will break the project generation.
24
+
25
+ 1. **Cookiecutter Variable Substitution:** Simple replacement of `{{cookiecutter.variable_name}}` placeholders with values from `cookiecutter.json`.
26
+ 2. **Jinja2 Logic Execution:** Conditional blocks (`{% if %}`), loops (`{% for %}`), and other logic are executed. This is the most complex and error-prone stage.
27
+ 3. **File/Directory Name Templating:** File and directory names containing Jinja2 blocks are rendered. For example, `{% if cookiecutter.cicd_runner == 'github_actions' %}.github{% else %}unused_github{% endif %}`.
28
+
29
+ ### Key Directory Structures
30
+
31
+ - `src/base_template/`: This is the **core template**. Most changes that should apply to all generated projects should start here.
32
+ - `src/deployment_targets/`: Contains files that **override or are added to** the `base_template` for a specific deployment target (e.g., `cloud_run`, `gke`, `agent_engine`). If a file exists in both `base_template` and a deployment target, the latter is typically used.
33
+ - `agents/`: Contains pre-packaged, self-contained agent examples. Each has its own `.template/templateconfig.yaml` to define its specific variables and dependencies.
34
+ - `src/cli/commands`: Contains the logic for the CLI commands, such as `create` and `setup-cicd`.
35
+
36
+ ### CLI Commands
37
+
38
+ - `create.py`: Handles the creation of new agent projects. It orchestrates the template processing, configuration merging, and deployment target selection.
39
+ - `setup_cicd.py`: Automates the setup of the CI/CD pipeline. It interacts with `gcloud` and `gh` to configure GitHub repositories, Cloud Build triggers, and Terraform backend.
40
+
41
+ ### Template Processing
42
+
43
+ - `template.py`: Located in `src/cli/utils`, this script contains the core logic for processing the templates. It copies the base template, overlays the deployment target files, and then applies the agent-specific files.
44
+
45
+ ## Critical Jinja Templating Rules
46
+
47
+ Failure to follow these rules is the most common source of project generation errors.
48
+
49
+ ### 1. Block Balancing
50
+ **Every opening Jinja block must have a corresponding closing block.** This is the most critical rule.
51
+
52
+ - `{% if ... %}` requires `{% endif %}`
53
+ - `{% for ... %}` requires `{% endfor %}`
54
+ - `{% raw %}` requires `{% endraw %}`
55
+
56
+ **Correct:**
57
+ ```jinja
58
+ {% if cookiecutter.deployment_target == 'cloud_run' %}
59
+ # Cloud Run specific content
60
+ {% endif %}
61
+ ```
62
+
63
+ ### 2. Variable Usage
64
+ Distinguish between substitution and logic:
65
+
66
+ - **Substitution (in file content):** Use double curly braces: `{{ cookiecutter.project_name }}`
67
+ - **Logic (in `if`/`for` blocks):** Use the variable directly: `{% if cookiecutter.use_alloydb %}`
68
+
69
+ ### 3. Whitespace Control
70
+ Jinja is sensitive to whitespace. Use hyphens to control newlines and prevent unwanted blank lines in rendered files.
71
+
72
+ - `{%-` removes whitespace before the block.
73
+ - `-%}` removes whitespace after the block.
74
+
75
+ **Example:**
76
+ ```jinja
77
+ {%- if cookiecutter.some_option %}
78
+ option = true
79
+ {%- endif %}
80
+ ```
81
+
82
+ ## Terraform Best Practices
83
+
84
+ ### Unified Service Account (`app_sa`)
85
+ The project uses a single, unified application service account (`app_sa`) across all deployment targets to simplify IAM management.
86
+
87
+ - **Do not** create target-specific service accounts (e.g., `cloud_run_sa`).
88
+ - Define roles for this account in `app_sa_roles`.
89
+ - Reference this account consistently in all Terraform and CI/CD files.
90
+
91
+ ### Resource Referencing
92
+ Use consistent and clear naming for Terraform resources. When referencing resources, especially those created conditionally or with `for_each`, ensure the reference is also correctly keyed.
93
+
94
+ **Example:**
95
+ ```hcl
96
+ # Creation
97
+ resource "google_service_account" "app_sa" {
98
+ for_each = local.deploy_project_ids # e.g., {"staging" = "...", "prod" = "..."}
99
+ account_id = "${var.project_name}-app"
100
+ # ...
101
+ }
102
+
103
+ # Correct Reference
104
+ # In a Cloud Run module for the staging environment
105
+ service_account = google_service_account.app_sa["staging"].email
106
+ ```
107
+
108
+ ## CI/CD Integration (GitHub Actions & Cloud Build)
109
+
110
+ The project maintains parallel CI/CD implementations. **Any change to CI/CD logic must be applied to both.**
111
+
112
+ - **GitHub Actions:** Configured in `.github/workflows/`. Uses `${{ vars.VAR_NAME }}` for repository variables.
113
+ - **Google Cloud Build:** Configured in `.cloudbuild/`. Uses `${_VAR_NAME}` for substitution variables.
114
+
115
+ When adding a new variable or secret, ensure it is configured correctly for both systems in the Terraform scripts that manage them (e.g., `github_actions_variable` resource and Cloud Build trigger substitutions).
116
+
117
+ ## File Modification Checklist
118
+
119
+ Before finalizing any change, verify the following:
120
+
121
+ - [ ] **Jinja Syntax:** Are all `{% if %}` and `{% for %}` blocks correctly closed with `{% endif %}` and `{% endfor %}`?
122
+ - [ ] **Variable Consistency:** Is the `cookiecutter.` variable name spelled correctly and used consistently across all modified files?
123
+ - [ ] **Cross-Target Impact:** If you changed the `base_template`, have you checked if any `deployment_targets` need corresponding updates?
124
+ - [ ] **CI/CD Parity:** If you modified a CI/CD workflow, did you apply the equivalent change to the other system (GitHub Actions vs. Cloud Build)?
125
+ - [ ] **Terraform Validation:** If you changed Terraform files, are resource references correct? Does it pass `terraform validate`?
126
+ - [ ] **Documentation:** Does any user-facing documentation in `docs/` need to be updated to reflect the change?
127
+
128
+ ### Key Tooling
129
+
130
+ - **`uv` for Python Command Execution:** `uv` is the primary tool used for managing Python dependencies and executing Python commands within the project, including CLI operations and CI/CD steps. This ensures consistent, isolated, and efficient execution environments.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agent-starter-pack
3
- Version: 0.10.0
3
+ Version: 0.11.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
@@ -39,7 +39,7 @@ Description-Content-Type: text/markdown
39
39
  </a> [![Launch in Cloud Shell](https://img.shields.io/badge/Launch-in_Cloud_Shell-white)](https://shell.cloud.google.com/cloudshell/editor?cloudshell_git_repo=https%3A%2F%2Fgithub.com%2Feliasecchig%2Fasp-open-in-cloud-shell&cloudshell_print=open-in-cs) ![Stars](https://img.shields.io/github/stars/GoogleCloudPlatform/agent-starter-pack?color=yellow)
40
40
 
41
41
 
42
- The `agent-starter-pack` is a collection of production-ready Generative AI Agent templates built for Google Cloud. <br>
42
+ The `agent-starter-pack` is a Python package that provides a collection of production-ready Generative AI Agent templates built for Google Cloud. <br>
43
43
  It accelerates development by providing a holistic, production-ready solution, addressing common challenges (Deployment & Operations, Evaluation, Customization, Observability) in building and deploying GenAI agents.
44
44
 
45
45
  | ⚡️ Launch | 🧪 Experiment | ✅ Deploy | 🛠️ Customize |
@@ -16,7 +16,7 @@
16
16
  </a> [![Launch in Cloud Shell](https://img.shields.io/badge/Launch-in_Cloud_Shell-white)](https://shell.cloud.google.com/cloudshell/editor?cloudshell_git_repo=https%3A%2F%2Fgithub.com%2Feliasecchig%2Fasp-open-in-cloud-shell&cloudshell_print=open-in-cs) ![Stars](https://img.shields.io/github/stars/GoogleCloudPlatform/agent-starter-pack?color=yellow)
17
17
 
18
18
 
19
- The `agent-starter-pack` is a collection of production-ready Generative AI Agent templates built for Google Cloud. <br>
19
+ The `agent-starter-pack` is a Python package that provides a collection of production-ready Generative AI Agent templates built for Google Cloud. <br>
20
20
  It accelerates development by providing a holistic, production-ready solution, addressing common challenges (Deployment & Operations, Evaluation, Customization, Observability) in building and deploying GenAI agents.
21
21
 
22
22
  | ⚡️ Launch | 🧪 Experiment | ✅ Deploy | 🛠️ Customize |
@@ -21,6 +21,7 @@ settings:
21
21
  extra_dependencies: ["google-adk~=1.8.0"]
22
22
  tags: ["adk"]
23
23
  frontend_type: "adk_gemini_fullstack"
24
+ interactive_command: "dev"
24
25
  commands:
25
26
  override:
26
27
  install: "uv sync --dev --extra jupyter && npm --prefix frontend install"
@@ -21,7 +21,7 @@ settings:
21
21
  "langchain~=0.3.14",
22
22
  "langchain-community~=0.3.17",
23
23
  "langchain-openai~=0.3.5",
24
- "langgraph~=0.4.8",
25
- "crewai~=0.140.0"
24
+ "langgraph~=0.6.2",
25
+ "crewai~=0.152.0"
26
26
  ]
27
27
  example_question: "How can I implement a function to sort a list in Python?"
@@ -12,7 +12,7 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- # mypy: disable-error-code="union-attr"
15
+ # mypy: ignore-errors
16
16
  from app.agent import agent
17
17
 
18
18
 
@@ -19,7 +19,7 @@ settings:
19
19
  extra_dependencies: [
20
20
  "langchain-google-vertexai~=2.0.7",
21
21
  "langchain~=0.3.14",
22
- "langgraph~=0.4.8",
22
+ "langgraph~=0.6.2",
23
23
  "langchain-google-vertexai~=2.0.22",
24
24
  "langchain~=0.3.14",
25
25
  "langchain-community~=0.3.17",
@@ -12,7 +12,7 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- # mypy: disable-error-code="union-attr"
15
+ # mypy: ignore-errors
16
16
  from app.agent import agent
17
17
 
18
18
 
@@ -126,10 +126,11 @@ async def test_websocket_endpoint() -> None:
126
126
  # Verify mock interactions
127
127
  mock_genai.aio.live.connect.assert_called_once()
128
128
  assert mock_session._ws.recv.called
129
+ await mock_session._ws.recv.aclose()
129
130
 
130
131
 
131
132
  @pytest.mark.asyncio
132
- async def test_websocket_error_handling() -> None:
133
+ def test_websocket_error_handling() -> None:
133
134
  """Test websocket error handling."""
134
135
  from app.server import app
135
136
 
@@ -24,6 +24,7 @@ export default defineConfig({
24
24
  nav: [
25
25
  { text: 'Home', link: '/' },
26
26
  { text: 'Guide', link: '/guide/getting-started' },
27
+ { text: 'Remote Templates', link: '/remote-templates/' },
27
28
  { text: 'Agents', link: '/agents/overview' },
28
29
  { text: 'CLI', link: '/cli/index.md' }
29
30
  ],
@@ -44,9 +45,11 @@ export default defineConfig({
44
45
  ]
45
46
  },
46
47
  {
47
- text: 'Authoring Templates',
48
+ text: 'Remote Templates',
48
49
  items: [
49
- { text: 'Remote Templating', link: '/guide/remote-templating' },
50
+ { text: 'Overview', link: '/remote-templates/' },
51
+ { text: 'Using Remote Templates', link: '/remote-templates/using-remote-templates' },
52
+ { text: 'Creating Remote Templates', link: '/remote-templates/creating-remote-templates' },
50
53
  { text: 'Template Config Reference', link: '/guide/template-config-reference' }
51
54
  ]
52
55
  },
@@ -61,6 +64,8 @@ export default defineConfig({
61
64
  text: 'CLI Reference',
62
65
  items: [
63
66
  { text: 'create', link: '/cli/create' },
67
+ { text: 'enhance', link: '/cli/enhance' },
68
+ { text: 'list', link: '/cli/list' },
64
69
  { text: 'setup-cicd', link: '/cli/setup_cicd' }
65
70
  ]
66
71
  }
@@ -8,7 +8,6 @@ The Agent Starter Pack follows a "bring your own agent" approach. It provides se
8
8
  | Agent Name | Description | Use Case |
9
9
  |------------|-------------|----------|
10
10
  | `adk_base` | A base ReAct agent implemented using Google's [Agent Development Kit](https://github.com/google/adk-python) | General purpose conversational agent |
11
- | `adk_gemini_fullstack` | A production-ready fullstack research agent with Gemini | Complex research and information synthesis |
12
11
  | `agentic_rag` | A RAG agent for document retrieval and Q&A | Document search and question answering |
13
12
  | `langgraph_base_react` | A base ReAct agent using LangGraph | Graph based conversational agent |
14
13
  | `crewai_coding_crew` | A multi-agent system implemented with CrewAI | Collaborative coding assistance |
@@ -0,0 +1,176 @@
1
+ # create
2
+
3
+ Create new GCP-based AI agent projects from built-in agents or remote templates.
4
+
5
+ ## Usage
6
+
7
+ ```bash
8
+ uvx agent-starter-pack create PROJECT_NAME [OPTIONS]
9
+ ```
10
+
11
+ ## Arguments
12
+
13
+ - `PROJECT_NAME`: Name for your new agent project directory and base for resource naming.
14
+ *Note: This name will be converted to lowercase and must be 26 characters or less.*
15
+
16
+ ## Template Selection
17
+
18
+ ### `--agent`, `-a` TEMPLATE
19
+ Specify which template to use for your agent:
20
+
21
+ **Built-in agents:**
22
+ ```bash
23
+ uvx agent-starter-pack create my-agent -a adk_base
24
+ uvx agent-starter-pack create my-agent -a chat_agent
25
+ ```
26
+
27
+ **Remote templates:**
28
+ ```bash
29
+ # Full GitHub URL
30
+ uvx agent-starter-pack create my-agent -a https://github.com/user/repo
31
+
32
+ # Shorthand notation
33
+ uvx agent-starter-pack create my-agent -a github.com/user/repo@main
34
+
35
+ # ADK samples shortcut
36
+ uvx agent-starter-pack create my-agent -a adk@gemini-fullstack
37
+
38
+ # Use your existing project as source
39
+ uvx agent-starter-pack create my-agent -a local@./path/to/project
40
+ ```
41
+
42
+ If omitted, you'll see an interactive list of available agents.
43
+
44
+ ## Deployment Options
45
+
46
+ ### `--deployment-target`, `-d` TARGET
47
+ Deployment target for your agent:
48
+ - `cloud_run` - Deploy to Google Cloud Run
49
+ - `agent_engine` - Deploy to Google Cloud Agent Engine
50
+
51
+ ### `--cicd-runner` RUNNER
52
+ CI/CD runner to use:
53
+ - `google_cloud_build` - Use Google Cloud Build
54
+ - `github_actions` - Use GitHub Actions
55
+
56
+ ### `--region` REGION
57
+ GCP region for deployment (default: `us-central1`)
58
+
59
+ ## Data & Storage Options
60
+
61
+ ### `--include-data-ingestion`, `-i`
62
+ Include data ingestion pipeline components in the project.
63
+
64
+ ### `--datastore`, `-ds` DATASTORE
65
+ Type of datastore for data ingestion (requires `--include-data-ingestion`):
66
+ - `vertex_ai_search`
67
+ - `vertex_ai_vector_search`
68
+ - `alloydb`
69
+
70
+ ### `--session-type` TYPE
71
+ Session storage type (for Cloud Run deployment):
72
+ - `in_memory` - Store sessions in memory
73
+ - `alloydb` - Store sessions in AlloyDB
74
+ - `agent_engine` - Use Agent Engine session management
75
+
76
+ ## Project Creation Options
77
+
78
+ ### `--output-dir`, `-o` DIRECTORY
79
+ Output directory for the project (default: current directory)
80
+
81
+ ### `--in-folder`
82
+ Create agent files directly in the current directory instead of creating a new project subdirectory.
83
+
84
+ **Standard behavior:**
85
+ ```bash
86
+ uvx agent-starter-pack create my-agent -a template
87
+ # Creates: ./my-agent/[project files]
88
+ ```
89
+
90
+ **In-folder behavior:**
91
+ ```bash
92
+ uvx agent-starter-pack create my-agent -a template --in-folder
93
+ # Creates: ./[project files] (in current directory)
94
+ ```
95
+
96
+ **Use cases:**
97
+ - Adding agent capabilities to existing projects
98
+ - Working within established repository structures
99
+ - Containerized development environments
100
+
101
+ **Automatic Backup:** When using `--in-folder`, a complete backup of your directory is automatically created as `.backup_[dirname]_[timestamp]` before any changes are made.
102
+
103
+ ## Automation Options
104
+
105
+ ### `--auto-approve`
106
+ Skip interactive confirmation prompts for GCP credentials and region.
107
+
108
+ ### `--skip-checks`
109
+ Skip verification checks for GCP authentication and Vertex AI connection.
110
+
111
+ ### `--debug`
112
+ Enable debug logging for troubleshooting.
113
+
114
+ ## Examples
115
+
116
+ ### Basic Usage
117
+
118
+ ```bash
119
+ # Create a new project interactively
120
+ uvx agent-starter-pack create my-agent-project
121
+
122
+ # Create with specific built-in agent
123
+ uvx agent-starter-pack create my-agent -a adk_base -d cloud_run
124
+ ```
125
+
126
+ ### Remote Templates
127
+
128
+ ```bash
129
+ # Use ADK samples
130
+ uvx agent-starter-pack create my-agent -a adk@gemini-fullstack
131
+
132
+ # Use GitHub repository
133
+ uvx agent-starter-pack create my-agent -a https://github.com/user/my-template
134
+
135
+ # Use shorthand notation with branch
136
+ uvx agent-starter-pack create my-agent -a github.com/user/template@develop
137
+
138
+ # Use your existing project
139
+ uvx agent-starter-pack create my-agent -a local@./my-project
140
+ ```
141
+
142
+ ### Advanced Configuration
143
+
144
+ ```bash
145
+ # Include data ingestion with specific datastore
146
+ uvx agent-starter-pack create my-rag-agent -a adk_base -i -ds alloydb -d cloud_run
147
+
148
+ # Create with custom region and CI/CD
149
+ uvx agent-starter-pack create my-agent -a template-url --region europe-west1 --cicd-runner github_actions
150
+
151
+ # In-folder creation (add to existing project)
152
+ uvx agent-starter-pack create my-agent -a adk@data-science --in-folder
153
+
154
+ # Skip all prompts for automation
155
+ uvx agent-starter-pack create my-agent -a template-url --auto-approve --skip-checks
156
+ ```
157
+
158
+ ### Output Directory
159
+
160
+ ```bash
161
+ # Create in specific directory
162
+ uvx agent-starter-pack create my-agent -o ./projects/
163
+
164
+ # Create in current directory with in-folder
165
+ uvx agent-starter-pack create existing-project -a template-url --in-folder
166
+ ```
167
+
168
+ ## Related Commands
169
+
170
+ - [`enhance`](./enhance.md) - Add agent capabilities to existing projects (automatically uses `--in-folder`)
171
+ - [`list`](./list.md) - List available templates and agents
172
+
173
+ ## See Also
174
+
175
+ - [Using Remote Templates](../remote-templates/using-remote-templates.md) - Complete guide for using remote templates
176
+ - [Creating Remote Templates](../remote-templates/creating-remote-templates.md) - Guide for creating your own templates
@@ -0,0 +1,180 @@
1
+ # enhance
2
+
3
+ The `enhance` command adds agent-starter-pack capabilities to existing projects without creating a new directory. It's designed for upgrading prototypes to production-ready agents in-place.
4
+
5
+ ## Usage
6
+
7
+ ```bash
8
+ uvx agent-starter-pack enhance [TEMPLATE_PATH] [OPTIONS]
9
+ ```
10
+
11
+ ## Arguments
12
+
13
+ - `TEMPLATE_PATH` (optional): Can be:
14
+ - `.` (default) - Use current directory as template
15
+ - Local directory path - Use another local directory as template
16
+ - Agent name - Use a built-in agent (e.g., `adk_base`)
17
+ - Remote template - Use a remote template (e.g., `adk@gemini-fullstack`)
18
+
19
+ ## Options
20
+
21
+ The `enhance` command supports all the same options as [`create`](./create.md), plus:
22
+
23
+ ### `--base-template` TEMPLATE
24
+ Override the base template for inheritance when enhancing your existing project. Available base templates include:
25
+ - `adk_base` - Basic agent template (default)
26
+ - `langgraph_base_react` - LangGraph-based ReAct agent
27
+ - `agentic_rag` - RAG-enabled agent template
28
+
29
+ ### Other Options
30
+ - `--name, -n` - Project name (defaults to current directory name)
31
+ - `--deployment-target, -d` - Deployment target (`agent_engine`, `cloud_run`)
32
+ - `--include-data-ingestion, -i` - Include data ingestion pipeline
33
+ - `--session-type` - Session storage type
34
+ - `--auto-approve` - Skip confirmation prompts
35
+ - And all other `create` command options
36
+
37
+ ## Examples
38
+
39
+ ### Basic Enhancement
40
+
41
+ ```bash
42
+ # Enhance current project with default template
43
+ uvx agent-starter-pack enhance
44
+
45
+ # Enhance with a specific agent template
46
+ uvx agent-starter-pack enhance adk@gemini-fullstack
47
+
48
+ # Enhance with custom project name
49
+ uvx agent-starter-pack enhance --name my-enhanced-agent
50
+ ```
51
+
52
+ ### Advanced Options
53
+
54
+ ```bash
55
+ # Enhance with specific deployment target
56
+ uvx agent-starter-pack enhance adk@data-science --deployment-target cloud_run
57
+
58
+ # Enhance with data ingestion capabilities
59
+ uvx agent-starter-pack enhance --include-data-ingestion --datastore alloydb
60
+
61
+ # Enhance with custom session storage
62
+ uvx agent-starter-pack enhance --session-type alloydb
63
+ ```
64
+
65
+ ### Base Template Inheritance
66
+
67
+ ```bash
68
+ # Enhance current project with LangGraph capabilities
69
+ uvx agent-starter-pack enhance . --base-template langgraph_base_react
70
+
71
+ # Enhance with RAG-enabled base template
72
+ uvx agent-starter-pack enhance . --base-template agentic_rag
73
+ ```
74
+
75
+ ## Project Structure Validation
76
+
77
+ The enhance command validates your project structure and provides guidance:
78
+
79
+ **✅ Ideal Structure:**
80
+ ```
81
+ your-project/
82
+ ├── app/
83
+ │ └── agent.py # Your agent code
84
+ ├── tests/
85
+ └── README.md
86
+ ```
87
+
88
+ **⚠️ Missing /app Folder:**
89
+ If your project doesn't have an `/app` folder, the command will:
90
+ 1. Display a warning about project structure
91
+ 2. Explain the expected structure
92
+ 3. Ask for confirmation to proceed (unless `--auto-approve` is used)
93
+
94
+ ## How It Works
95
+
96
+ The `enhance` command is essentially an alias for:
97
+ ```bash
98
+ uvx agent-starter-pack create PROJECT_NAME --agent TEMPLATE --in-folder
99
+ ```
100
+
101
+ It automatically:
102
+ - Uses the current directory name as the project name (unless `--name` is specified)
103
+ - Enables `--in-folder` mode to template directly into the current directory
104
+ - Validates the project structure for compatibility
105
+ - Applies the same file merging logic as the `create` command
106
+
107
+ ### Base Template Inheritance
108
+
109
+ When enhancing your existing project (using `local@.` or `local@/path/to/project`), the enhance command will:
110
+
111
+ 1. **Show current inheritance**: Display which base template your project inherits from
112
+ 2. **Provide guidance**: Show available alternative base templates and how to use them
113
+ 3. **Support CLI override**: Use `--base-template` to override the base template specified in `pyproject.toml`
114
+
115
+ The inheritance hierarchy works as follows:
116
+ ```
117
+ Your Existing Project
118
+ ↓ (inherits from)
119
+ Base Template (adk_base, langgraph_base_react, etc.)
120
+ ↓ (provides)
121
+ Core Infrastructure & Capabilities
122
+ ```
123
+
124
+ ## Use Cases
125
+
126
+ **Prototype to Production:**
127
+ ```bash
128
+ # You have a prototype agent in /app/agent.py
129
+ uvx agent-starter-pack enhance adk@production-ready
130
+ ```
131
+
132
+ **Add Infrastructure:**
133
+ ```bash
134
+ # Add Terraform and deployment capabilities
135
+ uvx agent-starter-pack enhance --deployment-target cloud_run
136
+ ```
137
+
138
+ **Add Data Pipeline:**
139
+ ```bash
140
+ # Add data ingestion to existing agent
141
+ uvx agent-starter-pack enhance --include-data-ingestion --datastore alloydb
142
+ ```
143
+
144
+ **Upgrade Agent Base:**
145
+ ```bash
146
+ # Upgrade from basic to advanced agent template
147
+ uvx agent-starter-pack enhance adk@gemini-fullstack
148
+
149
+ # Or change base template inheritance
150
+ uvx agent-starter-pack enhance . --base-template langgraph_base_react
151
+ ```
152
+
153
+ ## Automatic Backup
154
+
155
+ The `enhance` command automatically creates a complete backup of your project before making any changes:
156
+
157
+ - **Location:** `.backup_[dirname]_[timestamp]` in the parent directory
158
+ - **Contents:** Complete copy of your entire project directory
159
+ - **Timing:** Created before any template files are applied
160
+
161
+ ## Best Practices
162
+
163
+ 1. **Review Backup:** Check that the backup was created successfully
164
+ 2. **Follow Structure:** Organize your agent code in `/app/agent.py` for best compatibility
165
+ 3. **Test Locally:** Use `--auto-approve` in CI/CD but test interactively first
166
+ 4. **Review Changes:** After enhancement, review the generated files and configuration
167
+
168
+ ## Troubleshooting
169
+
170
+ **"Project structure warning"**
171
+ - Organize your agent code in an `/app` folder
172
+ - Use `--auto-approve` to skip the confirmation prompt
173
+
174
+ **"Enhancement cancelled"**
175
+ - Create an `/app` folder with your `agent.py` file
176
+ - Re-run the command
177
+
178
+ **"Dependency conflicts"**
179
+ - Review and resolve conflicts in your `pyproject.toml`
180
+ - Consider using a virtual environment