Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
196 changes: 98 additions & 98 deletions config/tools-automated.json
Original file line number Diff line number Diff line change
Expand Up @@ -68,28 +68,6 @@
"isAsyncAPIOwner": false
}
},
{
"title": "SIO-AsyncAPI",
"description": "This is code-first approach to generate AsyncAPI specification from Socket.IO server.",
"links": {
"websiteUrl": "https://github.com/daler-rahimov/sio-asyncapi",
"docsUrl": "https://github.com/daler-rahimov/sio-asyncapi",
"repoUrl": "https://github.com/daler-rahimov/sio-asyncapi"
},
"filters": {
"language": "Python",
"technology": [
"Socket.IO",
"Flask"
],
"categories": [
"code-first",
"api"
],
"hasCommercial": false,
"isAsyncAPIOwner": false
}
},
{
"title": "AsyncAPI.Net",
"description": "The AsyncAPI.NET SDK contains a useful object model for AsyncAPI documents in .NET along with common serializers to extract raw OpenAPI JSON and YAML documents from the model.",
Expand Down Expand Up @@ -134,6 +112,28 @@
"isAsyncAPIOwner": false
}
},
{
"title": "SIO-AsyncAPI",
"description": "This is code-first approach to generate AsyncAPI specification from Socket.IO server.",
"links": {
"websiteUrl": "https://github.com/daler-rahimov/sio-asyncapi",
"docsUrl": "https://github.com/daler-rahimov/sio-asyncapi",
"repoUrl": "https://github.com/daler-rahimov/sio-asyncapi"
},
"filters": {
"language": "Python",
"technology": [
"Socket.IO",
"Flask"
],
"categories": [
"code-first",
"api"
],
"hasCommercial": false,
"isAsyncAPIOwner": false
}
},
Comment on lines +115 to +136
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

🧩 Analysis chain

Duplicate SIO-AsyncAPI entry; confirm intent or de-duplicate categories.

SIO-AsyncAPI appears here under “Code-first tools” and also under “APIs” (Lines 5–26). If cross-listing is not desired, please remove one. If it is desired, at least drop the “api” category here to avoid cross-filter duplication.

Apply if keeping this entry under “Code-first tools”:

         "categories": [
-            "code-first",
-            "api"
+            "code-first"
         ],

Run this to spot duplicate titles and inconsistent categories:


🏁 Script executed:

#!/bin/bash
set -euo pipefail
file=config/tools-automated.json

echo "Duplicate titles:"
jq -r '..|objects|select(has("title"))|.title' "$file" | sort | uniq -d

echo -e "\nNon-standard category values:"
allowed='api code-first converters documentation-generator dsl mocking-and-testing cli github-action compare-tool bundler validator ui-component ide-extension generator-template others framework'
jq -r '..|objects|select(has("filters") and .filters.categories)|.filters.categories[]' "$file" \
 | sort -u | grep -v -E "$(echo "$allowed" | sed 's/ /|/g')"

echo -e "\nEditors pointing to non-official Studio repos:"
jq -r '..|objects|select(.title=="AsyncAPI Studio")|.links.repoUrl' "$file" | grep -v '^https://github.com/asyncapi/studio$' || true

Length of output: 386


