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 | |
|---|---|
| Spectral | Fexible JSON/YAML linter |
| vacuum | OpenAPI and Swagger linter |
| Redocly | All-in-one OpenAPI utility |
| Cherrybomb | Audit, validate, run API tests |
| Zally | Minimalistic, simple-to-use API linter |
| oasdiff | Validate OpenAPI specifications and detect breaking changes |
| Rate My OpenAPI | Improve the quality of your OpenAPI specifications |
| OpenAPI Validator | Configurable and extensible validator/linter |
| OpenAPI Spec validator | Validates OpenAPI Specs |
Read our verdict in the software roundup.
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. |


Please read our Comment Policy before commenting.