arazzo-recommended is the default ruleset when vacuum lint detects an Arazzo 1.0
or 1.1 document.
It’s 16 rules. Nine of them prove the workflow is correct, one tells you when vacuum couldn’t check something, and six keep the workflow readable for the humans (and agents) who have to use it.
To explicitly extend it from your own ruleset, use vacuum:arazzo.
extends: [[vacuum:arazzo, recommended]]
arazzo-recommended and spectral:arazzo are accepted in place of vacuum:arazzo. All three select the same native rules.
Rules
| Rule | Severity | Function |
|---|---|---|
| arazzo-structure | error | arazzoDocument |
| arazzo-duplicate-id | error | arazzoDocument |
| arazzo-reference | error | arazzoDocument |
| arazzo-parameter | error | arazzoDocument |
| arazzo-expression | error | arazzoDocument |
| arazzo-selector | error | arazzoDocument |
| arazzo-dependency | error | arazzoDocument |
| arazzo-input-schema | error | arazzoDocument |
| arazzo-source-type | error | arazzoDocument |
| arazzo-validation-incomplete | warn | arazzoDocument |
| arazzo-info-description | warn | truthy |
| arazzo-workflow-description | warn | truthy |
| arazzo-step-description | warn | truthy |
| arazzo-no-script-tags-in-markdown | warn | pattern |
| arazzo-info-summary | hint | truthy |
| arazzo-workflow-summary | hint | truthy |
Two more rules, arazzo-advisory and arazzo-step-operationPath, are opinionated authoring advice. They only run in
the all Arazzo rules ruleset, or with --hard-mode.
Example
Change a severity, switch a rule off, or add your own.
extends: [[vacuum:arazzo, recommended]]
rules:
arazzo-validation-incomplete: error
arazzo-info-summary: off
Run it with the normal --ruleset flag.
Start from nothing
Use off to disable everything, then enable rules one at a time.
extends: [[vacuum:arazzo, off]]
rules:
arazzo-reference: true
Generate the ruleset
Want the whole thing as a file you can edit?
RuleSet generated for 'arazzo-recommended', written to 'my-arazzo-rules-arazzo-recommended.yaml'
Coming from Spectral?
spectral:arazzo selects the rules on this page. It does not run Spectral’s JavaScript rule functions, so semantic rule
IDs and messages are vacuum’s own. Read the migration notes.
