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: 16000Provider Fallback
agent.yaml
provider_fallback:
primary: anthropic
fallback: openai
cooldown_seconds: 60LLM 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 tierGuardrails 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: 20Linter 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
| Variable | Description |
|---|---|
| ANTHROPIC_API_KEY | Anthropic API key (Claude models) |
| OPENAI_API_KEY | OpenAI API key (GPT models) |
| OPENROUTER_API_KEY | OpenRouter API key (unified gateway) |
Git & Bitbucket
| Variable | Description |
|---|---|
| GIT_TOKEN | Git personal access token |
| BITBUCKET_URL | Bitbucket server URL |
| BITBUCKET_USER | Bitbucket username |
| BITBUCKET_TOKEN | Bitbucket API token |
Atlassian (Jira / Confluence)
| Variable | Description |
|---|---|
| ATLASSIAN_URL | Atlassian base URL |
| ATLASSIAN_USER | Atlassian email |
| ATLASSIAN_TOKEN | Atlassian API token |
| JIRA_PROJECT | Default Jira project key |
| CONFLUENCE_SPACE | Default Confluence space key |
AWS
| Variable | Default | Description |
|---|---|---|
| AWS_PROFILE | demo-profile | AWS CLI profile |
| AWS_REGION | eu-central-1 | AWS region |
| AWS_ACCESS_KEY_ID | -- | AWS access key |
| AWS_SECRET_ACCESS_KEY | -- | AWS secret key |
AMOF Internal
| Variable | Default | Description |
|---|---|---|
| AMOF_CWD | os.getcwd() | Workspace root directory |
| AMOF_RUNS_DIR | .amof/runs | Run storage directory |
| AMOF_API_BASE | http://localhost:8000/api/v1 | API 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"
}
}
}