Skip to content

Add React language track with agents, skills, rules, and commands#2024

Open
Alexsky347 wants to merge 18 commits into
affaan-m:mainfrom
Alexsky347:task/add-react-handling
Open

Add React language track with agents, skills, rules, and commands#2024
Alexsky347 wants to merge 18 commits into
affaan-m:mainfrom
Alexsky347:task/add-react-handling

Conversation

@Alexsky347
Copy link
Copy Markdown
Contributor

@Alexsky347 Alexsky347 commented May 20, 2026

What Changed

Add full React language track mirroring existing tracks (Go, Rust, Kotlin, etc.):

  • Rules (rules/react/): coding-style, hooks, patterns, security, testing
  • Skills: react-patterns, react-testing, react-performance (SKILL.md each)
  • Agents: react-reviewer (component patterns, hook rules, WCAG AA, perf budgets, security) and react-build-resolver (Vite/Next/CRA build + type error fixes). Kiro JSON variants under .kiro/agents/.
  • Commands: /react-review, /react-build, /react-test
  • Wiring: registered in agent.yaml, config/project-stack-mappings.json, docs/COMMAND-REGISTRY.json, manifests/install-modules.json; cross-references added in CLAUDE.md, AGENTS.md, README.md,
    README.zh-CN.md, docs/zh-CN/*, agents/typescript-reviewer.md
  • Catalog counts synced: 62 agents / 78 commands / 235 skills

Why This Change

Repo had TS/JS coverage but no React-specific lane. React work hits patterns the generic TS reviewer misses: hook rules, Server/Client component boundaries, render-perf budgets, accessibility, JSX-specific XSS surface. New
track gives users /react-review, /react-build, /react-test parity with other language tracks and avoids overloading typescript-reviewer with framework concerns.

Testing Done

  • Manual testing completed — invoked /react-review, /react-build, /react-test and verified registry resolution
  • Automated tests pass locally (node tests/run-all.js)
  • Edge cases considered and tested — confirmed react-reviewer does not duplicate typescript-reviewer scope; added cross-reference note in agents/typescript-reviewer.md

Type of Change

  • feat: New feature

Security & Quality Checklist

  • No secrets or API keys committed
  • JSON files validate cleanly (.kiro/agents/*.json, docs/COMMAND-REGISTRY.json, config/project-stack-mappings.json)
  • Shell scripts pass shellcheck — N/A (no shell scripts changed)
  • Pre-commit hooks pass locally
  • No sensitive data exposed in logs or output
  • Follows conventional commits format (feat:, chore:)

Documentation

  • Updated relevant documentation (CLAUDE.md, AGENTS.md, README.md, README.zh-CN.md, docs/zh-CN/AGENTS.md, docs/zh-CN/README.md, docs/COMMAND-REGISTRY.json)
  • Added comments for complex logic — N/A, markdown/config only
  • README updated — React track listed in language table

Summary by cubic

Adds a full React language track with rules, skills, agents, and commands for React-focused review, build fixes, and TDD. Syncs catalog counts/docs and tightens detection, security guidance, and the catalog validator; pins local TypeScript for reproducible builds.

  • New Features

    • React rules: coding-style, hooks, patterns, security, testing (auto-activated via path globs).
    • Skills: react-patterns, react-testing, react-performance.
    • Agents: react-reviewer and react-build-resolver (Vite/webpack/Next.js/CRA/Parcel/esbuild/Bun/Rsbuild).
    • Commands: /react-review, /react-build, /react-test; uses eslint-plugin-react-hooks, eslint-plugin-jsx-a11y, Vitest or Jest when detected.
    • Wiring: added to agent.yaml, stack mappings (rules include "react"; skills add accessibility), command registry, manifests; TS reviewer now defers React checks to the React reviewer.
    • Catalog/registry/publish: counts synced to 62 agents / 78 commands / 235 skills; registry regenerated; package.json allowlist updated.
  • Bug Fixes

    • Removed unsafe file undefined/.claude/session-aliases.json containing __proto__.
    • react-build-resolver: sturdier bundler detection; version-agnostic React/ReactDOM pair-upgrade guidance; guarded typecheck with test -f tsconfig.json && npx --no-install tsc --noEmit -p tsconfig.json and mirrored in .kiro JSON.
    • /react-review: guard tsc --noEmit -p tsconfig.json for JS-only repos.
    • React security rules: corrected javascript: URL note and CRA env-var exposure; other refinements to rules/react/security.md.
    • react-testing skill: persist a single QueryClient and always mockRestore() console.error.
    • Docs: fixed nested code fences in /react-test, /react-build, /react-review; clarified README commands row as “78 commands (legacy shims)” and relaxed the catalog validator regex to allow an optional parenthetical after the command count.

Written for commit c346484. Summary will update on new commits. Review in cubic

Summary by CodeRabbit

  • New Features

    • Added React-focused agents and slash commands: /react-review, /react-build, and /react-test to review, diagnose, and incrementally fix React code, builds, and tests.
    • Added three React skills: react-patterns, react-performance, and react-testing.
    • Added comprehensive React guidance for coding style, hooks, patterns, security, testing, and performance.
  • Documentation

    • Updated public inventory counts to 62 agents, 235 skills, and 78 commands; refreshed docs and registries.

Review Change Stack

AlexisLeDain added 9 commits May 20, 2026 09:52
Five rule files mirroring per-language convention (coding-style,
hooks, patterns, security, testing). Each has `paths:` glob
frontmatter for auto-activation when editing matching files.

- coding-style.md: file extensions, naming, JSX, RSC boundary
- hooks.md: React hooks (NOT Claude Code hooks) — rules-of-hooks,
  dep arrays, cleanup, memoization, React 19 additions
- patterns.md: container/presentational split, state location
  decision tree, Suspense + error boundaries, forms, data fetching
- security.md: dangerouslySetInnerHTML, unsafe URL schemes,
  server-action validation, env-var leaks, CSP
- testing.md: RTL queries, userEvent, async, MSW, axe, anti-patterns

Each file extends typescript/* and common/* rules.
Three new skills under skills/ following the SKILL.md convention.

- react-patterns: React 18/19 idioms — hooks discipline, state
  location decision tree, server/client component boundary,
  Suspense + error boundaries, form actions (React 19), data
  fetching matrix, composition recipes, accessibility-first.
- react-testing: React Testing Library + Vitest/Jest, query
  priority order, userEvent, MSW network mocking, axe a11y
  assertions, RTL vs Playwright CT boundary, TDD workflow.
- react-performance: 70-rule performance ruleset adapted from
  Vercel Labs react-best-practices (MIT) across 8 priority
  categories — waterfalls, bundle size, server-side, client
  fetch, re-render, rendering, JS micro, advanced patterns.
  Includes Lighthouse / Web Vitals mapping and attribution to
  upstream.

Cross-links between the three skills and out to frontend-patterns,
accessibility, e2e-testing, tdd-workflow.
Two new agents covering React-specific code review and build error
resolution, plus matching .kiro/ mirrors and a routing pointer
edit on typescript-reviewer.

- react-reviewer: slim React-only lanes (hooks rules,
  dangerouslySetInnerHTML, unsafe URL schemes, key prop, state
  mutation, derived-state-in-effect, server/client component
  boundary, accessibility, render performance, Server Action
  validation, env-var leaks). Explicitly delegates generic
  TypeScript/async/Node concerns to typescript-reviewer. Both
  agents should be invoked together on .tsx/.jsx PRs.
- react-build-resolver: React build/bundler/runtime hydration
  failures across Vite, webpack, Next.js, CRA, Parcel, esbuild,
  Bun, Rsbuild. Handles JSX/TSX compile errors, tsconfig fixes,
  Next.js App Router server/client boundary errors, hydration
  mismatches, duplicated React copies, Tailwind/PostCSS pipeline.
- .kiro/agents/react-reviewer.json + react-build-resolver.json:
  Kiro IDE format mirrors following the per-language precedent.
- typescript-reviewer: routing pointer added to its MEDIUM React
  block — defers to /react-review for React-specific concerns
  while keeping its block as fallback for repos that only invoke
  typescript-reviewer.

All agents carry the standard Prompt Defense Baseline stanza.
Three new slash commands invoking the React agents.

- /react-review: invokes react-reviewer. Documents the routing
  rule with typescript-reviewer — both should run together on
  TSX/JSX PRs. Lists CRITICAL/HIGH/MEDIUM rule categories and
  the automated checks (eslint with react-hooks + jsx-a11y,
  tsc --noEmit, npm audit).
- /react-build: invokes react-build-resolver. Documents bundler
  detection, common failure patterns, fix strategy, and stop
  conditions.
- /react-test: enforces TDD with React Testing Library + Vitest
  or Jest, behavior-focused queries, userEvent + MSW patterns,
  axe accessibility assertions, coverage targets.

Each command file has the required description: frontmatter and
follows the per-language command convention (cpp-test, go-test,
kotlin-test, etc.).
- agent.yaml: add react-patterns, react-performance, react-testing
  to the skills array; add react-build, react-review, react-test to
  the commands array (alphabetically inserted to satisfy the
  ci/agent-yaml-surface sync test).
- config/project-stack-mappings.json: extend the `react` stack
  entry — add "react" to rules array (was ["common","typescript",
  "web"]); add react-patterns, react-performance, react-testing,
  accessibility to the skills array.
- docs/COMMAND-REGISTRY.json: bump totalCommands 75 -> 78; add
  three new entries (react-build, react-review, react-test) with
  primaryAgents / allAgents / skills wiring. react-review's
  allAgents includes typescript-reviewer to reflect the dual-agent
  routing convention.
- CLAUDE.md: add Skills-table row mapping *.tsx / *.jsx /
  components/** to react-patterns + react-testing skills and
  the /react-review, /react-build, /react-test commands.
Auto-generated via `node scripts/ci/catalog.js --write --text`
after the react track additions:

- 2 new agents: react-reviewer, react-build-resolver (60 -> 62)
- 3 new commands: react-build, react-review, react-test (75 -> 78)
- 3 new skills: react-patterns, react-performance, react-testing
  (232 -> 235)

Files updated by the catalog sync:
- .claude-plugin/plugin.json description string
- .claude-plugin/marketplace.json plugin description
- README.md quick-start summary, project tree, feature parity tables
- README.zh-CN.md quick-start summary
- AGENTS.md project structure summary
- docs/zh-CN/README.md parity table
- docs/zh-CN/AGENTS.md project structure summary

All counts now match the filesystem catalog (verified by
ci/catalog.test.js).
@Alexsky347 Alexsky347 requested a review from affaan-m as a code owner May 20, 2026 09:45
Copilot AI review requested due to automatic review settings May 20, 2026 09:45
@ecc-tools
Copy link
Copy Markdown
Contributor

ecc-tools Bot commented May 20, 2026

ECC bundle files are already tracked in this repository. Skipping generation of another bundle PR.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 20, 2026

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

This PR adds React-specific capabilities to ECC: a build-fixer agent, a React review agent, five React rule documents, three skill modules, three user commands, manifest/framework wiring, and updates to public docs and local MCP settings.

Changes

React Agents, Rules, Skills, and Commands

Layer / File(s) Summary
React Build Resolver Agent
.kiro/agents/react-build-resolver.json, .kiro/agents/react-build-resolver.md, agents/react-build-resolver.md
New agent configuration and comprehensive playbook for diagnosing and fixing React build failures across Vite, webpack, Next.js, CRA, Parcel, esbuild, and Bun. Includes bundler detection, error pattern recognition for JSX/TSX/tsconfig/hydration issues, iterative minimal-fix workflow, and standardized output format.
React Code Review Agent
.kiro/agents/react-reviewer.json, .kiro/agents/react-reviewer.md, agents/react-reviewer.md, agents/typescript-reviewer.md
New agent for React-specific code review covering hook rules, server/client boundaries, accessibility, rendering/state correctness, and security. Routes React files from TypeScript reviewer and includes diagnostic commands and severity-based issue reporting.
React Standards & Guidelines
rules/react/coding-style.md, rules/react/hooks.md, rules/react/patterns.md, rules/react/security.md, rules/react/testing.md
Five new rule documents establishing React-specific conventions for file extensions, naming, component shapes, JSX usage, Next.js Server/Client boundaries, hooks discipline (including React 19 additions), state placement, data fetching, composition patterns, security (XSS/CSP/auth/dependencies), and testing (RTL/MSW/accessibility).
React Skills & Learning
skills/react-patterns/SKILL.md, skills/react-performance/SKILL.md, skills/react-testing/SKILL.md
Three comprehensive skill modules: patterns guide covering composition, Server Components, Suspense, forms, and data fetching with decision trees; performance guide with eight priority categories from waterfalls through advanced patterns; testing guide covering RTL queries, userEvent, MSW, accessibility assertions, and Vitest/Jest configuration.
React Commands & Workflows
commands/react-build.md, commands/react-review.md, commands/react-test.md
Three user commands: /react-build for incremental React build error fixing with example fixes; /react-review for automated eslint/typecheck plus React-specific review with severity tiers and approval criteria; /react-test for TDD workflow using React Testing Library with example SearchInput component flow.
Framework Wiring
agent.yaml, config/project-stack-mappings.json, manifests/install-modules.json, docs/COMMAND-REGISTRY.json
Updates to register new React agents, commands, skills; adds React rules to react stack; expands framework-language module paths; updates command registry metadata (total commands 75→78, testing type 47→50, topSkills adjustments).
Public Documentation & Announcements
README.md, AGENTS.md, CLAUDE.md, README.zh-CN.md, docs/zh-CN/AGENTS.md, docs/zh-CN/README.md, .claude-plugin/plugin.json, .claude-plugin/marketplace.json, package.json, .claude/settings.local.json
Updates to all public documentation and announcements reflecting expanded capability counts (62 agents, 235 skills, 78 commands). Adds React file pattern routing in CLAUDE.md, enables MCP servers in local settings, and includes React skills in npm publish allowlist.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Poem

A rabbit hops through React realms new,
I nudge builds, lint, and tests for you.
Patterns planted, performance sung,
Agents humming, fixes one-by-one.
Hooray—components spring and run! 🐰✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and directly describes the main change: adding a complete React language track with associated rules, skills, agents, and commands.
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.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds a first-class React “track” to ECC (rules/skills/agents/commands) so React projects can use dedicated review, build-fix, and TDD workflows instead of relying solely on the generic TypeScript lane.

Changes:

  • Added React rules (rules/react/*) and React skills (skills/react-*).
  • Added React command surfaces (/react-review, /react-build, /react-test) plus new React agents (react-reviewer, react-build-resolver) including Kiro variants.
  • Wired React into registries/mappings/docs (command registry, stack mappings, install manifest, catalog counts, README/AGENTS/CLAUDE cross-references).

Reviewed changes

Copilot reviewed 30 out of 30 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
undefined/.claude/session-aliases.json Adds a session alias JSON file (currently contains a prototype-pollution key and appears to be an unintended artifact).
skills/react-testing/SKILL.md New React Testing skill (RTL/Vitest/Jest/MSW/a11y guidance).
skills/react-performance/SKILL.md New React Performance skill (performance checklist and patterns).
skills/react-patterns/SKILL.md New React Patterns skill (hooks discipline, RSC boundaries, composition, a11y).
rules/react/testing.md New React-specific testing rules extending TS/common testing rules.
rules/react/security.md New React-specific security rules extending TS/common security rules.
rules/react/patterns.md New React-specific patterns rules extending TS/common patterns rules.
rules/react/hooks.md New React hooks rules file (rules-of-hooks, deps, cleanup, etc.).
rules/react/coding-style.md New React coding-style rules (extensions, naming, JSX patterns, RSC boundary notes).
README.zh-CN.md Updates catalog counts to include the new React track assets.
README.md Updates catalog counts and agent totals to include the new React track assets.
manifests/install-modules.json Adds new React skills to the install modules manifest.
docs/zh-CN/README.md Updates catalog counts to include the new React track assets.
docs/zh-CN/AGENTS.md Updates catalog counts to include the new React track assets.
docs/COMMAND-REGISTRY.json Registers /react-build, /react-review, /react-test commands and updates totals.
config/project-stack-mappings.json Adds a react stack mapping with react rules + React skills and accessibility.
commands/react-test.md New /react-test command documentation (TDD workflow for React).
commands/react-review.md New /react-review command documentation (React-specific review lane).
commands/react-build.md New /react-build command documentation (React build error resolution lane).
CLAUDE.md Adds React file-pattern guidance and pointers to new React commands/skills.
agents/typescript-reviewer.md Adds guidance to prefer react-reviewer for React-specific reviews.
agents/react-reviewer.md New React reviewer agent definition (hooks/a11y/perf/security/RSC boundaries).
agents/react-build-resolver.md New React build resolver agent definition (bundlers/hydration/RSC boundary build errors).
AGENTS.md Updates catalog counts to include the new React track assets.
agent.yaml Registers new React skills and commands in the export manifest.
.kiro/agents/react-reviewer.md Kiro agent variant for react-reviewer.
.kiro/agents/react-reviewer.json Kiro JSON agent variant for react-reviewer.
.kiro/agents/react-build-resolver.md Kiro agent variant for react-build-resolver.
.kiro/agents/react-build-resolver.json Kiro JSON agent variant for react-build-resolver.
.claude/settings.local.json Adds a Claude Code local settings file (enabled MCP server list).

Comment thread undefined/.claude/session-aliases.json Outdated
Comment thread commands/react-test.md Outdated
Comment thread commands/react-build.md Outdated
Comment thread commands/react-review.md
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: 7

Caution

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

⚠️ Outside diff range comments (1)
commands/react-build.md (1)

5-188: ⚠️ Potential issue | 🟠 Major | 🏗️ Heavy lift

Make this a compatibility entry, not a primary workflow spec.

This file reads as the canonical implementation guide for the workflow, but repo policy says canonical workflow contributions should live in skills/, with commands/ acting as legacy slash-entry compatibility. Please move the substantive workflow content to a skills/react-build/... surface and keep this command doc as a thin routing/compatibility wrapper.

As per coding guidelines {skills,commands}/**/*: Use skills/ as the canonical workflow surface for new workflow contributions; commands/ is legacy slash-entry compatibility and should only be updated for migration or cross-harness parity.

