Skip to content

chore: update tools.json#5367

Open
asyncapi-bot wants to merge 1 commit into
masterfrom
update-tools/regenerateTools
Open

chore: update tools.json#5367
asyncapi-bot wants to merge 1 commit into
masterfrom
update-tools/regenerateTools

Conversation

@asyncapi-bot
Copy link
Copy Markdown
Contributor

@asyncapi-bot asyncapi-bot commented Apr 27, 2026

Hey, @asyncapi/website-maintainers, please review this updated tools list.

Check the workflow run logs for any ignored tools summary and verify new entries before merging.

Summary by CodeRabbit

  • New Features

    • Added AsyncAPI React component, Mokapi, AsyncAPI Payload Validator (expanded description), new Golang and Python code generators, Java Spring Cloud Stream and Node.js templates, and Zod Sockets in DSL.
  • Updates

    • Reordered and reclassified many tools and templates for improved discovery; updated repository links and metadata; adjusted template language labels and ownership flags.
  • Removals

    • Removed Zod Sockets from Frameworks and removed one validators entry.

Review Change Stack

@netlify
Copy link
Copy Markdown

netlify Bot commented Apr 27, 2026

Deploy Preview for asyncapi-website ready!

Name Link
🔨 Latest commit adedf5f
🔍 Latest deploy log https://app.netlify.com/projects/asyncapi-website/deploys/6a0a6901cba86e000894d46a
😎 Deploy Preview https://deploy-preview-5367--asyncapi-website.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Apr 27, 2026

📝 Walkthrough

Walkthrough

Reorganizes tool/tag JSON configs: reorders entries, swaps AsyncAPI .NET forks, moves/adds/removes tools (Zod Sockets, Mokapi, Repid, AsyncAPI Payload Validator, AsyncAPI React), updates generator templates, and fixes several repo URLs and technology labels.

Changes

Tools Catalog Reorganization

Layer / File(s) Summary
Tags reorder
config/all-tags.json
Moves FastAPI before TypeScript and places AsyncAPI CLI before AsyncAPI Generator.
Code-first Tools Reordering & AsyncAPI .NET Fork
config/tools-automated.json
Reorders Code-first tools, updates ChanX and nestjs-asyncapi placement/filters, and swaps/updates AsyncAPI .NET SDK fork entries and Bielu.AspNetCore.AsyncApi placement.
Code Generators Reordering & Additions
config/tools-automated.json
Adds/repositions Golang AsyncAPI Code Generator(s), introduces asyncapi-python, and reorders multiple generator records.
Docs, UI, DSL, Frameworks changes
config/tools-automated.json
Reorders Documentation Generators, adds AsyncAPI React component (isAsyncAPIOwner: true), moves Zod Sockets into DSL and removes it from Frameworks.
GitHub Actions reorder
config/tools-automated.json
Swaps ordering between “GitHub Action for CLI” and “GitHub Action for Generator” entries while preserving metadata.
Mocking & Testing additions
config/tools-automated.json
Adds/relocates AsyncAPI Payload Validator with updated description/filters, inserts Mokapi, and reorders Mocking & Testing entries.
Validators reordering
config/tools-automated.json
Reorders Validators, introduces AsyncAPI Validation, and swaps AsyncAPI.Net/AsyncAPI.NET ordering.
CLIs reorder & validator CLI addition
config/tools-automated.json
Reorders CLIs, adds AsyncAPI Payload Validator into CLIs with updated categories, and repositions Specmatic.
Generator Templates updates
config/tools-automated.json
Adds Node.js Multiprotocol Template, replaces/updates HTML Template(s) (description:null, ownership/filters), adds Java Spring Cloud Stream Template, and adjusts template filter shapes.
Others: repo URL & owner flags
config/tools-automated.json
Updates AsyncAPI CLI repoUrl entries and toggles filters.isAsyncAPIOwner for duplicate records.
Public tools.json edits
config/tools.json
Adds Repid to Code-first tools and Frameworks, updates Golang AsyncAPI Code Generator repoUrl, and renames AsyncAPI Payload Validator technology label to AsyncAPI CLI across Mocking, Validators, and CLIs.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

  • asyncapi/website#4754: Overlapping tool-entry and tag-label changes (AsyncAPI CLI/Generator and AsyncAPI.Net/AsyncAPI.NET edits).
  • asyncapi/website#4609: Related reorgs introducing/repositioning Golang codegen and asyncapi-python and moving Zod Sockets.
  • asyncapi/website#5321: Overlaps on AsyncAPI.NET/AsyncAPI.Net swaps and AsyncAPI Payload Validator repositioning.

Suggested reviewers

  • derberg
  • princerajpoot20
  • akshatnema
  • sambhavgupta0705
  • vishvamsinh28
  • anshgoyalevil
  • Mayaleeeee

Poem

🐰 I hopped through JSON, nudged tags in a row,
Forks swapped their places, new tools sprung to grow,
Templates refreshed, CLI labels made neat,
Repo links updated — catalog complete! 🥕✨

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Title check ❓ Inconclusive The title 'chore: update tools.json' is vague and does not convey the scope of actual changes, which span three configuration files with significant metadata reorganization and tool catalog updates. Provide a more descriptive title that reflects the primary changes, such as 'chore: reorganize and update tool catalog metadata' or 'chore: update tools catalog with new entries and metadata changes'.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • 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

Comment @coderabbitai help to get the list of available commands and usage tips.

@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 27, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (1abcee7) to head (adedf5f).

