UBS
Use ubs as a scoped gate. Keep the scope tight unless the user explicitly wants a full baseline scan.
Prerequisites
command -v ubs
If missing, stop and tell the user:
brew install dicklesworthstone/tap/ubs
Golden Rules
- Prefer
--staged,--diff, or explicit files overubs .. - Use
--format=jsonwhen you need machine-readable output. - Re-run after fixes to confirm the exit code is clean.
- Treat UBS as a tool boundary; do not import its repo-level hooks as implicit Lev policy.
Fast Path
ubs --staged --format=json --ci
If you only changed a few files:
ubs path/to/file.ts path/to/other.py --format=json --ci
Core Commands
Narrow scans
ubs --staged --format=json --ci
ubs --diff --format=json --ci
ubs src/file.ts src/other.py --format=json --ci
Full or filtered scans
ubs . --format=json --ci
ubs --only=js,python . --format=json --ci
ubs --category=resource-lifecycle . --format=json --ci
Diagnostics
ubs doctor
ubs doctor --fix
Recommended Workflow
Before commit
ubs --staged --fail-on-warning --format=json --ci
During review
- Scan only the touched files.
- Inspect critical findings first.
- Fix root causes, not symptoms.
- Re-run the same narrow scan.
Output Handling
Focus on:
summaryfindings[].filefindings[].linefindings[].severityfindings[].categoryfindings[].message
If the user wants GitHub or CI artifacts:
ubs . --format=sarif --ci
ubs . --report-json .ubs/latest.json --html-report .ubs/latest.html --ci
When Not To Use UBS
Do not default to UBS when:
- the user wants architectural review rather than static findings
- there are no changed files and no request for a baseline scan
- another domain-specific checker is clearly more appropriate
Anti-Patterns
- Running
ubs .on every small edit - Ignoring critical findings without checking the code
- Treating UBS findings as proof without context
- Installing repo hooks or settings from the upstream repo without explicit user approval
Minimal Report Pattern
## UBS Findings
- Scope scanned:
- Critical:
- Warnings:
- Follow-up fixes:
Keep the summary in the active Lev artifact or review comment, not in detached scratch notes.