Skip to Content
⚠️ v0.1 — Early preview. APIs and schema may change.
Getting Started

Getting Started

Install Zil and run your first agent in five minutes.

Prerequisites

  • Python 3.11+
  • uv  (curl -LsSf https://astral.sh/uv/install.sh | sh)

1. Install

uv pip install 'zil-ai[adk]'

Verify:

zil --version # zil, version 0.1.21

2. Create a project

zil init my-agent

The CLI prompts for your LLM provider (Gemini, Anthropic, OpenAI, or Vertex AI), then scaffolds the project, creates a virtual environment, and installs dependencies.

Use --non-interactive to accept all defaults:

zil init my-agent --non-interactive

3. Configure your API key

cd my-agent source .venv/bin/activate cp my_agent/.env.example my_agent/.env

Edit my_agent/.env and add your API key. The default provider is Gemini — get a key at aistudio.google.com/apikey .

For other providers, see Adapters — LLM.

4. Start the agent server

zil serve

This starts a FastAPI server with REST endpoints, SSE streaming, and A2A protocol support. Open http://localhost:8000/health to verify it’s running, then send messages via the sessions API.

5. What to edit

FilePurpose
identity/persona.mdWho the agent is
identity/instructions.mdHow the agent behaves
identity/guardrails.yamlHard rules and boundaries
adapters/llm.yamlLLM provider and model
my_agent/agent.pyTools and logic

The generated agent.py uses one function to wire everything:

import zil root_agent = zil.create_agent( tools=[], # add your tool functions here )

See SDK Reference for all create_agent() options.

What’s next

GoalCommand / Page
Validate your projectzil validateCLI Reference
Security auditzil auditCLI Reference
Write and run evalszil evalEvaluation
Test in Dockerzil serve --docker --traceCLI Reference
Package and publishzil packzil pushPackaging
Deploy to Cloud Runzil deployCLI Reference
Choose a frameworkzil init --framework openhandsFrameworks
Multi-agent projectszil init --agents vta,vtdMulti-Agent & HITL
Add skillszil init --skills fd-submit-changesSkills
Runtime dependenciesspec.runtime.dependenciesRuntime Dependencies
Set up tracingObservability
Guardrails referenceIdentity — Guardrails