vacuum – OpenAPI, AsyncAPI and JSON Schema linter

vacuum is a command-line linter for OpenAPI, AsyncAPI and JSON Schema documents. Developed in Go, it is designed to analyse large API specifications quickly while providing useful feedback about errors, inconsistencies and potential improvements.

The application takes inspiration from Spectral and supports its style of rulesets. Developers can use predefined rules or construct their own to enforce API design guidelines. Checks can cover everything from missing descriptions and inconsistent naming to security problems and questionable schema definitions.

vacuum offers more than conventional linting. Its interactive dashboard allows developers to explore violations without scrolling through large amounts of terminal output, while HTML reports make results easier to share. The application also provides tools for generating API documentation, transforming specifications and working with OpenAPI overlays.

The software can be used interactively, incorporated into continuous integration workflows or embedded as a Go library. It also provides facilities for extending linting behaviour with custom functions.

This is free and open source software.

Key Features

  • Lint OpenAPI, AsyncAPI and JSON Schema documents written in JSON or YAML.
  • Supports Spectral-style rulesets, including custom rules and reusable linting functions.
  • Extensive built-in checks for API descriptions, operations, paths, schemas, security and OWASP recommendations.
  • Create custom checks using Go or JavaScript functions, including asynchronous functions.
  • Interactive terminal dashboard for exploring linting results and rule violations.
  • Generate self-contained HTML reports that can be viewed offline.
  • Produce OpenAPI reference documentation with integrated linting information.
  • Bundle specifications and resolve references spread across multiple files.
  • Apply OpenAPI overlays to modify specifications without changing the original documents.
  • Automatic correction of supported linting problems.
  • Generate rulesets and migrate existing Spectral configurations.
  • Support for pre-commit hooks and automated continuous integration pipelines.
  • Use as a standalone command-line application or integrate its Go library into other software.

Website: github.com/daveshanley/vacuum
Support:
Developer: Dave Shanley
License: MIT License

vacuum is written in Go. Learn Go with our recommended free books and free tutorials.


Related Software

OpenAPI Linters
SpectralFexible JSON/YAML linter
vacuumOpenAPI and Swagger linter
RedoclyAll-in-one OpenAPI utility
CherrybombAudit, validate, run API tests
ZallyMinimalistic, simple-to-use API linter
oasdiffValidate OpenAPI specifications and detect breaking changes
Rate My OpenAPIImprove the quality of your OpenAPI specifications
OpenAPI ValidatorConfigurable and extensible validator/linter
OpenAPI Spec validatorValidates OpenAPI Specs

Read our verdict in the software roundup.


Best Free and Open Source Software LinuxLinks helps you discover the best free and open source software for Linux. Explore our extensive collection of recommended applications, including alternatives to popular proprietary software.

We also publish software reviews, Linux tutorials, hardware reviews, free programming books and articles covering the wider open source community. Browse our Linux resources to discover more.

Know a useful free and open source Linux application we haven't covered? Suggest a program for inclusion.

Has your software been featured on LinuxLinks? Display one of our Featured on LinuxLinks badges on your website or GitHub README.
Subscribe

Please read our Comment Policy before commenting.

Notify of
guest
0 Comments
Oldest
Newest Most Voted