Das docmd 0.7.7 Release führt die Multi-Projekt-Unterstützung ein – die Möglichkeit, mehrere unabhängige Dokumentations-Websites aus einem einzigen Repository heraus zu orchestrieren. Parallel zu dieser architektonischen Weiterentwicklung debütiert das Universal TUI Design System, eine komplette Modernisierung unserer Terminal-Schnittstelle, die durch ein neues eigenständiges Styling-Paket ein erstklassiges, signalreiches Entwicklererlebnis bietet.

✨ Highlights

🚀 Multi-Projekt-Unterstützung

Sie können jetzt mehrere unabhängige Dokumentations-Websites von einer einzigen docmd-Instanz aus erstellen und bereitstellen. Eine einzige Root-Konfiguration ermöglicht es Ihnen, mehrere Projekte zu definieren, jedes mit eigenem Präfix, unabhängiger Versionierung und isolierter Navigation, während sie ein gemeinsames Theme und eine einheitliche Deployment-Pipeline nutzen.

// docmd.config.js (root)
import { defineConfig } from '@docmd/api';

export default defineConfig({
  projects: [
    { prefix: '/',       src: 'docmd-main' },
    { prefix: '/search', src: 'docmd-search' }
  ]
});

Jedes Projekt behält seine eigene Verzeichnisstruktur und Konfiguration bei, was es Ihnen ermöglicht, komplexe Dokumentations-Ökosysteme (z. B. eine Core-Engine und ihre Satelliten-Tools) unter einer einzigen Domain ohne Versionskonflikte zu verwalten.

🖥️ Universal TUI Design System

Wir haben die docmd-Terminalschnittstelle komplett neu gestaltet, um ein professionelles, signalreiches Erlebnis zu bieten. Das neue System verzichtet auf “spielerische” Emojis und verwendet stattdessen raffinierte Box-Drawing-Zeichen (Rahmenzeichen) und eine kuratierte Farbpalette, um klares, handlungsorientiertes Feedback zu geben.

  • Verbessertes Branding: Die zentralisierte ASCII-Logo-Definition innerhalb des TUI-Systems sorgt für eine konsistente Markenpräsenz bei allen CLI-Interaktionen.
  • Signalreiche Ausgabe: Protokolle sind jetzt in einer sauberen, tabellarischen Ästhetik strukturiert, die die Lesbarkeit sowohl in der lokalen Entwicklung als auch in CI/CD-Umgebungen priorisiert.
  • Konsistenz: Egal, ob Sie eine Website erstellen, einen Dev-Server ausführen oder ein Migrations-Tool verwenden – das Terminal-Erlebnis bleibt perfekt vereinheitlicht.

📦 Eigenständiges @docmd/tui Paket

Um dieses neue Designsystem zu unterstützen, haben wir die Terminal-Ästhetik von der Kernlogik entkoppelt und in ein dediziertes @docmd/tui-Paket ausgelagert.

Dieser architektonische Schritt eliminiert zirkuläre Abhängigkeiten und ermöglicht es Plugin-Autoren, dieselben professionellen UI-Komponenten wie die Core-Engine zu verwenden. Durch die Zentralisierung unserer “Terminal User Interface”-Logik stellen wir sicher, dass jede Ausgabe – von Core-Build-Protokollen bis hin zu Plugin-Warnungen von Drittanbietern – derselben hochwertigen Designsprache folgt.

🚫 Emoji-freie Professionalität

Im Einklang mit unserem Engagement für ein erstklassiges Entwicklererlebnis stellt 0.7.7 auf einen emoji-freien Standard um. Wir haben veraltete emoji-basierte Statusmarkierungen durch eine anspruchsvolle Box-Drawing-Ästhetik ersetzt. Diese Änderung stellt sicher, dass sich docmd wie ein Werkzeug für den Produktiveinsatz anfühlt und eine sauberere Schnittstelle bietet, die sich nahtlos in professionelle IDEs und Terminal-Emulatoren integriert.

🔍 Intelligente Konfigurationsvalidierung

Konfigurationsfehler verursachen keine Node.js-Stack-Traces mehr. Wir haben das Echtzeit-Konfigurationsfeedback mit standardisierten TUI-Komponenten verbessert, um saubere, menschenlesbare Fehlermeldungen bereitzustellen.