Additional details and impacted files
@@            Coverage Diff            @@
##            master     #5367   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files           22        22           
  Lines          830       830           
  Branches       159       159           
=========================================
  Hits           830       830           

☔ 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
Copy link
Copy Markdown
Contributor Author

asyncapi-bot commented Apr 27, 2026

⚡️ Lighthouse report for the changes in this PR:

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

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

Copy link
Copy Markdown
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: 2

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
config/tools-automated.json (1)

439-475: ⚠️ Potential issue | 🟠 Major

Remove suspicious fork and test-repo entries before merging.

The file contains multiple entries with isAsyncAPIOwner: false that appear to be forks, test repos, or personal projects:

Line(s) Title repoUrl
439–455 AsyncAPI Studio github.com/TahaShahid203/async-api-issue
457–475 AsyncAPI Studio github.com/Shurtu-gal/action-test-bed
992–1009 AsyncAPI CLI github.com/hkirat/asyncapi-fork
1110–1125 asyncapi-preview github.com/Savio629/testing2
1192–1207 HTML Template github.com/WSOL12/html-template
1249–1264 HTML Template github.com/dipaksodani/async-gen
1349–1365 AsyncAPI CLI github.com/hkirat/asyncapi-fork

Note that lines 1349–1365 are an exact duplicate of lines 992–1009. The legitimate AsyncAPI Studio (lines 420–436) is properly marked with isAsyncAPIOwner: true and points to github.com/asyncapi/studio. These spurious entries should either be verified individually or added to the discovery ignore list.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@config/tools-automated.json` around lines 439 - 475, Remove the suspicious
fork/test entries by locating objects where "title" is "AsyncAPI Studio" or
"AsyncAPI CLI" with "isAsyncAPIOwner": false and repoUrl pointing to
personal/test forks (e.g., github.com/TahaShahid203/async-api-issue,
github.com/Shurtu-gal/action-test-bed, github.com/hkirat/asyncapi-fork,
github.com/Savio629/testing2, github.com/WSOL12/html-template,
github.com/dipaksodani/async-gen) and either delete those objects or move them
to the discovery ignore list; also remove the exact duplicate block (the second
github.com/hkirat/asyncapi-fork entry) and ensure the legitimate AsyncAPI Studio
entry (the one with isAsyncAPIOwner: true and repo github.com/asyncapi/studio)
remains unchanged.
🧹 Nitpick comments (1)
config/tools-automated.json (1)

84-84: Inconsistent casing of language values across entries.

The same language is spelled differently across records (e.g., "python" at Lines 84, 218, 302 vs "Python" at Line 14/106; "Typescript" at Line 172 vs "TypeScript" elsewhere; "kotlin" at Lines 752, 1044; "golang" at Line 264; "php"/"laravel"/"symfony" at Lines 281–285). Same applies to the technology array (e.g., "maven" at Line 755, 1047 vs "Maven" elsewhere; "React js" at Line 490 vs "React JS" in all-tags.json Line 111).

This is the regenerated output, so the fix likely belongs in the upstream tool YAMLs / regeneration script (case-normalize before emit). Worth raising upstream so the rendered tools.json consistently picks up colors/borders from all-tags.json.

Also applies to: 172-172, 218-218, 264-264, 281-285, 752-752, 1044-1044

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@config/tools-automated.json` at line 84, Entries in
config/tools-automated.json have inconsistent casing for the "language" and
"technology" fields (e.g., "python" vs "Python", "Typescript" vs "TypeScript",
"maven" vs "Maven"); update the regeneration logic (the upstream YAML -> JSON
emitter) to normalize casing before emit: canonicalize "language" and each
element of "technology" using a single strategy (e.g., TitleCase or match
canonical names from all-tags.json) and apply that mapping in the generator so
fields like "language" and "technology" are emitted consistently across records
(use the existing all-tags.json canonical list as the source of truth).
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@config/tools-automated.json`:
- Around line 173-176: The tag string "NestJS" in the technology array is
inconsistent with the canonical tag "Nest Js"; update the "technology" entry
that currently contains "NestJS" to exactly "Nest Js" so it matches the tag
defined in all-tags.json and enables correct mapping/styling.
- Around line 633-666: Update the two GitHub Action objects so their repoUrl and
metadata match their titles: for the object with "title": "GitHub Action for
CLI" replace its repoUrl (and any owner flags) to point to
https://github.com/asyncapi/cli and set isAsyncAPIOwner: true (this entry
represents the CLI's github-action folder), and for the object with "title":
"GitHub Action for Generator" set repoUrl to
https://github.com/asyncapi/github-action-for-generator and set isAsyncAPIOwner
appropriately; also remove the object whose repoUrl is
https://github.com/actions-marketplace-validations/asyncapi_github-action-for-generator
(the auto-generated marketplace validation copy) so only the correct
asyncapi-owned entries remain.

---

Outside diff comments:
In `@config/tools-automated.json`:
- Around line 439-475: Remove the suspicious fork/test entries by locating
objects where "title" is "AsyncAPI Studio" or "AsyncAPI CLI" with
"isAsyncAPIOwner": false and repoUrl pointing to personal/test forks (e.g.,
github.com/TahaShahid203/async-api-issue, github.com/Shurtu-gal/action-test-bed,
github.com/hkirat/asyncapi-fork, github.com/Savio629/testing2,
github.com/WSOL12/html-template, github.com/dipaksodani/async-gen) and either
delete those objects or move them to the discovery ignore list; also remove the
exact duplicate block (the second github.com/hkirat/asyncapi-fork entry) and
ensure the legitimate AsyncAPI Studio entry (the one with isAsyncAPIOwner: true
and repo github.com/asyncapi/studio) remains unchanged.

---

Nitpick comments:
In `@config/tools-automated.json`:
- Line 84: Entries in config/tools-automated.json have inconsistent casing for
the "language" and "technology" fields (e.g., "python" vs "Python", "Typescript"
vs "TypeScript", "maven" vs "Maven"); update the regeneration logic (the
upstream YAML -> JSON emitter) to normalize casing before emit: canonicalize
"language" and each element of "technology" using a single strategy (e.g.,
TitleCase or match canonical names from all-tags.json) and apply that mapping in
the generator so fields like "language" and "technology" are emitted
consistently across records (use the existing all-tags.json canonical list as
the source of truth).
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 4336f6aa-9d1a-463d-907c-a9f52a9448fd

📥 Commits

Reviewing files that changed from the base of the PR and between 7dbfe21 and 831d8f0.

📒 Files selected for processing (3)
  • config/all-tags.json
  • config/tools-automated.json
  • config/tools.json

Comment on lines 173 to 176
"technology": [
"Socket.IO",
"Flask"
"Node.js",
"NestJS"
],
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

# Check the specific lines in tools-automated.json
head -176 config/tools-automated.json | tail -10

Repository: asyncapi/website

Length of output: 430


🏁 Script executed:

# Check the specific lines in all-tags.json
head -184 config/all-tags.json | tail -10

Repository: asyncapi/website

Length of output: 276


🏁 Script executed:

# Search for all NestJS and Nest Js occurrences
rg -i "nestjs|nest\s+js" config/

Repository: asyncapi/website

Length of output: 816


🏁 Script executed:

# Check line 453 in tools.json
sed -n '450,456p' config/tools.json

Repository: asyncapi/website

Length of output: 271


Update NestJS to match the defined tag name Nest Js in all-tags.json.

config/all-tags.json defines this tag as "Nest Js" (with space), but config/tools-automated.json line 175 uses "NestJS" (no space). The mismatch will cause the tag to fail mapping if exact string matching is required, preventing the correct color and border styling from being applied. Update line 175 to "Nest Js" to align with the authoritative tag definition.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@config/tools-automated.json` around lines 173 - 176, The tag string "NestJS"
in the technology array is inconsistent with the canonical tag "Nest Js"; update
the "technology" entry that currently contains "NestJS" to exactly "Nest Js" so
it matches the tag defined in all-tags.json and enables correct mapping/styling.

