Skip to content

Conversation

@asyncapi-bot
Copy link
Contributor

@asyncapi-bot asyncapi-bot commented Aug 11, 2025

Automated changes by create-pull-request GitHub action

Summary by CodeRabbit

  • New Features

    • Added AsyncAPI CLI and Mokapi to the catalog (CLIs and Mocking/Testing).
  • Chores

    • Broad rebranding and metadata updates across tools, templates, and editors, including swapped titles, links, languages/technologies, categories, and ownership flags.
    • Updated HTML Template links/descriptions and multiple template reallocations.
    • Relabeled two tags in the language list.
    • Removed Glee from Frameworks.
  • Documentation

    • Refreshed descriptions across entries, with some set to none, and updated website/repo/docs links.

@netlify
Copy link

netlify bot commented Aug 11, 2025

Deploy Preview for asyncapi-website ready!

Name Link
🔨 Latest commit dcb563a
🔍 Latest deploy log https://app.netlify.com/projects/asyncapi-website/deploys/689a36884bf5ea0008372e4d
😎 Deploy Preview https://deploy-preview-4324--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.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Aug 11, 2025

Walkthrough

Swapped two label names in config/all-tags.json. Performed extensive rebranding and restructuring in config/tools-automated.json, including additions, removals, swaps, metadata updates, and ownership flag changes across multiple categories. Updated config/tools.json with editor entry swaps, template link/description adjustments, and removal of a framework entry.

Changes

Cohort / File(s) Summary
Tag relabeling
config/all-tags.json
Swapped display names “JetBrains” ↔ “SmartPaste” for two consecutive tag entries; colors unchanged.
Automated tools catalog overhaul
config/tools-automated.json
Broad renames/reassignments across Code-first, Code generators, Editors, Templates; added AsyncAPI CLI and Mokapi; removed Glee (Frameworks); multiple URL, language, technology, category, and ownership flag updates; significant template reallocations and editor swaps (asyncapi-preview ↔ jAsyncAPI).
Manual tools updates
config/tools.json
Editors: two AsyncAPI Studio entries swapped description/repoUrl; Frameworks: removed Glee; Code Generators/Templates: two HTML Template entries swapped description and repoUrl.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~40 minutes

Possibly related PRs

Suggested reviewers

  • derberg
  • akshatnema
  • anshgoyalevil
  • sambhavgupta0705
  • Mayaleeeee

Poem

I hop through configs, nibbling lines so neat,
Tags trade names—tap tap—no code to beat.
Tools reshuffled, templates find new lanes,
Glee hops away, CLI gains.
With twitching nose and YAML dreams,
I curate the fields where metadata gleams. 🐇✨

Note

🔌 MCP (Model Context Protocol) integration is now available in Early Access!

Pro users can now connect to remote MCP servers under the Integrations page to get reviews and chat conversations that understand additional development context.

✨ 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
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai generate unit tests to generate unit tests for this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@asyncapi-bot
Copy link
Contributor Author

asyncapi-bot commented Aug 11, 2025

⚡️ 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-4324--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: 5

🔭 Outside diff range comments (6)
config/tools-automated.json (6)

75-91: Normalize language name and tech casing.

  • "language": "Typescript" → "TypeScript"
  • Technology names look fine, but ensure “NestJS” is consistent across the repo (not “Nest Js”).
-          "language": "Typescript",
+          "language": "TypeScript",

328-344: AsyncAPI Studio: non-official repo and missing description.

This mirrors the issue in config/tools.json. Please point to the official repo and add the description; or drop this duplicate entry and keep the canonical one.

-        "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
```<!-- review_comment_end -->

---

`347-363`: **LGTM: canonical AsyncAPI Studio with official repo and owner flag.**

Keep this as the single source of truth; remove the duplicate above.

<!-- review_comment_end -->

---

`917-935`: **Incorrect language + inconsistent type for Java Spring Cloud Stream Template.**

- "language" should be “Java”, not ["javascript"].
- Keep type consistent (use a string, as in other entries).


```diff
-          "language": [
-            "javascript"
-          ],
+          "language": "Java",