🤖 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 `@commands/react-build.md` around lines 5 - 188, The commands/react-build.md
file is written as a full canonical workflow instead of a thin compatibility
wrapper; refactor by extracting the substantive workflow content into a new
skills surface (e.g., skills/react-build/ with the agent manifest
agents/react-build-resolver.md and related skill docs), leaving
commands/react-build.md as a lightweight compatibility entry that routes to the
skill (mentioning the slash command /react-build and linking to the skill),
update any internal references inside commands/react-build.md to point to the
new skills/react-build location, and ensure the commands entry only contains a
short summary, detection/run snippets, and a pointer to the skills/react-build
workflow for full implementation and examples.
🤖 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 @.kiro/agents/react-build-resolver.json:
- Line 16: The dependency diagnostic currently recommends an unconditional "npm
i react@^19 react-dom@^19" in the "Dependency Issues" block; change it to
conditional guidance instead: remove the hardcoded install command and replace
it with a note that upgrades to React 19 should only be done when the error log
shows a version mismatch or an explicit React 19 requirement (or move the
command into a new "Optional Upgrades" section), updating the "Dependency
Issues" text to reference the check (e.g., run `npm ls react`) before suggesting
any major-version upgrade.

In `@agents/react-build-resolver.md`:
- Around line 163-164: Replace the hardcoded npm command "npm i react@^19
react-dom@^19" with guidance to align React and React-DOM versions to the
project's current major release (or a tested compatible version): detect the
current major from package.json (or CI/matrix-tested versions) and propose
installing matching semver ranges for both react and react-dom together, e.g.,
"npm i react@^{CURRENT_MAJOR} react-dom@^{CURRENT_MAJOR}" (or recommend running
the upgrade only when incompatibility is confirmed), so the instruction
references the original "npm i react@^19 react-dom@^19" but uses a
variable/current-major approach instead of forcing 19.
- Around line 46-47: Replace the brittle test expressions that use test -o and
test -a with explicit shell boolean operators and quiet grep: instead of "test
-f .parcelrc -o $(grep -l 'parcel' package.json)" use "test -f .parcelrc || grep
-q 'parcel' package.json" and instead of "test -f bunfig.toml -a -n \"$(grep
'\"bun\"' package.json)\"" use "test -f bunfig.toml && grep -q '\"bun\"'
package.json"; update the build-system probe block so it uses test -f combined
with || / && and grep -q to return proper exit codes for presence checks.

