| name | frontend-developer |
| description | Frontend開発時に必要な検証を実施するスキルです。Lint、ビルド、ユニットテスト、E2Eテストを含みます。Frontend(apps/frontend)のコード変更時に使用してください。 Use when this capability is needed. |
| metadata | {"author":"goataka"} |
Frontend開発スキル
このスキルは、Frontend(React + Vite)の開発時に必要な検証を自律的に実施します。
利用可能なツール
- bash: コマンド実行、依存関係インストール、検証コマンド実行
- view: ファイル内容の確認
- edit: ファイルの編集
- grep: コード検索
使用すべきタイミング
以下の場合にこのスキルを使用してください:
- Frontendコード(
apps/frontend/)を変更する場合
- Reactコンポーネント、画面、スタイルを変更する場合
- UIの新規実装や修正を行う場合
必須検証項目
1. プロジェクトルートへの移動
cd /home/runner/work/attendance-kit/attendance-kit
すべてのコマンドはプロジェクトルートから実行してください。
注: このパスはGitHub Actions環境用です。ローカル開発では、自身のプロジェクトルートディレクトリに置き換えてください。
2. 依存関係のインストール
npm run setup
変更前に依存関係が正しくインストールされていることを確認します。
3. Lint実行
npm run lint
必須: コード変更後、必ず実行してください。
- ESLintによるコードスタイルチェック
- TypeScriptの型チェック
- React Hooksの使用ルールチェック
- 未使用変数・インポートの検出
4. ビルド実行
npm run build
必須: コード変更後、必ず実行してください。
- TypeScriptの型チェック
- Viteによるプロダクションビルド
- 静的ファイルの生成確認(
apps/frontend/dist/)
5. ユニットテスト実行
npm run test:unit
必須: コード変更後、必ず実行してください。
- Vitestによるユニットテスト
- React Testing Libraryによるコンポーネントテスト
- スナップショットテストの更新(必要に応じて)
スナップショット確認:
- スナップショットが更新された場合、内容を確認してください
- 文字化けしていないか必ず確認してください
- 日本語が正しく表示されているか確認してください
- Frontend変更で発生したスナップショット差分は必ずコミットしてください
6. Frontend E2Eテスト実行
cd apps/frontend
npm run test:integration
必須: ドキュメントやテキストのみの変更以外では必ず実行してください。
- Playwrightによるブラウザテスト
- 画面遷移の動作確認
- ユーザー操作のシミュレーション
スクリーンショット確認:
- E2Eテスト実行後、スクリーンショットを確認してください
- 画面が正しく表示されているか確認してください
- 文字化けしていないか必ず確認してください
- 日本語が正しく表示されているか確認してください
- Frontend変更時は、変更後画面のスクリーンショットを少なくとも1枚取得してください
- 完了報告には、取得したスクリーンショットの保存先(パスまたは添付リンク)を必ず記載してください
実行順序
推奨される実行順序:
npm run setup - 依存関係インストール
npm run lint - コードスタイルチェック
npm run build - ビルド確認
npm run test:unit - ユニットテスト
cd apps/frontend && npm run test:integration - E2Eテスト(ドキュメントやテキストのみの変更以外)
エラー対応
Lintエラーが発生した場合
npm run lint
cd apps/frontend
npm run lint
- 未使用変数・インポートを削除
- 型定義を追加
- React Hooksのルールに従う(useEffectの依存配列など)
- コードスタイルを修正
ビルドエラーが発生した場合
npm run build
cd apps/frontend
npm run build:check
- TypeScriptの型エラーを修正
- インポートパスを確認
- tsconfig.jsonの設定を確認
- Viteの設定を確認
テストエラーが発生した場合
npm test
cd apps/frontend
npm test -- <test-file-name>
- テストロジックを確認
- モックの設定を確認(APIモックなど)
- Testing Libraryのクエリを確認
E2Eテストエラーが発生した場合
cd apps/frontend
npm run test:integration -- --debug
npm run test:integration -- <test-file-name>
- セレクターが正しいか確認
- 非同期処理の待機を確認
- テスト環境の初期化を確認
- スクリーンショットで画面状態を確認
- 文字化けが発生していないか確認
ベストプラクティス
コード変更時の原則
- 変更前に既存のテストを実行: 既存の問題を把握
- 小さな変更を頻繁にテスト: エラーの早期発見
- すべての検証を通過させる: Premergeワークフローと同じ基準
- UIの変更はE2Eテストで確認: 実際のブラウザで動作確認
検証のスキップ条件
以下の場合のみ一部の検証をスキップ可能:
- ドキュメントやテキストのみの変更: E2Eテスト不要
それ以外の場合は、必ずすべての検証を実行してください。
技術スタック
- フレームワーク: React 18.3.1
- ビルドツール: Vite 6.0.3
- 言語: TypeScript 5.7.2
- ルーティング: React Router 6.26.2
- テスト: Vitest 2.1.8 + React Testing Library 16.1.0
- E2E: Playwright 1.48.0
- Lint: ESLint 9.15.0
Premergeワークフローとの対応
このスキルの検証項目は、GitHub ActionsのPremergeワークフローと対応しています:
| Premergeステップ | ローカル検証コマンド |
|---|
npm run setup | npm run setup |
npm run lint | npm run lint |
npm run build | npm run build |
npm run test:unit | npm run test:unit |
| Frontend E2Eテスト | cd apps/frontend && npm run test:integration |
参考資料
Converted and distributed by TomeVault — claim your Tome and manage your conversions.