TSQLLint
github.com
What it is
TSQLLint checks T-SQL scripts for anti-patterns and reports the findings. Its command-line tool can correct issues it identifies as auto-fixable with the --fix or -x option. Rules can be set to off, warning, or error; an error-level violation produces a non-zero exit code. Users can save settings in a .tsqllintrc file, or use the tool’s in-memory defaults when no file is present. The listed SQL Server compatibility levels are 80, 90, 100, 110, 120, 130, 140, and 150. Custom .NET plugins can extend it if they implement TSQLLint’s IPlugin interface and target net6.0. Before linting, it substitutes SQL file placeholders with values from environment variables. Official installation methods include dotnet-tool, Homebrew, and NPM. Its VS Code extension marks potential problems in opened .sql files for inspection on hover, and SQL Server Management Studio can invoke it through External Tools. TSQLLint is free under the MIT License and runs on Linux, macOS, and Windows, with an editor extension also listed.
Spec sheet
- Purpose
- TSQLLint describes, identifies, and reports anti-patterns in TSQL scripts.Read 30 Sep 2026 · github.com
- Intended users
- The documented use is for people working with TSQL scripts who want to configure and report on undesirable patterns.Read 30 Sep 2026 · github.com
- Security
- The repository lists a security policy, but its security-policy page could not be opened during this research.Read 30 Sep 2026 · github.com
- Support
- The repository provides issue and discussion navigation, but the opened project pages do not state a formal support offering.Read 30 Sep 2026 · github.com
- License
- The software is distributed under the MIT License, which grants permission to use, copy, modify, distribute, sublicense, and sell copies subject to its conditions.Read 30 Sep 2026 · github.com
- Auto-fix
- The command-line tool can fix problems it identifies as auto-fixable using the --fix or -x option.Read 30 Sep 2026 · github.com
- Configuration
- Users can create a .tsqllintrc configuration file, and the tool uses an in-memory default configuration when none is found.Read 30 Sep 2026 · github.com
- Install methods
- The project lists dotnet-tool, Homebrew, and NPM as officially supported installation methods.Read 30 Sep 2026 · github.com
- Plugins
- Users can extend the tool with custom .NET plugins that implement TSQLLint's IPlugin interface and target net6.0.Read 30 Sep 2026 · github.com
- Rule controls
- Rules can be configured as off, warning, or error; violations configured as errors return a non-zero exit code.Read 30 Sep 2026 · github.com
- SQL compatibility
- The configurable SQL Server compatibility levels listed are 80, 90, 100, 110, 120, 130, 140, and 150.Read 30 Sep 2026 · github.com
- SQL placeholders
- Before applying lint rules, TSQLLint replaces SQL file placeholders with values supplied through environment variables.Read 30 Sep 2026 · github.com
- SSMS integration
- The project says SQL Server Management Studio can use TSQLLint through its External Tools feature.Read 30 Sep 2026 · github.com
- VS Code integration
- The VS Code extension activates when a .sql file is opened and underlines potential problems for inspection by hovering.Read 30 Sep 2026 · marketplace.visualstudio.com
Plans and prices
Strong points and limits
Strong points
- Free under the MIT License
- Auto-fixes identified fixable problems
- Configurable off, warning, and error rules
- Custom .NET plugins supported
- Installable through dotnet-tool, Homebrew, or NPM
Limits
- Supports T-SQL only
- Custom plugins must target net6.0
Who it suits
It suits people working with T-SQL scripts who want configurable checks and reports on undesirable patterns. Developers can also use its command-line fixes or editor integration.
Verdict
TSQLLint offers configurable T-SQL checks, command-line fixes, and editor integrations at no cost. Its scope is specifically T-SQL, with custom plugins targeting net6.0.
Where Specifiction places it
- SQL Linters and Formatters#19 of 267.4