Comment thread config/tools-automated.json Outdated
Comment on lines 633 to 666
{
"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 CLI",
"description": null,
"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
}
}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

# First, let's read the specific lines in question (633-666) from config/tools-automated.json
sed -n '633,666p' config/tools-automated.json | cat -n

Repository: asyncapi/website

Length of output: 1327


🏁 Script executed:

# Also, let's get more context - read a bit before and after to ensure we have complete entries
sed -n '620,680p' config/tools-automated.json | cat -n

Repository: asyncapi/website

Length of output: 2516


🏁 Script executed:

# Check if there are any other references to these GitHub Actions in the codebase
rg "github-action-for-generator|asyncapi/cli" --max-count=20 -A 2 -B 2

Repository: asyncapi/website

Length of output: 50374


🏁 Script executed:

# Search for "GitHub Action" entries throughout the file to see the pattern
rg -A 5 '"GitHub Action' config/tools-automated.json | head -60

Repository: asyncapi/website

Length of output: 777


GitHub Action entries have reversed identities and point to incorrect repositories.

The two entries under "GitHub Actions" are misaligned:

  • GitHub Action for CLI (line 634) points to https://github.com/actions-marketplace-validations/asyncapi_github-action-for-generator — an automated marketplace validation mirror of the Generator action, not the CLI action. This is marked isAsyncAPIOwner: false and should not be listed as a standalone tool.

  • GitHub Action for Generator (line 651) points to https://github.com/asyncapi/cli (the AsyncAPI CLI tool itself) with description "CLI to work with your AsyncAPI files…" and is marked isAsyncAPIOwner: true.

The correct configuration should be:

  • "GitHub Action for CLI" should point to https://github.com/asyncapi/cli (which contains the GitHub Action in its github-action/ subdirectory).
  • "GitHub Action for Generator" should point to https://github.com/asyncapi/github-action-for-generator.