992-1011: Incorrect language + type for Java Spring Template.

  • “language” should be “Java” (string), not ["javascript"].
-          "language": [
-            "javascript"
-          ],
+          "language": "Java",
```<!-- review_comment_end -->

---

`475-489`: **Action required — normalize category key: replace "github-actions" with the canonical "github-action"**

Short verification: I scanned config/*.json (ripgrep + JSON parse). Results: "github-action" appears 10×, "github-actions" appears 2×. The mixed keys will break category filters — please standardize.

Files/locations to fix
- Replace "github-actions" -> "github-action" at:
  - config/tools-automated.json: line 485
  - config/tools.json: line 1742
- Context (where "github-action" is already used):
  - config/tools.json: lines 1664, 1692, 1721, 1763, 2032
  - config/tools-automated.json: line 502
  - config/tools-manual.json: lines 551, 563, 576, 636

Suggested change (example):
- Old: "categories": ["github-actions"]
- New: "categories": ["github-action"]

Please apply the substitution and re-run: rg -n '"github-actions"' config — it should return zero matches after the fix. If the intended canonical key is the plural form instead, change all occurrences of "github-action" to "github-actions" consistently instead.

</blockquote></details>

</blockquote></details>

<details>
<summary>🧹 Nitpick comments (8)</summary><blockquote>

<details>
<summary>config/tools-automated.json (8)</summary><blockquote>

`251-270`: **Duplicate naming convention: “AsyncAPI.Net” vs “AsyncAPI.NET”.**

Please standardize title casing repo-wide (“AsyncAPI.NET”).
<!-- review_comment_end -->

---

`371-387`: **Minor casing nit: “React js” → “React JS”.**

Keep technology naming consistent.


```diff
-            "React js",
+            "React JS",
```<!-- review_comment_end -->

---

`590-609`: **Duplicate .NET SDK entries with inconsistent casing.**

You have both “AsyncAPI.Net” and “AsyncAPI.NET” in this section and elsewhere. Standardize to “AsyncAPI.NET” to avoid confusion.

<!-- review_comment_end -->

---

`700-716`: **Fix typos and improve wording in AsyncAPI CLI description.**

- “maintainance” → “maintenance”
- “event create” → “even create”


```diff
-        "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",
+        "description": "One CLI to rule them all. \nThis CLI integrates AsyncAPI tools you need during AsyncAPI document development and maintenance. \nUse it to generate docs or code, validate AsyncAPI documents, and even create new documents.\n",

Additionally, confirm whether listing the forked CLI variant below is desired; it can confuse users.


837-846: Grammar: “you AsyncAPI” → “your AsyncAPI”.

Also apply same wording improvements as CLI description to keep tone consistent.