De-duplicate SIO-AsyncAPI entry
The script output flags two entries titled “SIO-AsyncAPI” in config/tools-automated.json. Remove one, or if you need to keep both, drop the "api" category from the Code-first listing:

         "categories": [
-            "code-first",
-            "api"
+            "code-first"
         ],
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
{
"title": "SIO-AsyncAPI",
"description": "This is code-first approach to generate AsyncAPI specification from Socket.IO server.",
"links": {
"websiteUrl": "https://github.com/daler-rahimov/sio-asyncapi",
"docsUrl": "https://github.com/daler-rahimov/sio-asyncapi",
"repoUrl": "https://github.com/daler-rahimov/sio-asyncapi"
},
"filters": {
"language": "Python",
"technology": [
"Socket.IO",
"Flask"
],
"categories": [
"code-first",
"api"
],
"hasCommercial": false,
"isAsyncAPIOwner": false
}
},
{
"title": "SIO-AsyncAPI",
"description": "This is code-first approach to generate AsyncAPI specification from Socket.IO server.",
"links": {
"websiteUrl": "https://github.com/daler-rahimov/sio-asyncapi",
"docsUrl": "https://github.com/daler-rahimov/sio-asyncapi",
"repoUrl": "https://github.com/daler-rahimov/sio-asyncapi"
},
"filters": {
"language": "Python",
"technology": [
"Socket.IO",
"Flask"
],
"categories": [
"code-first"
],
"hasCommercial": false,
"isAsyncAPIOwner": false
}
},
🤖 Prompt for AI Agents
In config/tools-automated.json around lines 115 to 136 there are duplicate
entries titled "SIO-AsyncAPI"; remove one of the duplicated objects (or if both
must remain, edit the code-first listing to remove the "api" value from its
"categories" array) so only one entry represents that tool and the categories
are not duplicated.

