Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: deleted ToolsList from /docs/tools #1364

Merged
merged 12 commits into from
Mar 1, 2023
133 changes: 2 additions & 131 deletions pages/docs/tools/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,135 +31,6 @@ ___

## AsyncAPI Tools List

Would you like to add your tool to this list? [Let us know!](https://github.com/asyncapi/website/issues/new/choose)
<!--more-->
[Check out the complete list of AsyncAPI tools in our AsyncAPI Tools Dashboard](/tools).

> Please, before you decide to create a new tool, consider contributing to the existing ones. Thanks!

## Code-first tools

The following is a list of tools that generate AsyncAPI documents from your code.

| Link | Description | Language/Framework |
| :------------- | :------------- | :----------------- |
| [Go AsyncAPI](https://github.com/swaggest/go-asyncapi) | It uses reflection to translate Go structures in JSON Schema definitions and arrange them in AsyncAPI schema. Thanks to [@vearutop](https://github.com/vearutop). | Go
| [Saunter](https://github.com/tehmantra/saunter) | Like [Swashbuckle](https://github.com/domaindrivendev/Swashbuckle.AspNetCore) for AsyncAPI. Generates (and hosts) an AsyncAPI schema document from your code. Thanks to [@tehmantra](https://github.com/tehmantra). | C#/dotnet
| [Java AsyncAPI](https://github.com/Pakisan/java-asyncapi) | This is a code-first tool for AsyncAPI specification | Java, Kotlin
| [Kotlin AsyncAPI](https://github.com/OpenFolder/kotlin-asyncapi) | Kotlin DSL based AsyncAPI documentation framework | Kotlin
| [Springwolf](https://github.com/stavshamir/springwolf) | Like [Springfox](https://github.com/springfox/springfox) for AsyncAPI. Auto-generates an AsyncAPI document and a web UI. | Java, Spring Boot
| [KnstEventBus](https://github.com/d0972058277/KnstEventBus) | AsyncApi code-first tools for c#. Generates document and view. | C#
| [sttp tapir](https://github.com/softwaremill/tapir) | Library for describing HTTP endpoints, and then interpreting them as a server, client, or documentation | Scala
| [EventBridge Atlas](https://github.com/boyney123/eventbridge-atlas) | Tool that translates your AWS EventBridge Schemas into an AsyncAPI document and a web UI | Node
| [Neuroglia AsyncAPI](https://github.com/neuroglia-io/AsyncApi) | Automatically generates and serves AsyncAPI documents based on your code. Includes fluent-builders to create AsyncAPI documents from scratch, and provides a web-based GUI to browse generated documents, | C# / .NET 5.0

## Code Generators

The following is a list of tools that generate code from an AsyncAPI document; not the other way around.

| Link | Description | Language/Framework |
| :------------- | :------------- | :----------------- |
| [AsyncAPI Generator](https://github.com/asyncapi/generator) | Use your AsyncAPI definition to generate literally anything. Markdown documentation, Node.js code, Java code, HTML documentation, anything! **[Click here](https://github.com/search?q=topic%3Aasyncapi+topic%3Agenerator+topic%3Atemplate) to get a list of the existing templates**. | Node.js/Hermes, Java/Spring, Markdown, HTML, and more.
| [Node-RED AsyncAPI plugin](https://github.com/dalelane/node-red-contrib-plugin-asyncapi) | Use your AsyncAPI definition to generate and configure Node-RED nodes. | [Node-RED](https://nodered.org) |
| [MultiAPI Generator](https://github.com/sngular/scs-multiapi-plugin) | Use AsyncAPI definition, several of them at the same time, to generate Spring Cloud code with Maven. | Java/Spring, Maven |
| [asyncapi_gencpp](https://github.com/hatchbed/asyncapi_gencpp) | Use an AsyncAPI definition to generate C++ code for serializing and deserializing components and messages | C++ |

The language you're looking for is not here? You created a new code generator and want to list it here? [Let us know!](https://github.com/asyncapi/asyncapi/issues/new)

## Converters

The following is a list of tools that do not yet belong to any specific category but are also useful for the community.

| Link | Description | Language/Framework |
| :------------- | :------------- | :----------------- |
| [Converter](https://github.com/asyncapi/converter) | Converts old versions of AsyncAPI files into the latest version. | JavaScript
| [Converter Go](https://github.com/asyncapi/converter-go) | Converts old versions of AsyncAPI files into the latest version. Thanks to [@Kyma team](https://kyma-project.io/). | Go
| [AsyncAPI-format](https://github.com/thim81/asyncapi-format) | Format an AsyncAPI document by ordering, casing, formatting, and filtering fields. | NodeJS

## Directories

The following is a list of directories that index public AsyncAPI documents.

| Link | Description | Language/Framework |
| :------------- | :------------- | :----------------- |
| [AsyncAPI-Directory by APIs.guru](https://apis.guru/asyncapi-directory/) | Directory of asynchronous API specifications in AsyncAPI format. Thanks to [@PermittedSoc](https://twitter.com/@Permittedsoc). | N/A
| [API Tracker - AsyncAPI specs](https://apitracker.io/specifications/asyncapi) | Explore APIs and companies with public AsyncAPI specifications. | N/A

## Documentation Generators

The following is a list of tools that generate human-readable documentation from an AsyncAPI document.

| Link | Description | Language/Kind |
| :------------- | :------------- | :------------- |
| [AsyncAPI Generator](https://github.com/asyncapi/generator) | Use your AsyncAPI definition to generate literally anything. Markdown documentation, Node.js code, HTML documentation, anything! **[Click here](https://github.com/search?q=topic%3Aasyncapi+topic%3Agenerator+topic%3Atemplate) to get a list of the existing templates**. | CLI / JavaScript
| [Bump.sh](https://bump.sh) | OpenAPI 2 & 3 / AsyncAPI 2 documentation generator, with automatic changelog and visual diff. | SaaS
| [Widdershins](https://github.com/Mermade/widdershins) | OpenAPI 3.0 / Swagger 2.0 / AsyncAPI 1.0 definition to Slate / Shins compatible markdown. Thanks to [@PermittedSoc](https://twitter.com/@Permittedsoc). | CLI / JavaScript
| [Cupid](https://github.com/asyncapi/cupid) | A library that focuses on finding and analyzing the relationships between AsyncAPI documents. It outputs a map of the system architecture. | JavaScript

## UI components {#UI}

The following is a list of UI components to view AsyncAPI documents.

| Link | Description | Language/Framework |
| :------------- | :------------- | :----------------- |
| [AsyncAPI React](https://github.com/asyncapi/asyncapi-react) | React component for rendering documentation from your specification in real-time in the browser. Thanks to [@Kyma team](https://kyma-project.io/). | JavaScript/React
| [api-diff-viewer](https://github.com/udamir/api-diff-viewer) | React component to view difference between two API specifications. Thanks to [@udamir](https://github.com/udamir). [![Storybook](https://cdn.jsdelivr.net/gh/storybookjs/brand@master/badge/badge-storybook.svg)](https://api-diff-viewer.vercel.app/?path=/story/apidiffviewer--async-api) | JavaScript/React

## DSL

Writing YAML by hand is no fun, and maybe you don't want a GUI, so use a Domain Specific Language to write AsyncAPI in your language of choice.

| Link | Description | Language/Kind |
| :------------- | :------------- | :------------- |
| [BOATS](https://www.npmjs.com/package/boats) | Compile your single AsyncAPI file from multiple YAML files with BOATS and with the help of the template engine Nunjucks, plus a many extra helpers to automate much of the donkey work. The [AsyncAPI Parser](https://github.com/asyncapi/parser-js) is used to validate the output. | CLI / JavaScript |

## Frameworks

The following is a list of API/application frameworks that make use of AsyncAPI.

| Link | Description | Language/Kind |
| :------------- | :------------- | :------------- |
| [Asynction](https://github.com/dedoussis/asynction) | SocketIO server framework driven by the AsyncAPI specification. Asynction guarantees that your API will work in accordance with its AsyncAPI documentation. Built on top of Flask-SocketIO. | Python |

## GitHub Actions

The following is a list of [GitHub Actions](https://github.com/features/actions) that you can use in your workflows:

| Link | Description |
| :------------- | :------------- |
| [AsyncAPI GitHub Action](https://github.com/marketplace/actions/asyncapi-github-action) | This action validates if the AsyncAPI schema file is valid or not.
| [Generator for AsyncAPI documents](https://github.com/marketplace/actions/generator-for-asyncapi-documents) | This action generates whatever you want using your AsyncAPI document. It uses [AsyncAPI Generator](https://github.com/asyncapi/generator).
| [API documentation generation on Bump.sh](https://github.com/marketplace/actions/api-documentation-on-bump) | With this GitHub Action you can automatically generate your API reference (with the changelog and diff) on [Bump.sh](https://bump.sh) from any AsyncAPI file.
| [Automated version bump for AsyncAPI documents](https://github.com/marketplace/actions/automated-version-bump-for-asyncapi) | With this GitHub Action, you can automatically bump the version based on commit messages, which is similar to what semantic-release is for NPM. |

## Mocking and Testing {#mocking}

The tools below take specification documents as input, then publish fake messages to broker destinations for simulation purposes. They may also check that publisher messages are compliant with schemas.

| Link | Description | Language/Kind |
| :------------- | :------------- | :------------- |
| [Microcks](https://microcks.io) | Mocking and testing platform for API and microservices. Turn your AsyncAPI, OpenAPI contract examples, or Postman collections into ready-to-use mocks. Use examples to simulate and validate received messages according to schema elements. | Kubernetes-native, Self-hosted / SaaS, Open Source |
| [Virtualan](https://virtualan.io) | Mocking and testing platform for API and microservices. Allows you to create and setup mocks for OpenAPI and AsyncAPI contracts. Shows how to setup and create AsyncAPI [GitHub Reference Examples](https://github.com/virtualansoftware/AsyncAPI-Virtualization) and OpenAPI [GitHub Reference Examples](https://github.com/virtualansoftware/service-virtualization-openapi). | Kubernetes-native, Self-hosted / SaaS, Open Source |
| [MultiAPI Converter](https://github.com/sngular/scc-multiapi-converter) | Use AsyncAPI definition, to generate Spring Cloud Contract producer validation or consumer stubs, using maven. | [Spring Cloud Contract](https://cloud.spring.io/spring-cloud-contract/spring-cloud-contract-maven-plugin/)

## Validators {#validators}

The following is a list of tools that validate AsyncAPI documents.

| Link | Description | Language/Framework |
| :------------- | :------------- | :----------------- |
| [AsyncAPI Parser](https://github.com/asyncapi/parser-js) | It parses and validates AsyncAPI documents. | JavaScript
| [Check-API](https://github.com/Mermade/check_api) | It allows you to validate a local file or remote URL with a single command-line or programmatic invocation. It returns an exitCode of 0 on success and 1 on failure, making it suitable for use in Continuous Integration environments. Thanks to [@PermittedSoc](https://twitter.com/@Permittedsoc). | JavaScript
| [asyncapi-validator](https://github.com/WaleedAshraf/asyncapi-validator) | It allows you to validate the schema of your messages against your AsyncAPI schema definition. You can use it with Kafka, RabbitMQ or any other messaging/queue. Thanks to [@waleedashraf](https://twitter.com/@waleedashraf01). | JavaScript
| [AsyncAPI Parser](https://github.com/asyncapi/parser) | It parses and validates AsyncAPI documents. | Go
| [Spectral](https://github.com/stoplightio/spectral) | A command-line linter for AsyncAPI & OpenAPI documents. | JavaScript
| [AMF](https://github.com/aml-org/amf) | Unified RAML / OAS / AsyncAPI parser and validator, including linting | ScalaJS / JVM and JS support
| [AsyncAPI Parser Wrapper](https://github.com/AsyncAPITools/parser-java-wrapper) | It parses and validates AsyncAPI documents. | Java

## Compare tools {#diff}

The following is a list of tools that compare AsyncAPI documents.

| Link | Description | Language/Framework |
| :------------- | :------------- | :----------------- |
| [diff](https://github.com/asyncapi/diff) | Diff is a library that compares two AsyncAPI documents and provides information about the differences by pointing out explicitly information like breaking changes. | JavaScript
| [api-smart-diff](https://github.com/udamir/api-smart-diff) | It allows you to compare two API documents and classify changes. Supported API specifications: OpenAPI, AsyncAPI, JsonSchema. Thanks to [@udamir](https://github.com/udamir). | JavaScript
**Would you like to add your AsyncAPI tool to the list?** [Read the docs for adding tools in our AsyncAPI Tools Dashboard.](https://github.com/asyncapi/community/blob/master/new-tool-documentation.md).