docmd — 代理技能 (開發者) 是做什麼的?
當使用者想要修改 docmd 框架本身,而非使用該框架的網站時,請使用此技能。此技能由 npx docmd-skills dev <dir> 載入,並在現有的 docmd-skills/ 安裝旁新增 docmd-dev/。
何時使用此技能
當任何一項跡象為真時使用:
- 使用者的當前工作目錄是 docmd monorepo 的克隆。本地克隆目錄名為
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 monorepo 內
packages/core/src/、packages/api/src/、packages/ui/src/、packages/plugins/*/src/或packages/engines/*/中的檔案。
如果使用者需要框架協助,但工作目錄中沒有 docmd/ 克隆,在採取任何行動前先詢問:他們是否希望您克隆 monorepo(git clone https://github.com/docmd-io/docmd.git docmd)或更新現有的克隆(git -C docmd pull)?在沒有最新的本地克隆之前,不要開始編輯框架源碼。
不要將其用於:站點層級的配置或操作(請使用 docmd-skills),或用於頁面散文品質(請使用 docmd-writer)。
載入規則
- 僅在使用者正在 docmd monorepo 內積極工作或明確詢問框架內部時載入此技能。
- 如有疑問,預設使用 docmd-skills(使用者)。切換到此技能意味著使用者願意針對 monorepo 執行
pnpm指令。
參考索引
每一行都是一個參考檔案。CLI 欄位顯示哪個安裝子指令會新增此檔案。
| 參考檔案 | CLI 安裝子指令 | 用途 |
|---|---|---|
references/api-dev.md | docmd-skills dev | 框架作者的公開 Node API:EngineLoader、URL 工具、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 與 Rust 建置引擎、切換引擎、引擎特定配置、效能權衡 |
工作流程
1. 克隆或更新 monorepo
尚未克隆 — 克隆並安裝:
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/下新增測試;monorepo 的pnpm prep會執行通用安全機制。
3. 編寫模板
- 閱讀
references/template-development.md以了解 12 個模板插槽和資產管線。 - 比照現有模板(
packages/templates/summer/為參考)所使用的清單形狀。 - 根據
references/api-dev.md驗證TemplateSlot聯合類型(沒有header插槽 — 共有 12 個)。
4. 引擎工作
- 首先閱讀
references/engines.md— 確認您要定位的引擎及其配置金鑰。 - 對於引擎載入器的 Node 層級變更,請參考
references/api-dev.md§「Engine Loader API」。
跨技能導航
- docmd-skills — 用於站點層級工作;預設先載入它。
- docmd-writer — 當任務偏離到模板演示或範例文件中的散文品質時載入它。