Skip to content

Conversation

@asyncapi-bot
Copy link
Contributor

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

Automated changes by create-pull-request GitHub action

Summary by CodeRabbit

  • New Features

    • Added "Go" as a new technology tag.
    • Introduced "MessageFlow" as a new documentation generator tool.
  • Improvements

    • Updated and reorganized tool listings, including corrected names, descriptions, and links for several tools.
    • Enhanced categorization and metadata for tools, including improved language and technology tags.
  • Bug Fixes

    • Removed duplicate tool entries and corrected swapped or redundant information in tool descriptions and links.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Aug 4, 2025

Walkthrough

This change updates three configuration JSON files. It swaps the names of several technology tags, adds a new "Go" technology tag, and reorganizes tool entries by updating, swapping, and adding metadata for various AsyncAPI-related tools. Duplicate entries are removed, and new tools such as "MessageFlow" are introduced.

Changes

Cohort / File(s) Change Summary
Technology Tag Updates
config/all-tags.json
Swapped names of "Socket.IO" and "TypeScript," and "SmartPaste" and "JetBrains" technology tags; added a new "Go" technology tag, preserving existing color and borderColor values.
Automated Tool Metadata Overhaul
config/tools-automated.json
Removed duplicate tool entries; swapped, reordered, and updated tool metadata (descriptions, links, languages, categories) across multiple categories; added new tools ("nestjs-asyncapi", "MessageFlow", "Specmatic"); introduced a "Frameworks" category; normalized tags and commercial flags.
Manual Tool Metadata Adjustments
config/tools.json
Added "MessageFlow" under "Documentation Generators"; swapped and updated descriptions and repository URLs for two "HTML Template" entries in "AsyncAPI Generator Templates" category.

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant Config
    participant ToolsList

    User->>Config: View technology tags
    Config-->>User: Show updated tags (swapped names, new "Go" tag)

    User->>ToolsList: View AsyncAPI tools
    ToolsList-->>User: Show reorganized, updated, and new tool entries
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Possibly related PRs

Suggested labels

autoapproved, autoupdate

Suggested reviewers

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

Poem

A rabbit hopped through JSON fields,
Swapping tags with nimble yields.
"Go" leapt in with colors bright,
Tools reordered left and right.
MessageFlow joins the AsyncAPI crew—
Oh, what a springy code review!
🐇✨

✨ 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 Aug 4, 2025

Deploy Preview for asyncapi-website ready!

Name Link
🔨 Latest commit b98fbaf
🔍 Latest deploy log https://app.netlify.com/projects/asyncapi-website/deploys/6891ede90ad0a90008b3ac26
😎 Deploy Preview https://deploy-preview-4306--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.

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: 7

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

2800-2831: HTML Template listed twice with diverging metadata.

There are now two “HTML Template” records:
• Lines 2800-2824 – no description, third-party repo.
• Lines 2827-2852 – detailed description, official repo.

Displaying both will confuse users and weaken SEO. Keep only one canonical entry or rename the forked variant to clearly indicate it is an alternative.

config/tools-automated.json (5)

221-244: Category value drift

ZenWave uses mixed-case category values ("mocking-and-testing", "cli") elsewhere but here adds capitalized "CLIs" (Line 239). Normalise to the single lower-case cli to keep the taxonomy flat.


328-364: Duplicate “AsyncAPI Studio” entries in same category

Two tools with identical title but different repos (Lines 328-364). Pick one canonical record or differentiate them with distinct titles; duplicates hamper search UX.


492-523: Category key mismatch

The second “GitHub Action for Generator” (Line 519) uses "github-action" (singular) whereas the first uses "github-actions". Standardise to a single category key.


647-667: Yet another duplicate of AsyncAPI.Net

This is the third occurrence of the same SDK (different capitalisation). Consolidate to a single canonical entry to avoid maintenance overhead.


952-972: Wrong language declared for Java Spring template

The language array lists "javascript" instead of "Java" (Lines 958-960). This hides the template from Java users and should be corrected. Same issue appears for the java-template block below.

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

187-196: Lower-case language tag

"python" (Line 187) should be "Python" to align with existing tags and avoid false negatives in filters.


