The docmd 0.7.7 release introduces multi-project support - the ability to orchestrate multiple independent documentation sites from a single repository. Alongside this architectural shift, we are debuting the Universal TUI Design System, a complete modernisation of our terminal interface that delivers a premium, high-signal developer experience through a new standalone styling package.
✨ Highlights
Multi-Project Support
You can now build and serve multiple independent documentation sites from a single docmd instance. A single root configuration allows you to define multiple projects, each with its own prefix, independent versioning, and isolated navigation, while sharing a unified theme and deployment pipeline.
// docmd.config.js (root)
import { defineConfig } from '@docmd/api';
export default defineConfig({
projects: [
{ prefix: '/', src: 'docmd-main' },
{ prefix: '/search', src: 'docmd-search' }
]
});
Each project maintains its own directory structure and configuration, allowing you to manage complex documentation ecosystems (e.g., a core engine and its satellite tools) under a single domain without version conflicts.
Universal TUI Design System
We have completely rebuilt the docmd terminal interface to provide a professional, high-signal experience. Moving away from “playful” emojis, the new system uses refined box-drawing characters and a curated color palette to deliver clear, actionable feedback.
- Improved Branding: Centralized ASCII logo definition within the TUI system ensures a consistent brand presence across all CLI interactions.
- High-Signal Output: Logs are now structured using a clean, tabular aesthetic that prioritises readability in both local development and CI/CD environments.
- Consistency: Whether you are building a site, running a dev server, or using a migration tool, the terminal experience remains perfectly unified.
Standalone @docmd/tui Package
To support this new design system, we have decoupled terminal aesthetics from the core logic into a dedicated @docmd/tui package.
This architectural shift eliminates circular dependencies and allows plugin authors to consume the same professional UI components as the core engine. By centralising our “Terminal User Interface” logic, we ensure that every piece of output — from core build logs to third-party plugin warnings — follows the same premium design language.
Emoji-Free Professionalism
In line with our commitment to a premium developer experience, 0.7.7 transitions to an emoji-free standard. We’ve replaced legacy emoji-based status markers with a sophisticated box-drawing aesthetic. This change ensures that docmd looks and feels like a production-grade tool, providing a cleaner interface that integrates seamlessly into professional IDEs and terminal emulators.
Intelligent Config Validation
Configuration errors no longer leak Node.js stack traces. We’ve enhanced real-time configuration feedback using standardized TUI components to provide clean, human-readable error messages.
The validator now detects multi-project root configurations and provides specific guidance for missing properties or typos. When a configuration error occurs, docmd now presents a clear “Error Report” with exact line references and suggested fixes, ensuring you spend less time debugging and more time writing.
Multi-Project Dev Server
The docmd dev command has been upgraded to support multi-project orchestration. It builds all projects and serves them from a single port, with intelligent file watching that triggers targeted rebuilds for the specific project being edited.
────────────────────────────────────────
MULTI-PROJECT DEV SERVER
Local: http://127.0.0.1:3000
Network: http://192.168.1.5:3000
Project: / → docmd-main/
Project: /search → docmd-search/
────────────────────────────────────────
🛠️ Internal Refactoring
This release includes significant architectural hardening to support the new TUI and multi-project capabilities:
- Dependency Architecture: Optimized package dependencies to ensure a strictly directed acyclic flow, preventing circular imports between the engine and UI layers.
- Logger Refactoring: Fully deprecated legacy logger utilities in favor of the centralized TUI system.
- Project Orchestration: The multi-project handler lives in a standalone module that safely manages directory contexts (
chdir) and merges independent outputs into a unified site structure without modifying the existing build pipeline.
📝 Complete Changelog
Features & Enhancements
- Multi-Project Engine: Support for
projects[]in root configuration with shared assets and independent versioning. - Universal TUI: Rebuilt terminal interface using box-drawing characters and professional styling.
- Standalone TUI Package: New
@docmd/tuilibrary for unified CLI aesthetics across the monorepo. - Improved Branding: Introduced a centralized ASCII logo for all CLI entry points.
- Config Validation: Enhanced real-time feedback with human-readable error reports and no stack traces.
- Dependency Optimization: Strictly enforced acyclic dependency flow across all internal packages.
Cleanups & Removals
- Emoji-Free Standard: Removed all legacy emoji-based terminal output.
- Redundant Logs: Eliminated ad-hoc
chalkandconsole.logcalls in favor of the TUI logger. - Legacy Utilities: Removed deprecated internal logger helpers.
Migration Guide
For Existing Projects
Existing single-project setups require no changes. The engine continues to support the standard single-project workflow by default.
Adopting Multi-Project Support
To transition to a multi-project setup:
- Move your existing documentation source into a subdirectory.
- Create a root
docmd.config.jsand define your projects using theprojectsarray. - Remove redundant
srcandoutpaths from child configurations, as the root orchestrator now manages these.
We recommend migrating any custom console.log or chalk statements to the new @docmd/tui package to ensure your plugin’s output matches the core docmd aesthetic.