APIドリフトなしにshadcn/ui Formをスキャフォールドする
使うタイミング: Form + react-hook-form + Zodが欲しいが、Claudeが古いshadcnのimportを使い続けている場合。
前提条件
- shadcn/uiを初期化したNext.js / Viteアプリ —
npx shadcn@latest init
フロー
-
現在のFormソースを取得shadcn-ui MCP: get the current source for
form(React) plus its dependencies. Show me the install command.✓ コピーしました→ 最新のソースが返される;依存関係にreact-hook-form・zodが含まれる -
フォームを構築Now build a SignupForm using these exact APIs. Email + password + terms checkbox; Zod schema with validation messages. No invented imports.✓ コピーしました→ 現在のshadcnバージョンに対してコンポーネントがコンパイルされる
-
検証Run
tsc --noEmitand report any unresolved imports.✓ コピーしました→ クリーンなTSチェック
結果: 現在のshadcn/ui APIに対して動作するForm — import { ... } from '@/components/ui/old-name' のミスなし。
注意点
- プロジェクトが古いshadcnバージョンを使用している —
--registryでピン留めするか、アップグレードを受け入れてshadcn upgradeを実行する