linthis¶
A fast, cross-platform multi-language linter and formatter written in Rust.
Features¶
- Single Command: Run linting, formatting, security, and complexity checks simultaneously
- Multi-Language Support: Rust, Python, TypeScript, JavaScript, Go, Java, C++, Swift, Kotlin, Lua, Dart, Shell, Ruby, PHP, Scala, C# and more
- Auto-Detection: Automatically detect programming languages used in your project
- Security Scanning (SAST): Built-in secrets detection + OpenGrep/Semgrep, Bandit, Gosec, Flawfinder
- Complexity Analysis: Cyclomatic/cognitive complexity per function with threshold enforcement
- Flexible Configuration: Support for project config, global config, and CLI parameters with dotted key paths
- Plugin System: Share and reuse configurations via Git repositories (HTTPS with SSH auto-fallback)
- Format Presets: Support for popular code styles like Google, Airbnb, Standard
- Parallel Processing: Leverage multi-core CPU for faster file processing with per-file caching
- Fix Commit Mode: Three modes for auto-fix handling — squash / dirty / fixup
- Self-Update:
linthis updatewith install method detection (cargo, pip, uv, pipx) - Global Data Storage: Runtime data stored in
~/.linthis/projects/— keeps project directory clean
Quick Links¶
- Installation - Get linthis installed
- Quick Start - Start using linthis in minutes
- Configuration - Configure linthis for your project
- Languages - Supported programming languages
- CLI Reference - Complete command-line reference
Example Usage¶
# Check and format current directory
linthis
# Check only (no formatting)
linthis -c
linthis --check-only
# Format only (no checking)
linthis -f
linthis --format-only
# Check Git staged files
linthis -s
linthis --staged
Video Tutorials¶
See linthis in action with short video demos:
- Quick Start — Install and run your first check (20s)
- Multi-Language — Auto-detect 18+ languages (15s)
- Plugin System — Share configs across teams (20s)
- AI Fix — AI-powered code fixes (20s)
- Git Hooks — Automatic pre-commit linting (15s)
- Editor Integration — VS Code, JetBrains, Neovim, Claude Code (15s)
- AI Agent Hook — AI agent integration (20s)
Why linthis?¶
- Unified Interface: One tool for all languages instead of managing multiple linters
- Fast: Written in Rust with parallel processing support
- Easy Setup: Works out of the box with sensible defaults
- Team Friendly: Plugin system for sharing configurations across projects