XED /CCI cBOX@ /Container Inventur · Read-Only-Tool für Box-Klassen-Inventur

firstboot.sh v0.0.10 cci v0.0.10 MIT GitHub PyPI

100% Read-Only: cci verändert NIEMALS den Box-Zustand. Strukturelle Garantie via subprocess-Whitelist (ReadOnlyViolationError bei nicht-whitelisted Aufruf).

Schnellstart

In jeder frischen Debian/Ubuntu-LXC-Box als root:

# Pre-Step (minimal-LXC-Templates haben kein curl vorinstalliert):
apt update && apt install -y curl ca-certificates

# firstboot.sh ausführen (installiert pipx + xed-cci):
bash <(curl -s https://cci.xed.dev/firstboot.sh)

# Box-Klassen-Inventur ausführen (aktuell: typo3):
cci typo3                      # Rich-Tabellen für Mensch
cci typo3 --format json        # JSON für AI-Agent

Manuell (wenn pipx schon vorhanden):

pipx install xed-cci

Box-Klassen (v0.0.10+)

VerbBox-Klasse
cci typo3WordOps-LEMP-Ubuntu-LTS + TYPO3-Composer + ADD-ONs (z.B. Apache Solr)

Perspektivisch weitere Box-Klassen (cci wordpress, ...) als eigene Top-Level-Verben.

Was cci typo3 liefert

SektionQuelleInhalt
os/etc/os-release + os.uname()id, version_id, pretty_name, kernel
cc-suitepipx list --jsonxed-ccc / xed-cca / xed-cci-Versionen
stacksys.version_info + shutil.whichpython3 (immer) + php / node (Optional)
databasesdpkg-query + systemctl is-activemysql / mariadb / postgresql + Service-Status
sitesPath.iterdir + is_file unter /var/www/TYPO3-Sites pro Domain mit Versionen + Modus (Composer/Classic)

Verben

cci typo3                          # Komplette Inventur (Rich-Tabelle)
cci typo3 --format json            # JSON für AI-Agent-Konsumtion
cci typo3 --format oneliner        # 1-Zeile pipe-separated (Chat-Sharing)
cci typo3 --format text -o inv.txt # Plain multi-line in Datei
cci typo3 --section os             # Nur OS-Sektion
cci typo3 --section cc-suite       # Nur CC-Suite-Versionen
cci typo3 --section stack          # Nur Programmier-Stacks
cci typo3 --section databases      # Nur Datenbank-Engines
cci typo3 --section sites          # Nur TYPO3-Sites
cci --help                         # Box-Klassen-Übersicht
cci --version                      # Tool-Version

Use-Case: AI-Agent-Konsultation

cci typo3 --format json > /tmp/box.json

# Dann an AI-Agent (Claude Code, ChatGPT, etc.):
# "Hier ist meine Box-Inventur. Passt diese Konfiguration für Typo3 v13?
#  Welche Anpassungen sind nötig?"

Der AI-Agent sieht in einem strukturierten JSON-Block alle relevanten Box-Daten und kann fundierte Migrations-/Update-Empfehlungen geben — ohne dass DevOps die Daten manuell zusammensuchen muss.

v0.0.10 BREAKING-Migration

Drei-Phasen-Plan

PhaseInhaltStatus
1Python-CLI Read-Only mit Box-Klassen-Subkommandos (cci typo3, künftig cci wordpress)v0.0.10 live
2DeltaChat-Bot-Daemon (dezentrale Box-Steuerung ohne Ports/TLS)Vision (geplant)
3cBOX@ /Monitor (Master-Programm für 1000+ Boxen)Vision (geplant)

Volle Architektur-Entscheidungsfindung + Vision/Mission siehe README und das Whitepaper im fb-data-Workspace-Repo.

Designprinzipien