Programmatic Node API

For advanced workflows, you can import and use the docmd build engine directly within your own Node.js scripts. This is ideal for custom CI/CD pipelines, automated documentation generation from source code, or wrapping docmd in another tool.

Installation

npm install @docmd/core

Core Functions

build(configPath, options)

The primary build function used by the CLI.

const { build } = require('@docmd/core');

async function run() {
  await build('./docmd.config.js', {
    isDev: false,      // Set to true for watch mode logic
    offline: false,    // Set to true to optimize for file:// access
    zeroConfig: false  // Set to true to bypass config file detection
  });
}

buildLive(options)

Generates the browser-based Live Editor bundle.

const { buildLive } = require('@docmd/core');

async function run() {
  await buildLive({
    serve: false,      // true starts a local server; false generates static files
    port: 3000         // Custom port if serve is true
  });
}

Example: Custom Build Pipeline

You can combine docmd with other tools (like fs-extra) to create complex build artifacts.

const { build } = require('@docmd/core');
const fs = require('fs-extra');

async function deployDocs() {
  try {
    // 1. Pre-build logic (e.g. generating markdown from code)
    await generateMarkdownFromJSDoc('./src', './docs/api');

    // 2. Run docmd build
    await build('./docmd.config.js', { offline: true });

    // 3. Post-build logic (e.g. moving files to a server folder)
    await fs.move('./site', '/var/www/html/docs');
    
    console.log('Documentation successfully deployed!');
  } catch (err) {
    console.error('Build Pipeline Failed:', err);
  }
}

The Programmatic API allows AI agents to act as Documentation Engineers. An agent can trigger a docmd build after modifying content, verify that the llms-full.txt was generated correctly, and then handle the deployment—all without human intervention.