-
-
Notifications
You must be signed in to change notification settings - Fork 980
chore: update tools.json #4399
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
chore: update tools.json #4399
Conversation
WalkthroughReorders 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
Sequence Diagram(s)Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Suggested labels
Suggested reviewers
Poem
✨ Finishing Touches🧪 Generate unit tests
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. Comment |
✅ Deploy Preview for asyncapi-website ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
Codecov Report✅ All modified and coverable lines are covered by tests. 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. 🚀 New features to boost your workflow:
|
|
⚡️ Lighthouse report for the changes in this PR:
Lighthouse ran on https://deploy-preview-4399--asyncapi-website.netlify.app/ |
There was a problem hiding this 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": trueIf 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
📒 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.
| { | ||
| "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 | ||
| } | ||
| }, |
There was a problem hiding this comment.
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$' || trueLength 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.
| { | |
| "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": "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 | ||
| } | ||
| }, |
There was a problem hiding this comment.
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.
| { | |
| "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": "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 | ||
| } | ||
| }, |
There was a problem hiding this comment.
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.
| { | |
| "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.
| "description": null, | ||
| "links": { | ||
| "websiteUrl": "https://studio.asyncapi.com", | ||
| "repoUrl": "https://github.com/asyncapi/studio" | ||
| "repoUrl": "https://github.com/Shurtu-gal/action-test-bed" | ||
| }, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
| "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.
Automated changes by create-pull-request GitHub action
Summary by CodeRabbit
New Features
Bug Fixes
Chores