vacuum supports AsyncAPI as a first-class document type alongside OpenAPI and JSON Schema.
When vacuum lint sees an AsyncAPI 3 document, it automatically uses the built-in asyncapi-recommended ruleset.
There is no separate command to remember.
Supported versions
vacuum supports AsyncAPI 3 documents.
| AsyncAPI version | Format |
|---|---|
| AsyncAPI 3 | asyncapi3 |
| AsyncAPI 3.1 | asyncapi3_1 |
AsyncAPI 2.x is not supported.
Rulesets
The default ruleset is asyncapi-recommended.
extends: [[vacuum:asyncapi, recommended]]
To run every built-in AsyncAPI rule, use all rules.
extends: [[vacuum:asyncapi, all]]
You can generate ready-to-edit rulesets from the CLI.
Custom AsyncAPI rules
Custom AsyncAPI rules should be scoped with AsyncAPI formats. This keeps OpenAPI, AsyncAPI and JSON Schema rules from crossing into the wrong document model.
rules:
event-messages-need-summary:
description: Messages should have a summary
severity: warn
formats: [asyncapi3]
given: $.components.messages.*
then:
field: summary
function: truthy
Reports and editors
AsyncAPI lint results flow through the same report surfaces as OpenAPI lint results: console output, report,
html-report, spectral-report compatible JSON, and the language server.
bundle, docs and apply-overlay are OpenAPI commands. They reject AsyncAPI documents.
