Skip to content

Copy/Paste Oneliners

No explanation needed. Just copy, paste, and run.

Terminal window
# Review only what you changed
unfault review --uncommitted
# Same thing, detailed output
unfault review --uncommitted --output full
# JSON for scripts
unfault review --uncommitted --output json

Optimized output for Claude, Cursor, Copilot, and other AI assistants.

Terminal window
# LLM-optimized JSON — compact, actionable, no noise
unfault review --llm
# Focus on your changes only
unfault review --uncommitted --llm
# Specific files with full context
unfault review --llm --file src/api/routes.py --file src/api/handlers.py
# Limit to top 20 most severe findings
unfault review --llm --top 20
# The full combo: uncommitted, LLM format, top issues
unfault review --uncommitted --llm --top 10

Add this to your AGENTS.md or system prompt:

Before committing, run:
\`\`\`bash
unfault review --uncommitted --llm
\`\`\`
If findings are reported, fix high-severity issues before committing.
Use the `files_allowed_to_change` field to scope your edits.
Terminal window
# SARIF for GitHub Code Scanning
unfault review --output sarif > results.sarif
.github/workflows/unfault.yml
- name: Run Unfault
run: unfault review --output sarif > results.sarif
- name: Upload SARIF
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: results.sarif
Terminal window
# Fail if findings detected (exit 5)
unfault review && echo "Clean!" || echo "Findings found"
# Explicit check
unfault review --output json
if [ $? -eq 5 ]; then
echo "Review the findings above"
exit 1
fi
Terminal window
# Pipe to jq for filtering
unfault review --output json | jq '.findings | map(select(.severity == "High"))'
# Count findings
unfault review --output json | jq '.findings | length'
Terminal window
# Full detailed output with suggested fixes
unfault review --output full
# Focus on one dimension
unfault review --dimension stability --output full
unfault review --dimension performance --output full
unfault review --dimension correctness --output full
# Include test files (excluded by default)
unfault review --include-tests --output full
# Preview fixes without applying
unfault review --dry-run
Terminal window
# What breaks if I change this file?
unfault graph impact src/core/auth.py
# Find the most connected files
unfault graph critical --limit 10
# What uses this library?
unfault graph library requests
unfault graph library httpx
# External dependencies of a file
unfault graph deps src/api/client.py
# Graph statistics
unfault graph stats
Terminal window
# Quick semantic search
unfault ask "functions without error handling"
unfault ask "routes without authentication"
unfault ask "database queries without timeouts"
# With LLM-powered synthesis
unfault ask "how do we handle retries?" --llm
unfault ask "what happens if the database goes down?" --llm
Terminal window
# Check auth status
unfault status
# Configure LLM for `ask --llm`
unfault config llm openai --model gpt-4o
unfault config llm anthropic --model claude-3-5-sonnet-latest
unfault config llm ollama --model llama3.2
# View current config
unfault config show
unfault config llm show
FlagWhat it does
--uncommittedOnly findings for uncommitted files
--file PATHOnly findings for specific files (repeatable)
--llmCompact JSON optimized for AI agents
--top NLimit findings (default 50, max 200)
--output fullDetailed output with fix suggestions
--output jsonMachine-readable JSON
--output sarifSARIF 2.1.0 for GitHub/IDE integration
--dimension XFocus on one dimension
--include-testsInclude test files in analysis
--dry-runPreview fixes without applying
CodeMeaning
0Success, no findings
5Success, findings detected
1General error
2Config error
3Auth failed
4Network error

AI Agents Guide

Full integration patterns. Read more

CI/CD Guide

Pipeline integration details. Read more

CLI Reference

Complete command docs. Read more