{"id":21222051,"url":"https://github.com/j-d-carmichael/boats","last_synced_at":"2025-10-11T09:02:00.531Z","repository":{"id":38238721,"uuid":"179890990","full_name":"j-d-carmichael/boats","owner":"j-d-carmichael","description":"Beautiful Open Api Template System","archived":false,"fork":false,"pushed_at":"2024-05-22T10:32:22.000Z","size":2648,"stargazers_count":56,"open_issues_count":2,"forks_count":8,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-05-22T11:35:46.621Z","etag":null,"topics":["asyncapi","openapi"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/j-d-carmichael.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-04-06T21:56:58.000Z","updated_at":"2024-05-22T11:35:49.435Z","dependencies_parsed_at":"2023-12-14T10:35:46.867Z","dependency_job_id":"1bc9ed20-4454-43b6-a47c-d852c15fc350","html_url":"https://github.com/j-d-carmichael/boats","commit_stats":{"total_commits":382,"total_committers":17,"mean_commits":"22.470588235294116","dds":"0.46335078534031415","last_synced_commit":"1111ffcce3722bb52173ffb20c1758c90fa67986"},"previous_names":[],"tags_count":122,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j-d-carmichael%2Fboats","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j-d-carmichael%2Fboats/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j-d-carmichael%2Fboats/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j-d-carmichael%2Fboats/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/j-d-carmichael","download_url":"https://codeload.github.com/j-d-carmichael/boats/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251644262,"owners_count":21620617,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["asyncapi","openapi"],"created_at":"2024-11-20T22:39:01.204Z","updated_at":"2025-10-11T09:01:55.492Z","avatar_url":"https://github.com/j-d-carmichael.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# BOATS\n\n![Boats](boats.jpg)\n\nAn OpenAPI \u0026 AsyncAPI templating system with Nunjucks... write less YAML... do more.\n___\n\n## What is it?\n\nOpenAPI 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).\n\n## Quick start\n1. Initialize a new project: npm init -y\n2. Set up BOATS: npx boats --init (follow the prompts)\n3. Build the project: npm run build (outputs in ./build)\n\n## Docs \u0026 Changelog\n[Full documentation](https://j-d-carmichael.github.io/boats)\n\n[Changelog](https://j-d-carmichael.github.io/boats/#/?id=changelog)\n\n## BOATS CLI\n\nWriting 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:\n\nhttps://www.npmjs.com/package/@acrontum/boats-cli\n\n## Examples\nSimple examples can be found here:\n- [Async API](https://github.com/j-d-carmichael/boats/tree/main/init-files/asyncapi)\n- [Open API 2](https://github.com/j-d-carmichael/boats/tree/main/init-files/oa2)\n- [Open API 3](https://github.com/j-d-carmichael/boats/tree/master/srcOA3)\n\n(Refer to the [documentation](https://j-d-carmichael.github.io/boats) for additional features and details.)\n\n## Thanks To\nBOATS is nothing without the support of:\n- Every [contributor](https://github.com/j-d-carmichael/boats/graphs/contributors) \u0026 [issue](https://github.com/j-d-carmichael/boats/issues)!\n- [@apidevtools](https://github.com/APIDevTools)\n- [@asyncapi](https://github.com/asyncapi)\n- [js-yaml](https://github.com/nodeca/js-yaml)\n- Mozilla [Nujucks](https://github.com/mozilla/nunjucks)\n- Jetbrains [Open Source Development - Community Support](https://www.jetbrains.com/community/opensource/#support)!\n\n\n[![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\u0026v=4)](https://github.com/APIDevTools) [![asyncapi](https://avatars.githubusercontent.com/u/16401334?s=200\u0026v=4)](https://github.com/asyncapi) [![Nujucks](https://avatars.githubusercontent.com/u/131524?s=200\u0026v=4)](https://github.com/mozilla/nunjucks)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fj-d-carmichael%2Fboats","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fj-d-carmichael%2Fboats","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fj-d-carmichael%2Fboats/lists"}