Opretter et nyt agentprojekt med Google Agents CLI.
Community-bidragyder
google/agents-cli
Open source repository
Nedenstående er skillens egen dokumentation, hentet fra kildekoderepoet. Ophavsret tilhører forfatteren.
Requires:
agents-cli(uv tool install google-agents-cli) — install uv first if needed.
Use the agents-cli CLI to create new agent projects or enhance existing ones with deployment, CI/CD, and infrastructure scaffolding.
Before scaffolding a new project, load /google-agents-cli-workflow and complete Phase 0 — clarify the user's requirements before running any scaffold create command. Ask what the agent should do, what tools/APIs it needs, and whether they want a prototype or full deployment.
Mapping user choices to CLI flags:
| Choice | CLI flag |
|---|---|
| Retrieval/RAG, sandboxed execution, cross-session memory, OAuth consent, guardrails, scheduled runs | No flag — these come from clone-and-study recipes. ADK Python: see the topic index in /google-agents-cli-adk-code → references/recipes.md; on other frameworks, see the agent catalog the framework template ships |
| A2A protocol | built into the scaffolded app — scaffold normally (ADK Python: --agent adk_python, the default; ADK Go: --agent adk_go) |
| Prototype (no deployment) | --prototype |
| Deployment target | --deployment-target <agent_runtime|cloud_run|gke> |
| CI/CD runner | --cicd-runner <github_actions|google_cloud_build> |
| Session storage | --session-type <in_memory|cloud_sql|agent_platform_sessions> |
Current names (and older names users may say) → CLI values (vertexai SDK package name unchanged):
--deployment-target agent_runtime--session-type agent_platform_sessionsRemoved flags.
--datastore, theagentic_ragtemplate, andagents-cli infra datastore/agents-cli data-ingestionno longer exist. If you reach for one, you want a recipe instead.
agents-cli scaffold create <project-name> \
--agent <template> \
--deployment-target <target> \
--region <region> \
--prototype
Constraints:
mkdir the project directory before running create — the CLI creates it automatically. If you mkdir first, create will fail or behave unexpectedly.--agent-guidance-filename for your IDE: GEMINI.md for Antigravity CLI, CLAUDE.md for Claude Code, AGENTS.md otherwise.app/, pass --agent-directory <dir> (e.g. --agent-directory agent). Getting this wrong causes enhance to miss or misplace files.| File | Contents |
|---|---|
references/flags.md |
Full flag reference for create and enhance commands |
agents-cli scaffold enhance . --deployment-target <target>
agents-cli scaffold enhance . --cicd-runner <runner>
Run this from inside the project directory (or pass the path instead of .).
Upgrade an existing project to a newer agents-cli version, intelligently applying updates while preserving your customizations:
agents-cli scaffold upgrade # Upgrade current directory
agents-cli scaffold upgrade <project-path> # Upgrade specific project
agents-cli scaffold upgrade --dry-run # Preview changes without applying
agents-cli scaffold upgrade --auto-approve # Auto-apply non-conflicting changes
agents-cli scaffold upgrade --force # Overwrite scaffolding files when smart-merge fails
agents-cli scaffold upgrade --force --dry-run # List what --force would overwrite
--force is a fallback for when smart-merge fails. Smart-merge also stops when the agents-cli version that created the project is not on PyPI, because it needs that version's template; use --force then too. It overwrites scaffolding files with the new template and keeps agent code, config files, README.md, the agent guidance file and eval datasets and config. It never removes dependencies or files the new template dropped (for example, a removed CI workflow), so remove unused ones by hand. Afterwards, check your imports and run your tests. Use --dry-run first to see which files change.
The CLI defaults to strict programmatic mode — all required params must be supplied as CLI flags or a UsageError is raised. No approval flags needed. Pass all required params explicitly.
Always ask the user before running these commands. Present the options (CI/CD runner, deployment target, etc.) and confirm before executing.
# Add deployment to an existing prototype (strict programmatic)
agents-cli scaffold enhance . --deployment-target agent_runtime
# Add CI/CD pipeline (ask: GitHub Actions or Cloud Build?)
agents-cli scaffold enhance . --cicd-runner github_actions
| Template | Language | Deployment | Description |
|---|---|---|---|
adk_python |
Python | Agent Runtime, Cloud Run, GKE | Standard ADK agent (default); A2A protocol built in |
adk_go |
Go | Agent Runtime, Cloud Run, GKE | Standard ADK Go agent; A2A protocol built in |
adk_pythonandadk_goare the only built-in templates.adk_pythonis the default, so a Go project needs--agent adk_goexplicitly.adkis accepted as an alias foradk_python. Other frameworks ship as template repos you scaffold from directly:--agent google/agents-cli/extensions/langchain/template@v1.12.0, with nothing installed. First-party templates live inextensions/(langchain/template,claude/template); see/google-agents-cli-workflow→references/extension.mdto publish your own. Capabilities beyond the template — retrieval, sandboxed execution, memory, OAuth, guardrails — are clone-and-study recipes, not templates. ADK Python: see the topic index in/google-agents-cli-adk-code→references/recipes.md.
Live and voice agents: no template. Scaffold
adk_python, then follow the conversion checklist in/google-agents-cli-adk-code(references/adk-python-live.md, "Converting a scaffolded project to Live"). The model swap is one of five edits.
| Target | Description |
|---|---|
agent_runtime |
Managed by Google (Agent Runtime). Container-based — Agent Runtime builds the project Dockerfile. Sessions handled automatically. |
cloud_run |
Container-based deployment. More control; you build and deploy the Dockerfile. |
gke |
Container-based on GKE Autopilot. Full Kubernetes control. |
none |
No deployment scaffolding. Code only (still includes a Dockerfile). |
Start with --prototype to skip CI/CD and Terraform. Focus on getting the agent working first, then add deployment later with scaffold enhance:
# Step 1: Create a prototype
agents-cli scaffold create my-agent --agent adk_python --prototype
# Step 2: Iterate on the agent code...
# Step 3: Add deployment when ready
agents-cli scaffold enhance . --deployment-target agent_runtime
When using agent_runtime as the deployment target, Agent Runtime manages sessions internally. If your code sets a session_type, clear it — Agent Runtime overrides it.
After scaffolding, immediately load /google-agents-cli-workflow — it contains the development workflow, coding guidelines, and operational rules you must follow when implementing the agent.
What you edit differs by language; /google-agents-cli-adk-code has the annotated tree for each,
in references/adk-python.md and references/adk-go.md.
--agent adk_python) — customize app/agent.py and app/tools.py.--agent adk_go) — customize app/agent.go..env is yours. Preserve everything else the template generated — it wires up serving, sessions
and the built-in A2A surface.
Adapting a recipe: copy its app/, infra/terraform/, and any ingestion or provisioning into
your scaffolded project, then run provisioning from the recipe's own Makefile (e.g.
make setup-infra). Start from its AGENTS.md.
Verifying your agent works: Use agents-cli run "test prompt" for quick smoke tests, then agents-cli eval run for systematic validation. Do NOT write pytest tests that assert on LLM response content, that belongs in eval.
When you need specific files (Terraform, CI/CD workflows, Dockerfile) but don't want to scaffold the current project directly, create a temporary reference project in /tmp/:
agents-cli scaffold create ref-project --output-dir /tmp \
--agent adk_python \
--deployment-target cloud_run
Inspect the generated files, adapt what you need, and copy into the actual project. Delete the reference project when done.
This is useful for:
enhance can't handle/google-agents-cli-workflow Phase 0 and clarify the user's intent before running scaffold createmkdir before create — the CLI creates the directory; pre-creating it causes enhance mode instead of create modeagent_runtime, remove any session_type setting from your code--prototype for quick iteration — add deployment later with enhanceadk_python and adk_go templates and framework templates alike); each language's A2A surface (import paths, AgentCard schema etc.) is non-trivial and changes across versions. Scaffold normally; never hand-write the A2A surface. (The only sanctioned A2A hand-edit is removing the generated wiring for a Live agent, which can't be served over A2A — see /google-agents-cli-adk-code, references/adk-python-live.md.)A2A project: User says: "Build me a Python agent that exposes A2A and deploys to Cloud Run" Actions:
agents-cli scaffold create my-a2a-agent --agent adk_python --deployment-target cloud_run --prototype
Result: Valid A2A imports and Dockerfile — no manual A2A code written.Go project: User says: "Build me a Go agent that deploys to Cloud Run" Actions:
agents-cli scaffold create my-go-agent --agent adk_go --deployment-target cloud_run --prototype
Result: Go project with app/agent.go, the launcher in main.go, and the A2A card at the root.agents-cli command not foundSee /google-agents-cli-workflow → Setup section.
/google-agents-cli-workflow — Development workflow, coding guidelines, and the build-evaluate-deploy lifecycle/google-agents-cli-adk-code — ADK API quick reference for writing agent code, including the graph Workflow API/google-agents-cli-deploy — Deployment targets, CI/CD pipelines, and production workflows/google-agents-cli-eval — Evaluation methodology, dataset schema, and the eval-fix loop