Skip to content

Configuration

awa can be configured via a .awa.toml file, CLI flags, or both. CLI arguments always override config file values.

Place .awa.toml in your project root (or specify a path with --config).

# Output directory for generated files
output = ".github/agents"
# Template source (local path or Git repo)
template = "owner/repo"
# Feature flags to enable
features = ["copilot", "claude"]
# Overwrite existing files without prompting
force = false
# Preview changes without writing
dry-run = false
# Apply deletions from _delete.txt
delete = false
# Re-fetch cached remote templates
refresh = false
# Include target-only files in diff output
list-unknown = false
# Named preset definitions
[presets]
full = ["copilot", "claude", "cursor", "windsurf", "kilocode", "opencode", "gemini", "roo", "qwen", "codex", "agy", "agents-md"]
lite = ["copilot", "claude"]
KeyTypeDefaultDescription
outputstringOutput directory for generated files
templatestringbundled defaultTemplate source — local path or Git repo
featuresstring[][]Feature flags to enable
forcebooleanfalseOverwrite existing files without prompting
dry-runbooleanfalsePreview changes without writing files
deletebooleanfalseApply deletions from _delete.txt
refreshbooleanfalseForce re-fetch of cached remote templates
list-unknownbooleanfalseInclude target-only files in awa diff output

Define named bundles of feature flags in [presets]:

[presets]
full = ["copilot", "claude", "cursor", "windsurf"]
lite = ["copilot", "claude"]

Use presets from the CLI:

Terminal window
awa generate . --preset full
awa generate . --preset full --remove-features windsurf

CLI arguments take precedence over config file values:

Terminal window
# Even if .awa.toml has force = false, this will force overwrite
awa generate . --force
# Even if .awa.toml has features = ["copilot"], this replaces it
awa generate . --features claude cursor
Terminal window
# Default: .awa.toml in current directory
awa generate .
# Custom path
awa generate . --config ./configs/my-project.toml
output = ".github/agents"
features = ["copilot"]
output = ".github/agents"
template = "myorg/awa-templates"
features = ["copilot", "claude", "cursor"]
output = ".github/agents"
template = "myorg/awa-templates"
delete = true
[presets]
full = ["copilot", "claude", "cursor", "windsurf"]