{"repo":"apisyouwonthate/style-guide","free":true,"listed":false,"github":"https://github.com/apisyouwonthate/style-guide","clone":"git clone https://github.com/apisyouwonthate/style-guide.git","description":"A shared and somewhat opinionated style guide for everyone to enjoy.","language":"TypeScript","stars":166,"topics":["api-design","api-design-firs","openapi","rulesets","asyncapi-specification"],"license":null,"category":"api-integrations-sdks","readme_excerpt":"APIs You Won't Hate: API Style Guide Make your APIs \"better\" according to APIs You Won't Hate, with this slick command line tool that'll run on your OpenAPI. Installation Usage Create a local ruleset that extends the style guide. In its most basic form this just tells Spectral what ruleset you want to use, but it will allow you to customise things, add your own rules, turn bits off if its causing trouble. If you're using VS Code or Stoplight Studio then the NPM modules will not be available. Instead you can use the CDN hosted version: Note: You need to use the full URL with CDN hosted rulesets because Spectral cannot follow redirects through extends. Next, use Spectral CLI to lint against your OpenAPI description. Don't have any OpenAPI? Record some HTTP traffic to make OpenAPI and then you can switch to API Design-First going forwards. You should see some output like this, letting you know there are a few more standards you could be using (shout-out to Standards.REST): Now you have some things to work on for your API. Thankfully these are only warnings, which are not going to fail continuous integration (unless you want them to). Backstory You could write your API Style Guide as a giant manifesto and hope people see it, or you could automate your API style guide using a tool like Spectral so that your API Style Guide is enforced at the pull request level. This is an integral part of any successful API Governance program, otherwise you're all just wasting time covering the ba","default_branch":null,"files":null,"tree":[],"storefront":"/r/apisyouwonthate","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/apisyouwonthate/style-guide/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}