AI-Powered Fix¶
linthis integrates with AI providers to automatically suggest and apply fixes for lint issues. This feature combines traditional linting with AI intelligence to provide context-aware code corrections.
Quick Start¶
# Interactive AI fix mode
linthis --fix --ai
# Specify AI provider
linthis --fix --ai --provider claude
# Auto-accept all fixes (for CI/automation)
linthis --fix --ai --provider claude-cli -y
Supported Providers¶
| Provider | Description | Authentication |
|---|---|---|
claude |
Anthropic Claude API (default) | ANTHROPIC_API_KEY or ANTHROPIC_AUTH_TOKEN |
claude-cli |
Claude CLI (claude -p command) |
Claude CLI login |
codebuddy |
CodeBuddy API | CODEBUDDY_API_KEY |
codebuddy-cli |
CodeBuddy CLI | CodeBuddy CLI login |
openai |
OpenAI API | OPENAI_API_KEY |
local |
Local LLM (Ollama, etc.) | None (local endpoint) |
mock |
Mock provider for testing | None |
Provider Priority¶
The AI provider is resolved in the following order:
- Command line (
--provider <name>) - highest priority - Environment variable (
LINTHIS_AI_PROVIDER) - Config file (
[ai]section in.linthis/config.toml) - Default -
claude
Usage Modes¶
Interactive Mode¶
Review and selectively apply AI-suggested fixes:
linthis -i src/ --fix --ai
In interactive mode, for each issue you can: - Accept (y) - Apply the suggested fix - Reject (n) - Skip this suggestion - Edit (e) - Modify the suggestion before applying - View diff (d) - See the proposed changes - Quit (q) - Exit fix mode
Automatic Mode¶
Automatically accept all AI fixes without prompting:
linthis --auto-fix
⚠️ Warning: This will modify files automatically. Use with caution and ensure you have version control.
With Specific Provider¶
# Use Claude API
linthis --fix --ai --provider claude
# Use Claude CLI (runs `claude -p` command)
linthis --fix --ai --provider claude-cli
# Use CodeBuddy
linthis --fix --ai --provider codebuddy
# Use local LLM
linthis --fix --ai --provider local
Configuration¶
Environment Variables¶
# Set default provider
export LINTHIS_AI_PROVIDER=claude-cli
# API keys for different providers
export ANTHROPIC_API_KEY=sk-ant-xxx
export CODEBUDDY_API_KEY=xxx
export OPENAI_API_KEY=sk-xxx
# Custom endpoints
export ANTHROPIC_BASE_URL=https://api.anthropic.com
export LINTHIS_AI_ENDPOINT=http://localhost:11434 # for local LLM
# Custom model
export LINTHIS_AI_MODEL=claude-sonnet-4-20250514
Config File¶
Add to .linthis/config.toml:
[ai]
provider = "claude" # default provider
model = "claude-sonnet-4-20250514" # optional: override default model
Git Hook Integration¶
Use AI fix in pre-commit hooks to automatically fix issues:
# In .git/hooks/pre-commit or .prek/pre-commit
linthis -s --auto-fix
For safer CI usage with Claude CLI:
linthis -s --auto-fix --provider claude-cli
Examples¶
Fix Python Files¶
# Check and fix Python files with AI
linthis -i "*.py" --fix --ai
# Fix only staged Python files
linthis -s -l python --fix --ai --provider claude-cli
Fix Multiple Languages¶
# Fix Python and TypeScript files
linthis -l python,typescript --fix --ai
CI/CD Integration¶
# GitHub Actions example
- name: Lint and Fix
run: |
linthis --fix --ai --provider claude -y
git diff --exit-code || (git add -A && git commit -m "style: auto-fix lint issues")
Provider Details¶
Claude (API)¶
Uses Anthropic Claude API directly. Requires API key.
export ANTHROPIC_API_KEY=sk-ant-xxx
linthis --fix --ai --provider claude
Claude CLI¶
Uses the claude CLI tool with -p (print) mode. The CLI handles authentication.
# Ensure claude CLI is installed and logged in
claude --version
# Use CLI provider
linthis --fix --ai --provider claude-cli
Local LLM¶
Connect to local LLM servers like Ollama:
# Start Ollama with a coding model
ollama run codellama:7b
# Configure endpoint
export LINTHIS_AI_ENDPOINT=http://localhost:11434
# Use local provider
linthis --fix --ai --provider local
Troubleshooting¶
"API key not found"¶
Set the appropriate environment variable for your provider:
# For Claude API
export ANTHROPIC_API_KEY=your-key-here
# For OpenAI
export OPENAI_API_KEY=your-key-here
"Provider not available"¶
For CLI providers, ensure the CLI tool is installed:
# Check Claude CLI
claude --version
# Check CodeBuddy CLI
codebuddy --version
Rate Limits¶
If hitting rate limits, consider:
- Using --provider local for unlimited local processing
- Processing files in smaller batches
- Adding delays between requests
See It in Action¶
Watch the AI Fix video tutorial for a 20-second demo showing before/after AI-powered fixes.
See Also¶
- CLI Reference - Complete command reference
- Configuration - Configuration options
- Git Hooks - Hook integration