Linting
Linting
8Vast analyzes your code for errors, performance issues, security risks, and quality problems. It works on any language — Rust, TypeScript, Python, Go, Java, C, C++, and more.
8v lint .
No extra install. No plugins. Built into the 8v CLI. It also detects your existing tools (Clippy, ESLint, Ruff, mypy) and merges everything into one report.
Supported languages
| Language | Built-in rules | External tools |
|---|---|---|
| Rust | 156 rules (deep coverage) | Clippy, cargo check |
| TypeScript | 3 rules + metrics | tsc, ESLint |
| Python | Metrics | Ruff, mypy |
| Go, Java, C, C++, ... | Metrics | — |
For any language, you can also write custom rules in YAML to catch patterns specific to your project. See Custom Rules.
What it catches
- Error handling — swallowed errors, broken error chains, wrong log levels. No other linter catches these.
- Safety — panics in libraries, undocumented unsafe, blocking in async
- Performance — clones in loops, large futures, blocking I/O in async
- Security — SQL injection, command injection, hardcoded secrets
- Metrics — function length, nesting depth, cognitive complexity (configurable thresholds)
- Test quality — missing assertions, trivial assertions, ignored tests without reason
How to write rules
| Approach | When to use | Requires |
|---|---|---|
| YAML | Pattern matching, metrics, most custom rules | No code — just a YAML file |
| Built-in | Common patterns — ship with 8Vast | Nothing — already there |
| Native Rust | Complex logic, cross-file analysis | Rust code |
Most teams use YAML rules. They work on any language and need no code — describe the pattern you want to catch, and 8Vast finds it.
How it compares
| 8Vast | Semgrep | ast-grep | Clippy | |
|---|---|---|---|---|
| Languages | Any | 30+ | Any | Rust only |
| Custom rules | YAML + Rust | YAML | YAML | Compiler plugin |
| Error handling rules | Built-in | Write your own | Write your own | Partial |
| Metrics enforcement | Built-in | No | No | No |
| External tool integration | Yes | No | No | N/A |
| Requires install | No (part of 8v) | Yes | Yes | Yes |
For a detailed comparison, see vast-lint vs Semgrep vs ast-grep.
Docs
- Getting Started — run your first lint and understand the output
- Configuration — customize thresholds, disable rules, configure external tools
- Custom Rules — write your own rules in YAML or native Rust
- Rules Reference — all built-in rules organized by category