Command
okulo analyze
Run the major analyses together — ideal for JSON exports and agent workflows.
bundlejson
When to use it
You want one artifact with hotspots, coupling, debt, and optional social metrics.
Usage
okulo analyze [repo] [options]
Options
| Option | Default | Description |
|---|---|---|
--no-social | off | Skip blame-heavy ownership/busfactor/people (much faster) |
-w, --window | 12m | Shared history window |
-f, --format | table | Prefer json for tooling |
--components A,B | all | Scope the whole bundle |
Examples
Full JSON report
okulo analyze -f json -o report.json Fast structural pass
okulo analyze -w 6m --no-social -f json -o report.json One product area
okulo analyze --components backend -f json -o backend.json
Sample output
Illustrative terminal output (column layout matches the real CLI):
$ okulo analyze -f json -o report.json --no-social
# report.json (shape)
{
"meta": {"window": "12m", "components": null},
"hotspots": {"files": [ {"path": "src/billing/invoice.py", "score": 92.4, "health": 3.1 } ]},
"debt": {"summary": {"active": 2, "waste_hours_per_month": 21.5}},
"coupling": {"pairs": [ … ]},
"refactoring": {"plans": [ … ]}
}
How to read it
- JSON is for tools: CI artifacts, dashboards, agents. Prefer
--no-socialwhen blame would dominate runtime. - Read hotspots + debt.summary first for prioritization; drill into refactoring.plans for tickets.
- With social enabled, also inspect ownership/busfactor sections for knowledge risk on those same files.
Tips
- Use
--no-socialin CI when you only need structural debt signals.