j-d-carmichael / boats

Beautiful Open Api Template System
MIT License
57 stars 8 forks source link
asyncapi openapi

BOATS

Boats

An OpenAPI & AsyncAPI templating system with Nunjucks... write less YAML... do more.


What is it?

OpenAPI and AsyncAPI are great, writing yaml is fast... however, there is a lot of copy/paste required. Additionally, managing many routes in a single file is painful. BOATS allows you to reduce the copy and pasting with many built in helpers while at the same time breaking the 1 larger file down into many small files. The output from BOATS is also validated via @apidevtools or @asyncapi.

Quick start

  1. Initialize a new project: npm init -y
  2. Set up BOATS: npx boats --init (follow the prompts)
  3. Build the project: npm run build (outputs in ./build)

Docs & Changelog

Full documentation

Changelog

BOATS CLI

Writing yaml files for BOATS is easier than managing a single file, but to make writing BOATS yml files even easier... there is now a BOATS CLI tool:

https://www.npmjs.com/package/@acrontum/boats-cli

Examples

Simple examples can be found here:

(Refer to the documentation for additional features and details.)

Thanks To

BOATS is nothing without the support of:

Jetbrains GitHub apidevtools asyncapi Nujucks