855-890: IDE extension tags – minor inconsistencies

technology lists "IntelliJ IDEA" but omits "IntelliJ" elsewhere; likewise "SmartPaste" appears only here. Double-check that these tags exist in all-tags.json, otherwise they will not render.

📜 Review details

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

📥 Commits

Reviewing files that changed from the base of the PR and between 0b05851 and c12b155.

📒 Files selected for processing (3)
  • config/all-tags.json (3 hunks)
  • config/tools-automated.json (20 hunks)
  • config/tools.json (3 hunks)
🧰 Additional context used
🧠 Learnings (10)
📓 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: anshgoyalevil
PR: asyncapi/website#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: anshgoyalevil
PR: asyncapi/website#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: 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.
📚 Learning: in the asyncapi website repository, the test data in `tests/fixtures/markdown/check-edit-links-data....
Learnt from: anshgoyalevil
PR: asyncapi/website#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
  • config/tools-automated.json
📚 Learning: in the asyncapi website codebase, the edit-page-config.json contains a fallback match entry that ens...
Learnt from: anshgoyalevil
PR: asyncapi/website#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.

Applied to files:

  • config/tools.json
  • config/tools-automated.json
📚 Learning: in the asyncapi website's edit link generation system, the `editoptions` array in `edit-page-config....
Learnt from: anshgoyalevil
PR: asyncapi/website#3557
File: scripts/markdown/check-editlinks.js:80-93
Timestamp: 2025-01-14T09:23:32.728Z
Learning: In the AsyncAPI website's edit link generation system, the `editOptions` array in `edit-page-config.json` includes a fallback entry with an empty string value (`''`) that matches any URL path, ensuring that `determineEditLink()` function always finds a target and never returns null.

Applied to files:

  • config/tools.json
📚 Learning: in the `tests/fixtures/tools/automated-tools.json` file, the `language` field within the `filters` o...
Learnt from: akshatnema
PR: asyncapi/website#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.

Applied to files:

  • config/tools-automated.json
📚 Learning: in the asyncapi website project, next.js throws errors at runtime when locale files are missing, mak...
Learnt from: anshgoyalevil
PR: asyncapi/website#3950
File: scripts/utils/check-locales.ts:122-129
Timestamp: 2025-04-20T16:05:16.482Z
Learning: In the AsyncAPI website project, Next.js throws errors at runtime when locale files are missing, making additional validation for missing files unnecessary in the check-locales script.

Applied to files:

  • config/tools-automated.json
📚 Learning: in the asyncapi website documentation, anchor references to specification sections can use camelcase...
Learnt from: bandantonio
PR: asyncapi/website#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.

Applied to files:

  • config/tools-automated.json
📚 Learning: in the asyncapi website project, javascript test files must include the .ts extension when importing...
Learnt from: akshatnema
PR: asyncapi/website#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.

Applied to files:

  • config/tools-automated.json
📚 Learning: in javascript test files within the asyncapi website project, typescript file imports must include t...
Learnt from: akshatnema
PR: asyncapi/website#3423
File: tests/index.test.js:2-7
Timestamp: 2025-01-18T08:44:43.614Z
Learning: In JavaScript test files within the AsyncAPI website project, TypeScript file imports must include the .ts extension to avoid lint errors, even though the files being imported are JavaScript files.

Applied to files:

  • config/tools-automated.json
📚 Learning: in the asyncapi website project, javascript test files must include the .ts extension when importing...
Learnt from: akshatnema
PR: asyncapi/website#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 enforced by the project's configuration which uses `moduleResolution: "bundler"` in tsconfig.json and TypeScript-aware ESLint plugins. The .ts extensions are required even though the files are imported using CommonJS require statements.

Applied to files:

  • config/tools-automated.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: 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/all-tags.json (1)

181-189: Potential duplicate entries after swap.

Swapping the names of "TypeScript" and "Socket.IO" here leaves both entries unchanged elsewhere. Make sure there isn’t now more than one "TypeScript" / "Socket.IO" technology tag in the final JSON, otherwise the website will render duplicates.

config/tools.json (1)

1204-1235: Verify tooling/tag coherence for “MessageFlow”.