In `@commands/react-review.md`:
- Around line 85-88: The unconditional tsc invocation (tsc --noEmit -p
tsconfig.json) will fail in JS-only repos; either guard it with a file existence
check for tsconfig.json or make it optional/removed and rely on the existing npm
run typecheck --if-present. Update the commands so the tsc --noEmit -p
tsconfig.json line is executed only when a root tsconfig.json exists (or remove
that line entirely if npm run typecheck covers the workflow) to ensure the "skip
cleanly for JS-only projects" behavior.

In `@docs/COMMAND-REGISTRY.json`:
- Line 3: The JSON's aggregate is inconsistent: totalCommands = 78 but
statistics.byType totals sum to 75; update the counts in the statistics.byType
object so their sum equals 78 (adjust the specific type counts that are
incorrect) and ensure every command category listed under statistics.byType plus
any "other" bucket matches the totalCommands value; search for "totalCommands"
and "statistics.byType" in the file to locate and correct the mismatched numeric
entries (also apply the same fix to the repeated block around lines 850-858).

In `@README.md`:
- Around line 1426-1428: Update the README table rows that read "Commands |
PASS: 78 commands" (and the similar row at the other table) to match the
install-section phrasing by clarifying these are legacy shims—e.g., replace with
"Commands | PASS: 78 legacy command shims" or "Commands | PASS: 78 commands
(legacy shims)" so the table aligns with the line that currently says "78 legacy
command shims".

