Configuration

AMOF is configured through a hierarchy of YAML files, environment variables, and CLI flags.

Configuration Hierarchy

CLI Flags  >  Config Files (.amof/)  >  Environment Variables (.env)

Agent Configuration

Location: .amof/agent.yaml -- the primary configuration file for the AI agent and orchestrator.

.amof/agent.yaml
# Default ecosystem when -e flag is omitted
default_ecosystem: aws-boilerplate

# Budget cap per session in USD (override: --max-cost)
default_max_cost: 5.00

# Use tiered model selection (haiku/sonnet/opus)
model_ladder: true

# LLM provider: anthropic or openai
default_provider: anthropic

# Show per-iteration tool call details
verbose: true

# Lint modified files before task completion
lint_on_complete: true

# Extended thinking token budget
thinking_budget: 16000

Provider Fallback

agent.yaml
provider_fallback:
  primary: anthropic
  fallback: openai
  cooldown_seconds: 60

LLM Ladder

agent.yaml
llm_ladder:
  roles:
    orchestrator:
      cascade:
        - "openrouter/anthropic/claude-4.6-sonnet"
        - "openrouter/anthropic/claude-4.6-opus"
        - "openrouter/openai/o3-mini"
    worker:
      cascade:
        - "openrouter/openai/gpt-5.1-codex"
        - "openrouter/openai/gpt-5.3-codex"
        - "openrouter/anthropic/claude-4.5-sonnet"

Routing

agent.yaml
routing:
  complexity_low_threshold: 0.20     # Below this: fast tier
  complexity_high_threshold: 0.60    # Above this: strong tier
  large_context_tokens: 200000       # Above this: force strong tier
  risk_escalation: true              # High-risk ops always use strong tier

Guardrails Configuration

Location: .amof/rules/guardrails.yaml

.amof/rules/guardrails.yaml
protected_paths:
  - ".git"
  - ".env"
  - ".env.*"
  - "secrets/"
  - "credentials/"
  - "*.pem"
  - "*.key"

blocked_commands:
  - "rm -rf /"
  - "mkfs"
  - ":(){ :|:& };:"
  - "dd"

dangerous_patterns:
  - "git push --force"
  - "git reset --hard"
  - "DROP TABLE"
  - "kubectl delete"
  - "helm uninstall"

sensitive_commands:
  - "pip install"
  - "npm install"
  - "git push"

Runner Configuration

Location: .amof/rules/runners.yaml -- Defines domain-specific agent personas.

.amof/rules/runners.yaml
code:
  prompt: prompts/runners/code.md
  tools: [Read, Write, StrReplace, Delete, Shell, Grep, Glob, LS, GitCheckpoint, ReadLints]
  default_tier: standard
  max_iterations: 50

k8s:
  prompt: prompts/runners/k8s.md
  tools: [K8s, Shell, Read, Grep]
  default_tier: fast
  max_iterations: 30

helm:
  prompt: prompts/runners/helm.md
  tools: [Helm, Read, Write, Shell, Grep, Glob]
  default_tier: standard
  max_iterations: 40

debug:
  prompt: prompts/runners/debug.md
  tools: [K8s, Read, Grep, Shell]
  default_tier: standard
  max_iterations: 40

jenkins:
  prompt: prompts/runners/jenkins.md
  tools: [Jenkins, Shell]
  default_tier: fast
  max_iterations: 20

Linter Configuration

.amof/rules/linters.yaml
auto_lint: true
max_lines_per_file: 30
min_severity: warning

linters:
  - name: ruff
    command: "ruff check --output-format=concise --no-fix {file}"
    extensions: [".py"]
  - name: yamllint
    command: "yamllint -f parsable {file}"
    extensions: [".yaml", ".yml"]
  - name: shellcheck
    command: "shellcheck -f gcc {file}"
    extensions: [".sh", ".bash"]

Environment Variables

LLM Providers

VariableDescription
ANTHROPIC_API_KEYAnthropic API key (Claude models)
OPENAI_API_KEYOpenAI API key (GPT models)
OPENROUTER_API_KEYOpenRouter API key (unified gateway)

Git & Bitbucket

VariableDescription
GIT_TOKENGit personal access token
BITBUCKET_URLBitbucket server URL
BITBUCKET_USERBitbucket username
BITBUCKET_TOKENBitbucket API token

Atlassian (Jira / Confluence)

VariableDescription
ATLASSIAN_URLAtlassian base URL
ATLASSIAN_USERAtlassian email
ATLASSIAN_TOKENAtlassian API token
JIRA_PROJECTDefault Jira project key
CONFLUENCE_SPACEDefault Confluence space key

AWS

VariableDefaultDescription
AWS_PROFILEdemo-profileAWS CLI profile
AWS_REGIONeu-central-1AWS region
AWS_ACCESS_KEY_ID--AWS access key
AWS_SECRET_ACCESS_KEY--AWS secret key

AMOF Internal

VariableDefaultDescription
AMOF_CWDos.getcwd()Workspace root directory
AMOF_RUNS_DIR.amof/runsRun storage directory
AMOF_API_BASEhttp://localhost:8000/api/v1API base URL

Workspace State

Location: .amof/state.json -- Automatically managed by AMOF. Schema v3:

.amof/state.json
{
  "version": 3,
  "ecosystem": "aws-boilerplate",
  "workspace_branch": "workspace/aws-boilerplate",
  "active_ticket": "feat-auth",
  "tickets": {
    "feat-auth": {
      "repos": {
        "frontend": "feature/feat-auth",
        "backend": "feature/feat-auth"
      }
    }
  },
  "repos": {
    "frontend": {
      "branch": "feature/feat-auth",
      "commit": "a1b2c3d",
      "mode": "rw",
      "pushed_at": "2026-03-01T10:00:00Z"
    }
  }
}