Good addition 👍. Two small checks:

  1. Technology tag uses "Go" but the global tag list still mixes "Go/Golang" and "Go" (see previous comment).
  2. Ensure the repo URL (holydocs/messageflow) is correct and reachable; broken links surface as 404s in the rendered tools page.
config/tools-automated.json (2)

301-321: Good addition, but confirm technology tag

MessageFlow lists "Go" both as language and inside technology. Usually the language itself is not repeated in technology; verify whether this duplication is intended.


995-1010: Unclear purpose of second “HTML Template”

Two HTML Template entries now exist with different repos (Lines 995-1010 and 1013-1028). Confirm that both are intentionally distinct; if not, remove or merge.

Comment on lines +225 to +229
{
"name": "Go",
"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.

🛠️ Refactor suggestion

Inconsistent naming: “Go” vs “Go/Golang”.

Languages array already contains "Go/Golang" (Line 4). Introducing "Go" as a technology tag will break any consumer code that relies on strict-equality matching of tag names between languages and technologies. Align the name (and optionally unify the colours) to avoid hard-to-track filter mismatches.

🤖 Prompt for AI Agents
In config/all-tags.json around lines 225 to 229, the tag name "Go" is
inconsistent with the existing "Go/Golang" in the languages array at line 4,
which can cause mismatches in filtering logic. Rename the "Go" tag to
"Go/Golang" to match the existing language tag exactly, and optionally unify the
color and borderColor values to maintain visual consistency.

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

⚠️ Potential issue

Duplicate “SmartPaste” and “JetBrains” tags still present.

Even after the rename, another "SmartPaste" entry exists at Lines 291-294 and another "JetBrains" entry is unchanged earlier in the file. Duplicate tags confuse the filter UI and break CSS classes that depend on deterministic IDs. Please deduplicate.

🤖 Prompt for AI Agents
In config/all-tags.json around lines 281 to 294, there are duplicate entries for
"SmartPaste" and "JetBrains" tags. To fix this, remove the duplicate tag objects
so each tag name appears only once in the file. Ensure the remaining entries
have consistent color and borderColor values to avoid conflicts in the filter UI
and CSS class generation.

Comment on lines +52 to 70
{
"title": "nestjs-asyncapi",
"description": "Utilize decorators to generate AsyncAPI document utilizing DTOs (similar to @nestjs/swagger) and a web UI.",
"links": {
"repoUrl": "https://github.com/flamewow/nestjs-asyncapi"
},
"filters": {
"language": "Typescript",
"technology": [
"Node.js",
"NestJS"
],
"categories": [
"code-first"
],
"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

Inconsistent language casing breaks tag matching

"language": "Typescript" (Line 59) should use the canonical "TypeScript" used elsewhere. The filtering UI relies on exact-case matches; leaving this as-is will make the NestJS tool invisible to “TypeScript” queries.

🤖 Prompt for AI Agents
In config/tools-automated.json between lines 52 and 70, the "language" field is
set to "Typescript" which is inconsistent with the canonical "TypeScript" used
elsewhere. Change the value of "language" from "Typescript" to "TypeScript" to
ensure consistent casing and proper tag matching in the filtering UI.

Comment on lines +116 to 135
"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"
],
"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.

⚠️ Potential issue

Duplicate .NET SDK entry and misleading description

  1. AsyncAPI.Net already exists in the Converters section. Keeping a second copy here causes duplication noise.
  2. The description still mentions “OpenAPI” instead of “AsyncAPI”, which is confusing for end-users.
🤖 Prompt for AI Agents
In config/tools-automated.json around lines 116 to 135, remove this duplicate
AsyncAPI.Net SDK entry to avoid redundancy since it already exists in the
Converters section. Also, update the description to correctly reference AsyncAPI
instead of OpenAPI to prevent confusion for users.

Comment on lines +165 to 178
"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": {
"websiteUrl": "https://zenwave360.github.io/",
"docsUrl": "https://zenwave360.github.io/zenwave-sdk/plugins/asyncapi-spring-cloud-streams3/",
"repoUrl": "https://github.com/zenwave360/zenwave-sdk"
"repoUrl": "https://github.com/lerenn/asyncapi-codegen"
},
"filters": {
"language": "Java",
"technology": [
"Maven",
"CLI",
"Spring Cloud Streams",
"JHipster JDL"
],
"language": "golang",
"categories": [
"code-generator",
"dsl",
"mocking-and-testing",
"cli"
"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

Non-standard language tag

"language": "golang" (Line 171) deviates from the newly introduced "Go" tag (see all-tags.json). This prevents the generator from appearing when filtering by “Go”.

🤖 Prompt for AI Agents
In config/tools-automated.json around lines 165 to 178, the language tag
"golang" should be changed to the standard "Go" to align with the tags defined
in all-tags.json. Update the "language" field value from "golang" to "Go" to
ensure the generator appears correctly when filtering by the Go language.

Comment on lines +530 to +551
{
"title": "Specmatic",
"description": "Transform your API Specs into Executable Contracts with #NoCode in Seconds. Experience the power of Contract-Driven Development to confidently develop and independently deploy your Microservices and Microfrontends faster",
"links": {
"websiteUrl": "https://specmatic.io",
"docsUrl": "https://specmatic.io/documentation/",
"repoUrl": "https://github.com/specmatic/specmatic"
},
"filters": {
"language": "kotlin",
"technology": [
"Docker",
"maven"
],
"categories": [
"mocking-and-testing",
"CLIs"
],
"hasCommercial": true,
"isAsyncAPIOwner": false
}
},
Copy link
Contributor

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion

Specmatic – category & casing issues

• Duplicate listing appears again under CLIs later.
"language": "kotlin" should be "Kotlin".
"maven" tag in technology should be "Maven" for consistency.

🤖 Prompt for AI Agents
In config/tools-automated.json around lines 530 to 551, fix the casing of the
"language" value from "kotlin" to "Kotlin" and update the "maven" entry in the
"technology" array to "Maven" for consistency. Also, remove the duplicate
Specmatic entry found later under the "CLIs" category to avoid redundancy.

Comment on lines +717 to 736
"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://zenwave360.github.io/",
"docsUrl": "https://zenwave360.github.io/zenwave-sdk/plugins/asyncapi-spring-cloud-streams3/",
"repoUrl": "https://github.com/zenwave360/zenwave-sdk"
"websiteUrl": "https://specmatic.io",
"docsUrl": "https://specmatic.io/documentation/",
"repoUrl": "https://github.com/specmatic/specmatic"
},
"filters": {
"language": "Java",
"language": "kotlin",
"technology": [
"Maven",
"CLI",
"Spring Cloud Streams",
"JHipster JDL"
"Docker",
"maven"
],
"categories": [
"code-generator",
"dsl",
"mocking-and-testing",
"cli"
"CLIs"
],
"hasCommercial": false,
"hasCommercial": true,
"isAsyncAPIOwner": false
}
Copy link
Contributor

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion

Capitalised “CLIs” category breaks filter

Specmatic again uses "CLIs" here (Line 731). All other CLI tools use "cli". Case and plural inconsistency will fragment results.

🤖 Prompt for AI Agents
In config/tools-automated.json between lines 717 and 736, the category "CLIs" is
capitalized and pluralized, which is inconsistent with the rest of the file
where the category is "cli" in lowercase and singular form. Change the category
value from "CLIs" to "cli" to maintain consistency and ensure proper filtering.

@asyncapi-bot
Copy link
Contributor Author

asyncapi-bot commented Aug 4, 2025

⚡️ Lighthouse report for the changes in this PR:

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

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

@codecov
Copy link

codecov bot commented Aug 4, 2025

Codecov Report

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

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

@thulieblack
Copy link
Member

/rtm

@asyncapi-bot asyncapi-bot merged commit debf7d0 into master Aug 5, 2025
20 checks passed
@asyncapi-bot asyncapi-bot deleted the update-tools/regenerateTools branch August 5, 2025 11:46
@coderabbitai coderabbitai bot mentioned this pull request Aug 11, 2025
@coderabbitai coderabbitai bot mentioned this pull request Aug 25, 2025
@coderabbitai coderabbitai bot mentioned this pull request Sep 8, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants