Skip to content

Conversation

@asyncapi-bot
Copy link
Contributor

@asyncapi-bot asyncapi-bot commented Jul 24, 2025

Automated changes by create-pull-request GitHub action

Summary by CodeRabbit

  • New Features

    • Added "The Codegen Project" to the Code Generators category.
    • Introduced new tools such as "Zod Sockets" and "Specmatic" in relevant categories.
  • Improvements

    • Updated and reorganized tool categories for better clarity and accuracy.
    • Corrected and swapped metadata, descriptions, and repository links for multiple existing tools.
    • Removed duplicate tool entries and adjusted category placements.
  • Bug Fixes

    • Fixed inconsistencies in tool metadata, including names, URLs, and ownership flags.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jul 24, 2025

Walkthrough

This update modifies three configuration files. It swaps the "SmartPaste" and "JetBrains" names in the technologies array, reorganizes and updates tool metadata in tools-automated.json, and adds a new code generator entry while correcting repository URLs and descriptions for existing tools in tools.json.

Changes

File(s) Change Summary
config/all-tags.json Swapped "name" values between "SmartPaste" and "JetBrains" in the "technologies" array.
config/tools-automated.json Reorganized AsyncAPI tool entries: updated metadata, swapped descriptions, URLs, categories, added new tools and categories, removed duplicates, and corrected ownership flags.
config/tools.json Added "The Codegen Project" under "Code Generators". Swapped descriptions, repo URLs, and categories for "GitHub Action for Generator" and "AsyncAPI CLI" entries.

Sequence Diagram(s)

sequenceDiagram
    participant ConfigEditor as Config Editor
    participant AllTags as all-tags.json
    participant ToolsAuto as tools-automated.json
    participant Tools as tools.json

    ConfigEditor->>AllTags: Swap "SmartPaste" and "JetBrains" names
    ConfigEditor->>ToolsAuto: Reorganize tool entries, update metadata, add new tools/categories
    ConfigEditor->>Tools: Add "The Codegen Project", swap repo URLs/descriptions for existing tools
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~35 minutes

Possibly related PRs

  • chore: update tools.json #4186: Swaps "SmartPaste" and "JetBrains" names and reorganizes tool entries in the same configuration files, indicating direct overlap.
  • chore: update tools.json #4108: Swaps the same technology names and updates AsyncAPI tool entries, including repo URLs and metadata, in the affected JSON files.
  • chore: update tools.json #4203: Modifies tools.json and tools-automated.json with similar swaps and metadata updates for "GitHub Action for Generator" and tool entries.

Suggested labels

autoapproved, autoupdate

Suggested reviewers

  • derberg
  • akshatnema
  • anshgoyalevil
  • sambhavgupta0705
  • Mayaleeeee
  • devilkiller-ag
  • vishvamsinh28
  • asyncapi-bot-eve

Poem

In the garden of configs, a rabbit hops with glee,
Swapping names and tools beneath the JSON tree.
New codegen sprouts, old URLs rearranged,
AsyncAPI’s toolkit neatly exchanged.
With every nibble and hop, the garden grows bright—
Oh, what a delight for a code-loving sprite!
🐇✨

Note

⚡️ Unit Test Generation is now available in beta!

Learn more here, or try it out under "Finishing Touches" below.

✨ 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.
    • @coderabbitai modularize this function.
  • 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.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

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

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

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.

@netlify
Copy link

netlify bot commented Jul 24, 2025

Deploy Preview for asyncapi-website ready!

Name Link
🔨 Latest commit fd79042
🔍 Latest deploy log https://app.netlify.com/projects/asyncapi-website/deploys/68822eb5d3f30f00083354c8
😎 Deploy Preview https://deploy-preview-4270--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 Jul 24, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 100.00%. Comparing base (bf0449c) to head (fd79042).
Report is 1 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff            @@
##            master     #4270   +/-   ##
=========================================
  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 6a20a05 into master Jul 24, 2025
33 of 34 checks passed
@asyncapi-bot asyncapi-bot deleted the update-tools/regenerateTools branch July 24, 2025 13:06
@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-4270--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: 1

🔭 Outside diff range comments (5)
config/all-tags.json (1)

276-289: Duplicate technology tags introduce inconsistency

SmartPaste now appears twice (lines 281-284 and 286-289), and the new JetBrains tag (lines 276-279) does not replace any previous occurrence.
Duplicated tags will break any logic relying on a unique set (e.g., filtering or colouring in the UI).

Action items
• Keep only one entry per tag.
• Verify there is no earlier hidden duplicate of JetBrains to avoid the same issue.

config/tools.json (1)

1716-1754: Inconsistent metadata across the two “GitHub Action for Generator” records

Issues observed:

  1. Title duplicated twice with divergent content.
  2. First record (lines 1716-1735) has an empty description, while the second has a meaningful one.
  3. Category key differs: "github-action" vs "github-actions" (plural).
  4. The first record’s repo URL points to actions-marketplace-validations/… which appears to be an automated mirror rather than the source; the second points to asyncapi/cli (which isn’t the generator).

