--- name: adk-scaffold description: > MUST READ before creating or enhancing any ADK agent project. Use when the user wants to build a new agent (e.g. "build me a search agent") or enhance an existing project (e.g. "add CI/CD to my project", "add RAG"). metadata: license: Apache-2.0 author: Google --- # ADK Project Scaffolding Guide Use the `agent-starter-pack` CLI (via `uvx`) to create new ADK agent projects or enhance existing ones with deployment, CI/CD, and infrastructure scaffolding. --- ## Step 1: Gather Requirements Start with the use case, then ask follow-ups based on answers. **Always ask:** 1. **What problem will the agent solve?** — Core purpose and capabilities 2. **External APIs or data sources needed?** — Tools, integrations, auth requirements 3. **Safety constraints?** — What the agent must NOT do, guardrails 4. **Deployment preference?** — Prototype first (recommended) or full deployment? If deploying: Agent Engine or Cloud Run? **Ask based on context:** - If **retrieval or search over data** mentioned (RAG, semantic search, vector search, embeddings, similarity search, data ingestion) → **Datastore?** Use `--agent agentic_rag --datastore `: - `vertex_ai_vector_search` — for embeddings, similarity search, vector search - `vertex_ai_search` — for document search, search engine - If agent should be **available to other agents** → **A2A protocol?** Use `--agent adk_a2a` to expose the agent as an A2A-compatible service. - If **full deployment** chosen → **CI/CD runner?** GitHub Actions (default) or Google Cloud Build? - If **Cloud Run** chosen → **Session storage?** In-memory (default), Cloud SQL (persistent), or Agent Engine (managed). - If **deployment with CI/CD** chosen → **Git repository?** Does one already exist, or should one be created? If creating, public or private? --- ## Step 2: Write DESIGN_SPEC.md Compose a **detailed** spec with these sections. Present the full spec for user approval before scaffolding. ```markdown # DESIGN_SPEC.md ## Overview 2-3 paragraphs describing the agent's purpose and how it works. ## Example Use Cases 3-5 concrete examples with expected inputs and outputs. ## Tools Required Each tool with its purpose, API details, and authentication needs. ## Constraints & Safety Rules Specific rules — not just generic statements. ## Success Criteria Measurable outcomes for evaluation. ## Edge Cases to Handle At least 3-5 scenarios the agent must handle gracefully. ``` The spec should be thorough enough for another developer to implement the agent without additional context. --- ## Step 3: Create or Enhance the Project ### Create a New Project ```bash uvx agent-starter-pack create \ --agent