Command
okulo components
List architecture layers and directory components — the names you pass to --components.
monorepoconfig
When to use it
After editing .okulo.toml layers, or before scoping analysis to backend / frontend.
Usage
okulo components [repo] [options]
Options
| Option | Default | Description |
|---|---|---|
--component-depth N | 1 | Path segments used when no layers are defined |
-n, --limit | 20 | How many directory components to show |
Examples
Validate your architecture config
okulo components
# Look for warnings: bad globs, empty layers, wrong order Discover names for --components
okulo components -f json | jq -r '.components[].name'
okulo hotspots --components backend Two-level folder components (no layers)
okulo components --component-depth 2 -n 50
Sample output
Illustrative terminal output (column layout matches the real CLI):
Components 3 layer(s) from .okulo.toml · other files grouped by their first path segment
component kind files revs churn authors last change globs
───────── ───────── ───── ──── ───── ─────── ─────────── ──────────
frontend layer 214 268 31540 4 2026-09-30 web/*
backend layer 171 379 44127 5 2026-09-29 server/*
infra layer 0 0 0 0 - terraform/*
scripts directory 7 12 388 2 2026-08-21 -
392 analyzed files: 385 in layers (98%), 7 grouped by directory.
⚠ layer 'infra' matches no analyzed file — check its globs
Scope any command to them: okulo hotspots --components frontend,backend
How to read it
- kind = layer comes from
.okulo.toml; directory is inferred from path segments. - revs / churn / authors — recent activity inside that component (good for spotting busy areas).
- A layer with files = 0 and a warning usually means a bad glob or layer order — fix config before trusting
--components. - Use the printed names exactly with
--components backend.
Tips
- Layer order matters: the first matching layer wins.
- Globs are relative to the repo root;
*also matches/.