Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
Skip to content

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

FieldTypeDescription
namestringAgent name (min 1 char)
versionstringSemantic version
models.mainModelConfigPrimary agent model (required)

Optional

FieldTypeDescription
descriptionstringAgent description
userContextstringInjected at the top of every session prompt
models.exploreModelConfigModel for explore/gather sub-agents (cheaper/faster)
platformobjectPlatform API integration
sandboxobjectSandbox execution config (Daytona)
storesobjectData store backend config
proactiveobjectWebhook for external triggers
mcpobjectMCP 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.