vacuum is an ultra-super-fast, lightweight OpenAPI linter and quality checking tool, inspired by Spectral.

It’s also compatible with existing Spectral rulesets and generates compatible Spectral reports.

vacuum can suck all the lint of a 5mb OpenAPI spec in about 250ms.

Designed to reliably lint OpenAPI specifications, very, very quickly. Including very large ones. Spectral. can be quite slow when used as an API and does not scale for enterprise applications.

vacuum will tell you what is wrong with your spec, why, where and how to fix it. It will work at scale and is designed as a CLI (with a UI) and a library to be consumed in other applications.

Why does it exist?

When I worked at VMware, We needed a quality linter to start understanding just how well the API landscape held up across the company.

There were thousands of different OpenAPI specs, across a large number of business units. It was my job to try and make sense of it all.

Spectral was the only credible linter available at the time to build on top of, Which is great, because spectral does a good job, except for one thing…

Spectral is really slow against large and multiple specs.

We need a faster linter

We needed something compiled and fast, even Java would have been too slow.

I was talking to my colleague Steve Trefethen about this major pain point with our engineering capability one day, particularly how slow Spectral was when trying to operate it as a service.

Steve Said:

“What we really need is a drop in replacement for Spectral”

I said:

“I am going to build it.”

So I did.

World’s fastest OpenAPI linter.

vacuum is much, much faster than both Spectral and ReDocly.

It’s faster because it’s written in golang, it’s multi-threaded and uses an index for complex rules.

It’s also been designed as a golang library from the ground up.

What makes vacuum different?

It’s been designed with enterprise & large scale use, as well as having a console UI, a rad, interactive HTML report as well as a ‘vacuum sealed report’ that allows re-rendering of any report in time, without losing any fidelity or re-running new logic that could change results.

Origin story

Read more about the origin story behind vacuum.