Additionally, remove the actions-marketplace-validations entry as it is an auto-generated marketplace validation copy, not a user-facing tool.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@config/tools-automated.json` around lines 633 - 666, Update the two GitHub
Action objects so their repoUrl and metadata match their titles: for the object
with "title": "GitHub Action for CLI" replace its repoUrl (and any owner flags)
to point to https://github.com/asyncapi/cli and set isAsyncAPIOwner: true (this
entry represents the CLI's github-action folder), and for the object with
"title": "GitHub Action for Generator" set repoUrl to
https://github.com/asyncapi/github-action-for-generator and set isAsyncAPIOwner
appropriately; also remove the object whose repoUrl is
https://github.com/actions-marketplace-validations/asyncapi_github-action-for-generator
(the auto-generated marketplace validation copy) so only the correct
asyncapi-owned entries remain.

Copy link
Copy Markdown
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: 2

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
config/tools-automated.json (1)

453-489: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Exclude fork/test repos that inherit official AsyncAPI titles.

These entries reuse official titles/metadata (AsyncAPI Studio, HTML Template) but point repoUrl at unrelated repos such as Shurtu-gal/action-test-bed, TahaShahid203/async-api-issue, and dipaksodani/async-gen. Publishing them as-is will create misleading catalog cards. Please add these repos to the ignore list or give them their real project identity before merge.

Also applies to: 1205-1219, 1279-1294

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@config/tools-automated.json` around lines 453 - 489, The JSON contains
duplicate official titles like "AsyncAPI Studio" and "HTML Template" pointing at
unrelated fork/test repos (see repoUrl values such as
"https://github.com/Shurtu-gal/action-test-bed",
"https://github.com/TahaShahid203/async-api-issue",
"https://github.com/dipaksodani/async-gen"); either add those repo URLs to the
project's ignore list or update the entries' metadata
(title/description/filters) to reflect the actual project identity before
merging—search for objects where "title": "AsyncAPI Studio" (and the other
mentioned titles) and ensure those entries are filtered out or corrected across
the file (also address the other occurrences noted around the indicated ranges).
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@config/tools-automated.json`:
- Around line 77-95: Update the filter label values to use the canonical
spellings so tags are consistent: change the "language" value from "python" to
"Python", normalize any "Typescript" to "TypeScript", "React js" to "React JS",
"kotlin" to "Kotlin", and "maven" to "Maven"; apply these edits inside the
"filters" object (fields "language", "technology" array and any "categories"
entries) for this ChanX block and the other similar blocks referenced so all
occurrences use the canonical capitalization and spacing.
- Around line 211-240: Two identical entries share the title "Golang AsyncAPI
Code Generator" causing a duplicate; remove the redundant object and keep a
single canonical record. Specifically, delete the object whose links.repoUrl is
"https://github.com/dimonoff/asyncapi-codegen" (or alternatively keep only
"https://github.com/lerenn/asyncapi-codegen") so there is one unique "Golang
AsyncAPI Code Generator" entry with the correct repoUrl and the same
filters/description.

---

Outside diff comments:
In `@config/tools-automated.json`:
- Around line 453-489: The JSON contains duplicate official titles like
"AsyncAPI Studio" and "HTML Template" pointing at unrelated fork/test repos (see
repoUrl values such as "https://github.com/Shurtu-gal/action-test-bed",
"https://github.com/TahaShahid203/async-api-issue",
"https://github.com/dipaksodani/async-gen"); either add those repo URLs to the
project's ignore list or update the entries' metadata
(title/description/filters) to reflect the actual project identity before
merging—search for objects where "title": "AsyncAPI Studio" (and the other
mentioned titles) and ensure those entries are filtered out or corrected across
the file (also address the other occurrences noted around the indicated ranges).
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: ef09ecd0-77ca-4b31-8512-09a15fb29604

📥 Commits

Reviewing files that changed from the base of the PR and between 831d8f0 and 6701b04.

📒 Files selected for processing (3)
  • config/all-tags.json
  • config/tools-automated.json
  • config/tools.json
✅ Files skipped from review due to trivial changes (1)
  • config/all-tags.json
🚧 Files skipped from review as they are similar to previous changes (1)
  • config/tools.json

Comment thread config/tools-automated.json Outdated
Comment on lines 77 to 95
"title": "ChanX",
"description": "WebSocket framework for Django/FastAPI with AsyncAPI 3.0 spec generation and Python client generation from AsyncAPI schemas",
"links": {
"repoUrl": "https://github.com/bielu/Bielu.AspNetCore.AsyncApi"
"docsUrl": "https://chanx.readthedocs.io/",
"repoUrl": "https://github.com/huynguyengl99/chanx"
},
"filters": {
"language": "C#",
"language": "python",
"technology": [
"ASP.NET",
".NET"
"Django",
"FastAPI"
],
"categories": [
"code-first",
"documentation-generator",
"cli",
"framework",
"ui-component",
"bundler"
"code-generator"
],
"hasCommercial": false,
"isAsyncAPIOwner": false
}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Normalize these filter labels to the canonical spellings.

Values like python, Typescript, React js, kotlin, and maven do not match the spellings already used elsewhere in this catalog (Python, TypeScript, React JS, Kotlin, Maven). That splits the same concept into different filter/tag values and can break consistent styling.

Also applies to: 144-160, 496-513, 688-706

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@config/tools-automated.json` around lines 77 - 95, Update the filter label
values to use the canonical spellings so tags are consistent: change the
"language" value from "python" to "Python", normalize any "Typescript" to
"TypeScript", "React js" to "React JS", "kotlin" to "Kotlin", and "maven" to
"Maven"; apply these edits inside the "filters" object (fields "language",
"technology" array and any "categories" entries) for this ChanX block and the
other similar blocks referenced so all occurrences use the canonical
capitalization and spacing.

Comment thread config/tools-automated.json
Copy link
Copy Markdown
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: 2

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
config/tools-automated.json (2)

727-730: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Inconsistent category slug "CLIs" (Specmatic).

Everywhere else in this catalog the CLI category is the lowercase slug "cli" (e.g., lines 752, 774, 845, 937, 978, 999, 1025, 1044, 1066, 1357, 1376). Specmatic uses "CLIs" at line 729 and again at line 959, which will likely fail exact-match filtering against the canonical category and miscount entries on the CLIs page. Normalize both occurrences to "cli".