In `@undefined/.claude/session-aliases.json`:
- Around line 1-16: This JSON file contains a malicious/test artifact (the
"__proto__" alias with a "/evil/path" sessionPath) and should be removed from
the commit; delete the file and purge the "__proto__" entry if any similar data
source produces it, then add the session alias output file to .gitignore or
adjust the test fixture to avoid committing. Fix the generator that produced
"undefined/.claude/session-aliases.json" by ensuring the variable used to build
the directory is properly defined and validated (look for the function that
writes session-aliases.json and any code that constructs sessionPath or
directory names), add input sanitization to reject keys like "__proto__" and
validate sessionPath values before writing, and re-run tests to regenerate a
clean session-aliases.json from safe data before committing.

---

Outside diff comments:
In `@commands/react-build.md`:
- Around line 5-188: The commands/react-build.md file is written as a full
canonical workflow instead of a thin compatibility wrapper; refactor by
extracting the substantive workflow content into a new skills surface (e.g.,
skills/react-build/ with the agent manifest agents/react-build-resolver.md and
related skill docs), leaving commands/react-build.md as a lightweight
compatibility entry that routes to the skill (mentioning the slash command
/react-build and linking to the skill), update any internal references inside
commands/react-build.md to point to the new skills/react-build location, and
ensure the commands entry only contains a short summary, detection/run snippets,
and a pointer to the skills/react-build workflow for full implementation and
examples.
🪄 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: defaults

