com um clique
setup-react
Scaffold a React + Vite + pnpm frontend inside an existing project
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Menu
Scaffold a React + Vite + pnpm frontend inside an existing project
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Author a deterministic email parser for a bank Tidings doesn't yet support, working only from the user's quarantined ("Needs review") emails — scrubs real samples into fixtures, derives a conservative regex parser, and runs the suites. Invoke when the user says "add support for my bank", "my bank isn't supported", "write a parser for <bank>", or "bank not recognized".
Audit whether the codebase obeys the directives declared in its CLAUDE.md, AGENTS.md, or nested context files — finds violations with file:line evidence and classifies each as auto-fixable or human-judgment. Read-only by default (--apply does doc-only fixes). Complements /basis-principles-audit (which scores whether the rules are good). Invoke for "conformance", "AGENTS.md compliance", "do we follow our own rules", or "Basis cleanup".
Audit a codebase against the five Basis principles for agent-native architecture — canonicality, localization, verifiability, interoperability, default-no. Produces a 5-row scorecard with file:line evidence plus tiered recommendations. Read-only. Invoke for a principles read on whether a repo is structured for agents, or when the user mentions the Basis essay, "agent-native codebase", "agent-ready", or agent readiness.
Apply Tidings brand voice to any user-facing copy — marketing strings, error messages, empty states, tooltips, toasts, FAQ entries, button labels, README prose. Loads the canonical voice rules from docs/brand/voice.md and self-checks the result against the 5-bullet PR review checklist. Invoke when writing or editing any string a user will see, or when reviewing a copy-heavy diff.
Frame the session with Fable as orchestrator and Opus subagents as the workforce — Fable owns decomposition, decisions, briefs, verification, and commits; Opus agents execute self-contained work packets (coding, research, bulk reading). Generic across planning, research, and general coding missions. Invoke at the start of a session with /fable-orchestrate, optionally followed by the mission.
Author an execution-grade implementation plan for a feature or fix, saved as a dated spec under docs/specs/, detailed enough that Opus agents can execute it end-to-end without Fable in the loop. Invoke when the user starts with /fable-plan, asks for a "fable plan", or wants a task planned for later Opus execution rather than built now.
Baseado na classificação ocupacional SOC
| name | setup-react |
| description | Scaffold a React + Vite + pnpm frontend inside an existing project |
| argument-hint | ["frontend-directory-name"] |
| disable-model-invocation | true |
| allowed-tools | Bash(mkdir:*), Bash(pnpm:*), Bash(ls:*), Bash(test:*), Write, Read, Glob, AskUserQuestion |
Scaffold a modern React + Vite + Tailwind CSS frontend as a subdirectory of an existing project. Designed for projects with a Python/FastAPI backend.
@tailwindcss/vite plugin@/ path alias → src/0.0.0.0 (devcontainer-friendly)Determine the frontend directory name:
$ARGUMENTS is provided, use itfrontendDetermine the project display name:
Check if the directory already exists:
Use AskUserQuestion to gather all feature selections. Batch questions where possible.
Ask: "Include shadcn/ui component library?" Options:
pnpm dlx shadcn@latest add <component>.Ask: "Include React Router v7 for client-side routing?" Options:
Ask: "Include TanStack Query for API data fetching/caching?" Options:
Ask: "Include Zustand for global state management?" Options:
Ask: "Which font setup?" Options:
Ask: "Backend API port for Vite dev proxy? (proxy /api → localhost:)" Options:
Store all selections for template processing.
Create the frontend directory structure:
mkdir -p <DIR>/public
mkdir -p <DIR>/src/assets
mkdir -p <DIR>/src/components
mkdir -p <DIR>/src/lib
If shadcn/ui selected:
mkdir -p <DIR>/src/components/ui
Read each template file from the skill's templates/ directory and process placeholders. The template directory is located at the same path as this SKILL.md file, under templates/.
| Placeholder | Source |
|---|---|
{{PROJECT_NAME}} | Sanitized project name |
{{FRONTEND_DIR}} | Frontend directory name |
{{API_PORT}} | Backend API port |
{{SHADCN_DEPS}} | shadcn dependency block or empty |
{{ROUTER_DEP}} | React Router dependency line or empty |
{{TANSTACK_DEP}} | TanStack Query dependency line or empty |
{{ZUSTAND_DEP}} | Zustand dependency line or empty |
{{FONT_LINKS}} | Google Fonts link tags or empty |
{{FONT_THEME}} | Font @theme CSS or empty |
{{SHADCN_UTILS_IMPORT}} | Import for cn() or empty |
Process these templates and write to the frontend directory:
package.json ← templates/package.json.template
{{PROJECT_NAME}}, conditional dependency blocks{{SHADCN_DEPS}}: If shadcn selected:
"class-variance-authority": "^0.7",
"clsx": "^2",
"lucide-react": "^0.564",
"tailwind-merge": "^3",
{{ROUTER_DEP}}: If React Router: "react-router": "^7",\n{{TANSTACK_DEP}}: If TanStack Query: "@tanstack/react-query": "^5",\n{{ZUSTAND_DEP}}: If Zustand: "zustand": "^5",\nvite.config.ts ← templates/vite.config.ts.template
{{API_PORT}}tsconfig.json ← templates/tsconfig.json.template (no placeholders)
tsconfig.app.json ← templates/tsconfig.app.json.template (no placeholders)
tsconfig.node.json ← templates/tsconfig.node.json.template (no placeholders)
eslint.config.js ← templates/eslint.config.js.template (no placeholders)
index.html ← templates/index.html.template
{{PROJECT_NAME}}, {{FONT_LINKS}}{{FONT_LINKS}}: If Inter font selected:
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet" />
src/main.tsx ← templates/src/main.tsx.template (no placeholders)
src/App.tsx ← templates/src/App.tsx.template
{{PROJECT_NAME}}src/index.css ← templates/src/index.css.template
{{FONT_THEME}}{{FONT_THEME}}: If Inter:
@theme {
--font-sans: "Inter", sans-serif;
}
If shadcn selected:
templates/src/lib/utils.ts.template (no placeholders)templates/components.json.template
{{FRONTEND_DIR}}Do NOT run pnpm install automatically. Just report what was created.
Display a summary:
React frontend scaffolded in <DIR>/
Stack:
- React 19 + TypeScript (strict)
- Vite 7 + Tailwind CSS 4
- ESLint 10 (flat config)
[- shadcn/ui components]
[- React Router v7]
[- TanStack Query v5]
[- Zustand v5]
Vite proxy: /api → http://localhost:<port>
Next steps:
1. cd <DIR> && pnpm install
2. pnpm dev
[3. pnpm dlx shadcn@latest add button (add shadcn components)]
Files created:
<list all files>