mcpField
F
flutter-persistence

flutter-persistence

github.com/thienqo開発1577 回インストール今日更新
リポジトリ

flutter-persistence について

データ形状、検索、耐久性、セキュリティ、同期、移行の要件に応じて Flutter の保存方式を選ぶスキルです。Repository を介したモデルの分離と、復旧時の永続ユーザーデータ保護を重視します。

主な機能

  1. 01データ要件に応じた保存方式の選択
  2. 02Repository による保存モデルの分離
  3. 03キャッシュとオフライン動作の計画
  4. 04スキーマのバージョン管理と移行
  5. 05復旧とデータ安全性のテスト

活用シーン

  1. 01Flutter 機能の保存方式選定
  2. 02オフライン変更と競合処理の計画
  3. 03アプリ版間での永続データ移行

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/thienqo/flutter-skills --skill flutter-persistence

インストール後、Claude Code で/flutter-persistenceを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

evals/
cases.json
references/
caching-policy.md
offline-sync.md
schema-migrations-and-recovery.md

詳細

Flutter の永続化

データの形状、クエリの要件、耐久性、機密性、同期、移行の要件に基づいてストレージを選択します。

API を選択する前に、pubspec.yaml、SDK の制約、解決済みの永続化パッケージとバージョン、生成スキーマの方針、既存のストレージの管理者、対応プラットフォーム、テストを確認します。明確な要件が既存パッケージの対応範囲を超えない限り、現在使用しているパッケージを維持してください。

適切な規模で選択する

  • 小さな設定にはプリファレンスを使用し、リレーショナルデータや重要なドメインデータには使用しないでください。
  • ドキュメントや Blob の管理には、アトミック性とクリーンアップを明示したうえでファイルを使用します。
  • クエリ、リレーションシップ、トランザクション、インデックス、移行が必要な場合は、データベースを使用します。
  • 小さなシークレットにはプラットフォームのセキュアストレージを使用し、通常のアプリデータベースをシークレット保管庫として扱わないでください。
  • 具体的な要件を満たせない場合を除き、現在使用しているパッケージを維持してください。

データの管理を定義する

信頼できる唯一の情報源、キャッシュの鮮度、書き込み順序、競合時の動作、オフラインでの変更、削除の意味、破損データや互換性のないデータからの復旧を定義します。スキーマの詳細がウィジェットに漏れないよう、ストレージモデルをリポジトリの背後に置いてください。

必要に応じて参考資料を読む

  • キャッシュキー、鮮度、無効化、削除、古いデータの開示、ユーザー分離を選択する際は、キャッシュポリシーを読んでください。
  • ローカルデータとリモートデータが乖離する可能性がある場合、オフライン中に変更をキューに追加する場合、バックグラウンド処理を実行する場合、または競合や削除を調整する必要がある場合は、オフライン同期を読んでください。
  • データベーススキーマ、シリアライズされた永続形式、移行コールバック、互換性のないデータの復旧方針を変更する前に、スキーマの移行と復旧を読んでください。

HTTP バリデーターと転送キャッシュについては flutter-networking を参照し、画像、ウィジェット、スクロール、メモリーキャッシュのパフォーマンスについては flutter-performance を参照してください。

移行と安全性

移行と復旧の動作を定義する前に、保存状態を永続的なユーザーデータ、永続的な操作、破棄可能なキャッシュ、再生成可能な派生データに分類します。スキーマにバージョンを付け、実際の以前のバージョンの成果物を使って、サポート対象のアップグレード経路をすべてテストしてください。移行の失敗に対する自動対応として、永続的なユーザーデータを破棄してはいけません。破棄可能なキャッシュの再構築が有効なのは、その管理者と再構築元が明確な場合に限ります。アクセストークン、パスワード、機密性の高い個人データをログや平文のプリファレンスに保存しないでください。

検証

機能に関連する初回起動、再起動、アップグレード、書き込み失敗、並行アクセス、データ破損、削除、オフライン/オンラインの切り替えをテストします。再現性のあるテストには、一時的なデータベースまたはディレクトリを使用してください。

参考資料

コメント