datocms-plugin-scaffold について
datocms-plugin-scaffold は、DatoCMS プラグインの最小限の初版を作るスキルです。開発者向けにプロジェクト構成とビルド確認を案内し、その後の変更は datocms-plugin-builder に引き継ぎます。
主な機能
- 01最小限の DatoCMS プラグイン作成
- 02プラグイン画面の選定と設定案内
- 03Vite・React のプロジェクト構成
- 04ビルド確認とローカル導入案内
- 05後続のプラグイン作業への振り分け
活用シーン
- 01新しいプライベートまたはマーケットプレイス用プラグインの開始
- 02最初のプラグイン画面の追加
- 03後続編集に向けた実行可能な雛形の作成
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ datocms/ agent-skills --skill datocms-plugin-scaffoldインストール後、Claude Code で/datocms-plugin-scaffoldを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
agents/openai.yamlreferences/project-scaffold.mdsurface-starters.md詳細
DatoCMS プラグインのスキャフォールド
新しいプラグインの、動作する最小限の初版を作成します。最初のスキャフォールドは範囲を絞り、以降の編集は datocms-plugin-builder に引き継ぎます。
Step 1: スキャフォールドのモードを確認する
現在のディレクトリを確認します(ユーザーには知らせません)。
既存のプラグインがあるか確認します(datocms-plugin-sdk を含む package.json、connect() エントリーポイント、Vite 設定)。既存プラグインがあり、依頼が編集の場合は、datocms-plugin-builder に切り替えます。質問する前に、開始時の対象範囲を推測します。
Step 2: 不足している必須情報だけを尋ねる
不明な場合に限り、次の項目を尋ねます。
- プラグイン名/フォルダー名
- プライベートかマーケットプレイス向けか
- 最初の対象範囲/スコープ(スキャフォールドに影響する場合)
currentUserAccessToken/外部 API の要否
すでに明らかな項目は尋ねません。
Step 3: 必要最小限のリファレンスを読み込む
次を読み込みます。
references/project-scaffold.mdreferences/surface-starters.md
初回実装にはこれらを使用します。機能の拡張やメンテナンスは datocms-plugin-builder に引き継ぎます。
Step 4: プロジェクトをスキャフォールドする
現在の作業ディレクトリにプラグイン用のディレクトリを作成します。references/project-scaffold.md にある Vite/React の構成を使用します。必要なエントリーポイントだけを追加します。プライベートプラグインのメタデータは最小限にします。マーケットプレイス向けの場合は、npm 名、キーワード、ホームページ、権限を設定します。必要なオプションの依存関係だけを追加します。検証の前にインストールします。
Step 5: 最初の対象範囲を接続する
宣言、レンダー、実行フックには references/surface-starters.md を使用します。
ガードレール:
- トップレベルの
connect()は 1 つだけにします - UI は
<Canvas ctx={ctx}>でラップします。ページ/インスペクター/全幅サイドバーではnoAutoResizerを使用します - ID で振り分けるレンダーフックには
switchを使用します - SDK の型には
import type { ... }を使用します ctx.openModal()のパラメーターとctx.resolve()は JSON にシリアライズできる形式にします- モジュラーコンテンツ/単一ブロック/ストラクチャードテキストでは、エディターフィールド拡張を使用しません
- 動作する最小限の初版の範囲にとどめます
Step 6: 検証する
選択したパッケージマネージャーで依存関係をインストールします。ビルドを実行します。開発用コマンドと、ローカルプラグインのインストール方法をユーザーに伝えます。手動で確認すべき最も重要な対象範囲を 1 つ挙げます。
スキル間の振り分け
- 既存プラグインのメンテナンス →
datocms-plugin-builder - ネイティブ UI のデザイン/レイアウト変更 →
datocms-plugin-design-system - 単体の CMA スクリプト/スキーマ作業 →
datocms-cma