Shipped: The Qlty CLI beta
Jan 1, 2025
ᐧ
Bryan Helmkamp
ᐧ
3 min read
Today, we're proud to announce the public beta of the Qlty CLI, a new universal code quality tool for linting, auto-formatting, and metrics that supports 12+ programming languages. This product release is the first big step in our mission to help teams improve their Code Health and reduce the toil of software maintenance.
With the Qlty CLI, you can easily:
Install and run 50+ of the best linters, formatters, and security scanners for every programming and Infrastructure as Code (IaC) language
Adopt new linters and rules without slowing down the development workflow with Git-aware checks that only report new issues in your branch
Identify quality hotspots and refactoring targets using metrics like duplication and complexity
The Qlty CLI is entirely free for any team of any size. It is available for macOS, Linux, and Windows and is public on GitHub under a delayed Open Source publication (DOSP) license.
Challenges of adopting static analysis
To develop and deploy production applications, teams often rely on 10+ programming, IaC, configuration, and markup languages, each with its own intricacies. With so many tools to master, even experienced developers sometimes introduce consistency and correctness issues that can lead to maintainability challenges.
Fortunately, there are tools to help, and many of them are open source. Auto-formatters shift the responsibility for code style from the developer to the computer. Static analyzers exist for every language to catch all manner of maintainability, reliability, and security issues beyond any compiler.
However, many teams today still struggle to adopt static analysis and complain about issues like:
Information overload -- Turning on a new linter or rule results in a firehose of pre-existing issues that no one has time to fix, producing a terrible signal-to-noise ratio and first-run experience
Slow feedback loops -- Analysis is too slow to run locally on every commit, and discovering issues after pushing to GitHub is much slower, resulting in workflow interruptions or ignored findings
Complex and unreliable toolchains — Every linter has a different configuration system and system dependencies, requiring various runtimes and package managers. Installing dozens of open-source static analysis tools consistently across three operating systems and every developer's laptop can quickly exceed the allotted time budget for "Let's set up linting for our Terraform."
The Qlty CLI was built from the ground up to solve all these problems and make it easy for large teams working on polyglot applications to adopt auto-formatting and static analysis.
We've built a system to discover and install 50+ static analysis tools in a sandboxed, cross-platform way. We leverage Git awareness to show you only the new issues introduced by your code changes. Finally, we built a lightning-fast CLI with Rust, with the high performance needed to run as a Git hook without breaking your flow.
Install on macOS, Linux, or Windows
On macOS or Linux:
On Windows:
With the qlty
binary installed, here are some commands to get you started:
What's next
We are excited to be working on one final piece of the puzzle: Using large language models (LLMs) to fix every lint issue safely. In our initial testing, AI successfully generated fixes for 90%+ of lints. When developers can apply fixes with a single keystroke or click, it is a game-changer for issue prevention.
Join our community
Visit our documentation to learn more. Connect with other developers and the Qlty team on Discord. Share your feedback and feature requests on GitHub Discussions.
Written by
Bryan Helmkamp
CEO, Qlty Software