Review profile: CHILL

Plan: Pro

Run ID: b3373afd-c3c8-4725-8e97-3a61f0cb8f8b

📥 Commits

Reviewing files that changed from the base of the PR and between 1e8c7e7 and efc8576.

📒 Files selected for processing (30)
  • .claude/settings.local.json
  • .kiro/agents/react-build-resolver.json
  • .kiro/agents/react-build-resolver.md
  • .kiro/agents/react-reviewer.json
  • .kiro/agents/react-reviewer.md
  • AGENTS.md
  • CLAUDE.md
  • README.md
  • README.zh-CN.md
  • agent.yaml
  • agents/react-build-resolver.md
  • agents/react-reviewer.md
  • agents/typescript-reviewer.md
  • commands/react-build.md
  • commands/react-review.md
  • commands/react-test.md
  • config/project-stack-mappings.json
  • docs/COMMAND-REGISTRY.json
  • docs/zh-CN/AGENTS.md
  • docs/zh-CN/README.md
  • manifests/install-modules.json
  • rules/react/coding-style.md
  • rules/react/hooks.md
  • rules/react/patterns.md
  • rules/react/security.md
  • rules/react/testing.md
  • skills/react-patterns/SKILL.md
  • skills/react-performance/SKILL.md
  • skills/react-testing/SKILL.md
  • undefined/.claude/session-aliases.json

