mcpField
U
unopim-plugin-development

unopim-plugin-development

github.com/unopim開発140 回インストール2 週間前に更新
リポジトリ

unopim-plugin-development について

UnoPim の自己完結型 Concord モジュールやサードパーティーコネクターを構築するスキルです。開発段階に応じた資料と、バックエンド、セキュリティ、UI、連携の規約を提供します。

主な機能

  1. 01段階別の開発リファレンス
  2. 02Laravel 13 と PHP 8.4 の規約
  3. 03コネクターの認証情報と HTTP の設計
  4. 04管理 UI、CRUD、ACL のガイド
  5. 05一覧表示と検証に必要な関連スキル

活用シーン

  1. 01UnoPim モジュールの新規作成
  2. 02REST API コネクターの構築
  3. 03認証情報の安全な保存
  4. 04管理画面への CRUD 追加

インストール

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

$npx skills add https://github.com/unopim/agent-skills --skill unopim-plugin-development

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

同梱ファイル

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

acl-security.md
admin-ui.md
backend.md
credentials.md
crud-patterns.md
http-client.md
mapping.md
package-structure.md
quickstart.md

詳細

UnoPim プラグイン開発

packages/Webkul/{ModuleName}/ の下に、自己完結型の Concord パッケージを構築します。機能モジュールでも、サードパーティーコネクター(Shopify、Shopware、任意の REST API)でも構いません。現行のコネクター実装リファレンスは packages/Webkul/AiAgent です。ここにあるテンプレートとそのパッケージの内容が異なる場合は、パッケージの内容を優先します。

参照ファイル — 現在のフェーズで必要なものだけを読み込んでください

ファイル読み込むタイミング
quickstart.md新しいモジュールを開始するとき — 初日の順序付きチェックリスト
package-structure.mdディレクトリ構成、composer.json、サービスプロバイダー、設定のマージ、マイグレーション
backend.mdモデル、コントラクト、リポジトリ、イベント、Octane セーフなバインディング
credentials.md認証情報の保存、保存時の暗号化、履歴/監査、接続テストエンドポイント
http-client.mdcURL ApiClient、認証方式、SSRF ガード、コンテナバインディング
admin-ui.mdBlade ビュー — コンポーネント、テーマトークン、CRUD の概要
crud-patterns.md管理画面 CRUD の基本構成 — 保存バー、モーダルでの作成、パンくずリスト、ページのひな型
acl-security.mdACL の適用範囲、FormRequest の認可、アップロード、CSRF、シークレット
mapping.mdコネクターの属性マッピング画面

必須サブスキル: 管理画面の一覧ページには、unopim-datagrid を使用してください。 必須サブスキル: Exporter、Importer、Validator クラスには、unopim-data-transfer を使用してください。 必須サブスキル: 変更の完了を主張する前に、unopim-verify を使用してください。

重要な規約(詳細と具体例は参照ファイルを確認してください)

  • Laravel 13/PHP 8.4 を対象とします。コンストラクタプロパティのプロモーション、明示的な戻り値の型、モデルの #[Fillable]/#[Table]/#[Hidden] 属性と casts(): array メソッドを使用してください。
  • プロバイダーは bootstrap/providers.php に登録します。config/app.php に providers 配列はありません。
  • メニュー設定は 'menu.admin' キーにマージし、'menu' には絶対にマージしないでください。管理画面のサイドバーは config('menu.admin') のみを読み取るため、'menu' にマージしたモジュールは表示されません。
  • プラグインパッケージのマイグレーションは、ルートレベルの Database/Migration/(単数形)に配置します。コアパッケージでは src/Database/Migrations/(複数形)を使用します。テーブル名はプレフィックスなしで記述します。プレフィックスは env('DB_PREFIX', '') から付与され、デフォルトは空です。
  • ルートミドルウェアは ['admin'] のみです。ACL の適用はルート名ごとにフェイルオープンです。すべての書き込みルート(store、update、destroy、mass_*、test-connection)は Config/acl.php に登録する必要があります。登録しないと、ログイン中の管理者であれば誰でも呼び出せます。acl-security.md を参照してください。
  • 履歴/監査モデルは、モジュールのコントラクト、PresentableHistoryInterface(getPresenters() を含む)、OwenIt の Auditable コントラクトを実装し、HistoryTrait を使用して、$historyTags を定義する必要があります。いずれかが欠けると、クラスの読み込み時または初回保存時に致命的なエラーが発生します。
  • 保存時のシークレットには、'encrypted' キャスト、#[Hidden]、$auditExclude をすべて併用する必要があります。$auditExclude だけでは平文で保存されます。
  • コネクターの HTTP 通信にはネイティブ cURL を使用します。Guzzle と Http ファサードは使用しないでください。状態を持つクライアントは singleton() ではなく scoped() でバインドします(このスタックは Octane 上で動作します)。
  • ローカライズファイルは Resources/lang/{locale}/ に配置します。33 のロケール全体で en_US を標準として使用してください。en/ ディレクトリだけでは読み込まれません。
  • メソッド本体、配列リテラル、ルートグループ、Blade マークアップの中にコメントを記述しないでください。メソッドの PHPDoc は、一行の命令形の要約にしてください。
  • ユーザーに表示される文字列をハードコードしないでください。すべてのラベル、メッセージ、プレースホルダーに trans('{module}::app.…') を使用してください。

コメント