Configuration
Configuration
Section titled “Configuration”Arxo is configured via a YAML file. Pass it with --config path/to/config.yaml.
Configuration Structure
Section titled “Configuration Structure”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 outputKey Sections
Section titled “Key Sections”| Section | Purpose |
|---|---|
data | Language, import graph options, and exclusions |
metrics | Which metrics to run (id, enabled, optional config) |
policy | Invariants: metric key, operator (<=, >=, ==, etc.), and value |
report | Output format and optional output file path |
Report Formats
Section titled “Report Formats”The public build supports three output formats:
| Format | Use case | Output |
|---|---|---|
console | Default; terminal CI | stdout |
json | CI, tooling, APIs | stdout or report.file |
html | Human review, graphs | file (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.
Example: SCC Gate for CI
Section titled “Example: SCC Gate for CI”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: 0See Circular Dependencies, SCC Policy Configuration, and SCC Keys and Output Contract for full key and config details.
Example: Agent and OpenClaw Policy
Section titled “Example: Agent and OpenClaw Policy”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: 60Running with a Config File
Section titled “Running with a Config File”arxo analyze --path /path/to/project --config config.yamlFor metric keys and policy examples, see:
For more on output formats, see Reports and Output Formats.