Sie können docmds Build-Engine direkt aus Ihren Node.js-Anwendungen importieren und verwenden. Das ist ideal für benutzerdefinierte CI/CD-Pipelines, automatisierte Dokumentations-Generierung und das Vor-Rendern von Docs in Monorepos.
Installation
Stellen Sie sicher, dass @docmd/core in Ihrem Projekt installiert ist:
npm install @docmd/core
Kern-Funktionen
buildSite(configPath, options)
Die primäre Build-Funktion. Übernimmt das Laden der Konfiguration, das Markdown-Parsing und die Asset-Generierung.
import { buildSite } from "@docmd/core";
async function runBuild() {
await buildSite("./docmd.config.json", {
"isDev": false,
offline: false,
zeroConfig: false
});
}
buildLive(options)
Generiert das browserbasierte Live-Editor-Bundle.
import { buildLive } from "@docmd/core";
async function generateEditor() {
await buildLive({
"serve": false,
port: 3000
});
}
Workspace-Verwaltung
Um Workspaces programmatisch zu verwalten, verwenden Sie die dedizierten Workspace-Funktionen.
isWorkspace(config)
Gibt true zurück, wenn das übergebene Konfigurations-Objekt dem Workspace-Schema folgt.
detectWorkspace(configPath)
Erkennt und lädt eine Workspace-Konfigurationsdatei. Gibt eine normalisierte WorkspaceRootConfig oder null zurück.
buildWorkspace(config, options)
Baut alle Projekte innerhalb eines Workspace. Behandelt geteilte Assets und projekt-spezifische Prefixes.
devWorkspace(config, options)
Startet den Workspace-Dev-Server. Beobachtet alle Projekte auf Änderungen und führt gezielte Rebuilds durch.
import { detectWorkspace, buildWorkspace } from "@docmd/core";
async function buildAll() {
const config = await detectWorkspace("./docmd.config.json");
if (config) {
await buildWorkspace(config, { quiet: false });
}
}
Beispiel: Eigene Pipeline
Umschließen Sie docmd, um komplexe Dokumentations-Workflows zu komponieren — dynamische Inhalte generieren, bauen und die Ausgabe anschließend an Ihren endgültigen Ort verschieben.
import { buildSite } from '@docmd/core';
import fs from 'fs-extra';
async function deploy() {
// 1. Dynamische Inhalte generieren
await fs.writeFile('./docs/dynamic.md', '# Generierter Inhalt');
// 2. Build ausführen
await buildSite('./docmd.config.json');
// 3. Ausgabe verschieben
await fs.move('./site', './public/docs');
}
Die programmatische API ist hochkompatibel mit AI-gesteuerter Dokumentation. Agenten können nach Inhalts-Updates Builds auslösen, um die Integrität zu prüfen und Deployments autonom zu verwalten.
Nächste Schritte
- Plugins — erweitern Sie docmd, ohne die Engine anzufassen.
- CLI-Befehle — der empfohlene Weg für die meisten CI/CD-Setups.
- Workspaces — Konfigurationsreferenz für Multi-Projekt-Setups.