The docmd 0.7.2 release introduces the docmd deploy command : a config-aware deployment scaffolder that reads your project and generates production-ready server configurations tailored to it.

No other documentation tool does this. Docusaurus, VitePress, MkDocs - they all leave you to write your own Dockerfiles and server configs from scratch. docmd reads your docmd.config.js (or its zero-config defaults) and generates files that are ready to ship.

docmd deploy : Config-Aware Deployment

Run a single command and get production-ready deployment files personalised to your project:

docmd deploy --docker   # Dockerfile + .dockerignore
docmd deploy --nginx    # nginx.conf
docmd deploy --caddy    # Caddyfile

What Makes It Smart

The deploy command reads your configuration before generating anything. It extracts:

  • Project title — stamped into every generated file as a header comment
  • Output directory (out) — used in COPY paths, root directives, and file server configs instead of hardcoded values
  • Site URL (url) — extracted hostname is injected as server_name (Nginx) or the Caddy site address
  • SPA mode (layout.spa) — only generates try_files SPA fallback routing when SPA mode is active
  • Config file path — if you use a non-default config name, the Dockerfile build step runs docmd build --config your-config.js

If no docmd.config.js exists, the command still works — it falls back to the same zero-config defaults that docmd dev and docmd build use.

Always In Sync

Every run regenerates the deployment files to match your current configuration. Changed your url or out directory? Just run docmd deploy --nginx again. No --force flag needed for updates — your configs always reflect the latest state of your project.

Generated File Quality

  • Docker: Multi-stage builds with package.json layer caching and exact @docmd/core version pinning for reproducible builds
  • Nginx: Security headers (X-Content-Type-Options, X-Frame-Options), GZIP compression, immutable asset caching
  • Caddy: Automatic HTTPS-ready addressing, security headers, SPA routing, static asset caching

🛡️ The 7-Pillar Failsafe

Our internal verification engine has been refactored into 7 logical pillars of stability. This includes a new Dynamic Integrity Engine that catches version mismatch regressions instantly across the entire monorepo.

🌍 Global Ecosystem Expansion

Major localization updates in this release:

  • Native Language Support: Built-in UI translations for German, Spanish, Japanese, and French added to the core engine — these locales work out-of-the-box for all UI components.
  • Full German Translation: The entire documentation suite is now available in German (/de/).

📝 Complete Changelog

🚀 Features & Enhancements

  • New Command: docmd deploy with --docker, --nginx, --caddy targets.
  • Config-Aware Scaffolding: Deploy command reads docmd.config.js (or zero-config defaults) and personalises generated files with project title, output directory, hostname, SPA mode, and config path.
  • Always Fresh Configs: Deployment files regenerate on every run to stay in sync with config changes.
  • Docker Scaffolding: Multi-stage Dockerfile with package.json layer caching and version-pinned @docmd/core.
  • Web Server Scaffolding: Hardened Nginx and Caddy templates with security headers, GZIP, and intelligent 404/SPA routing.
  • Unified Config Labels: All internal modules (SEO, sitemap, LLMS, PWA, deployer, generator) now use the modern config keys (config.title, config.url, config.out, config.src) instead of scattered legacy fallbacks. Defaults are defined once in normalizeConfig — the single source of truth.
  • Failsafe: Consolidated verification logic into a faster, more professional 7-stage pipeline.
  • Versioning: New integrity engine automatically flags outdated internal workspace references.
  • SEO Plugin: Fully respects the titleAppend frontmatter property for social media (OG/Twitter) metadata.
  • Native Support: Added built-in UI translations for German, Spanish, Japanese, and French to the core engine.
  • Localization: Added comprehensive German translation and optimized Chinese translation for the documentation site.

🐛 Bug Fixes

  • Deploy CLI: Fixed argument parsing when running through pnpm proxy scripts with --cwd.
  • Deploy UX: Unknown arguments now show a helpful usage summary instead of a raw error with exit code 1.
  • Caddy Config: Corrected Cache-Control header syntax (quoted values) for Caddyfile compatibility.
  • Bump Script: Fixed a regex lastIndex bug in scripts/bump.js that caused inconsistent version replacements.
  • CLI Safety: Added proper async error handling to all deployment command entry points.
  • Live Editor: Fixed mobile overflow issues and template switching state tracking.

Migration Guide

For end users: No breaking changes. Update and try docmd deploy to generate deployment configs tailored to your project.

For plugin authors: No changes required.