amodal.json
The root configuration file at the repo root. Defines the agent's identity, model configuration, and platform integration.
Full Schema
{
"name": "ops-agent",
"version": "1.0.0",
"description": "Infrastructure monitoring and incident response",
"models": {
"main": {
"provider": "anthropic",
"model": "claude-sonnet-4-20250514",
"fallback": {
"provider": "openai",
"model": "gpt-4o"
}
},
"explore": {
"provider": "anthropic",
"model": "claude-haiku-4-5-20251001"
}
},
"userContext": "You are an operations agent for Acme Corp...",
"platform": {
"projectId": "proj_abc123",
"apiKey": "env:PLATFORM_API_KEY"
},
"sandbox": {
"shellExec": false,
"template": "daytona-template-id",
"maxTimeout": 30000
},
"stores": {
"dataDir": ".amodal/store-data",
"backend": "pglite",
"postgresUrl": "env:DATABASE_URL"
},
"proactive": {
"webhook": "https://api.example.com/webhook"
},
"mcp": {
"servers": {
"github": {
"transport": "stdio",
"command": "uvx",
"args": ["mcp-server-github"],
"env": { "GITHUB_TOKEN": "env:GITHUB_TOKEN" }
}
}
}
}Fields
Required
| Field | Type | Description |
|---|---|---|
name | string | Agent name (min 1 char) |
version | string | Semantic version |
models.main | ModelConfig | Primary agent model (required) |
Optional
| Field | Type | Description |
|---|---|---|
description | string | Agent description |
userContext | string | Injected at the top of every session prompt |
models.explore | ModelConfig | Model for explore/gather sub-agents (cheaper/faster) |
platform | object | Platform API integration |
sandbox | object | Sandbox execution config (Daytona) |
stores | object | Data store backend config |
proactive | object | Webhook for external triggers |
mcp | object | MCP server connections |
ModelConfig
{
"provider": "anthropic" | "openai" | "google" | "bedrock" | "azure",
"model": "claude-sonnet-4-20250514",
"region": "us-east-1", // optional, for Bedrock/Azure
"baseUrl": "https://...", // optional, custom endpoint
"credentials": { // optional, explicit keys
"api_key": "env:ANTHROPIC_API_KEY"
},
"fallback": { ... } // optional, another ModelConfig
}Environment Variable References
Any string value can reference an environment variable with the env: prefix:
{
"platform": {
"apiKey": "env:PLATFORM_API_KEY"
}
}Resolved at parse time. Missing env vars throw ENV_NOT_SET error.