These discrepancies will confuse catalogue consumers and search filters.

Recommended:
• Pick a single authoritative entry.
• Ensure description, categories, and repoUrl are correct and consistent.
• Use the singular category name already used elsewhere (github-action).

config/tools-automated.json (3)

72-92: Avoid confusing duplicate naming for the .NET SDK forks

We now have two separate entries named “AsyncAPI.NET” (this one pointing at ByteBardOrg) and another later named “AsyncAPI.Net” (LEGO fork). Having almost-identical titles will confuse readers and any automated tooling that does look-ups by title.
Consider appending a short qualifier, for example “AsyncAPI.NET (ByteBard fork)” vs “AsyncAPI.NET (LEGO fork)”, and/or adding a distinguishing id field.


138-158: Description refers to OpenAPI instead of AsyncAPI

The description for “AsyncAPI.Net” still talks about “extract raw OpenAPI JSON and YAML documents”. That looks copy-pasted from the OpenAPI fork and is misleading for users searching for an AsyncAPI library.


914-933: Wrong language declared for Java templates

Both “Java Spring Template” and “Java Template” declare "language": ["javascript"]. This breaks language-based filtering and search. Replace with "Java" (array or string, but value must be correct).

♻️ Duplicate comments (2)
config/tools.json (1)

3104-3108: Second occurrence of the duplicate – please de-duplicate

See previous comment; both need to be tidied to maintain a single source of truth.

config/tools-automated.json (1)

1010-1028: Same language mismatch for Spring Cloud Stream template

The Spring Cloud Stream template repeats the "javascript" language value. Correct to "Java" to keep data consistent.

🧹 Nitpick comments (6)
config/tools.json (2)

776-805: Minor polish for the new “The Codegen Project” entry

