| name | ubs-scanner |
| description | Bug scanning with UBS (Ultimate Bug Scanner). Use before commits, when scanning for bugs, when the user mentions "ubs", "bugs", "scan", or "code quality". |
UBS (Ultimate Bug Scanner)
Scans for 1000+ bug patterns across multiple languages.
When This Applies
| Signal | Action |
|---|---|
| Before committing | ubs --staged |
| Scanning changes | ubs --diff |
| Scanning specific file | ubs path/to/file |
| CI integration | ubs --ci |
Pre-Commit (Required)
Run before every commit:
ubs --staged # Scan staged changes
ubs --staged --fail-on-warning # Strict mode (exit 1 on any issue)
Fix all issues before committing. Rerun until clean.
Scanning Options
# Scan current directory
ubs .
# Scan specific file
ubs path/to/file.ts
# Scan working tree changes vs HEAD
ubs --diff
# Verbose with code examples
ubs -v .
Profiles
# Strict (fail on warnings) - for production code
ubs --profile=strict .
# Loose (skip nits) - for prototyping
ubs --profile=loose .
Language Filters
# Single language
ubs --only=python .
# Multiple languages
ubs --only=typescript,javascript .
Supported languages:
- javascript, typescript
- python
- c, c++
- rust, go
- java, ruby
Output Formats
ubs . --format=json # JSON
ubs . --format=jsonl # Line-delimited JSON
ubs . --format=sarif # GitHub Code Scanning
CI Integration
ubs --ci # CI mode
ubs --comparison baseline.json . # Regression detection
Suppressing False Positives
Add to the line:
// ubs:ignore
const result = eval(userInput); // ubs:ignore
Health Check
ubs doctor
ubs doctor --fix
Quick Reference
ubs --staged # Pre-commit scan (required)
ubs --staged --fail-on-warning # Strict pre-commit
ubs --diff # Working tree changes
ubs path/to/file # Specific file
ubs --profile=strict . # Production mode
ubs doctor --fix # Health check
Workflow Integration
The standard pre-commit workflow:
# 1. Run tests
npm test # or pytest, etc.
# 2. Scan staged changes
ubs --staged
# 3. Fix any issues found
# 4. Re-run until clean
ubs --staged
# 5. Commit
git add -A && git commit
Anti-Patterns
| Don't | Why |
|---|---|
Skip ubs --staged |
Bugs slip into commits |
| Ignore warnings | May be real issues |
Over-suppress with // ubs:ignore |
Defeats the purpose |
See Also
verification/— Full pre-commit checklistbead-workflow/— Bead close workflow includes UBS