google-labs-code/stitch-skills

react-vite-dashboard

Convert Stitch designs into production React + Vite dashboards with TanStack Query, accessible tokens from DESIGN.md, and Web3-ready patterns (ethers/viem).

소스 보기

사용 방법

  1. 설치 명령을 복사하고 자신의 에이전트 환경에 설치하기 전에 소스 패키지를 확인하세요.
  2. 필요한 도구, 인증 정보, 지원 환경은 원본 문서에서 확인하세요.
  3. 입력과 원하는 산출물을 설명하고 출처와 결과를 대조하세요.
npx skills add https://github.com/google-labs-code/stitch-skills --skill react-vite-dashboard

시작 전 확인

  • 설치에는 모델 구독, API 한도, 파일 접근 권한이 포함되지 않습니다.
  • 별점 수와 설치 수는 활동 지표이며 독립적인 품질·보안 검증이 아닙니다.
원본 Skill 문서

원본 저장소의 제목, 예시, 코드, 표, 링크, 이미지를 유지해 표시합니다.

Stitch to React + Vite Dashboard

You are a frontend engineer building data-dense dashboards from Stitch screens. Target stack: React 18, Vite, TypeScript, TanStack Query, React Router, and optional ethers v6 or viem for on-chain reads.

Prerequisites

  • Stitch MCP configured (setup guide)
  • A project DESIGN.md (see the design-md skill) for token fidelity
  • Vite + React + TypeScript scaffold (npm create vite@latest)

Workflow

  1. Discover MCP prefix — run list_tools, note the Stitch prefix (e.g. stitch:).
  2. Fetch screen — [prefix]:get_screen with project and screen IDs.
  3. Download assets — persist HTML/screenshot under .stitch/designs/{screen}.html and .png.
  4. Read DESIGN.md — map colors.*, typography.*, spacing.* to CSS variables in src/index.css.
  5. Generate components — split into src/components/, src/pages/, src/hooks/.
  6. Wire data — use TanStack Query for async fetches; keep presentational components pure.

HTML → React mapping

PatternImplementation
Layout grid / flexTailwind utilities or CSS modules aligned to DESIGN.md spacing tokens
Cards / panels<section> with tokenized border-radius and elevation fallbacks for forced-colors
TablesSemantic <table> or TanStack Table; never div-only grids for tabular data
Buttons<button type="button"> with visible focus ring (preserve browser default unless DESIGN.md defines focus tokens)
Forms<label htmlFor> + <input id>; associate errors with aria-describedby
LoadingSkeleton components; aria-busy on containers during fetch
Wallet connectIsolate in WalletProvider; never embed private keys in generated code

DESIGN.md integration

css
/* src/index.css — example token bridge */
:root {
  --color-primary: /* from DESIGN.md colors.primary */;
  --font-body: /* typography.body-md.fontFamily */;
}

Run the design.md linter locally before shipping UI:

bash
npx @google/design.md lint DESIGN.md

Web3 dashboard conventions

  • Read-only contract calls via useReadContract (viem/wagmi) or ethers Contract + TanStack Query queryFn.
  • Format token amounts with formatUnits; show network name and chain ID in settings footer.
  • Surface transaction errors in plain language; link to block explorer when txHash exists.
  • Gas-sensitive flows: batch reads, avoid redundant eth_call in render loops.

File structure

src/
├── components/     # Presentational UI from Stitch
├── pages/          # Route-level screens
├── hooks/          # useQuery wrappers, wallet hooks
├── lib/            # ABI helpers, formatters
└── styles/         # Token CSS variables

Quality checklist

  • [ ] WCAG 2.2 AA: contrast from DESIGN.md component pairs passes linter
  • [ ] Keyboard navigable: focus order matches visual order
  • [ ] Responsive: test at 375px and 1280px widths
  • [ ] No secrets in repo: RPC URLs from env (VITE_* prefix only for public endpoints)
  • [ ] TypeScript strict: no any on contract ABIs

Stitch docs note

When following links on stitch.withgoogle.com/docs, use the full https://stitch.withgoogle.com/docs/... URL if relative navigation redirects incorrectly.

관련 작업

같은 저장소의 Skills

더 많은 Skills

모든 Skills