{
"title": "AsyncAPI.NET",
"description": "The officially maintained fork of the AsyncAPI.NET SDK contains a useful object model for AsyncAPI documents in .NET along with common (de)serializers to extract raw AsyncApi JSON and YAML documents from the model.",
Expand Down Expand Up @@ -209,13 +209,17 @@
}
},
{
"title": "Golang AsyncAPI Code Generator",
"description": "Generate Go user and application boilerplate from AsyncAPI specifications. Can be called from `go generate` without requirements.\n",
"title": "asyncapi-python",
"description": "Easily generate type-safe and async Python applications from AsyncAPI 3 specifications.",
"links": {
"repoUrl": "https://github.com/lerenn/asyncapi-codegen"
"repoUrl": "https://github.com/G-USI/asyncapi-python/",
"websiteUrl": "https://pypi.org/project/asyncapi-python/"
},
"filters": {
"language": "golang",
"language": "python",
"technology": [
"amqp"
],
"categories": [
"code-generator"
],
Expand All @@ -224,17 +228,13 @@
}
},
{
"title": "asyncapi-python",
"description": "Easily generate type-safe and async Python applications from AsyncAPI 3 specifications.",
"title": "Golang AsyncAPI Code Generator",
"description": "Generate Go user and application boilerplate from AsyncAPI specifications. Can be called from `go generate` without requirements.\n",
"links": {
"repoUrl": "https://github.com/G-USI/asyncapi-python/",
"websiteUrl": "https://pypi.org/project/asyncapi-python/"
"repoUrl": "https://github.com/lerenn/asyncapi-codegen"
},
"filters": {
"language": "python",
"technology": [
"amqp"
],
"language": "golang",
"categories": [
"code-generator"
],
Expand Down Expand Up @@ -326,10 +326,10 @@
"toolsList": [
{
"title": "AsyncAPI Studio",
"description": "Visually design your AsyncAPI files and event-driven architecture.",
"description": null,
"links": {
"websiteUrl": "https://studio.asyncapi.com",
"repoUrl": "https://github.com/asyncapi/studio"
"repoUrl": "https://github.com/Shurtu-gal/action-test-bed"
},
"filters": {
"technology": [
Expand All @@ -340,7 +340,7 @@
"editor"
],
"hasCommercial": false,
"isAsyncAPIOwner": true
"isAsyncAPIOwner": false
}
},
{
Expand All @@ -364,10 +364,10 @@
},
{
"title": "AsyncAPI Studio",
"description": null,
"description": "Visually design your AsyncAPI files and event-driven architecture.",
"links": {
"websiteUrl": "https://studio.asyncapi.com",
"repoUrl": "https://github.com/Shurtu-gal/action-test-bed"
"repoUrl": "https://github.com/asyncapi/studio"
},
"filters": {
"technology": [
Expand All @@ -378,7 +378,7 @@
"editor"
],
"hasCommercial": false,
"isAsyncAPIOwner": false
"isAsyncAPIOwner": true
}
}
]
Expand Down Expand Up @@ -529,6 +529,28 @@
"Mocking and Testing": {
"description": "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.",
"toolsList": [
{
"title": "Specmatic",
"description": "Transform your API Specs into Executable Contracts with #NoCode in Seconds. Experience the power of Contract-Driven Development to confidently develop and independently deploy your Microservices and Microfrontends faster",
"links": {
"websiteUrl": "https://specmatic.io",
"docsUrl": "https://specmatic.io/documentation/",
"repoUrl": "https://github.com/specmatic/specmatic"
},
"filters": {
"language": "kotlin",
"technology": [
"Docker",
"maven"
],
"categories": [
"mocking-and-testing",
"CLIs"
],
"hasCommercial": true,
"isAsyncAPIOwner": false
}
},
Comment on lines +532 to +553
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

Specmatic: fix casing and category value (“CLIs” → “cli”).

Align with taxonomy used elsewhere.

-        "title": "Specmatic",
+        "title": "Specmatic",
@@
-        "filters": {
-          "language": "kotlin",
+        "filters": {
+          "language": "Kotlin",
           "technology": [
             "Docker",
-            "maven"
+            "Maven"
           ],
           "categories": [
             "mocking-and-testing",
-            "CLIs"
+            "cli"
           ],
           "hasCommercial": true,
           "isAsyncAPIOwner": false
         }
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
{
"title": "Specmatic",
"description": "Transform your API Specs into Executable Contracts with #NoCode in Seconds. Experience the power of Contract-Driven Development to confidently develop and independently deploy your Microservices and Microfrontends faster",
"links": {
"websiteUrl": "https://specmatic.io",
"docsUrl": "https://specmatic.io/documentation/",
"repoUrl": "https://github.com/specmatic/specmatic"
},
"filters": {
"language": "kotlin",
"technology": [
"Docker",
"maven"
],
"categories": [
"mocking-and-testing",
"CLIs"
],
"hasCommercial": true,
"isAsyncAPIOwner": false
}
},
{
"title": "Specmatic",
"description": "Transform your API Specs into Executable Contracts with #NoCode in Seconds. Experience the power of Contract-Driven Development to confidently develop and independently deploy your Microservices and Microfrontends faster",
"links": {
"websiteUrl": "https://specmatic.io",
"docsUrl": "https://specmatic.io/documentation/",
"repoUrl": "https://github.com/specmatic/specmatic"
},
"filters": {
"language": "Kotlin",
"technology": [
"Docker",
"Maven"
],
"categories": [
"mocking-and-testing",
"cli"
],
"hasCommercial": true,
"isAsyncAPIOwner": false
}
},
🤖 Prompt for AI Agents
In config/tools-automated.json around lines 532 to 553, update the categories
value and casing to match the project taxonomy: change the "CLIs" entry in the
"categories" array to "cli", and normalize the tool metadata casing to match
other entries (ensure the "title" uses the same capitalization convention as
other tool titles).

{
"title": "ZenWave SDK",
"description": "DDD and API-First for Event-Driven Microservices",
Expand Down Expand Up @@ -577,28 +599,6 @@
"hasCommercial": false,
"isAsyncAPIOwner": false
}
},
{
"title": "Specmatic",
"description": "Transform your API Specs into Executable Contracts with #NoCode in Seconds. Experience the power of Contract-Driven Development to confidently develop and independently deploy your Microservices and Microfrontends faster",
"links": {
"websiteUrl": "https://specmatic.io",
"docsUrl": "https://specmatic.io/documentation/",
"repoUrl": "https://github.com/specmatic/specmatic"
},
"filters": {
"language": "kotlin",
"technology": [
"Docker",
"maven"
],
"categories": [
"mocking-and-testing",
"CLIs"
],
"hasCommercial": true,
"isAsyncAPIOwner": false
}
}
]
},
Expand Down Expand Up @@ -673,48 +673,70 @@
"description": "The following is a list of tools that compare AsyncAPI documents.",
"toolsList": [
{
"title": "jasyncapicmp",
"description": "Tool for comparing two AsyncAPI versions and evaluating compatibility.",
"title": "AsyncAPI Diff",
"description": "Diff is a library that compares two AsyncAPI Documents and provides information about the differences by pointing out explicitly information like breaking changes.",
"links": {
"websiteUrl": "https://siom79.github.io/jasyncapicmp/",
"docsUrl": "https://github.com/siom79/jasyncapicmp",
"repoUrl": "https://github.com/siom79/jasyncapicmp"
"repoUrl": "https://github.com/asyncapi/diff"
},
"filters": {
"language": "Java",
"language": "TypeScript",
"technology": [
"Maven"
"TypeScript"
],
"categories": [
"compare-tool"
],
"hasCommercial": false,
"isAsyncAPIOwner": false
"isAsyncAPIOwner": true
}
},
{
"title": "AsyncAPI Diff",
"description": "Diff is a library that compares two AsyncAPI Documents and provides information about the differences by pointing out explicitly information like breaking changes.",
"title": "jasyncapicmp",
"description": "Tool for comparing two AsyncAPI versions and evaluating compatibility.",
"links": {
"repoUrl": "https://github.com/asyncapi/diff"
"websiteUrl": "https://siom79.github.io/jasyncapicmp/",
"docsUrl": "https://github.com/siom79/jasyncapicmp",
"repoUrl": "https://github.com/siom79/jasyncapicmp"
},
"filters": {
"language": "TypeScript",
"language": "Java",
"technology": [
"TypeScript"
"Maven"
],
"categories": [
"compare-tool"
],
"hasCommercial": false,
"isAsyncAPIOwner": true
"isAsyncAPIOwner": false
}
}
]
},
"CLIs": {
"description": "The following is a list of tools that you can work with in terminal or do some CI/CD automation.",
"toolsList": [
{
"title": "Specmatic",
"description": "Transform your API Specs into Executable Contracts with #NoCode in Seconds. Experience the power of Contract-Driven Development to confidently develop and independently deploy your Microservices and Microfrontends faster",
"links": {
"websiteUrl": "https://specmatic.io",
"docsUrl": "https://specmatic.io/documentation/",
"repoUrl": "https://github.com/specmatic/specmatic"
},
"filters": {
"language": "kotlin",
"technology": [
"Docker",
"maven"
],
"categories": [
"mocking-and-testing",
"CLIs"
],
"hasCommercial": true,
"isAsyncAPIOwner": false
}
},
Comment on lines +718 to +739
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

Specmatic (CLIs section): fix casing and category taxonomy.

Mirror the fixes suggested above for the Mocking and Testing section.

-        "filters": {
-          "language": "kotlin",
+        "filters": {
+          "language": "Kotlin",
           "technology": [
             "Docker",
-            "maven"
+            "Maven"
           ],
           "categories": [
             "mocking-and-testing",
-            "CLIs"
+            "cli"
           ],
           "hasCommercial": true,
           "isAsyncAPIOwner": false
         }
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
{
"title": "Specmatic",
"description": "Transform your API Specs into Executable Contracts with #NoCode in Seconds. Experience the power of Contract-Driven Development to confidently develop and independently deploy your Microservices and Microfrontends faster",
"links": {
"websiteUrl": "https://specmatic.io",
"docsUrl": "https://specmatic.io/documentation/",
"repoUrl": "https://github.com/specmatic/specmatic"
},
"filters": {
"language": "kotlin",
"technology": [
"Docker",
"maven"
],
"categories": [
"mocking-and-testing",
"CLIs"
],
"hasCommercial": true,
"isAsyncAPIOwner": false
}
},
{
"title": "Specmatic",
"description": "Transform your API Specs into Executable Contracts with #NoCode in Seconds. Experience the power of Contract-Driven Development to confidently develop and independently deploy your Microservices and Microfrontends faster",
"links": {
"websiteUrl": "https://specmatic.io",
"docsUrl": "https://specmatic.io/documentation/",
"repoUrl": "https://github.com/specmatic/specmatic"
},
"filters": {
"language": "Kotlin",
"technology": [
"Docker",
"Maven"
],
"categories": [
"mocking-and-testing",
"cli"
],
"hasCommercial": true,
"isAsyncAPIOwner": false
}
},
🤖 Prompt for AI Agents
In config/tools-automated.json around lines 718 to 739, fix inconsistent casing
and taxonomy: change "language": "kotlin" to "Kotlin", change "maven" to "Maven"
in the technology array, and update the categories to follow the canonical
taxonomy (use kebab-case and the established keys) by replacing "CLIs" with the
correct category key (e.g., "cli-tools") while keeping "mocking-and-testing";
ensure the rest of the object keys/values remain unchanged.

{
"title": "ZenWave SDK",
"description": "DDD and API-First for Event-Driven Microservices",
Expand Down Expand Up @@ -783,28 +805,6 @@
"isAsyncAPIOwner": false
}
},
{
"title": "Specmatic",
"description": "Transform your API Specs into Executable Contracts with #NoCode in Seconds. Experience the power of Contract-Driven Development to confidently develop and independently deploy your Microservices and Microfrontends faster",
"links": {
"websiteUrl": "https://specmatic.io",
"docsUrl": "https://specmatic.io/documentation/",
"repoUrl": "https://github.com/specmatic/specmatic"
},
"filters": {
"language": "kotlin",
"technology": [
"Docker",
"maven"
],
"categories": [
"mocking-and-testing",
"CLIs"
],
"hasCommercial": true,
"isAsyncAPIOwner": false
}
},
{
"title": "AsyncAPI CLI",
"description": "One CLI to rule them all. \nThis is a CLI that aims to integrate all AsyncAPI tools that you need while AsyncAPI document development and maintainance. \nYou can use it to generate docs or code, validate AsyncAPI document and event create new documents.\n",
Expand Down
8 changes: 4 additions & 4 deletions config/tools.json
Original file line number Diff line number Diff line change
Expand Up @@ -1307,10 +1307,10 @@
"toolsList": [
{
"title": "AsyncAPI Studio",
"description": "Visually design your AsyncAPI files and event-driven architecture.",
"description": null,
"links": {
"websiteUrl": "https://studio.asyncapi.com",
"repoUrl": "https://github.com/asyncapi/studio"
"repoUrl": "https://github.com/Shurtu-gal/action-test-bed"
},
Comment on lines +1310 to 1314
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

AsyncAPI Studio entry incorrectly points to a test-bed repo; revert to official.

This is user-facing and could confuse readers.

-        "description": null,
+        "description": "Visually design your AsyncAPI files and event-driven architecture.",
@@
-          "repoUrl": "https://github.com/Shurtu-gal/action-test-bed"
+          "repoUrl": "https://github.com/asyncapi/studio"

Also consider removing extra duplicate Studio entries if they do not represent distinct tools.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"description": null,
"links": {
"websiteUrl": "https://studio.asyncapi.com",
"repoUrl": "https://github.com/asyncapi/studio"
"repoUrl": "https://github.com/Shurtu-gal/action-test-bed"
},
"description": "Visually design your AsyncAPI files and event-driven architecture.",
"links": {
"websiteUrl": "https://studio.asyncapi.com",
"repoUrl": "https://github.com/asyncapi/studio"
},
🤖 Prompt for AI Agents
In config/tools.json around lines 1310 to 1314 the AsyncAPI Studio tool entry
incorrectly points repoUrl to a test-bed repository; replace the repoUrl with
the official AsyncAPI Studio repository URL (e.g., the official AsyncAPI/Studio
repo) and verify websiteUrl/description match the official product; also scan
nearby entries for duplicate AsyncAPI Studio records and remove or consolidate
any duplicates so only the correct official entry remains.

"filters": {
"language": [],
Expand Down Expand Up @@ -1361,10 +1361,10 @@
},
{
"title": "AsyncAPI Studio",
"description": null,
"description": "Visually design your AsyncAPI files and event-driven architecture.",
"links": {
"websiteUrl": "https://studio.asyncapi.com",
"repoUrl": "https://github.com/Shurtu-gal/action-test-bed"
"repoUrl": "https://github.com/asyncapi/studio"
},
"filters": {
"language": [],
Expand Down
Loading