Was macht docmd — Agent Skill (Entwickler)?
Verwenden Sie dieses Skill, wenn der Benutzer das docmd-Framework selbst ändern möchte, nicht eine Website, die es nutzt. Dieses Skill wird durch npx docmd-skills dev <dir> geladen und fügt docmd-dev/ neben einer vorhandenen docmd-skills/-Installation hinzu.
Wann dieses Skill verwendet werden soll
Verwenden Sie es, wenn eines dieser Signale zutrifft:
- Das aktuelle Arbeitsverzeichnis des Benutzers ist ein Klon des docmd-Monorepos. Das lokale Klonverzeichnis heißt einfach
docmd/(der GitHub-Pfad istdocmd-io/docmd/). Erkennungsmerkmale:pnpm-lock.yaml,packages/core/src/,packages/ui/src/,packages/api/src/,packages/plugins/<name>/,packages/engines/. Zum Klonen:git clone https://github.com/docmd-io/docmd.git docmd && cd docmd. - Der Benutzer sagt explizit, dass er „ein Plugin schreiben“, „ein Template schreiben“, „die Engine erweitern“, „den Core modifizieren“, „einen Hook hinzufügen“ oder ähnliches möchte.
- Der Benutzer bearbeitet Dateien in
packages/core/src/,packages/api/src/,packages/ui/src/,packages/plugins/*/src/oderpackages/engines/*/des docmd-Monorepos.
Wenn der Benutzer Framework-Hilfe wünscht, aber kein docmd/-Klon im Arbeitsverzeichnis vorhanden ist, fragen Sie vorher, ob er das Monorepo klonen (git clone https://github.com/docmd-io/docmd.git docmd) oder ein vorhandenes aktualisieren (git -C docmd pull) möchte. Beginnen Sie nicht mit der Bearbeitung von Framework-Quellen ohne einen aktuellen lokalen Klon.
Nicht verwenden für: Seitenkonfiguration oder -operationen (verwenden Sie docmd-skills) oder für die Textqualität von Seiten (verwenden Sie docmd-writer).
Lade-Regeln
- Laden Sie dieses Skill nur, wenn der Benutzer aktiv im docmd-Monorepo arbeitet oder explizit nach Framework-Interna fragt.
- Im Zweifelsfall verwenden Sie standardmäßig docmd-skills (Benutzer). Der Wechsel zu diesem Skill impliziert, dass der Benutzer bereit ist,
pnpm-Befehle im Monorepo auszuführen.
Referenzindex
Jede Zeile ist eine Referenzdatei. Die CLI-Spalte zeigt, welcher Installations-Unterbefehl diese Datei hinzufügt.
| Referenz | CLI-Installations-Unterbefehl | Verwendung für |
|---|---|---|
references/api-dev.md | docmd-skills dev | Öffentliche Node-API für Framework-Autoren: EngineLoader, URL utilities, createActionDispatcher, TemplateSlot, Hook/Action-Verträge |
references/plugin-development.md | docmd-skills dev | Erstellen eines docmd-Plugins: Paketstruktur, Manifest, apply()-Lebenszyklus, template-Fähigkeit, Hooks, Tests |
references/template-development.md | docmd-skills dev | Erstellen eines docmd-Themes/Templates: 12 Template-Slots, Asset-Pipeline, manifest.json, Template-Plugins |
references/engines.md | docmd-skills dev | JS- vs. Rust-Build-Engines, Austausch von Engines, Engine-spezifische Konfiguration, Leistungskompromisse |
Arbeitsabläufe
1. Klonen oder Aktualisieren des Monorepos
Noch kein Klon vorhanden — klonen und installieren:
git clone https://github.com/docmd-io/docmd.git docmd
cd docmd
pnpm install
Vorhandener Klon — aktualisieren und Abhängigkeiten bei Bedarf neu installieren:
git -C docmd pull
pnpm install
Um zu prüfen, ob ein Klon vor einer Entscheidung zurückliegt, führen Sie git -C docmd status aus (suchen Sie nach „Your branch is behind“) oder git -C docmd log -1 --oneline und vergleichen Sie mit https://github.com/docmd-io/docmd/commits/main.
Das lokale Klonverzeichnis ist docmd/ (nicht docmd-io/docmd/). Darin finden Sie das kanonische Paketlayout, auf das in diesem Skill verwiesen wird.
2. Schreiben eines Plugins
- Lesen Sie
references/plugin-development.mdvollständig, bevor Sie das Grundgerüst erstellen. - Wählen Sie das nächstgelegene vorhandene Plugin unter
packages/plugins/<name>/und kopieren Sie dessen Struktur. - Überprüfen Sie
references/api-dev.mdauf denPlugin-Typ, Hook-Namen und dietemplate-Fähigkeit (eingeführt in 0.8.7). - Fügen Sie Tests im eigenen
tests/-Verzeichnis des Plugins hinzu;pnpm prepdes Monorepos führt die universelle Fehlersicherung aus.
3. Schreiben eines Templates
- Lesen Sie
references/template-development.mdfür die 12 Template-Slots und die Asset-Pipeline. - Passen Sie die Manifest-Struktur eines vorhandenen Templates an (
packages/templates/summer/ist die Referenz). - Validieren Sie mit
references/api-dev.mdfür dieTemplateSlot-Union (keinheader-Slot – es gibt 12).
4. Engine-Arbeit
references/engines.mdzuerst — bestätigt, auf welche Engine Sie abzielen und deren Konfigurationsschlüssel.- Für Node-Ebene-Änderungen am Engine-Loader:
references/api-dev.md§ „Engine Loader API“.
Skill-übergreifende Navigation
- docmd-skills — für Seitenarbeit; als Standard zuerst laden.
- docmd-writer — laden, wenn die Aufgabe in die Textqualität innerhalb von Template-Demos oder Beispieldokumenten abdriftet.