♻️ Proposed fix
           "categories": [
             "mocking-and-testing",
-            "CLIs"
+            "cli"
           ],

Apply the same change at line 959.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@config/tools-automated.json` around lines 727 - 730, The categories array for
the Specmatic entry uses the inconsistent slug "CLIs" which should be normalized
to the canonical lowercase "cli"; locate the Specmatic record that contains the
"categories" array with "CLIs" and replace both occurrences of "CLIs" with "cli"
so exact-match filtering and counts work correctly (ensure you update every
occurrence of the "CLIs" value for Specmatic in the file).

1183-1338: ⚠️ Potential issue | 🟠 Major | 🏗️ Heavy lift

Remove fork/squatting entries from AsyncAPI Generator Templates and other tool categories.

The AsyncAPI Generator Templates section contains three HTML Template entries: the official asyncapi/html-template plus fork versions from dipaksodani/async-gen and WSOL12/html-template (both with isAsyncAPIOwner: false and null descriptions). Similar patterns appear throughout the file:

  • AsyncAPI Studio (Editors): Official asyncapi/studio alongside forks TahaShahid203/async-api-issue and Shurtu-gal/action-test-bed
  • AsyncAPI CLI (CLIs and Others): Official asyncapi/cli alongside fork hkirat/asyncapi-fork (appearing in both categories)
  • asyncapi-preview (IDE Extensions): Official asyncapi/vs-asyncapi-preview alongside fork Savio629/testing2

These fork/squatting entries have isAsyncAPIOwner: false, null descriptions, and will be published as live cards with incomplete data. The fix belongs upstream in the tool-collection workflow's filter (e.g., excluding non-asyncapi-owned forks when a canonical version exists, or deduplicating by NWO when titles collide). Verify the workflow's ignored-tools summary before merging to prevent these entries from reaching publication.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@config/tools-automated.json` around lines 1183 - 1338, The file contains
duplicate/forked tool entries (e.g., multiple "HTML Template" items with
isAsyncAPIOwner: false and null descriptions such as links.repoUrl
"https://github.com/dipaksodani/async-gen" and
"https://github.com/WSOL12/html-template") and similar duplicates under
"AsyncAPI Studio", "AsyncAPI CLI" and "asyncapi-preview"; update the
tool-collection workflow/filter to deduplicate by canonical NWO (links.repoUrl)
and drop non-owner forks when a canonical asyncapi-owned entry exists by
checking the isAsyncAPIOwner flag and title collision, ensure the filter logic
uses keys title, links.repoUrl and isAsyncAPIOwner and add a rule to populate
ignored-tools summary for these removals so you can verify them before merging.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@config/tools-automated.json`:
- Line 744: Replace the non-canonical language value "Go/Golang" with the
canonical label "Go" where it appears in the JSON (the "language" field that
currently equals "Go/Golang" and the duplicate occurrence for CLIs) so that
filtering/mapping uses a single consistent language token; update both
occurrences to "Go" to normalize values.
- Around line 1228-1231: The templates "Java Spring Cloud Stream Template",
"Java Spring Template", and "Java Template" have filters.language set as a
single-element array and incorrectly use "javascript"; change filters.language
from ["javascript"] to the scalar string "java" (matching the shape and value
used by other templates) so consumers expecting a string receive a consistent
type; update the three occurrences of the filters.language key accordingly and
ensure the value is "java" (lowercase) to match other entries.

---

Outside diff comments:
In `@config/tools-automated.json`:
- Around line 727-730: The categories array for the Specmatic entry uses the
inconsistent slug "CLIs" which should be normalized to the canonical lowercase
"cli"; locate the Specmatic record that contains the "categories" array with
"CLIs" and replace both occurrences of "CLIs" with "cli" so exact-match
filtering and counts work correctly (ensure you update every occurrence of the
"CLIs" value for Specmatic in the file).
- Around line 1183-1338: The file contains duplicate/forked tool entries (e.g.,
multiple "HTML Template" items with isAsyncAPIOwner: false and null descriptions
such as links.repoUrl "https://github.com/dipaksodani/async-gen" and
"https://github.com/WSOL12/html-template") and similar duplicates under
"AsyncAPI Studio", "AsyncAPI CLI" and "asyncapi-preview"; update the
tool-collection workflow/filter to deduplicate by canonical NWO (links.repoUrl)
and drop non-owner forks when a canonical asyncapi-owned entry exists by
checking the isAsyncAPIOwner flag and title collision, ensure the filter logic
uses keys title, links.repoUrl and isAsyncAPIOwner and add a rule to populate
ignored-tools summary for these removals so you can verify them before merging.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 81de76eb-f45c-4378-b484-6a77b52b66b3

📥 Commits

Reviewing files that changed from the base of the PR and between 6701b04 and c4454e3.

📒 Files selected for processing (2)
  • config/tools-automated.json
  • config/tools.json
✅ Files skipped from review due to trivial changes (1)
  • config/tools.json

Comment thread config/tools-automated.json Outdated
},
"filters": {
"language": "Python",
"language": "Go/Golang",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Non-canonical language value "Go/Golang" (Mokapi).

"Go/Golang" does not match any canonical language label used elsewhere (e.g., "Go" or "golang") and will not map to a single filter chip. Same issue at line 1017 for the Mokapi duplicate in CLIs. Normalize to one canonical value ("Go").

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@config/tools-automated.json` at line 744, Replace the non-canonical language
value "Go/Golang" with the canonical label "Go" where it appears in the JSON
(the "language" field that currently equals "Go/Golang" and the duplicate
occurrence for CLIs) so that filtering/mapping uses a single consistent language
token; update both occurrences to "Go" to normalize values.

