Skip to content

Conversation

@asyncapi-bot
Copy link
Contributor

@asyncapi-bot asyncapi-bot commented Sep 8, 2025

Automated changes by create-pull-request GitHub action

Summary by CodeRabbit

  • New Features

    • Added Specmatic to CLIs and Mocking & Testing tool categories.
  • Bug Fixes

    • Updated Compare tools: AsyncAPI Diff (TypeScript, AsyncAPI-owned) and jasyncapicmp (Java, third‑party) now correctly labeled.
    • Adjusted AsyncAPI Studio entries with updated descriptions and repository links for accuracy.
  • Chores

    • Reordered SIO-AsyncAPI within APIs list (no functional change).
    • Removed duplicate Specmatic entries and aligned metadata across categories.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Sep 8, 2025

Walkthrough

Reorders and metadata edits in tool catalogs: SIO-AsyncAPI moved; Code Generators entry toggled between Golang and Python then reverted; Specmatic added across sections (and removed from Code Generators); Compare tools swapped/renamed with ownership flips; AsyncAPI Studio entries changed (descriptions, repos, ownership); Editors in tools.json synced.

Changes

Cohort / File(s) Summary of changes
APIs reordering
config/tools-automated.json
Moved SIO-AsyncAPI within APIs/toolsList without content changes.
Code Generators edits
config/tools-automated.json
Swapped “Golang AsyncAPI Code Generator” to a Python-based entry and later reverted to Golang; transient Specmatic addition then removal to avoid duplication.
Compare tools relabeling
config/tools-automated.json
Renamed/reassigned entries: first to “AsyncAPI Diff” (TypeScript, owner=true), second to “jasyncapicmp” (Java/Maven, owner=false), with URLs updated.
Editors metadata sync
config/tools-automated.json, config/tools.json
AsyncAPI Studio entries toggled descriptions (null/non-null), repo URLs (official vs action-test-bed), and ownership flags; tools.json first/third entries swapped description and repoUrl accordingly.
Mocking/Testing and CLIs additions
config/tools-automated.json
Added Specmatic to Mocking and Testing and to CLIs (Kotlin; Docker/Maven); adjusted related blocks to reduce duplicates.

Sequence Diagram(s)

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Suggested labels

autoapproved, autoupdate

Suggested reviewers

  • derberg
  • akshatnema
  • anshgoyalevil
  • sambhavgupta0705
  • Mayaleeeee

Poem

A nibble of JSON, a hop through the list,
I shuffled the tools in a metadata twist.
Specmatic pops in, then bounds out of the pen,
Studio swaps burrows, then swaps back again.
I twitch my whiskers—catalogs align,
Carrots committed, the tooling’s fine. 🥕🐇

✨ Finishing Touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch update-tools/regenerateTools

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@netlify
Copy link

netlify bot commented Sep 8, 2025

Deploy Preview for asyncapi-website ready!

Name Link
🔨 Latest commit 6e921c0
🔍 Latest deploy log https://app.netlify.com/projects/asyncapi-website/deploys/68be257aef7da50008d3948c
😎 Deploy Preview https://deploy-preview-4399--asyncapi-website.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@codecov
Copy link

codecov bot commented Sep 8, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (cf11f17) to head (6e921c0).
⚠️ Report is 1 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff            @@
##            master     #4399   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files           22        22           
  Lines          778       778           
  Branches       144       144           
=========================================
  Hits           778       778           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@asyncapi-bot asyncapi-bot merged commit 1991a70 into master Sep 8, 2025
34 of 35 checks passed
@asyncapi-bot asyncapi-bot deleted the update-tools/regenerateTools branch September 8, 2025 00:42
@asyncapi-bot
Copy link
Contributor Author

⚡️ Lighthouse report for the changes in this PR:

Category Score
🔴 Performance 35
🟢 Accessibility 98
🟢 Best practices 92
🟢 SEO 100
🔴 PWA 33

Lighthouse ran on https://deploy-preview-4399--asyncapi-website.netlify.app/

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 4

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
config/tools-automated.json (1)

329-345: AsyncAPI Studio points to an unrelated test repo; fix or remove this duplicate.

Linking to Shurtu-gal/action-test-bed under the official “AsyncAPI Studio” name is misleading. Either remove this block or point to the official repo and restore description/ownership.

-        "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"
@@
-          "isAsyncAPIOwner": false
+          "isAsyncAPIOwner": true

If this block represents a different tool, rename the title accordingly instead.

config/tools.json (1)

1-1: Add CI lint validation for config/tools.json and config/tools-automated.json
Multiple issues detected:

  • Duplicate titles (e.g. AsyncAPI CLI, AsyncAPI Studio)
  • Categories outside the allowed enum (CLIs, code-generator, converter, directory, editor)
  • AsyncAPI Studio & CLI entries pointing to non-official repositories

Apply a CI step (using the provided jq script) to enforce unique titles, valid categories, and correct asyncapi/* repo URLs.

🧹 Nitpick comments (2)
config/tools-automated.json (2)

212-229: Normalize casing for language/technology.

Use consistent Title Case to match the rest of the catalog.

-        "title": "asyncapi-python",
+        "title": "asyncapi-python",
         "description": "Easily generate type-safe and async Python applications from AsyncAPI 3 specifications.",
@@
-        "filters": {
-          "language": "python",
+        "filters": {
+          "language": "Python",
           "technology": [
-            "amqp"
+            "AMQP"
           ],

231-243: Use consistent Go language label.

Other entries use “Go” or “Go/Golang”. Pick one (recommend “Go”) across the file.

-        "filters": {
-          "language": "golang",
+        "filters": {
+          "language": "Go",
📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between cf11f17 and 6e921c0.

📒 Files selected for processing (2)
  • config/tools-automated.json (9 hunks)
  • config/tools.json (2 hunks)
⏰ Context from checks skipped due to timeout of 180000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (7)
  • GitHub Check: Redirect rules - asyncapi-website
  • GitHub Check: Header rules - asyncapi-website
  • GitHub Check: Pages changed - asyncapi-website
  • GitHub Check: Automerge PR autoapproved by a bot
  • GitHub Check: Lighthouse CI
  • GitHub Check: Test NodeJS PR - windows-latest
  • GitHub Check: Test NodeJS PR - macos-13
🔇 Additional comments (4)
config/tools-automated.json (3)

367-382: LGTM on restoring the official Studio entry.


676-691: Renaming to “AsyncAPI Diff” with org repo looks good.


694-711: Adding jasyncapicmp entry looks correct.

config/tools.json (1)

1364-1368: LGTM on restoring official Studio repo and description.

Comment on lines +115 to +136
{
"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
}
},
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.

Comment on lines +532 to +553
{
"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
}
},
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).

Comment on lines +718 to +739
{
"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
}
},
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.

Comment on lines +1310 to 1314
"description": null,
"links": {
"websiteUrl": "https://studio.asyncapi.com",
"repoUrl": "https://github.com/asyncapi/studio"
"repoUrl": "https://github.com/Shurtu-gal/action-test-bed"
},
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.

This was referenced Sep 15, 2025
@coderabbitai coderabbitai bot mentioned this pull request Sep 29, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants