From db67bd21d7fe0ad429e73db4094202535706c5b3 Mon Sep 17 00:00:00 2001 From: akshatnema <20bcs022@iiitdmj.ac.in> Date: Thu, 23 Feb 2023 21:48:17 +0530 Subject: [PATCH 1/4] deleted the content of /docs/tools Signed-off-by: akshatnema <20bcs022@iiitdmj.ac.in> --- pages/docs/tools/index.md | 133 +------------------------------------- 1 file changed, 2 insertions(+), 131 deletions(-) diff --git a/pages/docs/tools/index.md b/pages/docs/tools/index.md index b8e7933af37e..e0494db22303 100644 --- a/pages/docs/tools/index.md +++ b/pages/docs/tools/index.md @@ -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) - +We have shifted the Tools List to our new Dashboard. Haven't you checked it out yet 🤗? It's here - [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 tool to this list?** Here's the new way introduced to add your tool in our Dashboard. Check the official Documentation [here](https://github.com/asyncapi/community/blob/master/new-tool-documentation.md). \ No newline at end of file From 5f292d33e2d6bb52684aa9b95e5df7628633acb7 Mon Sep 17 00:00:00 2001 From: akshatnema <20bcs022@iiitdmj.ac.in> Date: Mon, 27 Feb 2023 20:48:14 +0530 Subject: [PATCH 2/4] Tools doc page updated --- pages/docs/tools/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pages/docs/tools/index.md b/pages/docs/tools/index.md index e0494db22303..d4a5e2f3f1af 100644 --- a/pages/docs/tools/index.md +++ b/pages/docs/tools/index.md @@ -31,6 +31,6 @@ ___ ## AsyncAPI Tools List -We have shifted the Tools List to our new Dashboard. Haven't you checked it out yet 🤗? It's here - [AsyncAPI Tools Dashboard](/tools). +We have a great list of AsyncAPI Tools in our website. Check it out here - [AsyncAPI Tools Dashboard](/tools). -**Would you like to add your tool to this list?** Here's the new way introduced to add your tool in our Dashboard. Check the official Documentation [here](https://github.com/asyncapi/community/blob/master/new-tool-documentation.md). \ No newline at end of file +**Would you like to add your tool to this list?** Here's the way to add your tool in our Dashboard. Check the official Documentation [here](https://github.com/asyncapi/community/blob/master/new-tool-documentation.md). \ No newline at end of file From d82c94bb42213988578a70e7cdaa85d25700067d Mon Sep 17 00:00:00 2001 From: Akshat Nema <76521428+akshatnema@users.noreply.github.com> Date: Tue, 28 Feb 2023 09:35:04 +0530 Subject: [PATCH 3/4] Update pages/docs/tools/index.md Co-authored-by: Alejandra Quetzalli --- pages/docs/tools/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/docs/tools/index.md b/pages/docs/tools/index.md index d4a5e2f3f1af..3478ef9bc5e1 100644 --- a/pages/docs/tools/index.md +++ b/pages/docs/tools/index.md @@ -31,6 +31,6 @@ ___ ## AsyncAPI Tools List -We have a great list of AsyncAPI Tools in our website. Check it out here - [AsyncAPI Tools Dashboard](/tools). +[Check out the complete list of AsyncAPI tools in our AsyncAPI Tools Dashboard](/tools). **Would you like to add your tool to this list?** Here's the way to add your tool in our Dashboard. Check the official Documentation [here](https://github.com/asyncapi/community/blob/master/new-tool-documentation.md). \ No newline at end of file From 06fba3f1281837a7eb2e540a60137ba7555a4326 Mon Sep 17 00:00:00 2001 From: Akshat Nema <76521428+akshatnema@users.noreply.github.com> Date: Tue, 28 Feb 2023 09:35:11 +0530 Subject: [PATCH 4/4] Update pages/docs/tools/index.md Co-authored-by: Alejandra Quetzalli --- pages/docs/tools/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/docs/tools/index.md b/pages/docs/tools/index.md index 3478ef9bc5e1..e7e36c4e35b1 100644 --- a/pages/docs/tools/index.md +++ b/pages/docs/tools/index.md @@ -33,4 +33,4 @@ ___ [Check out the complete list of AsyncAPI tools in our AsyncAPI Tools Dashboard](/tools). -**Would you like to add your tool to this list?** Here's the way to add your tool in our Dashboard. Check the official Documentation [here](https://github.com/asyncapi/community/blob/master/new-tool-documentation.md). \ No newline at end of file +**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). \ No newline at end of file