Add React language track with agents, skills, rules, and commands#2024
Add React language track with agents, skills, rules, and commands#2024Alexsky347 wants to merge 18 commits into
Conversation
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).
|
ECC bundle files are already tracked in this repository. Skipping generation of another bundle PR. |
|
Note Reviews pausedIt 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 Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
📝 WalkthroughWalkthroughThis 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. ChangesReact Agents, Rules, Skills, and Commands
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
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). |
There was a problem hiding this comment.
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 liftMake 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/, withcommands/acting as legacy slash-entry compatibility. Please move the substantive workflow content to askills/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
📒 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.mdAGENTS.mdCLAUDE.mdREADME.mdREADME.zh-CN.mdagent.yamlagents/react-build-resolver.mdagents/react-reviewer.mdagents/typescript-reviewer.mdcommands/react-build.mdcommands/react-review.mdcommands/react-test.mdconfig/project-stack-mappings.jsondocs/COMMAND-REGISTRY.jsondocs/zh-CN/AGENTS.mddocs/zh-CN/README.mdmanifests/install-modules.jsonrules/react/coding-style.mdrules/react/hooks.mdrules/react/patterns.mdrules/react/security.mdrules/react/testing.mdskills/react-patterns/SKILL.mdskills/react-performance/SKILL.mdskills/react-testing/SKILL.mdundefined/.claude/session-aliases.json
There was a problem hiding this comment.
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
…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 bundle files are already tracked in this repository. Skipping generation of another bundle PR. |
There was a problem hiding this comment.
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 winAdd
react-performanceto 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-performanceis published, add it to thereact-reviewcommand'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
📒 Files selected for processing (4)
.claude-plugin/marketplace.json.claude-plugin/plugin.jsondocs/COMMAND-REGISTRY.jsonpackage.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 bundle files are already tracked in this repository. Skipping generation of another bundle PR. |
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 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 bundle files are already tracked in this repository. Skipping generation of another bundle PR. |
There was a problem hiding this comment.
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
📒 Files selected for processing (1)
.kiro/agents/react-build-resolver.json
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 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 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 bundle files are already tracked in this repository. Skipping generation of another bundle PR. |
There was a problem hiding this comment.
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
📒 Files selected for processing (5)
README.mdcommands/react-build.mdcommands/react-review.mdrules/react/security.mdscripts/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
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 bundle files are already tracked in this repository. Skipping generation of another bundle PR. |
There was a problem hiding this comment.
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
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 bundle files are already tracked in this repository. Skipping generation of another bundle PR. |
What Changed
Add full React language track mirroring existing tracks (Go, Rust, Kotlin, etc.):
rules/react/):coding-style,hooks,patterns,security,testingreact-patterns,react-testing,react-performance(SKILL.md each)react-reviewer(component patterns, hook rules, WCAG AA, perf budgets, security) andreact-build-resolver(Vite/Next/CRA build + type error fixes). Kiro JSON variants under.kiro/agents/./react-review,/react-build,/react-testagent.yaml,config/project-stack-mappings.json,docs/COMMAND-REGISTRY.json,manifests/install-modules.json; cross-references added inCLAUDE.md,AGENTS.md,README.md,README.zh-CN.md,docs/zh-CN/*,agents/typescript-reviewer.mdWhy 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-testparity with other language tracks and avoids overloadingtypescript-reviewerwith framework concerns.Testing Done
/react-review,/react-build,/react-testand verified registry resolutionnode tests/run-all.js)react-reviewerdoes not duplicatetypescript-reviewerscope; added cross-reference note inagents/typescript-reviewer.mdType of Change
feat:New featureSecurity & Quality Checklist
.kiro/agents/*.json,docs/COMMAND-REGISTRY.json,config/project-stack-mappings.json)feat:,chore:)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)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-patterns,react-testing,react-performance.react-reviewerandreact-build-resolver(Vite/webpack/Next.js/CRA/Parcel/esbuild/Bun/Rsbuild)./react-review,/react-build,/react-test; useseslint-plugin-react-hooks,eslint-plugin-jsx-a11y,VitestorJestwhen detected.agent.yaml, stack mappings (rules include "react"; skills add accessibility), command registry, manifests; TS reviewer now defers React checks to the React reviewer.package.jsonallowlist updated.Bug Fixes
undefined/.claude/session-aliases.jsoncontaining__proto__.react-build-resolver: sturdier bundler detection; version-agnostic React/ReactDOM pair-upgrade guidance; guarded typecheck withtest -f tsconfig.json && npx --no-install tsc --noEmit -p tsconfig.jsonand mirrored in.kiroJSON./react-review: guardtsc --noEmit -p tsconfig.jsonfor JS-only repos.javascript:URL note and CRA env-var exposure; other refinements torules/react/security.md.react-testingskill: persist a singleQueryClientand alwaysmockRestore()console.error./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
Documentation