.claude/skills-ja/frontend-technical-spec/SKILL.md
フロントエンドの環境変数、コンポーネント設計、データフローを定義。React環境設定時に使用。
npx skillsauth add shinpr/ai-coding-project-boilerplate frontend-technical-specInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
TypeScriptベースのReactアプリケーション実装。アーキテクチャパターンはプロジェクトの要件と規模に応じて選択する。
process.envはブラウザ環境で動作しない// ビルドツールの環境変数(公開値のみ)
const config = {
apiUrl: import.meta.env.API_URL || 'http://localhost:3000',
appName: import.meta.env.APP_NAME || 'My App'
}
// フロントエンドでは動作しない
const apiUrl = process.env.API_URL // NG
.envファイルをGitに含めない(バックエンドと同様)秘密情報の正しい取り扱い:
// セキュリティリスク: APIキーがブラウザで露出
const apiKey = import.meta.env.VITE_API_KEY
const response = await fetch(`https://api.example.com/data?key=${apiKey}`)
// 正しい: バックエンドが秘密情報を管理、フロントエンドはプロキシ経由でアクセス
const response = await fetch('/api/data') // バックエンドがAPIキー認証を処理
Reactコンポーネントアーキテクチャ:
状態管理パターン:
useStateReactアプリケーション全体で一貫したデータフローを維持:
Single Source of Truth: 各状態には1つの権威あるソースがある
単方向フロー: データはPropsを通じて上から下へ流れる
APIレスポンス → State → Props → Render → UI
ユーザー入力 → イベントハンドラ → State更新 → 再レンダリング
Immutable Updates: State更新には不変パターンを使用
// 不変なState更新
setUsers(prev => [...prev, newUser])
// 可変なState更新(禁止)
users.push(newUser)
setUsers(users)
unknown) → 型ガード → State(型保証済み)// 型安全なデータフロー
async function fetchUser(id: string): Promise<User> {
const response = await fetch(`/api/users/${id}`)
const data: unknown = await response.json()
if (!isUser(data)) {
throw new Error('Invalid user data')
}
return data // User型として保証
}
package.jsonのpackageManagerフィールドに応じた実行コマンドを使用すること。
test - テスト実行test:coverage - カバレッジ付きテスト実行test:coverage:fresh - カバレッジ付きテスト実行(キャッシュクリア)test:safe - 安全なテスト実行(自動クリーンアップ付き)cleanup:processes - Vitestプロセスのクリーンアップ実装完了時に品質チェックは必須:
Phase 1-3: 基本チェック
check - Biome(lint + format)build - TypeScriptビルドPhase 4-5: テストと最終確認
test - テスト実行test:coverage:fresh - カバレッジ測定check:all - 全体統合チェックdevelopment
Vitestテスト設計と品質基準を適用。カバレッジ要件とモック使用ガイドを提供。ユニットテスト作成時に使用。
development
型安全性とエラーハンドリングルールを適用。any禁止、型ガード必須。TypeScript実装、型定義レビュー時に使用。
tools
環境変数、アーキテクチャ設計、ビルド・テストコマンドを定義。環境設定、アーキテクチャ設計時に使用。
tools
タスクの本質を分析し適切なスキルを選択。規模見積もりとメタデータを返却。タスク開始時、スキル選択時に使用。