Comment thread .kiro/agents/react-build-resolver.json Outdated
Comment thread agents/react-build-resolver.md Outdated
Comment thread agents/react-build-resolver.md Outdated
Comment thread commands/react-review.md
Comment thread docs/COMMAND-REGISTRY.json
Comment thread README.md
Comment thread undefined/.claude/session-aliases.json Outdated
Copy link
Copy Markdown
Contributor

@cubic-dev-ai cubic-dev-ai Bot left a comment

Choose a reason for hiding this comment

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

10 issues found across 30 files

Tip: cubic can generate docs of your entire codebase and keep them up to date. Try it here.

Re-trigger cubic

Comment thread rules/react/security.md Outdated
Comment thread agents/react-build-resolver.md Outdated
Comment thread skills/react-testing/SKILL.md
Comment thread undefined/.claude/session-aliases.json Outdated
Comment thread agents/react-build-resolver.md Outdated
Comment thread commands/react-review.md Outdated
Comment thread rules/react/security.md Outdated
Comment thread skills/react-testing/SKILL.md Outdated
Comment thread commands/react-test.md Outdated
Comment thread docs/COMMAND-REGISTRY.json
…rack

- .claude-plugin/{plugin,marketplace}.json: bump description counts to 62/235/78
- docs/COMMAND-REGISTRY.json: regenerate to include quality-gate and react commands
- package.json: add skills/react-{patterns,performance,testing}/ to files allowlist so npm-publish-surface aligns with install-modules manifest
@ecc-tools
Copy link
Copy Markdown
Contributor

ecc-tools Bot commented May 20, 2026

ECC bundle files are already tracked in this repository. Skipping generation of another bundle PR.

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.

Caution

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

⚠️ Outside diff range comments (1)
docs/COMMAND-REGISTRY.json (1)

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

Add react-performance to command skills metadata.

The skills/react-performance/ directory exists in the codebase but is not referenced anywhere:

  • No agent definitions reference it
  • No command definitions (react-build, react-review, react-test) include it in their skills
  • No rule definitions activate it

