local verification

ローカル検証手順

更新日: 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 を追加せず、依存やビルド設定側で原因を解消する。