-        "description": "VSCode extension that enables you to:\n  - Preview documentation generated using you AsyncAPI document. It uses AsyncAPI React component under the hood,\n  - Create AsyncAPI documents faster using SmartPaste functionality\n",
+        "description": "VSCode extension that enables you to:\n  - Preview documentation generated using your AsyncAPI document (uses the AsyncAPI React component),\n  - Create AsyncAPI documents faster using SmartPaste.\n",
```<!-- review_comment_end -->

---

`899-915`: **Normalize language casing to match tag taxonomy.**

“language”: “javascript” → “JavaScript”.


```diff
-          "language": "javascript",
+          "language": "JavaScript",
```<!-- review_comment_end -->

---

`938-953`: **Normalize language casing for Node.js Multiprotocol Template.**

“language”: “javascript” → “JavaScript”.


```diff
-          "language": "javascript",
+          "language": "JavaScript",
```<!-- review_comment_end -->

---

`974-989`: **LGTM: Node.js Websockets Template entry with official repo and owner flag.**

Just ensure “WebSockets” casing is consistent with other mentions site-wide.

<!-- review_comment_end -->

</blockquote></details>

</blockquote></details>

<details>
<summary>📜 Review details</summary>

**Configuration used: .coderabbit.yaml**
**Review profile: CHILL**
**Plan: Pro**


<details>
<summary>📥 Commits</summary>

Reviewing files that changed from the base of the PR and between b11bd32b4e7495f55e3b527f0810a8149704e78d and 29b060b99463a42c6cc442538fed5744931dccb2.

</details>

<details>
<summary>📒 Files selected for processing (3)</summary>

* `config/all-tags.json` (1 hunks)
* `config/tools-automated.json` (20 hunks)
* `config/tools.json` (4 hunks)

</details>

<details>
<summary>⏰ 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). (1)</summary>

* GitHub Check: Automerge PR autoapproved by a bot

</details>

<details>
<summary>🔇 Additional comments (8)</summary><blockquote>

<details>
<summary>config/tools.json (1)</summary>

`2779-2783`: **Good correction: HTML Template now links to official repository and has a clear description.**
<!-- review_comment_end -->

</details>
<details>
<summary>config/tools-automated.json (7)</summary>

`116-135`: **LGTM on official AsyncAPI.NET fork block.**

Title, links, and categories align. Just ensure consistent title casing across all entries.

<!-- review_comment_end -->

---

`180-198`: **Modelina entry looks correct; ownership and links align.**
<!-- review_comment_end -->

---

`201-217`: **LGTM: asyncapi-python entry.**

Accurate description and links; language and tech align.
<!-- review_comment_end -->

---

`513-534`: **Mokapi addition looks correct.**

Accurate details and filters; good to see it in Mocking & Testing.
<!-- review_comment_end -->

---

`719-739`: **Mokapi correctly added to CLIs; filters align across sections.**
<!-- review_comment_end -->

---

`855-873`: **JetBrains/IntelliJ entry looks good; casing consistent.**
<!-- review_comment_end -->

---

`956-972`: Sorry — I can’t share my internal chain-of-thought or hidden monologue. Below is a concise, non-sensitive verification summary and the rewritten review comment.

**Action required: Clarify or remove the non-official "HTML Template" entry in config/tools-automated.json**

Short rationale: The entry has a generic title and no description, which can be mistaken for an official HTML Template. If this is a community template, mark it clearly and add a description; otherwise remove it to avoid confusion.

Files to check
- config/tools-automated.json — lines ~956–972 (update title/description).
- Also search config/tools.json and other config files for any duplicate or official "HTML Template" entries and align naming/description accordingly.

Suggested diff to apply
  •    "title": "HTML Template",
    
  •    "description": null,
    
  •    "title": "HTML Docs (community template)",
    
  •    "description": "Community template for generating HTML docs from AsyncAPI.",
    

If you want, I can run repository searches (ripgrep/ast-grep) to confirm whether an official template exists and locate all occurrences before you apply this change.

</details>

</blockquote></details>

</details>

<!-- This is an auto-generated comment by CodeRabbit for review status -->

Comment on lines +281 to 289
"name": "SmartPaste",
"color": "bg-[#61d0f2]",
"borderColor": "border-[#40ccf7]"
},
{
"name": "SmartPaste",
"name": "JetBrains",
"color": "bg-[#61d0f2]",
"borderColor": "border-[#40ccf7]"
},
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

Tag swap introduced a duplicate "SmartPaste" entry; dedupe to keep taxonomy clean.

You now have "SmartPaste" at Line 281 and again at Lines 291-294. Please keep one "SmartPaste" and one "JetBrains" entry only to avoid filter ambiguity across the site.

Consider removing the later duplicate at Lines 291-294 or renaming one entry if they’re meant to represent different concepts. Also verify downstream usage in config/tools*.json.


I can’t share internal chain-of-thought, but I will run a quick verification and then provide a concise summary and the rewritten review comment.


🏁 Script executed:

#!/bin/bash
set -euo pipefail
echo "=== Searching for occurrences of SmartPaste ==="
rg -n '"SmartPaste"' || true
echo "=== Checking config/all-tags.json for duplicate 'name' entries (if file exists) ==="
if [ -f config/all-tags.json ]; then
  python - <<'PY'
import json,sys
from collections import Counter
p='config/all-tags.json'
try:
    with open(p) as f:
        data=json.load(f)
except Exception as e:
    print("Failed to load JSON:", e)
    sys.exit(0)
names=[t.get('name') for t in data if isinstance(t,dict) and 'name' in t]
c=Counter(names)
found=False
for name,count in c.items():
    if count>1:
        found=True
        indices=[i for i,n in enumerate(names) if n==name]
        print(f"Duplicate: '{name}' appears {count} times at indices {indices}")
if not found:
    print("No duplicate 'name' values found in config/all-tags.json")
PY
else
  echo "config/all-tags.json not found in repository root"
fi

Length of output: 770


I can’t share my internal chain-of-thought, but I verified the files and provide a concise summary and the rewritten review comment below.

Action: Remove duplicate "SmartPaste" tag in config and verify downstream references

Brief check summary:

  • ripgrep found two "SmartPaste" occurrences in config/all-tags.json (lines 281 and 291) and additional references in config/tools.json and config/tools-automated.json.
  • An earlier JSON-check script returned a false negative because it assumed a top-level array; the raw text matches confirm the duplicate entries.

Please address the duplicates:

  • config/all-tags.json — duplicate "SmartPaste" entries at lines ~281 and ~291. Remove the later duplicate (the one around line 291) so there is only one "SmartPaste" tag definition.
  • config/tools.json — references to "SmartPaste" at lines ~2648 and ~2674: verify these still point to the intended single tag after you dedupe.
  • config/tools-automated.json — occurrences at ~845 and ~884: verify these as well.

Suggested change (conceptual — adjust to exact line numbers / JSON structure in your editor):

  • Remove the duplicate block that looks like:
    {
    "name": "SmartPaste",
    "color": "bg-[#61d0f2]",
    "borderColor": "border-[#40ccf7]"
    }
  • Keep one canonical "SmartPaste" entry in config/all-tags.json and ensure any tool entries reference that canonical tag.
  • If the two entries are intended to represent different concepts, rename one instead of deleting.

Rewritten review comment (replace the original):

  • Tag swap introduced a duplicate "SmartPaste" entry; dedupe to keep taxonomy clean.

    I verified "SmartPaste" appears twice in config/all-tags.json (around lines 281 and 291). Please keep a single canonical "SmartPaste" entry — remove the later duplicate (or rename it if it represents a different concept). Also verify downstream references in config/tools.json (lines ~2648, ~2674) and config/tools-automated.json (lines ~845, ~884) to ensure they point to the intended tag.

Comment on lines +53 to 69
"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.",
"links": {
"repoUrl": "https://github.com/flamewow/nestjs-asyncapi"
"websiteUrl": "https://github.com/LEGO/AsyncAPI.NET/",
"repoUrl": "https://github.com/LEGO/AsyncAPI.NET"
},
"filters": {
"language": "Typescript",
"language": "C#",
"technology": [
"Node.js",
"NestJS"
".NET",
"ASP.NET"
],
"categories": [
"code-first"
"converters",
"code-first",
"validator"
],
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

❓ Verification inconclusive

Casing consistency and description accuracy for AsyncAPI .NET entry.

  • Title casing: “AsyncAPI.Net” vs “AsyncAPI.NET” elsewhere. Standardize to “AsyncAPI.NET”.
  • Description references “OpenAPI JSON and YAML”; verify it should say “AsyncAPI JSON and YAML”.

Suggested changes:

-        "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.",
+        "title": "AsyncAPI.NET",
+        "description": "The AsyncAPI.NET SDK contains a useful object model for AsyncAPI documents in .NET along with serializers to extract raw AsyncAPI JSON and YAML documents from the model.",

I’m unable to share my internal monologue. Below is a concise verification summary and the rewritten review comment.

Standardize AsyncAPI .NET entry: fix title casing and correct description

Summary: I inspected the provided snippet (config/tools-automated.json, lines 53–69). The title uses "AsyncAPI.Net" (inconsistent with the project's canonical "AsyncAPI.NET") and the description incorrectly references "OpenAPI JSON and YAML" instead of "AsyncAPI JSON and YAML". Both should be corrected.

  • File: config/tools-automated.json (around lines 53–69)

Suggested diff:

-        "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.",
+        "title": "AsyncAPI.NET",
+        "description": "The AsyncAPI.NET SDK contains a useful object model for AsyncAPI documents in .NET along with serializers to extract raw AsyncAPI JSON and YAML documents from the model.",
📝 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": "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.",
"links": {
"repoUrl": "https://github.com/flamewow/nestjs-asyncapi"
"websiteUrl": "https://github.com/LEGO/AsyncAPI.NET/",
"repoUrl": "https://github.com/LEGO/AsyncAPI.NET"
},
"filters": {
"language": "Typescript",
"language": "C#",
"technology": [
"Node.js",
"NestJS"
".NET",
"ASP.NET"
],
"categories": [
"code-first"
"converters",
"code-first",
"validator"
],
"title": "AsyncAPI.NET",
"description": "The AsyncAPI.NET SDK contains a useful object model for AsyncAPI documents in .NET along with serializers to extract raw AsyncAPI JSON and YAML documents from the model.",
"links": {
"websiteUrl": "https://github.com/LEGO/AsyncAPI.NET/",
"repoUrl": "https://github.com/LEGO/AsyncAPI.NET"
},
"filters": {
"language": "C#",
"technology": [
".NET",
"ASP.NET"
],
"categories": [
"converters",
"code-first",
"validator"
],
🤖 Prompt for AI Agents
In config/tools-automated.json around lines 53 to 69, the entry's title uses
"AsyncAPI.Net" and the description incorrectly mentions "OpenAPI JSON and YAML";
update the title to "AsyncAPI.NET" to match the project's canonical casing and
change the description to reference "AsyncAPI JSON and YAML" (or "AsyncAPI JSON
and YAML documents") instead of "OpenAPI JSON and YAML" so both title and
description are accurate and consistent.

Comment on lines 1309 to 1314
"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"
},
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

⚠️ Potential issue

Potentially unsafe repo link and missing description for AsyncAPI Studio.

"repoUrl" points to a non-official repo (Shurtu-gal/action-test-bed) and "description" is null. This can mislead users and damage trust.

Recommended fix:

-        "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, deduplicate: keep a single official AsyncAPI Studio entry.

📝 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": "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"
},
"title": "AsyncAPI Studio",
"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 1309 to 1314, the AsyncAPI Studio entry has a
null description and a non-official repoUrl
("https://github.com/Shurtu-gal/action-test-bed"); replace the repoUrl with the
official AsyncAPI Studio repository (https://github.com/asyncapi/studio), fill
in a concise description (e.g., "Official web studio for designing and
visualizing AsyncAPI specifications"), and ensure there is only one AsyncAPI
Studio entry by removing or merging any duplicates so the file contains a
single, accurate official entry.

Comment on lines 1336 to 1341
"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"
},
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

Keep a single canonical AsyncAPI Studio entry.

This block looks correct (official repo + proper description). Remove or merge the other duplicate to avoid confusing users and skewing filters.


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "Searching for literal 'AsyncAPI Studio' occurrences..."
rg -n --hidden --no-ignore -S "AsyncAPI Studio" || true
echo "----"

echo "Searching for 'studio.asyncapi.com' occurrences..."
rg -n --hidden --no-ignore -S "studio.asyncapi.com" || true
echo "----"

echo "Searching for 'asyncapi/studio' occurrences..."
rg -n --hidden --no-ignore -S "asyncapi/studio" || true
echo "----"

if [ -f config/tools.json ]; then
  echo "Found config/tools.json; scanning for entries with title 'AsyncAPI Studio' and showing context..."
  rg -n --hidden --no-ignore -S '"title"\s*:\s*"AsyncAPI Studio"' config/tools.json -n -A3 -B3 || true
  echo "----"
  echo "Counting occurrences of title == 'AsyncAPI Studio' inside config/tools.json using Python..."
  python - <<'PY'
import json,sys
try:
    data=json.load(open('config/tools.json'))
except Exception as e:
    print("Failed to load config/tools.json:", e)
    sys.exit(0)

matches=[]
def walk(obj, path='root'):
    if isinstance(obj, dict):
        if obj.get('title')=='AsyncAPI Studio':
            matches.append((path, obj))
        for k,v in obj.items():
            walk(v, f"{path}/{k}")
    elif isinstance(obj, list):
        for i,v in enumerate(obj):
            walk(v, f"{path}[{i}]")

walk(data)
for path,obj in matches:
    print("Match at:", path)
    # Print a compact representation
    import json
    print(json.dumps(obj, indent=2))
print("\\nTotal matches found:", len(matches))
PY
else
  echo "config/tools.json not found at repository root."
fi

Length of output: 34115


Keep a single canonical "AsyncAPI Studio" entry — remove / merge the duplicate

Short rationale: I found two entries for "AsyncAPI Studio" in config/tools.json; one points at https://github.com/asyncapi/studio (canonical, with proper description) and the other points at https://github.com/Shurtu-gal/action-test-bed (likely accidental). Dedupe to avoid confusing users and duplicate UI listings.

Files/locations to fix:

  • config/tools.json
  • config/tools-automated.json — contains duplicate AsyncAPI Studio entries as well; dedupe here too (entries around lines ~328/347/351 in the previous scan).

Suggested action (minimal):

  • Delete the duplicate object that has repoUrl "https://github.com/Shurtu-gal/action-test-bed" from config/tools.json (or replace its repoUrl/description with the canonical values if it was intended to represent the same product).
  • Remove the duplicate entry from config/tools-automated.json (or update its source).
  • Run a quick rg check to confirm only one entry remains.

Keep the canonical object like:
{
"title": "AsyncAPI Studio",
"description": "Visually design your AsyncAPI files and event-driven architecture.",
"links": {
"websiteUrl": "https://studio.asyncapi.com",
"repoUrl": "https://github.com/asyncapi/studio"
},
"filters": { /* keep existing filters */ }
}

🤖 Prompt for AI Agents
In config/tools.json around lines 1336–1341 and in config/tools-automated.json
near the previously scanned entries (~lines 328/347/351), there are duplicate
"AsyncAPI Studio" entries — one canonical (repoUrl
https://github.com/asyncapi/studio) and one accidental (repoUrl
https://github.com/Shurtu-gal/action-test-bed); remove the duplicate object(s)
that reference the Shurtu-gal repo (or replace their repoUrl/description with
the canonical values if they were meant to represent the same product) so only
the canonical object shown in the review remains, and then run ripgrep (rg)
across the repo to confirm only one "AsyncAPI Studio" entry exists.

Comment on lines 2806 to 2810
"title": "HTML Template",
"description": "HTML template for AsyncAPI Generator. Use it to generate a static docs. It is using AsyncAPI React component under the hood.",
"description": null,
"links": {
"repoUrl": "https://github.com/asyncapi/html-template"
"repoUrl": "https://github.com/dipaksodani/async-gen"
},
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

Second "HTML Template" entry likely not the official template; rename or clarify.

This points to dipaksodani/async-gen with null description under the same title. It looks like a different project. Keep the official one under “HTML Template” and either:

  • Remove this duplicate, or
  • Rename and add a clear description indicating it’s a community template.

Example fix:

-        "title": "HTML Template",
-        "description": null,
+        "title": "HTML Docs (community template)",
+        "description": "Community template for generating HTML docs from AsyncAPI.",
...
-          "repoUrl": "https://github.com/dipaksodani/async-gen"
+          "repoUrl": "https://github.com/dipaksodani/async-gen"
```<!-- review_comment_end -->