Since react-performance is published, add it to the react-review command's skills array where performance analysis is most relevant.

🤖 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 `@docs/COMMAND-REGISTRY.json` around lines 637 - 683, The react-review command
metadata is missing the published "react-performance" skill; update the
"react-review" entry's skills array (the JSON object with "command":
"react-review") to include "react-performance" alongside the existing skills so
the performance analyzers are activated for that command.
🤖 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.

Outside diff comments:
In `@docs/COMMAND-REGISTRY.json`:
- Around line 637-683: The react-review command metadata is missing the
published "react-performance" skill; update the "react-review" entry's skills
array (the JSON object with "command": "react-review") to include
"react-performance" alongside the existing skills so the performance analyzers
are activated for that command.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 715cdfe2-6366-4511-9774-a63b405cddd8

📥 Commits

Reviewing files that changed from the base of the PR and between efc8576 and f5372f2.

📒 Files selected for processing (4)
  • .claude-plugin/marketplace.json
  • .claude-plugin/plugin.json
  • docs/COMMAND-REGISTRY.json
  • package.json
✅ Files skipped from review due to trivial changes (2)
  • .claude-plugin/plugin.json
  • .claude-plugin/marketplace.json

Critical:
- Remove undefined/.claude/session-aliases.json containing __proto__ prototype-pollution
  fixture committed by accident in a7333c1

High:
- agents/react-build-resolver.md: replace brittle `test -o $(grep -l ...)` and
  `test -a -n $(grep ...)` detection with explicit `{ ... || grep -q ...; }` so
  bundler detection no longer breaks when grep returns empty
- agents/react-build-resolver.md: drop hardcoded `npm i react@^19 react-dom@^19`
  remediation; replace with version-agnostic pair-upgrade note that honors the
  project's installed major (17/18/19) — surgical fix principle
- commands/react-review.md: guard `tsc --noEmit -p tsconfig.json` with
  `[ -f tsconfig.json ] &&` so the review skips cleanly on JS-only projects

Medium:
- rules/react/security.md: correct the React-18-blocks-javascript-URL claim
  (React only warns in dev; production navigation is not blocked)
- rules/react/security.md: correct CRA env-var exposure row (CRA exposes
  REACT_APP_*, NODE_ENV, PUBLIC_URL — not 'all' variables)
- skills/react-testing/SKILL.md: instantiate QueryClient once outside the
  wrapper closure so React Query cache survives re-renders (flaky-test fix)
- skills/react-testing/SKILL.md: restore console.error spy with mockRestore()
  in a try/finally so the mock does not leak across tests
- commands/react-test.md: switch outer example-session fence to 4 backticks
  so the inner ```tsx/```bash blocks don't prematurely terminate it
@ecc-tools
Copy link
Copy Markdown
Contributor

ecc-tools Bot commented May 21, 2026

ECC bundle files are already tracked in this repository. Skipping generation of another bundle PR.

@Alexsky347 Alexsky347 changed the title Task/add react handling Add React language track with agents, skills, rules, and commands May 22, 2026
Discussion r3272907106 flagged the kiro json variant still carrying the hardcoded
'npm i react@^19 react-dom@^19' line that the .md companion already dropped.
Replace with the same conditional, version-agnostic guidance so both variants
stay in sync.
@ecc-tools
Copy link
Copy Markdown
Contributor

ecc-tools Bot commented May 22, 2026

ECC bundle files are already tracked in this repository. Skipping generation of another bundle PR.

Discussion r3272907144 flagged the same nested-fence issue in
commands/react-build.md that we fixed earlier in commands/react-test.md.
The outer triple-backtick text block was being prematurely terminated by
the inner bash/tsx fences inside the Example Session.
@ecc-tools
Copy link
Copy Markdown
Contributor

ecc-tools Bot commented May 22, 2026

ECC bundle files are already tracked in this repository. Skipping generation of another bundle PR.

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

