Next generation tools for Web API development. These include
- set of libraries
- a desktop application
- a Web application
aimed at simplifying development of Web APIs.
- edit API (OpenAPI, AsyncAPI) schema
- textual view
- tree-like view
- form-based view
- documentation preview
- support for JSON:API schemas
- visually pleasant interface
- visual presentation of relationships
- infer schema based on data or from existing APIs
- generate schema documentation
- generate client code based on OpenAPI spec
- generate server code based on OpenAPI spec
- generate API playground
- web app
- browser extension
- VSCode extension ?
- Electron app ?
- generate pseudo-random data based on OpenAPI schema
- fake server, like mirage.js or rosie.js
- can be used for benchmarking
- validate given API schema document
- validate data against API schema
- manage schema libraries
- per project / personal / global ?
- best practices
- e.g. HTTP status codes
- pagination
- schemas
- API patterns & templates
If you are a user, you may want to start with downloading command-line tools:
npm install @fresha/openapi-lint
npm install @fresha/openapi-diff
npm install @fresha/openapi-codegen-cli
If you are willing to contribute to api-tools
, great ! :) It is very simple
clone the repository
git clone https://github.com/fresha/api-tools
and build
npm run build
Voila, you are ready to making your first commit.
api-tools
uses Lerna to automate day-to-day tasks. For most common of them,
shortcuts are defined:
npm run build # build
npm run lint:fix # run eslint with auto-fixing on
npm run test # run tests
npm run check:fix # run lint, followed by running tests