serverpod-modules について
Serverpodに再利用可能なモジュールを追加するためのスキルです。モジュールは独立した名前空間を持つサーバー、クライアント、任意のFlutterパッケージで構成でき、独自モジュールの作成やモデルからの型参照も扱います。
主な機能
- 01サーバーとクライアントのパッケージ追加
- 02任意のFlutterパッケージに対応
- 03モジュールの別名設定
- 04モデルでのモジュール型参照
- 05独自モジュールパッケージの作成
活用シーン
- 01再利用可能なServerpodモジュールの導入
- 02アプリのモデルでモジュール型を利用
- 03独自モジュールのひな形作成
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ serverpod/ serverpod --skill serverpod-modulesインストール後、Claude Code で/serverpod-modulesを入力して読み込まれたか確認します。
詳細
Serverpod モジュール
モジュールは再利用可能な Serverpod パッケージです。独自のエンドポイント/モデル名前空間に、サーバー、クライアント、必要に応じて Flutter のコードを含みます。
モジュールの追加
サーバー: モジュールのサーバーパッケージを pubspec.yaml に追加します(例:serverpod_auth_idp_server: <serverpod-version>)。必要に応じて、config/generator.yaml で宣言します。
modules:
serverpod_auth_idp:
nickname: auth
続いて dart pub get、serverpod generate を実行します。モジュールがテーブルを追加し、データベース生成が有効になっている場合は、../serverpod-migrations/SKILL.md に従ってください。
クライアント: モジュールのクライアントパッケージを追加します(例:serverpod_auth_idp_client: <serverpod-version>)。
Flutter: 提供されている場合は、モジュールの Flutter パッケージを追加します(例:serverpod_auth_idp_flutter: <serverpod-version>)。
Serverpod とモジュールのバージョンを揃えてください。
モデルでのモジュール型の参照
class: MyClass
fields:
userInfo: module:serverpod_auth_core:AuthUser
# Or with nickname:
userInfo: module:auth:AuthUser
変更後に serverpod generate を実行します。
カスタムモジュールの作成
serverpod create --template module my_module
サーバーとクライアントのパッケージが作成されます。必要に応じて、Flutter パッケージを追加します:flutter create --template package my_module_flutter。config/generator.yaml で type: module を設定します。名前の衝突を避けるため、テーブル名にプレフィックスを付けてください(例:my_module_orders)。