ET-CLI-SERVICE-ARCHITECTURE-001
CLI Service Architecture#
Architekturprinzip#
Ein CLI-Service ist eine stabile, skriptfähige Oberfläche vor einem Engineering-Werkzeug. Die gemeinsame Architektur vereinheitlicht Verträge; sie verlangt keine gemeinsame Binärdatei.
Aufrufer
→ CLI-Parser
→ Eingabevalidierung
→ fachlicher Tool-Service
→ Ergebnis / Evidence
→ Exit-Code
Serviceklassen#
- Check GlossarbegriffEin Service ist eine abgegrenzte bereitgestellte technische oder fachliche Leistung mit klarer Verantwortung.Glossareintrag vollständig lesen: liest und bewertet, verändert keine fachlichen Artefakte.
- Report Service: liest, bewertet und schreibt ausschließlich benannte Reports oder GlossarbegriffTechnical documentation artifact.Glossareintrag vollständig lesen.
- GlossarbegriffEine Materialisierung ist die technisch erzeugte und persistierte Darstellung einer Projektion. Beispiele sind JSON, HTML, Markdown, PDF, Suchindex, Diagrammdatei, Runtime-Ressource oder Report. Materialisierungen sind abgeleitet und dürfen fachlich nicht zum Single Point of Truth werden.Glossareintrag vollständig lesen Service: verändert Zielzustände nur über einen ausdrücklichen Schreibmodus.
- Deployment Service: verändert Runtime-Zustände und erzeugt verpflichtende MeaningEvidenceTechnical documentation artifact.Vollständig lesen.
Grenzen#
CLI-Services besitzen Argumente, Ausgabeformate und Exit-Codes. Die fachlichen Regeln bleiben Eigentum des jeweiligen Werkzeugbereichs. Ein CLI-Service darf keine Enterprise-, Solution-, Workspace- oder Runtime-Architektur stillschweigend definieren.
Gemeinsame Eigenschaften#
- side-effect-freies
--help, - deterministische Interpretation identischer Eingaben,
- keine hart codierten Secrets oder produktiven Endpunkte,
- explizite Zielpfade für schreibende Aktionen,
- maschinenlesbarer Erfolg über Exit-Code,
- nachvollziehbare Evidence bei Materialisierung oder Deployment.
Zentrale CLI#
Eine gemeinsame ns-CLI bleibt eine mögliche spätere Fassade. Bis zu einer eigenen Implementierung sind die vorhandenen Skripte die kanonischen ausführbaren Oberflächen; ihre Namen und Optionen dürfen nicht als bereits migrierte Unterbefehle dargestellt werden.