---

🏁 Script executed:

```shell
#!/bin/bash
set -euo pipefail

echo "Searching for 'HTML Template' title occurrences..."
rg -n --hidden -S '"title":\s*"HTML Template"' || echo "No direct title matches found."

echo
echo "Searching for occurrences of 'dipaksodani/async-gen'..."
rg -n --hidden -S 'dipaksodani/async-gen' || echo "No matches for dipaksodani/async-gen found."

echo
echo "If config/tools.json exists, show lines 2798-2816 for inspection (covers the reported 2806-2810):"
if [ -f config/tools.json ]; then
  nl -ba -w6 -s': ' config/tools.json | sed -n '2798,2816p'
else
  echo "config/tools.json not found in repository root."
fi

Length of output: 1187


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== config/tools.json (lines 2768-2820) =="
if [ -f config/tools.json ]; then
  sed -n '2768,2820p' config/tools.json || echo "sed failed for config/tools.json"
else
  echo "config/tools.json not found"
fi

echo
echo "== config/tools-automated.json (lines 880-972) =="
if [ -f config/tools-automated.json ]; then
  sed -n '880,972p' config/tools-automated.json || echo "sed failed for config/tools-automated.json"
else
  echo "config/tools-automated.json not found"
fi

Length of output: 4765


Action: Disambiguate the duplicate "HTML Template" entry that points to dipaksodani/async-gen

There are two separate "HTML Template" entries in the config files:

Recommendation: rename and add a clear description for the dipaksodani/async-gen entry (or remove it if it was added unintentionally). Also confirm whether config/tools-automated.json is generated from config/tools.json — if so, change the source-of-truth and regenerate rather than editing the generated file directly.

Proposed minimal change (apply to the dipaksodani entry in both config/tools.json and config/tools-automated.json or to your canonical source):

  • Example diff to rename + add a description:
-        "title": "HTML Template",
-        "description": null,
+        "title": "HTML Template (community)",
+        "description": "Community HTML generator 'async-gen' by dipaksodani — a community template (not the official AsyncAPI html-template).",
         "links": {
           "repoUrl": "https://github.com/dipaksodani/async-gen"
         },

Notes:

  • If the entry is unintended, consider removing it instead of renaming.
  • If tools-automated.json is generated, update the canonical source (likely config/tools.json or another data source) and regenerate the automated file to avoid the change being overwritten.
📝 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": "HTML Template",
"description": "HTML template for AsyncAPI Generator. Use it to generate a static docs. It is using AsyncAPI React component under the hood.",
"description": null,
"links": {
"repoUrl": "https://github.com/asyncapi/html-template"
"repoUrl": "https://github.com/dipaksodani/async-gen"
},
"title": "HTML Template (community)",
"description": "Community HTML generator 'async-gen' by dipaksodani — a community template (not the official AsyncAPI html-template).",
"links": {
"repoUrl": "https://github.com/dipaksodani/async-gen"
},
🤖 Prompt for AI Agents
In config/tools.json around lines 2806–2810, the duplicate "HTML Template" entry
points to dipaksodani/async-gen and must be disambiguated: either rename it
(e.g., "HTML Template (dipaksodani/async-gen)"), add a concise description
clarifying it is a community fork/alternative and keep the repoUrl as
https://github.com/dipaksodani/async-gen, or remove the entry if it was added
unintentionally; then locate the corresponding entry in
config/tools-automated.json (lines ~956–959) and apply the same change to that
file only if it is not a generated artifact—if tools-automated.json is
generated, instead update the canonical source (likely config/tools.json or the
original data source) and regenerate the automated file so your change is not
overwritten.

@codecov
Copy link

codecov bot commented Aug 11, 2025

Codecov Report

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

Additional details and impacted files
@@            Coverage Diff            @@
##            master     #4324   +/-   ##
=========================================
  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.

@sambhavgupta0705 sambhavgupta0705 merged commit 56463cd into master Aug 11, 2025
20 checks passed
@sambhavgupta0705 sambhavgupta0705 deleted the update-tools/regenerateTools branch August 11, 2025 18:37
@coderabbitai coderabbitai bot mentioned this pull request Sep 15, 2025
@coderabbitai coderabbitai bot mentioned this pull request Dec 1, 2025
@coderabbitai coderabbitai bot mentioned this pull request Jan 5, 2026
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.

4 participants