docmd builds a fully static site. The output is a self-contained folder (default: site/) that can be hosted anywhere — no server-side runtime required.
npx @docmd/core build
Choosing a Deployment Method
There are three main paths depending on your situation:
| Method | Best For |
|---|---|
| Starter Template | Starting a new project from scratch |
| GitHub Action | Adding automated deployment to an existing repository |
| Deployer | Generating server configs (Docker, Nginx, Caddy, Vercel, Netlify) |
Starter Template
The fastest way to get started. Clone the official template repository — it includes a docmd.config.json, a sample page, and a pre-configured GitHub Actions workflow that deploys to GitHub Pages on every push.
GitHub Action
The docmd-io/deploy action builds your site and outputs the compiled path, ready for upload to GitHub Pages or any other target. Use this to add docmd deployment to an existing repository without changing your project structure.
Deployer
The deploy command reads your docmd.config.json and generates provider-specific configuration files tailored to your project. No generic templates — every file reflects your actual output directory, site URL, and SPA settings.
# Self-hosted
npx @docmd/core deploy --docker # Dockerfile + .dockerignore
npx @docmd/core deploy --nginx # Production nginx.conf
npx @docmd/core deploy --caddy # Production Caddyfile
# Cloud / CI
npx @docmd/core deploy --github-pages # GitHub Actions workflow
npx @docmd/core deploy --vercel # vercel.json
npx @docmd/core deploy --netlify # netlify.toml
Cloud Platforms
For managed hosting without running your own server:
- Docker Image — Official multi-arch image for containerised deployments
- NGINX — Self-hosted with generated config
- Caddy — Self-hosted with automatic HTTPS
- Vercel — Zero-config cloud deployment
- Netlify — Git-connected continuous deployment
- Cloudflare Pages — Edge-native hosting with built-in CI/CD
- Firebase Hosting — Google CDN with GitHub Actions integration
Production Checklist
- Site URL — Set
urlindocmd.config.json. This drives canonical tags, sitemaps, social previews, and generated deployment files. - Redirects — Migrating from another tool? Use the
redirectsconfig to preserve SEO rankings. - Analytics — Enable the
analyticsplugin to track engagement and search queries. - AI Context — Enable the
llmsplugin to generatellms.txtfor AI agent ingestion.
docmd writes a 404.html into your output directory. Most static hosts serve it automatically for missing routes.