From v0.6.0, RuleSets cans be extended using external rule files, either locally or from a remote URL.

Using local file references

To break RuleSets into local files, use the extends keyword, and supply a list of files to extend.

extends:
  - spectral:oas
  - vacuum:owasp
  - my-ruleset.yaml
  - ../extensions-ruleset.yaml
  - /shared/components-rules.yaml 

Using remote references

Same design as above, however URLs can be used:

extends:
  - spectral:oas
  - vacuum:owasp
  - http://some-url.com/my-ruleset.yaml
  - https://some-where-out-there/some-shared-rules-for-everyone-to-use.yaml 

Chainable RuleSets

RuleSets can be chained together. vacuum will continue loading RuleSets as long as external locations are defined in a RuleSet. Rules are loaded in the order they are defined in each RuleSet.

RuleSets cannot be circular. If a circular reference is detected, vacuum will log the error.