docmd — エージェントスキル(開発者向け) は何をしますか?
このスキルは、ユーザーがdocmdフレームワーク自体を変更したい場合に使用します。サイトを利用する側ではありません。このスキルは npx docmd-skills dev <dir> で読み込まれ、既存の docmd-skills/ インストールの横に docmd-dev/ を追加します。
このスキルを使うタイミング
以下のいずれかのシグナルが真の場合に使用します。
- ユーザーの現在のワーキングディレクトリがdocmdモノレポのクローンである。ローカルクローンのディレクトリ名は単に
docmd/です(GitHubのパスはdocmd-io/docmd/)。目印:pnpm-lock.yaml、packages/core/src/、packages/ui/src/、packages/api/src/、packages/plugins/<name>/、packages/engines/。クローン方法:git clone https://github.com/docmd-io/docmd.git docmd && cd docmd。 - ユーザーが明示的に「プラグインを書きたい」「テンプレートを書きたい」「エンジンを拡張したい」「コアを修正したい」「フックを追加したい」などと言った場合。
- ユーザーがdocmdモノレポの
packages/core/src/、packages/api/src/、packages/ui/src/、packages/plugins/*/src/、packages/engines/*/内のファイルを編集している場合。
ユーザーがフレームワークのヘルプを希望しているが、ワーキングディレクトリに docmd/ クローンが存在しない場合、何かをする前に、モノレポのクローン(git clone https://github.com/docmd-io/docmd.git docmd)または既存のクローンの更新(git -C docmd pull)を希望するかどうかを確認してください。最新のローカルクローンなしにフレームワークのソースを編集し始めないでください。
以下の場合には使用しないでください:サイトレベルの設定や操作(docmd-skillsを使用)、またはページのプローズ品質(docmd-writerを使用)。
読み込みルール
- このスキルは、ユーザーがdocmdモノレポ内で積極的に作業している場合、またはフレームワーク内部について明示的に質問した場合にのみ読み込みます。
- 不明な場合は、デフォルトで docmd-skills(ユーザー向け)を使用します。このスキルに切り替えることは、ユーザーがモノレポに対して
pnpmコマンドを実行することに抵抗がないことを意味します。
リファレンス一覧
各行がリファレンスファイルです。CLI列は、どのインストールサブコマンドがこのファイルを追加するかを示します。
| リファレンス | CLIインストールサブコマンド | 用途 |
|---|---|---|
references/api-dev.md | docmd-skills dev | フレームワーク作成者向け公開Node API: EngineLoader、URL utilities、createActionDispatcher、TemplateSlot、フック/アクションの契約 |
references/plugin-development.md | docmd-skills dev | docmdプラグインの作成: パッケージ構造、マニフェスト、apply()ライフサイクル、template機能、フック、テスト |
references/template-development.md | docmd-skills dev | docmdテーマ/テンプレートの作成: 12のテンプレートスロット、アセットパイプライン、manifest.json、テンプレートプラグイン |
references/engines.md | docmd-skills dev | JS vs Rustビルドエンジン、エンジンの切り替え、エンジン固有の設定、パフォーマンストレードオフ |
ワークフロー
1. モノレポのクローンまたは更新
クローン未作成 — クローンしてインストール:
git clone https://github.com/docmd-io/docmd.git docmd
cd docmd
pnpm install
既存のクローンあり — 更新し、必要に応じて依存関係を再インストール:
git -C docmd pull
pnpm install
決定前にクローンが古くなっていないか確認するには、git -C docmd status(「Your branch is behind」を確認)または git -C docmd log -1 --oneline を実行し、https://github.com/docmd-io/docmd/commits/main と比較します。
ローカルクローンのディレクトリは docmd/ です(docmd-io/docmd/ ではありません)。その中には、このスキル全体で参照される標準パッケージレイアウトがあります。
2. プラグインの作成
- スキャフォールディングの前に
references/plugin-development.mdを最初から最後まで読んでください。 packages/plugins/<name>/にある最も近い既存プラグインを選び、その構造をコピーします。references/api-dev.mdでPlugin型、フック名、0.8.7で導入されたtemplate機能を相互参照します。- プラグイン独自の
tests/以下にテストを追加します。モノレポのpnpm prepがユニバーサルフェイルセーフを実行します。
3. テンプレートの作成
- 12のテンプレートスロットとアセットパイプラインについて
references/template-development.mdを読んでください。 - 既存のテンプレート(
packages/templates/summer/がリファレンス)で使用されているマニフェスト構造に合わせます。 references/api-dev.mdでTemplateSlotユニオンを検証します(headerスロットはありません — 12個です)。
4. エンジン作業
- まず
references/engines.mdを読んでください。対象とするエンジンとその設定キーを確認します。 - エンジンローダーのNodeレベルでの変更については、
references/api-dev.mdの「エンジンローダーAPI」セクションを参照してください。
スキル間のナビゲーション
- docmd-skills — サイトレベルの作業用。デフォルトで最初に読み込みます。
- docmd-writer — テンプレートのデモやサンプルドキュメント内のプローズ品質に関わる場合に読み込みます。