docmd — Compétence pour Agent (Développeur)
Utilisez cette compétence lorsque l'utilisateur souhaite modifier le framework docmd lui-même, et non un site qui le consomme. Cette compétence est chargée par npx docmd-skills dev <dir> et ajoute docmd-dev/ aux côtés d'une installation existante de docmd-skills/.
Quand utiliser cette compétence
Utilisez-la lorsque l'un de ces signaux est vrai :
- Le répertoire de travail actuel de l'utilisateur est un clone du monorepo docmd. Le répertoire de clone local se nomme simplement
docmd/(le chemin GitHub estdocmd-io/docmd/). Indices révélateurs :pnpm-lock.yaml,packages/core/src/,packages/ui/src/,packages/api/src/,packages/plugins/<name>/,packages/engines/. Pour le cloner :git clone https://github.com/docmd-io/docmd.git docmd && cd docmd. - L'utilisateur indique explicitement vouloir "écrire un plugin", "écrire un template", "étendre le moteur", "modifier le cœur", "ajouter un hook", ou similaire.
- L'utilisateur modifie des fichiers dans
packages/core/src/,packages/api/src/,packages/ui/src/,packages/plugins/*/src/, oupackages/engines/*/du monorepo docmd.
Si l'utilisateur souhaite de l'aide sur le framework mais qu'aucun clone docmd/ n'existe dans le répertoire de travail, demandez avant d'agir : souhaite-t-il que vous cloniez le monorepo (git clone https://github.com/docmd-io/docmd.git docmd) ou que vous rafraîchissiez un clone existant (git -C docmd pull) ? Ne commencez pas à modifier le code source du framework sans un clone local à jour.
Ne l'utilisez pas pour : la configuration ou les opérations au niveau du site (utilisez docmd-skills), ou pour la qualité de la prose des pages (utilisez docmd-writer).
Règles de chargement
- Chargez cette compétence uniquement lorsque l'utilisateur travaille activement dans le monorepo docmd ou demande explicitement des informations sur les composants internes du framework.
- En cas de doute, utilisez par défaut docmd-skills (utilisateur). Passer à cette compétence implique que l'utilisateur est à l'aise pour exécuter des commandes
pnpmsur le monorepo.
Index de référence
Chaque ligne est un fichier de référence. La colonne CLI indique quelle sous-commande d'installation ajoute ce fichier.
| Référence | Sous-commande CLI d'installation | Utilisation |
|---|---|---|
references/api-dev.md | docmd-skills dev | API Node publique pour les auteurs de framework : EngineLoader, URL utilities, createActionDispatcher, TemplateSlot, contrats hook/action |
references/plugin-development.md | docmd-skills dev | Création d'un plugin docmd : structure du paquet, manifeste, cycle de vie apply(), capacité template, hooks, tests |
references/template-development.md | docmd-skills dev | Création d'un thème/template docmd : 12 emplacements de template, pipeline d'assets, manifest.json, plugins de template |
references/engines.md | docmd-skills dev | Moteurs de build JS vs Rust, changement de moteur, configuration spécifique au moteur, compromis de performance |
Flux de travail
1. Clonage ou rafraîchissement du monorepo
Pas encore de clone — cloner et installer :
git clone https://github.com/docmd-io/docmd.git docmd
cd docmd
pnpm install
Clone existant — rafraîchir et réinstaller les dépendances si nécessaire :
git -C docmd pull
pnpm install
Pour vérifier si un clone est en retard avant de décider, exécutez git -C docmd status (cherchez "Your branch is behind") ou git -C docmd log -1 --oneline et comparez avec https://github.com/docmd-io/docmd/commits/main.
Le répertoire de clone local est docmd/ (pas docmd-io/docmd/). À l'intérieur, vous trouverez la structure de paquets canonique référencée dans toute cette compétence.
2. Écrire un plugin
- Lisez
references/plugin-development.mddu début à la fin avant de générer la structure. - Choisissez le plugin existant le plus proche dans
packages/plugins/<name>/et copiez sa structure. - Vérifiez
references/api-dev.mdpour le typePlugin, les noms de hooks et la capacitétemplateintroduite dans la version 0.8.7. - Ajoutez des tests dans le répertoire
tests/du plugin ; la commandepnpm prepdu monorepo exécute le test de sécurité universel.
3. Écrire un template
- Lisez
references/template-development.mdpour les 12 emplacements de template et le pipeline d'assets. - Faites correspondre la structure du manifeste utilisée par un template existant (
packages/templates/summer/est la référence). - Validez par rapport à
references/api-dev.mdpour l'unionTemplateSlot(pas d'emplacementheader— il y en a 12).
4. Travail sur les moteurs
references/engines.mden premier — confirme quel moteur vous ciblez et ses clés de configuration.- Pour les modifications au niveau Node du chargeur de moteur,
references/api-dev.md§ "Engine Loader API".
Navigation entre compétences
- docmd-skills — pour le travail au niveau du site ; chargez-la par défaut en premier.
- docmd-writer — chargez-la lorsque la tâche bascule vers la qualité de la prose dans les démos de templates ou les exemples de documentation.