smithery.ai

busirocket-react

React component and hook structure rules plus Zustand state management. Use when writing or refactoring React components, extracting hooks, deciding client vs server components, implementing global state (Zustand), modals, or avoiding prop drilling.

First seen Apr 22, 2026

Installation

$ npx skills add https://smithery.ai

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from smithery.ai · top by installs.

npx skills add https://smithery.ai

Browse all from smithery.ai

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Skill metadata

Parsed from SKILL.md frontmatter.

Version1.0.0
More metadata
author
cristiandeluxe
version
1.0.0

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 3,472 B
  • docs SUMMARY.md 273 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 1 installs

SKILL.md

React (Components, Hooks, State)

Reusable patterns for scalable React codebases, including Zustand state management.

When to Use

Use this skill when:

  • Writing or refactoring .tsx components
  • Extracting hooks into hooks/<area>/useXxx.ts
  • Removing helpers from components/hooks into utils/
  • Removing inline types into types/
  • Implementing global UI state (modals, progress indicators)
  • Managing shared data across components or avoiding prop drilling
  • Setting up cross-component communication with Zustand

Non-Negotiables (MUST)

Components and Hooks

  • Exactly one exported component per .tsx file.
  • Exactly one exported hook per hook file (hooks/<area>/useXxx.ts).
  • No helper functions inside components or hooks; extract helpers to

utils/.

  • No inline types inside components or hooks; import from types/.
  • Prefer server-side rendering boundaries wisely (avoid 'use client' for large

subtrees).

State (Zustand)

  • One store per domain (e.g., uiStore, workspaceStore, statusLogStore).
  • Keep stores focused; split when they grow too large.
  • Use selectors to minimize re-renders:

useStore((state) => state.specificValue).

  • Actions should be defined in the store, not in components.
  • Modals should read their visibility state from stores, not receive as props.

Rules

Component Patterns

  • react-one-component-per-file - One component per file (STRICT)
  • react-client-vs-server - Client vs Server Components (App Router)
  • react-folder-namespacing - Folder namespacing for complex components
  • react-performance - Performance optimization (memo, useCallback)
  • react-accessibility - Accessibility best practices
  • react-component-testing - Component tests in tests, React Testing Library

Hooks Best Practices

  • react-one-hook-per-file - One hook per file (STRICT)
  • react-no-helpers-in-hooks - No helpers inside hooks (STRICT)
  • react-no-types-in-hooks - No types inside hooks (STRICT)
  • react-stable-api - Stable API for hooks
  • react-side-effects - Side effects in hooks

State (Zustand)

  • zustand-when-to-use - When to use Zustand (modals, global UI state, shared

data)

  • zustand-store-organization - Store organization (one store per domain,

selectors, actions)

  • zustand-modal-pattern - Modal pattern with Zustand (read visibility from

store)

  • zustand-avoiding-prop-drilling - Use Zustand stores instead of prop drilling

Related Skills

  • busirocket-core-conventions - General file structure and boundaries
  • busirocket-typescript-standards - TypeScript and type conventions
  • busirocket-nextjs - Server vs Client Components (detailed)

How to Use

Read individual rule files for detailed explanations and code examples:

rules/react-one-component-per-file.md
rules/react-one-hook-per-file.md
rules/react-client-vs-server.md
rules/zustand-store-organization.md
rules/zustand-modal-pattern.md

Each rule file contains:

  • Brief explanation of why it matters
  • Code examples (correct and incorrect patterns)
  • Additional context and best practices