Comment thread config/tools-automated.json
@sonarqubecloud
Copy link
Copy Markdown

Copy link
Copy Markdown
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: 2

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (3)
config/tools.json (1)

802-843: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Duplicate Golang generator entries create conflicting tool records.

This change adds a new Golang AsyncAPI Code Generator entry but leaves the previous identical entry in place with a different repoUrl. That will render duplicate cards for the same tool and split traffic between two repos.

Suggested fix
-      {
-        "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": [
-            {
-              "name": "Go/Golang",
-              "color": "bg-[`#8ECFDF`]",
-              "borderColor": "border-[`#00AFD9`]"
-            }
-          ],
-          "technology": [],
-          "categories": [
-            "code-generator"
-          ],
-          "hasCommercial": false
-        }
-      },
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@config/tools.json` around lines 802 - 843, There are two entries with the
same "title": "Golang AsyncAPI Code Generator" causing duplicate tool records;
fix by removing or merging the duplicate object so only a single tool entry
remains—locate the objects with title "Golang AsyncAPI Code Generator" and
consolidate their "links.repoUrl" (either keep the correct one and delete the
other object, or combine repo URLs into a single canonical entry) and ensure the
final object retains the same "filters" and "description" fields.
config/tools-automated.json (2)

1349-1361: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Remove or clarify the purpose of the stale AsyncAPI CLI fork entry.

The file contains two identical "AsyncAPI CLI" entries (same title, description, and website URL):

  1. https://github.com/hkirat/asyncapi-fork with isAsyncAPIOwner: false
  2. https://github.com/asyncapi/cli with isAsyncAPIOwner: true

The fork at hkirat/asyncapi-fork is stale (last updated September 2024, 8+ months ago) and minimally used (3 stars, 0 forks), while the official repository is actively maintained (267 stars, 362 forks, updated within the last week). Listing both creates user confusion about which CLI to use. Remove the fork entry unless it serves a documented, specific purpose distinct from the official tool.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@config/tools-automated.json` around lines 1349 - 1361, The config contains a
stale duplicate entry for the AsyncAPI CLI (repoUrl
"https://github.com/hkirat/asyncapi-fork" with isAsyncAPIOwner: false) that
conflicts with the official entry ("https://github.com/asyncapi/cli"); remove
the fork entry from the tools-automated.json or replace it with a clear
comment/metadata explaining a distinct purpose if it must remain (e.g., "stale
fork for historical reference") and ensure the remaining entry clearly points to
the actively maintained official repo and preserves filters and
hasCommercial/isAsyncAPIOwner flags accordingly.

211-224: ⚠️ Potential issue | 🟠 Major | ⚖️ Poor tradeoff

Duplicate Golang AsyncAPI Code Generator entries require resolution.

Lines 211-224 and 314-327 both list "Golang AsyncAPI Code Generator" with identical titles, descriptions, and filters but different repositories:

  • dimonoff/asyncapi-codegen (0 stars, recently updated May 2026, active commits)
  • lerenn/asyncapi-codegen (157 stars, updated April 2026, last commits August 2025)

Both entries create ambiguity in the catalog. If these are intentional (e.g., different implementations), they should have distinct titles/descriptions. Otherwise, one should be removed in favor of the more actively maintained or community-adopted version.

Additionally, both entries use "language": "golang" (lowercase); this should be normalized to "Go" to align with canonical language naming conventions.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@config/tools-automated.json` around lines 211 - 224, There are duplicate tool
entries with the title "Golang AsyncAPI Code Generator" causing ambiguity;
remove or consolidate the duplicate by keeping the preferred repository (choose
between "dimonoff/asyncapi-codegen" and "lerenn/asyncapi-codegen") and, if both
must remain, give each a distinct title/description that clearly differentiates
implementations (e.g., append the repo owner to the title and add a short
differentiator in "description"); also normalize the "language" filter value
from "golang" to the canonical "Go" in both entries (look for the title "Golang
AsyncAPI Code Generator" and update its "links"->"repoUrl", "description", and
"filters"->"language" accordingly).
♻️ Duplicate comments (4)
config/tools-automated.json (4)

744-744: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Non-canonical language value "Go/Golang".

Line 744 uses "Go/Golang", which doesn't match any canonical language label used elsewhere (the standard is "Go"). This will prevent proper filter/tag mapping.

The same issue appears at line 1036 (Mokapi duplicate in CLIs). Normalize both occurrences to "Go".

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@config/tools-automated.json` at line 744, Replace the non-canonical language
value "Go/Golang" with the standardized label "Go" in
config/tools-automated.json; specifically update the "language" field entries
that currently contain "Go/Golang" (including the duplicate in the Mokapi CLIs
section) so they use "Go" to ensure proper filter/tag mapping.

1229-1231: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Schema inconsistency: filters.language as array instead of string.

Lines 1229-1231 (Java Spring Cloud Stream Template), 1268-1270 (Java Template), and 1287-1290 (Java Spring Template) define "language" as a single-element array ["javascript"], while all other template entries use a plain string "language": "javascript".

This mixed scalar/array schema will break consumers that type this field as a string or rely on consistent shapes for filtering. Additionally, these are Java templates but incorrectly specify "javascript" as the language value.

Correct both issues by:

  1. Changing from array ["javascript"] to string scalar
  2. Changing the value from "javascript" to "java" (lowercase to match other template language values)
♻️ Proposed fix
-          "language": [
-            "javascript"
-          ],
+          "language": "java",

Also applies to: 1268-1270, 1287-1290

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@config/tools-automated.json` around lines 1229 - 1231, For the three Java
template entries currently using "language": ["javascript"], replace the array
with a scalar string and set the value to "java" (lowercase) so the field
becomes "language": "java"; target the JSON objects for the Java Spring Cloud
Stream Template, Java Template, and Java Spring Template where "language":
["javascript"] appears and update them to the scalar "language": "java" to
restore consistent schema and correct language labeling.

649-680: ⚠️ Potential issue | 🔴 Critical | ⚡ Quick win

GitHub Action entries have mismatched repos and titles.

The two GitHub Action entries have incorrect repository mappings:

  1. Line 649-663: "GitHub Action for CLI" points to actions-marketplace-validations/asyncapi_github-action-for-generator (an automated marketplace mirror of the Generator action, not the CLI action) with isAsyncAPIOwner: false.

  2. Line 666-680: "GitHub Action for Generator" points to https://github.com/asyncapi/cli (the AsyncAPI CLI repo, not the Generator action repo) with a CLI description and isAsyncAPIOwner: true.

Additionally, line 659 uses "github-action" (singular) while line 676 uses "github-actions" (plural), creating inconsistent category values.

Correct configuration should be:

  • "GitHub Action for CLI" → https://github.com/asyncapi/cli with isAsyncAPIOwner: true
  • "GitHub Action for Generator" → https://github.com/asyncapi/github-action-for-generator with appropriate ownership flag
  • Remove the actions-marketplace-validations entry (automated mirror, not a user-facing tool)
  • Normalize category to singular "github-action" or plural "github-actions" consistently
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@config/tools-automated.json` around lines 649 - 680, Update the two GitHub
Action objects so "GitHub Action for CLI" has links.repoUrl set to
"https://github.com/asyncapi/cli" and filters.isAsyncAPIOwner true, and "GitHub
Action for Generator" has links.repoUrl set to
"https://github.com/asyncapi/github-action-for-generator" with the appropriate
filters.isAsyncAPIOwner value; remove the automated mirror entry that points to
"actions-marketplace-validations/asyncapi_github-action-for-generator"; and
normalize the filters.categories value for both entries to the same token
(choose either "github-action" or "github-actions" and apply it consistently) so
the "title", "links.repoUrl", "description", "filters.isAsyncAPIOwner", and
"filters.categories" fields for the objects named "GitHub Action for CLI" and
"GitHub Action for Generator" are corrected.

172-175: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Normalize "Typescript" to "TypeScript" and verify "NestJS" tag.

Line 172 uses "Typescript" (incorrect capitalization), which won't match the canonical "TypeScript" tag used throughout the file. Update to "TypeScript".

Additionally, a past review comment flagged that line 175 uses "NestJS" but config/all-tags.json defines the tag as "Nest Js" (with space). Verify the canonical tag name and update if needed.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@config/tools-automated.json` around lines 172 - 175, Update the language tag
value "Typescript" to the canonical "TypeScript" and ensure the technology tag
for Nest is the canonical form used in config/all-tags.json: if that file
defines "Nest Js" (with a space) replace "NestJS" with "Nest Js"; otherwise keep
"NestJS"—modify the array entry in the JSON (the "language" and the "technology"
array) accordingly so tags exactly match the canonical spellings.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@config/tools-automated.json`:
- Line 40: The JSON entries using lowercase language values should be normalized
to the canonical capitalized form: replace "python" with "Python" and "php" with
"PHP" where they appear (specifically the entries shown as `"language":
"python"` and the Code Generators items referenced: ChanX, asyncapi-python, and
PHP AsyncAPI Annotations) so that tag/filter mapping is consistent; locate and
update the "language" fields in those objects to use the exact casing used
elsewhere ("Python" or "PHP") and ensure no other duplicate lowercase variants
remain.
- Around line 767-774: Update the inconsistent capitalization and plurality in
the tool metadata: change the "language" value "kotlin" to the canonical
"Kotlin", change the "technology" entry "maven" to "Maven", and change the
"categories" entry "CLIs" to the canonical "cli" for the block containing the
entries "language": "kotlin", "technology": ["Docker","maven"], "categories":
["mocking-and-testing","CLIs"]; apply the same three fixes to the duplicate CLIs
block elsewhere in the file so tag mapping is consistent.

---

Outside diff comments:
In `@config/tools-automated.json`:
- Around line 1349-1361: The config contains a stale duplicate entry for the
AsyncAPI CLI (repoUrl "https://github.com/hkirat/asyncapi-fork" with
isAsyncAPIOwner: false) that conflicts with the official entry
("https://github.com/asyncapi/cli"); remove the fork entry from the
tools-automated.json or replace it with a clear comment/metadata explaining a
distinct purpose if it must remain (e.g., "stale fork for historical reference")
and ensure the remaining entry clearly points to the actively maintained
official repo and preserves filters and hasCommercial/isAsyncAPIOwner flags
accordingly.
- Around line 211-224: There are duplicate tool entries with the title "Golang
AsyncAPI Code Generator" causing ambiguity; remove or consolidate the duplicate
by keeping the preferred repository (choose between "dimonoff/asyncapi-codegen"
and "lerenn/asyncapi-codegen") and, if both must remain, give each a distinct
title/description that clearly differentiates implementations (e.g., append the
repo owner to the title and add a short differentiator in "description"); also
normalize the "language" filter value from "golang" to the canonical "Go" in
both entries (look for the title "Golang AsyncAPI Code Generator" and update its
"links"->"repoUrl", "description", and "filters"->"language" accordingly).

In `@config/tools.json`:
- Around line 802-843: There are two entries with the same "title": "Golang
AsyncAPI Code Generator" causing duplicate tool records; fix by removing or
merging the duplicate object so only a single tool entry remains—locate the
objects with title "Golang AsyncAPI Code Generator" and consolidate their
"links.repoUrl" (either keep the correct one and delete the other object, or
combine repo URLs into a single canonical entry) and ensure the final object
retains the same "filters" and "description" fields.

---

Duplicate comments:
In `@config/tools-automated.json`:
- Line 744: Replace the non-canonical language value "Go/Golang" with the
standardized label "Go" in config/tools-automated.json; specifically update the
"language" field entries that currently contain "Go/Golang" (including the
duplicate in the Mokapi CLIs section) so they use "Go" to ensure proper
filter/tag mapping.
- Around line 1229-1231: For the three Java template entries currently using
"language": ["javascript"], replace the array with a scalar string and set the
value to "java" (lowercase) so the field becomes "language": "java"; target the
JSON objects for the Java Spring Cloud Stream Template, Java Template, and Java
Spring Template where "language": ["javascript"] appears and update them to the
scalar "language": "java" to restore consistent schema and correct language
labeling.
- Around line 649-680: Update the two GitHub Action objects so "GitHub Action
for CLI" has links.repoUrl set to "https://github.com/asyncapi/cli" and
filters.isAsyncAPIOwner true, and "GitHub Action for Generator" has
links.repoUrl set to "https://github.com/asyncapi/github-action-for-generator"
with the appropriate filters.isAsyncAPIOwner value; remove the automated mirror
entry that points to
"actions-marketplace-validations/asyncapi_github-action-for-generator"; and
normalize the filters.categories value for both entries to the same token
(choose either "github-action" or "github-actions" and apply it consistently) so
the "title", "links.repoUrl", "description", "filters.isAsyncAPIOwner", and
"filters.categories" fields for the objects named "GitHub Action for CLI" and
"GitHub Action for Generator" are corrected.
- Around line 172-175: Update the language tag value "Typescript" to the
canonical "TypeScript" and ensure the technology tag for Nest is the canonical
form used in config/all-tags.json: if that file defines "Nest Js" (with a space)
replace "NestJS" with "Nest Js"; otherwise keep "NestJS"—modify the array entry
in the JSON (the "language" and the "technology" array) accordingly so tags
exactly match the canonical spellings.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 5f40e631-f520-4183-b416-e12a76e8e835

📥 Commits

Reviewing files that changed from the base of the PR and between c4454e3 and adedf5f.

📒 Files selected for processing (3)
  • config/all-tags.json
  • config/tools-automated.json
  • config/tools.json

"repoUrl": "https://github.com/huynguyengl99/chanx"
},
"filters": {
"language": "python",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Normalize "python" to "Python" for filter consistency.

Line 40 uses lowercase "python", but line 86 (same file) and the majority of language filters use "Python" (capitalized). This splits the same language into separate filter values and breaks tag mapping. Update to "Python" to match the canonical spelling used elsewhere.

This also applies to:

  • Line 197 (Code Generators > ChanX)
  • Line 254 (Code Generators > asyncapi-python)
  • Line 300 (Code Generators > PHP AsyncAPI Annotations, uses lowercase "php")
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@config/tools-automated.json` at line 40, The JSON entries using lowercase
language values should be normalized to the canonical capitalized form: replace
"python" with "Python" and "php" with "PHP" where they appear (specifically the
entries shown as `"language": "python"` and the Code Generators items
referenced: ChanX, asyncapi-python, and PHP AsyncAPI Annotations) so that
tag/filter mapping is consistent; locate and update the "language" fields in
those objects to use the exact casing used elsewhere ("Python" or "PHP") and
ensure no other duplicate lowercase variants remain.

Comment on lines +767 to +774
"language": "kotlin",
"technology": [
"JavaScript",
"TypeScript",
"Docker"
"Docker",
"maven"
],
"categories": [
"mocking-and-testing",
"cli"
"CLIs"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Normalize filter capitalization for Specmatic.

Line 767 uses "kotlin" (lowercase) when the canonical form is "Kotlin". Line 770 uses "maven" (lowercase) when the canonical form is "Maven". These inconsistencies split filter values and break tag mapping.

Additionally, line 774 uses "CLIs" (uppercase, plural) in the categories array, while other entries use "cli" (lowercase, singular). Normalize to the canonical "cli".

The same issues appear in the CLIs section duplicate at lines 1059-1066.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@config/tools-automated.json` around lines 767 - 774, Update the inconsistent
capitalization and plurality in the tool metadata: change the "language" value
"kotlin" to the canonical "Kotlin", change the "technology" entry "maven" to
"Maven", and change the "categories" entry "CLIs" to the canonical "cli" for the
block containing the entries "language": "kotlin", "technology":
["Docker","maven"], "categories": ["mocking-and-testing","CLIs"]; apply the same
three fixes to the duplicate CLIs block elsewhere in the file so tag mapping is
consistent.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: To Be Triaged

Development

Successfully merging this pull request may close these issues.

2 participants