🤖 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 @.kiro/agents/react-build-resolver.json:
- Line 16: The Diagnostic Commands list runs tsc unconditionally (the line "tsc
--noEmit -p tsconfig.json") which can fail in JS-only repos; change that command
to run only when TypeScript is configured by checking for tsconfig.json and
using npx as a fallback (suggestion: replace the raw "tsc --noEmit -p
tsconfig.json" entry with a guarded command such as "test -f tsconfig.json &&
npx --yes tsc --noEmit -p tsconfig.json") so typechecking is skipped when
TypeScript isn't present.
🪄 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: defaults

Review profile: CHILL

Plan: Pro

Run ID: dbd5b00b-d8a1-42db-82c3-c29aac76a58c

📥 Commits

Reviewing files that changed from the base of the PR and between de135f6 and c164c47.

📒 Files selected for processing (1)
  • .kiro/agents/react-build-resolver.json

Comment thread .kiro/agents/react-build-resolver.json Outdated
Discussion r3272907201 flagged the same nested-fence issue in
commands/react-review.md. The outer triple-backtick text block was
being prematurely terminated by the inner tsx/ts fences inside the
Example Usage transcript.
@ecc-tools
Copy link
Copy Markdown
Contributor

ecc-tools Bot commented May 22, 2026

ECC bundle files are already tracked in this repository. Skipping generation of another bundle PR.

Discussion r3272912003: README comparison table said 'PASS: 78 commands'
while the install-section and quick-start prose use 'legacy command shims'.
Aligned the comparison-table cell to 'PASS: 78 commands (legacy shims)' so
the count word survives the catalog-validator regex while making the legacy
nature explicit.

Widened the catalog comparison-table commands regex to tolerate an optional
parenthetical after the count word, so both the existing 'X commands' and
the new 'X commands (legacy shims)' phrasings validate without breaking
older READMEs/translations.
@ecc-tools
Copy link
Copy Markdown
Contributor

ecc-tools Bot commented May 22, 2026

ECC bundle files are already tracked in this repository. Skipping generation of another bundle PR.

Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
@ecc-tools
Copy link
Copy Markdown
Contributor

ecc-tools Bot commented May 22, 2026

ECC bundle files are already tracked in this repository. Skipping generation of another bundle PR.

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

🤖 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 `@scripts/ci/catalog.js`:
- Line 131: The regex used in syncEnglishReadme's replaceOrThrow for the
"README.md comparison table (commands)" case doesn't accept optional
parenthetical text after the "commands" count; update that regex (the one in
syncEnglishReadme / replaceOrThrow handling the commands row) to mirror
parseReadmeExpectations by allowing an optional parenthetical group (e.g., add a
non-capturing optional pattern like (?:\s*\([^)]*\))? after the "commands"
token) so rows like "| Commands | 78 commands (legacy shims) |" will match and
--write won't throw.
🪄 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: defaults

Review profile: CHILL

Plan: Pro

Run ID: 1116836e-2a33-4eb7-818b-4161b49e8ba6

📥 Commits

Reviewing files that changed from the base of the PR and between c164c47 and d018eb3.

📒 Files selected for processing (5)
  • README.md
  • commands/react-build.md
  • commands/react-review.md
  • rules/react/security.md
  • scripts/ci/catalog.js
✅ Files skipped from review due to trivial changes (4)
  • README.md
  • commands/react-review.md
  • rules/react/security.md
  • commands/react-build.md

Comment thread scripts/ci/catalog.js
Discussion r3288910205: the agent prompt instructed an unconditional
'tsc --noEmit -p tsconfig.json', which adds noise (or hard-fails) on
JavaScript-only projects with no tsconfig.json or no installed TypeScript.

Replaced with 'test -f tsconfig.json && npx --yes tsc --noEmit -p tsconfig.json'
in both variants:
- agents/react-build-resolver.md
- .kiro/agents/react-build-resolver.json (prompt string mirrored)

Mirrors the same guard already applied to commands/react-review.md in de135f6.
@ecc-tools
Copy link
Copy Markdown
Contributor

ecc-tools Bot commented May 22, 2026

ECC bundle files are already tracked in this repository. Skipping generation of another bundle PR.

Copy link
Copy Markdown
Contributor

@cubic-dev-ai cubic-dev-ai Bot left a comment

Choose a reason for hiding this comment

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

1 issue found across 2 files (changes from recent commits).

Tip: Review your code locally with the cubic CLI to iterate faster.

Re-trigger cubic

Comment thread agents/react-build-resolver.md Outdated
Discussion r3289054157: previous fix used 'npx --yes tsc' which auto-installs
the latest TypeScript from npm when none is local, producing version drift
and non-reproducible typecheck results across machines.

Switched to 'npx --no-install tsc' in both variants so the diagnostic uses
only the project's pinned TypeScript and fails fast if it isn't installed:
- agents/react-build-resolver.md
- .kiro/agents/react-build-resolver.json (prompt string mirrored)
@ecc-tools
Copy link
Copy Markdown
Contributor

ecc-tools Bot commented May 22, 2026

ECC bundle files are already tracked in this repository. Skipping generation of another bundle PR.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants