| name | update |
| description | Ritoのパッケージ更新と脆弱性修正を自動化して管理します。 |
Update & Security Skill (Full Automation)
このスキルは、frontend および backend および extension ディレクトリにおけるパッケージの更新と、脆弱性の自動修正を完全に自動化して管理します。
コマンド: /update
ユーザーからパッケージ更新の指示があった場合、以下のフローをユーザーの承認(Yes/No)を待つことなく、エラーが発生しない限り一気通貫で実行してください。
すべての依存関係更新・インストールでは、pnpmのminimumReleaseAgeを24時間(1440分)に設定する。公開から24時間未満のバージョンはサプライチェーンリスクを考慮して除外し、minimumReleaseAgeExcludeに明示されている例外以外は更新対象にしない。
1. 変更検知とプリチェック(自動実行)
まず、プロジェクトルートで以下の確認を行います。
- コミット状態の確認:
git status を実行。
- 未コミットの重要な変更がある場合は、処理を中断し、ユーザーにコミットを促す。
- すべてコミットされている場合のみ次へ進む。
2. バックエンドのパッケージ更新(自動実行)
backend/ ディレクトリに移動して実行します。
- ディレクトリ移動:
cd backend
- アップデート実行:
pnpm run update (定義済みの24時間カットオフ付き更新スクリプト)
pnpm update (マイナー/パッチ更新。プロジェクト設定の24時間カットオフが適用される)
- 脆弱性修正とトラブルシューティング:
pnpm audit を実行して脆弱性を確認する。audit --fixは24時間カットオフの例外を自動追加するため使用しない。
- 脆弱性が残っている場合:
pnpm audit --json 等で原因となっているパッケージを特定。
- 原因パッケージに対して個別に
pnpm update <package_name> を試行(プロジェクト設定の24時間カットオフが適用される)。
pnpm audit を再実行。
- それでも解決しない場合は、影響範囲(開発環境のみか等)を判断し、完了報告に詳細を記載する。
- 検証:
pnpm run test を実行し、更新によって破壊的な変更が発生していないか確認する。
- 失敗した場合は中断。
3. フロントエンドのパッケージ更新(自動実行)
frontend/ ディレクトリに移動して実行します。
- ディレクトリ移動:
cd frontend
- アップデート実行:
pnpm run update (ncuを利用した、24時間カットオフ付きのメジャー更新を含むスクリプト)
pnpm update(プロジェクト設定の24時間カットオフが適用される)
- 脆弱性修正とトラブルシューティング:
pnpm audit を実行して脆弱性を確認する。audit --fixは24時間カットオフの例外を自動追加するため使用しない。
- 脆弱性が残っている場合:
pnpm audit --json 等で原因となっているパッケージを特定。
- 原因パッケージに対して個別に
pnpm update <package_name> を試行(プロジェクト設定の24時間カットオフが適用される)。
pnpm audit を再実行.
- それでも解決しない場合は、影響範囲(開発環境のみか等)を判断し、完了報告に詳細を記載する。
- 検証:
pnpm run build を実行し、型チェックやビルドに問題がないか確認する.
- 失敗した場合は中断。
4. バックエンドのパッケージ更新
extension/ ディレクトリに移動して実行します。
- ディレクトリ移動:
cd extension
- アップデート実行:
pnpm run update (定義済みの24時間カットオフ付き更新スクリプト)
pnpm update (マイナー/パッチ更新。プロジェクト設定の24時間カットオフが適用される)
- 脆弱性修正とトラブルシューティング:
pnpm audit を実行して脆弱性を確認する。audit --fixは24時間カットオフの例外を自動追加するため使用しない。
- 脆弱性が残っている場合:
pnpm audit --json 等で原因となっているパッケージを特定。
- 原因パッケージに対して個別に
pnpm update <package_name> を試行(プロジェクト設定の24時間カットオフが適用される)。
pnpm audit を再実行。
- それでも解決しない場合は、影響範囲(開発環境のみか等)を判断し、完了報告に詳細を記載する。
- 検証:
pnpm run test を実行し、更新によって破壊的な変更が発生していないか確認する。
- 失敗した場合は中断。
4. 完了報告
すべて we の処理が正常に完了した後、以下の情報をユーザーに報告します。
- 更新された主要なパッケージのリスト(
git diff package.json を参照)。
- テストおよびビルドの結果(成功した旨)。
pnpm audit の最終的なステータス。
エラーハンドリング
- コマンドが失敗した(テスト失敗、ビルドエラー、依存関係の競合等)場合のみ、即座に停止し、ユーザーに状況を報告してください。
- 正常に動作している限り、途中で入力を待つ必要はありません。