The docsUrl contains a double slash (…org//docs). While most browsers will normalise this, it’s untidy and may break link-equality checks.

Please trim the extra / before merging.


2388-2392: Still duplicated “AsyncAPI CLI” entries after repository swap

Even after adjusting one repoUrl, both entries remain, differing only by the repo. Consider consolidating into a single record with the correct source to prevent UI duplication.

config/tools-automated.json (4)

93-114: Consistent casing for language & technology fields

language is “TypeScript” here, which is correct, but earlier in the same category (nestjs-asyncapi) we use “Typescript”. Normalise the capitalisation (TypeScript) across the whole file to keep filters reliable.


472-486: Inconsistent category token between similar GitHub-Action entries

The first entry uses "github-action" while the second uses "github-actions". Down-stream categorisation will treat these as two different groups. Pick one slug (the singular form seems to be used elsewhere).


510-531: Mixed capitalisation in language & category names

Specmatic entry uses lower-case "kotlin" and category "CLIs" (plural, capitalised). Elsewhere we use "Kotlin" and "cli". Please align with the established lower-case singular convention.


351-360: ‘React JS’ vs ‘React js’

Capitalisation of “React JS” is inconsistent with “React js”. Standardise (prefer “React JS”) to avoid duplicate tags.

📜 Review details

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

📥 Commits

Reviewing files that changed from the base of the PR and between bf0449c and fd79042.

📒 Files selected for processing (3)
  • config/all-tags.json (2 hunks)
  • config/tools-automated.json (23 hunks)
  • config/tools.json (8 hunks)
🧰 Additional context used
🧠 Learnings (4)
📓 Common learnings
Learnt from: asyncapi-bot
PR: asyncapi/website#0
File: :0-0
Timestamp: 2025-02-18T12:07:42.211Z
Learning: The following PR commands are supported in the asyncapi/website repository:
- `/please-take-a-look` or `/ptal`: Requests attention from reviewers who haven't reviewed the PR
- `/ready-to-merge` or `/rtm`: Triggers automerge when all conditions are met
- `/do-not-merge` or `/dnm`: Blocks automerge even if all conditions are met
- `/autoupdate` or `/au`: Adds autoupdate label to keep PR in sync with target branch
- `/update` or `/u`: One-time update of PR with latest changes from target branch
Learnt from: akshatnema
PR: asyncapi/website#3378
File: scripts/markdown/check-markdown.js:1-1
Timestamp: 2024-11-25T18:41:29.632Z
Learning: When updating workflows for the AsyncAPI website repository, use `.github/workflows/if-nodejs-pr-testing.yml` to include environment variables and secrets for Node.js PR testing.
Learnt from: bandantonio
PR: asyncapi/website#3393
File: markdown/blog/socketio-part2.md:506-506
Timestamp: 2024-11-13T20:40:29.580Z
Learning: When performing rebranding updates, there's no need to update the titles of bug reports in `dashboard.json`, even if they contain the old name.
Learnt from: akshatnema
PR: asyncapi/website#3265
File: tests/fixtures/toolsObjectData.js:51-52
Timestamp: 2024-10-09T17:35:36.557Z
Learning: When reviewing code in the 'asyncapi/website' repository, akshatnema prefers that I do not provide committable code suggestions.
Learnt from: anshgoyalevil
PR: asyncapi/website#3557
File: scripts/markdown/check-editlinks.js:58-59
Timestamp: 2025-01-08T15:15:00.759Z
Learning: In the AsyncAPI codebase, batch processing operations (like in the Dashboard script and check-editlinks.js) follow a sequential pattern using await in loops, which is the preferred approach for maintaining consistency across the codebase.
config/all-tags.json (1)

Learnt from: bandantonio
PR: #3393
File: markdown/blog/socketio-part2.md:506-506
Timestamp: 2024-11-13T20:40:29.580Z
Learning: When performing rebranding updates, there's no need to update the titles of bug reports in dashboard.json, even if they contain the old name.

config/tools.json (1)

Learnt from: anshgoyalevil
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.

config/tools-automated.json (5)

Learnt from: anshgoyalevil
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.

Learnt from: bandantonio
PR: #4264
File: markdown/docs/tutorials/getting-started/coming-from-openapi.md:24-25
Timestamp: 2025-07-19T20:58:34.040Z
Learning: In the AsyncAPI website documentation, anchor references to specification sections can use camelCase format (e.g., #serverObject, #parameterObject, #messageObject) even if the actual HTML IDs on the spec page use hyphenated lowercase format. This is acceptable and should not be changed.

Learnt from: anshgoyalevil
PR: #3557
File: tests/markdown/check-edit-links.test.js:20-46
Timestamp: 2025-01-14T14:58:38.076Z
Learning: In the AsyncAPI website codebase, the edit-page-config.json contains a fallback match entry that ensures determineEditLink function always has a valid target.value, making null checks unnecessary.

Learnt from: akshatnema
PR: #3423
File: tests/index.test.js:2-7
Timestamp: 2025-01-18T08:44:43.614Z
Learning: In the AsyncAPI website project, JavaScript test files must include the .ts extension when importing TypeScript files (e.g., require('../scripts/build-rss.ts')). This is a project-specific requirement enforced by the linting rules and build setup, even though it differs from typical Node.js behavior.

Learnt from: akshatnema
PR: #3136
File: tests/fixtures/tools/automated-tools.json:8-9
Timestamp: 2024-11-01T12:48:22.034Z
Learning: In the tests/fixtures/tools/automated-tools.json file, the language field within the filters object can be either a string or an array. Both formats are acceptable and supported in the codebase.

⏰ 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: Test NodeJS PR - macos-13
  • GitHub Check: Test NodeJS PR - windows-latest
  • GitHub Check: Lighthouse CI
🔇 Additional comments (4)
config/tools.json (2)

2364-2375: Fork URL replaces the official CLI — confirm intent

repoUrl now targets hkirat/asyncapi-fork.
If this is intentional (e.g., the fork is the canonical home), please also update the title or description to reflect it.
Otherwise, restore the official asyncapi/cli repository to avoid fragmenting traffic.


3081-3094: Duplicate entry in “Others” category mirrors the CLI duplication above

Same remarks as for the CLI list: two nearly identical items risk confusing users and skewing statistics. Consolidate or clearly mark the fork if genuinely needed.

config/tools-automated.json (2)

180-198: Questionable technology tags for Modelina

Modelina is a library/CLI; listing “React JS” and “Docker” as technologies is misleading. Unless the project now ships a React UI and Docker is required, drop or replace these tags so search results stay relevant.


834-852: JetBrains technologies swapped with VSCode extension below

The IDEA plugin correctly lists JetBrains tech, but the following VSCode extension entry (asyncapi-preview) now points to a test repository (Savio629/testing2). Verify that swapping of repo URLs between the official and test bed wasn’t accidental.

Comment on lines +161 to 178
"Code Generators": {
"description": "The following is a list of tools that generate code from an AsyncAPI document; not the other way around.",
"toolsList": [
{
"title": "Golang AsyncAPI Code Generator",
"description": "Generate Go user and application boilerplate from AsyncAPI specifications. Can be called from `go generate` without requirements.\n",
"links": {
"repoUrl": "https://github.com/lerenn/asyncapi-codegen"
},
"filters": {
"language": "golang",
"categories": [
"code-generator"
],
"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.

🛠️ Refactor suggestion

Language value “golang” breaks existing filter expectations

Previous tools use “Go” or “Go/Golang”. Introducing a lowercase "golang" variant will fragment filtering in the UI. Pick one spelling (“Go” or “Go/Golang”) and reuse it everywhere.

🤖 Prompt for AI Agents
In config/tools-automated.json between lines 161 and 178, the language value
"golang" is inconsistent with previous entries that use "Go" or "Go/Golang". To
fix this, replace the lowercase "golang" with the consistent spelling "Go" or
"Go/Golang" throughout the file to maintain uniform filtering behavior in the
UI.

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