component-forge

Solid

Build production-grade components for React, Vue 3, and Svelte 5 with all states (loading, empty, error, success, idle), TypeScript strict, WCAG 2.2 accessibility, server components (RSC), and compound component patterns. Includes scaffold script, reference patterns, and template files for React and Vue. Use when user asks to create a UI component, frontend module, or design system component. Do NOT use for page layouts (use landing-craft), routing, or state management architecture (global stores).

Web & Frontend 96 stars 12 forks Updated yesterday MIT

Install

View on GitHub

Quality Score: 91/100

Stars 20%
66
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# Component Forge Build components that survive every state, at every screen size, under every edge case. Inspired by Heydon Pickering (Inclusive Components), React core team patterns, and Emil Kowalski's design engineering philosophy. ## Workflow ### Step 1: Determine component type | Type | Description | Example | |------|-------------|---------| | Presentational | Pure rendering, props-driven | Button, Card, Badge | | Composable | Wraps children with behavior | Modal, Tooltip, Accordion | | Data-fetching | Reads from API/store | UserProfile, OrderList | | Layout | Arranges children | Sidebar, Grid, Stack | | Form | Input + validation | LoginForm, SearchInput | ### Step 2: Scaffold component ```bash scripts/scaffold-component.sh Button react scripts/scaffold-component.sh Modal vue scripts/scaffold-component.sh Accordion svelte ``` > **Windows:** The scaffold script requires Git Bash or WSL. Not compatible with PowerShell or CMD. Creates: ``` Button/ Button.tsx Button.types.ts Button.test.tsx index.ts ``` ### Step 3: Implement states with discriminated union ```tsx type State<T> = | { status: 'idle' } | { status: 'loading' } | { status: 'empty' } | { status: 'error'; error: Error } | { status: 'success'; data: T } function Profile({ userId }: { userId: string }) { const [state, setState] = useState<State<User>>({ status: 'idle' }) if (state.status === 'loading') return <LoadingSkeleton /> if (state.status === 'error') return <ErrorState er...

Details

Author
EliasOulkadi
Repository
EliasOulkadi/shokunin
Created
1 months ago
Last Updated
yesterday
Language
HTML
License
MIT

Integrates with

Similar Skills

Semantically similar based on skill content — not just same category

Web & Frontend Listed

frontend-component-build

Build production-ready frontend components with accessible markup, sensible props, defined states, and tested behavior. Use this skill whenever the user wants to build a component from scratch, refactor an existing one, design a component API, or implement a UI element with proper states and accessibility. Triggers on build a component, create a button, create a modal, create a form input, component API, props design, component states, refactor component, accessible component. Also triggers when implementing UI from a design that needs to be reusable.

2 Updated 2 weeks ago
rampstackco
Web & Frontend Solid

frontend-component-build

Build production-ready frontend components with accessible markup, sensible props, defined states, and tested behavior. Use this skill whenever the user wants to build a component from scratch, refactor an existing one, design a component API, or implement a UI element with proper states and accessibility. Triggers on build a component, create a button, create a modal, create a form input, component API, props design, component states, refactor component, accessible component. Also triggers when implementing UI from a design that needs to be reusable.

240 Updated 2 weeks ago
rampstackco
Web & Frontend Listed

frontend-component

Create React/Vue component with TypeScript, tests, and styles. Auto-invoke when user says "create component", "add component", "new component", or "build component".

190 Updated 3 days ago
alekspetrov