agentsclimarketplace

Scaffold react app

Skill turntuptechnologies-ai/skills/skills/scaffold-react-app

React のフロントエンド/SPA Web アプリを新規に作るとき。「React アプリを作る」「Vite でフロントを立ち上げ」等で使う。Vite + React + TypeScript + Tailwind v4 + Vitest の構成で雛形を用意する(API 連携なら TanStack Query)。土台は new-project-init を先に使う。From its SKILL.md

Install
npx -y skills add turntuptechnologies-ai/skills --skill scaffold-react-app

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

3.5 KB, ~1.1k tokens by cl100k_base, as published. Nobody here has run it

React Web アプリ scaffold(Vite + React + TS + Tailwind)

Vite ベースの React 19 + TypeScript SPA を雛形生成する。

stack

  • パッケージマネージャ: pnpm(Node 22+)
  • ビルド: Vite + @vitejs/plugin-react
  • UI: React 19 + react-router-dom
  • スタイル: Tailwind CSS v4(@tailwindcss/vite)
  • テスト: Vitest + @testing-library/react + jsdom
  • lint/format: Biome(既定)/ 型: tsc -b
  • 任意: TanStack Query(API データ取得), Recharts(グラフ), SSE は EventSource

手順

  1. 初期化
    pnpm create vite@latest . --template react-ts
    pnpm install
    
  2. Tailwind v4 を追加
    pnpm add tailwindcss @tailwindcss/vite
    
    vite.config.ts の plugins に tailwindcss() を足し、エントリ CSS に @import "tailwindcss";。
  3. ルーティング / データ取得(必要に応じて)
    pnpm add react-router-dom
    pnpm add @tanstack/react-query     # API 連携するなら
    
  4. テストと lint を追加
    pnpm add -D vitest jsdom @testing-library/react @testing-library/jest-dom @testing-library/user-event @vitest/coverage-v8
    pnpm add -D @biomejs/biome
    
  5. package.json の scripts を揃える
    {
      "dev": "vite",
      "build": "tsc -b && vite build",
      "preview": "vite preview",
      "test": "vitest",
      "test:run": "vitest run",
      "lint": "biome lint",
      "format": "biome format --write",
      "check": "biome check --write"
    }
    
  6. vite.config.ts の骨子
    import { defineConfig } from 'vite';
    import react from '@vitejs/plugin-react';
    import tailwindcss from '@tailwindcss/vite';
    
    export default defineConfig({
      plugins: [react(), tailwindcss()],
      test: { environment: 'jsdom', setupFiles: ['./src/test/setup.ts'] },
    });
    
  7. 動作確認 — pnpm dev。型・lint・テストは pre-pr-checks で確認。

ルール・コツ

  • API 連携は TanStack Query に寄せる(キャッシュ・再取得・ローディング状態を一元管理)。リアルタイム更新は EventSource(SSE)。
  • ルーティングは react-router-dom。型安全なローダ/アクションを活用する。
  • テストは Testing Library でユーザー視点(role/label で取得、実装詳細に依存しない)。
  • 環境変数は Vite の import.meta.env.VITE_*。秘密情報をフロントに埋め込まない(公開される)。
  • グラフが必要なら Recharts。

補足

  • ライセンスは permissive 前提。依存追加時にライセンスを確認する。

完了条件

以下を全て満たしたら完了。満たせない項目があれば、黙って省略せず理由を報告する。

  • pnpm install が通り、pnpm dev でアプリが起動する
  • scripts(dev/build/preview/test/test:run/lint/format/check)が揃っている
  • Tailwind v4 / Vitest(jsdom + setup) / Biome が設定済み
  • API 連携がある場合 TanStack Query を使っている
  • VITE_* 以外の秘密情報をフロントに埋め込んでいない

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.