-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
chore: update tools.json #4879
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 #4879
Conversation
✅ Deploy Preview for asyncapi-website ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
📝 WalkthroughWalkthroughConfiguration updates across three JSON files swap language and technology tag names, exchange tool entries and repository URLs, and refresh tool descriptions without functional code changes. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Possibly related PRs
Suggested labels
Suggested reviewers
Poem
Pre-merge checks❌ Failed checks (1 inconclusive)
✅ Passed checks (2 passed)
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 |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #4879 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 22 22
Lines 798 798
Branches 146 146
=========================================
Hits 798 798 ☔ 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-4879--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: 2
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (5)
config/tools.json (2)
1375-1428: Remove test/personal repository entries from Editors section.Lines 1380 and 1407 contain AsyncAPI Studio entries with personal/test repository URLs (
TahaShahid203/async-api-issueandShurtu-gal/action-test-bed). These entries appear in bothtools.jsonandtools-automated.json, suggesting a systematic issue with the automated tool generation process.The AI summary mentions repository URL swaps between these two entries, but this doesn't explain why personal repositories are present in the first place. The automated regeneration process should filter out non-official repositories.
2846-2925: Remove duplicate HTML Template entries and consolidate to official repository only.The automated tool discovery process is indexing three HTML Template entries:
asyncapi/html-template(official, 86 stars, full description)WSOL12/html-template(personal fork, 1 star, no description)dipaksodani/async-gen(personal repo, 0 stars, no description)This creates user confusion about which is the official tool. The community repositories were automatically discovered because they contain
.asyncapi-toolfiles, but they should not appear alongside the official template without clear differentiation or removal. Consider either:
- Removing the
.asyncapi-toolfiles from personal repositories to prevent auto-indexing- Adding descriptions to personal repos and relocating them to a separate "community templates" category
- Filtering the build script to exclude low-engagement repositories (< 5 stars) from community tools
config/tools-automated.json (3)
980-1055: Remove duplicate HTML Template entries with personal repository URLs.Three HTML Template entries exist in the configuration. While the official
asyncapi/html-templateis correct, entries at lines 983 and 1042 point to personal repositories (WSOL12/html-templateanddipaksodani/async-gen) with null descriptions. These unofficial forks should be removed to prevent users from being directed away from the official template.
368-405: Remove test/personal and fork repository entries; deduplicate official tools.The configuration contains multiple production data quality issues:
AsyncAPI Studio (lines 373, 392): Two entries point to personal/test repositories (
TahaShahid203/async-api-issueandShurtu-gal/action-test-bed) instead of the official https://github.com/asyncapi/studioAsyncAPI CLI (lines 835, 1121): Duplicate entries both pointing to a personal fork (
hkirat/asyncapi-fork) instead of the official repository. Both are markedisAsyncAPIOwner: falseasyncapi-preview (line 920): VSCode extension entry points to a test repository (
Savio629/testing2) instead of an official sourceThese entries should either be removed or corrected to reference official repositories to prevent users from being directed to unofficial/test codebases.
740-849: Remove duplicate AsyncAPI CLI entry with fork repository.The CLIs section contains two AsyncAPI CLI entries: the official one (index 0,
asyncapi/cli) withisAsyncAPIOwner=true, and a second entry (index 4,hkirat/asyncapi-fork) withisAsyncAPIOwner=false. The fork repository URL references a personal fork and is redundant; it also appears in the "Others" section. Remove both occurrences of the fork entry.
📜 Review details
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (3)
config/all-tags.jsonconfig/tools-automated.jsonconfig/tools.json
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2025-01-19T04:51:41.255Z
Learnt from: anshgoyalevil
Repo: asyncapi/website PR: 3557
File: tests/fixtures/markdown/check-edit-links-data.js:3-11
Timestamp: 2025-01-19T04:51:41.255Z
Learning: In the AsyncAPI website repository, the test data in `tests/fixtures/markdown/check-edit-links-data.js` intentionally includes inconsistent paths (with and without 'docs' prefix) to verify the script's ability to normalize and handle ambiguous path structures.
Applied to files:
config/tools.json
⏰ 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: Automerge PR autoapproved by a bot
- GitHub Check: Redirect rules - asyncapi-website
- GitHub Check: Header rules - asyncapi-website
- GitHub Check: Pages changed - asyncapi-website
- GitHub Check: cypress-run
- GitHub Check: Test NodeJS PR - windows-latest
- GitHub Check: Lighthouse CI
🔇 Additional comments (2)
config/tools-automated.json (1)
33-51: LGTM! ChanX tool entry properly updated.The metadata updates for ChanX including description, documentation URL, and filter properties are consistent and accurate.
config/all-tags.json (1)
216-223: No action required: No swap detected between FastAPI and TypeScript.TypeScript legitimately appears in both the
languagessection (line 39) andtechnologiessection (line 221) ofconfig/all-tags.jsonwith different color schemes — this is intentional, not a swap. FastAPI is correctly positioned in the technologies section. The shared color scheme (bg-[#61d0f2]) among FastAPI, TypeScript (in technologies), Django, Kotlin, Socket.IO, Liquid, Gradle, and amqp is a deliberate design choice for visual grouping, not a corruption issue. Additionally, no tools in the codebase currently reference FastAPI or TypeScript as technology tags, so no filtering issues exist.
| "name": "AsyncAPI Generator", | ||
| "color": "bg-[#61d0f2]", | ||
| "borderColor": "border-[#40ccf7]" | ||
| }, | ||
| { | ||
| "name": "AsyncAPI Generator", | ||
| "name": "AsyncAPI CLI", | ||
| "color": "bg-[#61d0f2]", | ||
| "borderColor": "border-[#40ccf7]" |
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.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Check which tools reference AsyncAPI Generator and AsyncAPI CLI
echo "=== Tools using 'AsyncAPI Generator' technology tag ==="
jq -r '.tools[] | select(.technology[]? | select(. == "AsyncAPI Generator")) | .title' config/tools.json config/tools-automated.json 2>/dev/null | sort -u
echo -e "\n=== Tools using 'AsyncAPI CLI' technology tag ==="
jq -r '.tools[] | select(.technology[]? | select(. == "AsyncAPI CLI")) | .title' config/tools.json config/tools-automated.json 2>/dev/null | sort -u
# Also check all-tags.json to see the tag definitions
echo -e "\n=== Tag definitions in all-tags.json ==="
jq '.[] | select(.name == "AsyncAPI Generator" or .name == "AsyncAPI CLI") | {name, color, borderColor}' config/all-tags.jsonRepository: asyncapi/website
Length of output: 304
🏁 Script executed:
#!/bin/bash
# Check structure of all-tags.json
echo "=== First 30 lines of all-tags.json ==="
head -30 config/all-tags.json
echo -e "\n=== Check if it's an array or object ==="
jq 'type' config/all-tags.json
echo -e "\n=== First tool entry in tools.json ==="
jq '.tools[0]' config/tools.json 2>/dev/null | head -40
echo -e "\n=== Verify tools.json exists and is readable ==="
wc -l config/tools.json config/tools-automated.json 2>/dev/nullRepository: asyncapi/website
Length of output: 936
🏁 Script executed:
#!/bin/bash
# Check the structure and find AsyncAPI tags
echo "=== Technologies section of all-tags.json (showing AsyncAPI entries) ==="
jq '.technologies[] | select(.name | contains("AsyncAPI")) | {name, color, borderColor}' config/all-tags.json
echo -e "\n=== Root keys in tools.json ==="
jq 'keys' config/tools.json | head -50
echo -e "\n=== Check for AsyncAPI references in tools.json ==="
jq '.[] | select(.technologies[]? | select(. | contains("AsyncAPI"))) | .title' config/tools.json 2>/dev/null | head -20
echo -e "\n=== Root structure of tools-automated.json ==="
jq 'type' config/tools-automated.json
jq 'keys | length' config/tools-automated.jsonRepository: asyncapi/website
Length of output: 816
🏁 Script executed:
#!/bin/bash
# Search through all categories in tools.json for AsyncAPI references
echo "=== Tools with AsyncAPI technologies in tools.json ==="
jq -r '
to_entries[] |
.value[] |
select(.technologies[]? != null) |
select(.technologies | map(select(. | contains("AsyncAPI"))) | length > 0) |
"\(.title) - Technologies: \(.technologies | @json)"
' config/tools.json | head -50
echo -e "\n=== Tools with AsyncAPI technologies in tools-automated.json ==="
jq -r '
.[] |
select(.technologies[]? != null) |
select(.technologies | map(select(. | contains("AsyncAPI"))) | length > 0) |
"\(.title) - Technologies: \(.technologies | @json)"
' config/tools-automated.json | head -50
# Also look at the AsyncAPI Generator Templates category specifically
echo -e "\n=== AsyncAPI Generator Templates category ==="
jq '.["AsyncAPI Generator Templates"][] | .title' config/tools.jsonRepository: asyncapi/website
Length of output: 409
🏁 Script executed:
#!/bin/bash
# Let's examine the actual structure more carefully
echo "=== Examining tools.json structure around CLIs section ==="
jq '.CLIs | type' config/tools.json
jq '.CLIs | length' config/tools.json
echo -e "\n=== First few CLI entries ==="
jq '.CLIs[0:2]' config/tools.json
echo -e "\n=== Search for AsyncAPI in tools.json using rg ==="
rg -A5 -B5 "AsyncAPI (CLI|Generator)" config/tools.json | head -100
echo -e "\n=== Check tools-automated.json keys ==="
jq 'keys' config/tools-automated.jsonRepository: asyncapi/website
Length of output: 4255
🏁 Script executed:
#!/bin/bash
# Check lines 281-288 in all-tags.json
echo "=== Lines 280-295 of all-tags.json ==="
sed -n '280,295p' config/all-tags.json
echo -e "\n=== Find all AsyncAPI entries in all-tags.json ==="
rg -n "AsyncAPI" config/all-tags.json
echo -e "\n=== Check the unique colors used for AsyncAPI tags ==="
jq '.technologies[] | select(.name | contains("AsyncAPI")) | {name, color, borderColor}' config/all-tags.json | sort | uniq -cRepository: asyncapi/website
Length of output: 805
Color styling conflict for distinct AsyncAPI tools.
Lines 281-283 (AsyncAPI Generator) and 286-288 (AsyncAPI CLI) both use identical color values (bg-[#61d0f2] and border-[#40ccf7]). These are distinct tools with different purposes and should have distinct visual styling to avoid UI confusion when filtering by technology.
🤖 Prompt for AI Agents
config/all-tags.json lines 281-288: both "AsyncAPI Generator" (281-283) and
"AsyncAPI CLI" (286-288) use identical color values causing visual confusion;
update the "AsyncAPI CLI" entry to use a distinct background and borderColor
(for example change bg-[#61d0f2] to a different hex like bg-[#9be3ff] and
border-[#40ccf7] to border-[#66dfff] or choose another accessible color pair),
ensure the new colors maintain sufficient contrast and fit the existing palette,
and run a quick UI check to confirm the two AsyncAPI items are visually
distinguishable.
| "title": "GitHub Action for Generator", | ||
| "description": "CLI to work with your AsyncAPI files. You can validate them and in the future use a generator and even bootstrap a new file. Contributions are welcomed!", | ||
| "links": { | ||
| "repoUrl": "https://github.com/actions-marketplace-validations/asyncapi_github-action-for-generator" | ||
| "repoUrl": "https://github.com/asyncapi/cli" | ||
| }, | ||
| "filters": { | ||
| "technology": [ | ||
| "AsyncAPI CLI" | ||
| "AsyncAPI Generator" | ||
| ], | ||
| "categories": [ | ||
| "github-action" | ||
| "github-actions" | ||
| ], | ||
| "hasCommercial": false, | ||
| "isAsyncAPIOwner": false | ||
| "isAsyncAPIOwner": true | ||
| } | ||
| }, | ||
| { | ||
| "title": "GitHub Action for Generator", | ||
| "description": "CLI to work with your AsyncAPI files. You can validate them and in the future use a generator and even bootstrap a new file. Contributions are welcomed!", | ||
| "title": "GitHub Action for CLI", | ||
| "description": null, | ||
| "links": { | ||
| "repoUrl": "https://github.com/asyncapi/cli" | ||
| "repoUrl": "https://github.com/actions-marketplace-validations/asyncapi_github-action-for-generator" | ||
| }, | ||
| "filters": { | ||
| "technology": [ | ||
| "AsyncAPI Generator" | ||
| "AsyncAPI CLI" | ||
| ], | ||
| "categories": [ | ||
| "github-actions" | ||
| "github-action" | ||
| ], | ||
| "hasCommercial": false, | ||
| "isAsyncAPIOwner": 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.
Fix inconsistent category naming: github-actions vs github-action.
Line 526 uses "github-actions" (plural) while line 543 uses "github-action" (singular). This inconsistency may break filtering and categorization on the website.
🔎 Standardize to use the plural form
{
"title": "GitHub Action for CLI",
"description": null,
"links": {
"repoUrl": "https://github.com/actions-marketplace-validations/asyncapi_github-action-for-generator"
},
"filters": {
"technology": [
"AsyncAPI CLI"
],
"categories": [
- "github-action"
+ "github-actions"
],
"hasCommercial": false,
"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": "GitHub Action for Generator", | |
| "description": "CLI to work with your AsyncAPI files. You can validate them and in the future use a generator and even bootstrap a new file. Contributions are welcomed!", | |
| "links": { | |
| "repoUrl": "https://github.com/actions-marketplace-validations/asyncapi_github-action-for-generator" | |
| "repoUrl": "https://github.com/asyncapi/cli" | |
| }, | |
| "filters": { | |
| "technology": [ | |
| "AsyncAPI CLI" | |
| "AsyncAPI Generator" | |
| ], | |
| "categories": [ | |
| "github-action" | |
| "github-actions" | |
| ], | |
| "hasCommercial": false, | |
| "isAsyncAPIOwner": false | |
| "isAsyncAPIOwner": true | |
| } | |
| }, | |
| { | |
| "title": "GitHub Action for Generator", | |
| "description": "CLI to work with your AsyncAPI files. You can validate them and in the future use a generator and even bootstrap a new file. Contributions are welcomed!", | |
| "title": "GitHub Action for CLI", | |
| "description": null, | |
| "links": { | |
| "repoUrl": "https://github.com/asyncapi/cli" | |
| "repoUrl": "https://github.com/actions-marketplace-validations/asyncapi_github-action-for-generator" | |
| }, | |
| "filters": { | |
| "technology": [ | |
| "AsyncAPI Generator" | |
| "AsyncAPI CLI" | |
| ], | |
| "categories": [ | |
| "github-actions" | |
| "github-action" | |
| ], | |
| "hasCommercial": false, | |
| "isAsyncAPIOwner": true | |
| "isAsyncAPIOwner": false | |
| } | |
| } | |
| "title": "GitHub Action for Generator", | |
| "description": "CLI to work with your AsyncAPI files. You can validate them and in the future use a generator and even bootstrap a new file. Contributions are welcomed!", | |
| "links": { | |
| "repoUrl": "https://github.com/asyncapi/cli" | |
| }, | |
| "filters": { | |
| "technology": [ | |
| "AsyncAPI Generator" | |
| ], | |
| "categories": [ | |
| "github-actions" | |
| ], | |
| "hasCommercial": false, | |
| "isAsyncAPIOwner": true | |
| } | |
| }, | |
| { | |
| "title": "GitHub Action for CLI", | |
| "description": null, | |
| "links": { | |
| "repoUrl": "https://github.com/actions-marketplace-validations/asyncapi_github-action-for-generator" | |
| }, | |
| "filters": { | |
| "technology": [ | |
| "AsyncAPI CLI" | |
| ], | |
| "categories": [ | |
| "github-actions" | |
| ], | |
| "hasCommercial": false, | |
| "isAsyncAPIOwner": false | |
| } | |
| } |
🤖 Prompt for AI Agents
In config/tools-automated.json around lines 516 to 548 there is an inconsistent
category name: one entry uses "github-actions" (plural) while another uses
"github-action" (singular); update the latter to "github-actions" so both
entries use the same plural category, and scan neighboring entries to ensure no
other occurrences of the singular form remain, keeping all category values
consistent for filtering.
Automated changes by create-pull-request GitHub action
Summary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.