speccy
Enforce quality rules on your OpenApi 3.0.x specifications.
Currently tracking v3.0.0
Usage: speccy <command> [options] <file-or-url>
Options:
-V, --version output the version number
-h, --help output usage information
Commands:
lint [options] <file-or-url> Ensure your OpenAPI files are valid and up to scratch
You'll see output such as:
#/tags/Foo
expected Object { name: 'Foo' } to have property description
This Foo tag needs a description, so people will know what the heck it is!
#/paths/~1rooms~1{room_id}~1reserve~1/post
expected 'Book Room Really fudfgfdhdsafhsad fsad flong fjkdhfsds' to have property length of 10 (got 56)
One of the --rules wework rules, this suggests you keep summary short, and make the description longer!
Features
Rules
By default the default rules are used, but you can create your own rules files to use.
Contributions of rules and rule actions for the linter are very much appreciated.
Tests
To run the test-suite:
npm test
License
BSD-3-Clause except the openapi-3.0.json
schema, which is taken from the OpenAPI-Specification and the alternative gnostic-3.0.json
schema, which is originally from Google Gnostic. Both of these are licensed under the Apache-2 license.