Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/j-d-carmichael/boats
Beautiful Open Api Template System
https://github.com/j-d-carmichael/boats
asyncapi openapi
Last synced: about 1 month ago
JSON representation
Beautiful Open Api Template System
- Host: GitHub
- URL: https://github.com/j-d-carmichael/boats
- Owner: j-d-carmichael
- License: mit
- Created: 2019-04-06T21:56:58.000Z (almost 6 years ago)
- Default Branch: main
- Last Pushed: 2024-05-22T10:32:22.000Z (8 months ago)
- Last Synced: 2024-05-22T11:35:46.621Z (8 months ago)
- Topics: asyncapi, openapi
- Language: TypeScript
- Homepage:
- Size: 2.53 MB
- Stars: 56
- Watchers: 3
- Forks: 8
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# BOATS
![Boats](boats.jpg)
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](https://github.com/APIDevTools) or [@asyncapi](https://github.com/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](https://j-d-carmichael.github.io/boats)[Changelog](https://j-d-carmichael.github.io/boats/#/?id=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:
- [Async API](https://github.com/j-d-carmichael/boats/tree/main/init-files/asyncapi)
- [Open API 2](https://github.com/j-d-carmichael/boats/tree/main/init-files/oa2)
- [Open API 3](https://github.com/j-d-carmichael/boats/tree/master/srcOA3)(Refer to the [documentation](https://j-d-carmichael.github.io/boats) for additional features and details.)
## Thanks To
BOATS is nothing without the support of:
- Every [contributor](https://github.com/j-d-carmichael/boats/graphs/contributors) & [issue](https://github.com/j-d-carmichael/boats/issues)!
- [@apidevtools](https://github.com/APIDevTools)
- [@asyncapi](https://github.com/asyncapi)
- [js-yaml](https://github.com/nodeca/js-yaml)
- Mozilla [Nujucks](https://github.com/mozilla/nunjucks)
- Jetbrains [Open Source Development - Community Support](https://www.jetbrains.com/community/opensource/#support)![![Jetbrains](https://resources.jetbrains.com/storage/products/company/brand/logos/jb_beam.svg)](https://www.jetbrains.com/community/opensource/#support) [![GitHub](https://github.githubassets.com/images/modules/dashboard/onboarding/gh-desktop.png)](https://github.com/) [![apidevtools](https://avatars.githubusercontent.com/u/43750074?s=200&v=4)](https://github.com/APIDevTools) [![asyncapi](https://avatars.githubusercontent.com/u/16401334?s=200&v=4)](https://github.com/asyncapi) [![Nujucks](https://avatars.githubusercontent.com/u/131524?s=200&v=4)](https://github.com/mozilla/nunjucks)