Skip to content
Arxo Arxo

Configuration

Arxo is configured via a YAML file. Pass it with --config path/to/config.yaml.

data:
language: auto # "typescript", "python", or "auto"
import_graph:
group_by: folder # how to group nodes
group_depth: 10 # depth for folder grouping
exclude: # paths to exclude from analysis
- target
- node_modules
metrics:
- id: scc
enabled: true
config:
edge_mode: all
max_cycles_in_ui: 50
- id: agent_architecture
enabled: true
policy:
invariants:
- metric: scc.max_cycle_size
op: "=="
value: 0
- metric: agent_architecture.overall_agent_health
op: ">="
value: 70
report:
format: console # console | json | html
file: report.html # optional; for html or json output
SectionPurpose
dataLanguage, import graph options, and exclusions
metricsWhich metrics to run (id, enabled, optional config)
policyInvariants: metric key, operator (<=, >=, ==, etc.), and value
reportOutput format and optional output file path

The public build supports three output formats:

FormatUse caseOutput
consoleDefault; terminal CIstdout
jsonCI, tooling, APIsstdout or report.file
htmlHuman review, graphsfile (set report.file)

Use report.file to write html or json to a path (for example report.html or report.json). For console or without report.file, output goes to stdout.

data:
import_graph:
group_by: folder
group_depth: 10
exclude: [node_modules, target]
metrics:
- id: scc
enabled: true
config:
edge_mode: all # all | runtime_only | structural_only
use_git_history: false
max_cycles_in_ui: 50
emit_findings: true
policy:
invariants:
- metric: scc.cycle_count
op: "=="
value: 0
- metric: scc.max_cycle_size
op: "=="
value: 0

See Circular Dependencies, SCC Policy Configuration, and SCC Keys and Output Contract for full key and config details.

metrics:
- id: agent_architecture
enabled: true
- id: openclaw_architecture
enabled: true
policy:
invariants:
- metric: agent_architecture.overall_agent_health
op: ">="
value: 70
- metric: openclaw_architecture.overall_openclaw_health
op: ">="
value: 60
Terminal window
arxo analyze --path /path/to/project --config config.yaml

For metric keys and policy examples, see:

For more on output formats, see Reports and Output Formats.