The Cisco OpenAPI ruleset is a project to programatically check conformance of API specification against REST API Guidelines. These guidelines are developed and supported as part of Cisco's internal API experience program.
This module implements a set of lintable REST API best practices, linters can be used validate API Specs in Swagger2 or OAS3 format. The project implements 2 linter rulesets.
These custom rulesets are implemented using Spectral open source linter.
Note: In addition to the above rulesets you may want to consider an "Inclusive Language" analyzer. Check the cisco-open/inclusive-language project for a collection of tools and resources for working on eliminating biased language. See also linter projects like Woke and AlexJS.
npm install @cisco-developer/api-insights-openapi-rulesets
There are two rulesets in this repo, you can choose one of them:
api-insights-openapi-ruleset.js
contract.js
documentation.js
spectral lint -r node_modules/@cisco-developer/api-insights-openapi-rulesets/api-insights-openapi-ruleset.js your-spec.json/yaml
npx spectral lint -r node_modules/@cisco-developer/api-insights-openapi-rulesets/api-insights-openapi-ruleset.js your-spec.json/yaml
Also you can refer to use npm, define your .spectral.yaml
like this:
extends:
- "@cisco-developer/api-insights-openapi-rulesets/api-insights-openapi-ruleset.js"
- "@cisco-developer/api-insights-openapi-rulesets/contract.js"
- "@cisco-developer/api-insights-openapi-rulesets/documentation.js"
If you are interested in this project, check out CONTRIBUTING.md.