ローカル検証手順
更新日: 2026-05-13
方針
GitHub Actions CI は一旦リポジトリ管理から外し、非公開MVP期間はローカル検証を正式手順とする。
理由は、npm optional dependency と GitHub runner 差分によってCIが不安定になりやすく、現段階では実装判断より環境差の切り分けに時間を取られるため。検証対象と実行順を明文化し、開発者のローカル環境で同じコマンドを実行して異変を検知する。
package-lock.json は引き続き保持する。依存解決の再現性、ライセンス確認、セキュリティ確認の前提として扱い、任意に削除しない。
開発中
小さな変更ごとに、影響範囲に応じて以下を実行する。
npm test
npm run lint
npm run build
依存関係、ライセンス、CSP、プロジェクト読み込み、メッシュ検証に触れた場合は追加で実行する。
npm run security:check
npm run license:check
npm run benchmark:mesh
コミット前
通常のコミット前は一括検証を実行する。
npm run verify:local
verify:local は以下を順に実行する。
npm test
npm run lint
npm run security:check
npm run license:check
npm run build
npm run benchmark:mesh
失敗した場合は、最初に失敗したコマンドのログを確認し、同じコマンド単体で再実行して原因を切り分ける。
リリース前
リリース前は通常の一括検証に加えてTauriアプリの本番ビルドを確認する。
npm run verify:release
Tauriビルドだけを確認する場合は以下を使う。
npm run tauri -- build
異変検知
npm testが失敗した場合は、該当するscripts/verify-*.mjsと仕様docsの差分を確認する。npm run lintが失敗した場合は、型エラー、UI文字列の英語化、禁止文字列の混入を確認する。npm run security:checkが失敗した場合は、CVEの深刻度、到達可能性、更新候補をdocs/security_checklist.mdに記録する。npm run license:checkが失敗した場合は、追加依存のライセンスとpackage-lock.jsonの整合性を確認する。npm run benchmark:meshが60 FPS相当を下回った場合は、docs/performance_benchmark.mdに結果を追記し、Worker化またはGPU側変形の要否を再判断する。npm run buildまたはnpm run tauri -- buildが失敗した場合は、CSPへunsafe-evalを追加せず、依存やビルド設定側で原因を解消する。