- Home
- Skills
- Busirocket
- Agents Skills
- Busirocket React Components And Hooks
busirocket-react-components-and-hooks_skill
0
GitHub Stars
1
Bundled Files
2 months ago
Catalog Refreshed
4 months ago
First Indexed
Readme & install
Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.
Installation
Preview and clipboard use veilstrat where the catalogue uses aiagentskills.
npx veilstrat add skill busirocket/agents-skills --skill busirocket-react-components-and-hooks- SKILL.md2.0 KB
Overview
This skill enforces consistent React component and hook structure for TypeScript/React/Next.js projects. It codifies one-component-per-file and one-hook-per-file rules, moves helpers and inline types into dedicated folders, and helps teams decide client vs server components. Use it to make code easier to test, review, and scale.
How this skill works
The skill inspects .tsx component files, hook files under hooks/, and common folders like utils/ and types/. It flags violations: multiple exports in one file, helpers or inline types inside components or hooks, and improper client/server boundaries. It also suggests extracting helpers to utils/, types to types/, and hooks to hooks/<area>/useXxx.ts.
When to use it
- Writing new .tsx components
- Refactoring large components into smaller parts
- Extracting or creating reusable hooks
- Enforcing codebase-wide structure rules
- Auditing client vs server component boundaries
Best practices
- Keep exactly one exported React component per .tsx file.
- Keep exactly one exported hook per hook file (hooks/<area>/useXxx.ts).
- Move helper functions from components/hooks into utils/ and import them.
- Place all shared types in types/ and import rather than inline types.
- Prefer server components for large subtrees; only add 'use client' at necessary boundaries.
- Use clear folder namespacing for complex components and logical hook placement.
Example use cases
- Refactor a large page component: extract subcomponents into separate .tsx files and move helpers to utils/.
- Create a reusable hook: implement one hook per file under hooks/auth/useAuth.ts with no inline helpers or types.
- Audit app router boundaries: convert non-interactive UI to server components and add 'use client' only where interactivity is needed.
- Enforce code review checks: automatically flag files that export multiple components or contain inline types.
- Organize a component library: use folder namespacing for complex components and keep stable hook APIs.
FAQ
One component per file improves clarity, makes imports predictable, simplifies testing, and reduces merge conflicts during team collaboration.
Where should small helper functions go?
Move helpers into utils/ grouped by area and import them. This keeps components and hooks focused and easier to test.
How do I decide client vs server components?
Prefer server components for non-interactive rendering and data fetching. Add 'use client' only at the smallest interactive boundary to avoid client-side cost.