Command
okulo busfactor
Estimate how many departures the repo (or each component) can absorb before knowledge collapses.
riskstaffing
When to use it
Leadership asks about key-person risk, or after seeing ownership islands on critical modules.
Usage
okulo busfactor [repo] [options]
Options
| Option | Default | Description |
|---|---|---|
--component-depth N | 1 | Folder depth when layers are not configured |
--components A,B | all | Scope the calculation |
--source | blame | blame or churn |
--coverage | 50 | % of a file active people must have authored to count as covered |
--threshold | 50 | % uncovered files that counts as crisis |
Examples
Whole repository
okulo busfactor Per area in a monorepo
okulo busfactor --components backend,frontend
okulo busfactor --component-depth 2
Sample output
Illustrative terminal output (column layout matches the real CLI):
Bus factor people who could leave before most files lose everyone who knows them
repository bus factor: 2 (961 files; 8.0% already uncovered today)
key people: Ada Lovelace → 41% uncovered, Grace Hopper → 33% uncovered
component bus factor files uncovered now key people
───────── ────────── ───── ───────────── ─────────────────────────
backend 1 171 12% Ada Lovelace
frontend 2 214 4% Grace Hopper, Alan Turing
infra 1 40 22% Ada Lovelace
How to read it
- repository bus factor — how many key departures until most files lose all remaining knowledgeable authors.
- key people → % uncovered — impact if that person left (higher % = more of the codebase loses coverage).
- Read per component: bus factor 1 on
backendwhile hotspots live there is a stronger signal than a middling repo-wide number. - Use for knowledge sharing plans — not as a personal performance score.
Tips
- A low bus factor on a hotspot component is urgent; on dead code it is not.
- Fix author aliases first or numbers will be misleading.