Der Validator erkennt nun Multi-Projekt-Root-Konfigurationen und bietet spezifische Hilfestellung bei fehlenden Eigenschaften oder Tippfehlern. Wenn ein Konfigurationsfehler auftritt, präsentiert docmd nun einen klaren “Error Report” mit exakten Zeilenverweisen und Lösungsvorschlägen, damit Sie weniger Zeit mit dem Debugging und mehr Zeit mit dem Schreiben verbringen.

⚡ Multi-Projekt-Dev-Server

Der Befehl docmd dev wurde für die Multi-Projekt-Orchestrierung aktualisiert. Er erstellt alle Projekte und stellt sie über einen einzigen Port bereit, mit intelligentem File-Watching, das gezielte Rebuilds für das jeweils bearbeitete Projekt auslöst.

────────────────────────────────────────
  MULTI-PROJECT DEV SERVER

  Lokal:    http://127.0.0.1:3000
  Netzwerk: http://192.168.1.5:3000

  Projekt:  /       → docmd-main/
  Projekt:  /search  → docmd-search/
────────────────────────────────────────

🛠️ Interne Refaktorierung

Dieses Release enthält signifikante architektonische Härtungen, um die neuen TUI- und Multi-Projekt-Funktionen zu unterstützen:

  • Abhängigkeitsarchitektur: Optimierte Paketabhängigkeiten, um einen strikt gerichteten azyklischen Fluss zu gewährleisten und zirkuläre Importe zwischen Engine- und UI-Ebenen zu verhindern.
  • Logger-Refaktorierung: Veraltete Logger-Utilities wurden vollständig zugunsten des zentralisierten TUI-Systems eingestellt.
  • Projekt-Orchestrierung: Der Multi-Projekt-Handler befindet sich in einem eigenständigen Modul, das Verzeichniskontexte (chdir) sicher verwaltet und unabhängige Ausgaben in einer einheitlichen Site-Struktur zusammenführt, ohne die bestehende Build-Pipeline zu verändern.

📝 Vollständiges Changelog

🚀 Funktionen & Verbesserungen

  • Multi-Projekt-Engine: Unterstützung für projects[] in der Root-Konfiguration mit gemeinsamen Assets und unabhängiger Versionierung.
  • Universal TUI: Überarbeitete Terminalschnittstelle mit Box-Drawing-Zeichen und professionellem Styling.
  • Eigenständiges TUI-Paket: Neue @docmd/tui-Bibliothek für eine einheitliche CLI-Ästhetik im gesamten Monorepo.
  • Verbessertes Branding: Einführung eines zentralisierten ASCII-Logos für alle CLI-Einstiegspunkte.
  • Konfigurationsvalidierung: Verbessertes Echtzeit-Feedback mit menschenlesbaren Fehlerberichten ohne Stack-Traces.
  • Abhängigkeitsoptimierung: Strikt erzwungener azyklischer Abhängigkeitsfluss über alle internen Pakete hinweg.

🧹 Bereinigungen & Entfernungen

  • Emoji-freier Standard: Alle veralteten emoji-basierten Terminalausgaben wurden entfernt.
  • Redundant Protokolle: Ad-hoc-Aufrufe von chalk und console.log wurden zugunsten des TUI-Loggers eliminiert.
  • Veraltete Utilities: Entfernung veralteter interner Logger-Hilfsmittel.

Migration Guide

Für bestehende Projekte

Bestehende Einzelprojekt-Setups erfordern keine Änderungen. Die Engine unterstützt standardmäßig weiterhin den gewohnten Einzelprojekt-Workflow.

Einführung der Multi-Projekt-Unterstützung

So wechseln Sie zu einem Multi-Projekt-Setup:

  1. Verschieben Sie Ihre bestehende Dokumentationsquelle in ein Unterverzeichnis.
  2. Erstellen Sie eine Root-docmd.config.js und definieren Sie Ihre Projekte mit dem projects-Array.
  3. Entfernen Sie redundante src- und out-Pfade aus den untergeordneten Konfigurationen, da der Root-Orchestrator diese nun verwaltet.

Für Plugin-Autoren

Wir empfehlen, alle benutzerdefinierten console.log- oder chalk-Anweisungen auf das neue @docmd/tui-Paket zu migrieren, um sicherzustellen, dass die Ausgabe Ihres Plugins der Core-docmd-Ästhetik entspricht.