vacuum supports AsyncAPI as a first-class document type alongside OpenAPI and JSON Schema.

vacuum lint events.asyncapi.yaml

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.

vacuum generate-ruleset asyncapi-recommended my-asyncapi-rules

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.