# Portabilität: UNIVERSAL
# Version: 1.1.0
# Zuletzt validiert: 2026-05-10

HANDLER-NAME
===

setup


BESCHREIBUNG
===

Konfiguriert das BACH-System vollständig: installiert MCP-Server (npm), validiert
Abhängigkeiten, synchronisiert Secrets und User-Profile, und führt Praeflight-Checks
durch. Teil der PEANUT-Release (B37) mit optionalen n8n-Manager-MCP.


OPERATIONEN
===

mcp             Installiert MCP-Server (codecommander, filecommander) global via npm
                und aktualisiert Claude Code Konfiguration (~/.claude.json).

n8n             Installiert optionales n8n-manager-mcp Paket und registriert in
                Claude Code MCP-Config.

check           Validiert ob alle Abhängigkeiten vorhanden und konfiguriert sind:
                npm, MCP-Pakete, Secrets-Datei, bach.db, USER.md.

secrets         Initialisiert oder synchronisiert ~/.bach/bach_secrets.json mit
                der Secrets-Datenbank.

user            Verwaltet USER.md: personalisiert aus DB falls noch Template,
                oder synct geparste Daten zurück in DB.

preflight       Führt Pre-Install-Checks durch: Python >= 3.10, npm vorhanden,
                data/ beschreibbar, > 100 MB Speicherplatz frei.

prosync         Konfiguriert ProSync für Multi-System-Nutzung.
                --multi-system    Aktiviert DB-Sync (BACH auf mehreren Rechnern)
                --single-system   Deaktiviert DB-Sync (nur dieses System)
                Ohne Flag: Zeigt aktuellen Status an. Default: single-system.

hooks           Installiert Claude Code Hooks (DB-Schutz etc.) in die
                Claude Code Settings (~/.claude/settings.json).

hooks-remove    Entfernt BACH-installierte Claude Code Hooks (reversibel).
                Entfernt nur von BACH registrierte Hook-Einträge.

lang <de|en>    Schaltet Root-Dokumente (README, QUICKSTART, etc.) zwischen
                Deutsch und Englisch um.

full-install    Vollständige Installation in einem Durchlauf (preflight, prosync,
                mcp, hooks, secrets, user). Optional: --with-n8n oder --config <json>.


BEISPIELE
===

bach setup mcp
  Installiert codecommander-mcp und filecommander-mcp, aktualisiert ~/.claude.json

bach setup check
  Prüft alle Abhängigkeiten mit Status-Ausgabe

bach setup n8n
  Installiert n8n-manager-mcp (optional)

bach setup preflight
  Validiert Python, npm, Speicherplatz vor Installation

bach setup prosync
  Zeigt aktuellen ProSync-Status (Multi- oder Single-System)

bach setup prosync --multi-system
  Aktiviert ProSync: lokale DB (~/.bach/bach.db) + OneDrive-Transit-Sync

bach setup prosync --single-system
  Deaktiviert ProSync (Default für neue Installationen)

bach setup full-install --with-n8n
  Vollständige Installation inkl. n8n-Manager

bach setup user
  Personalisiert USER.md aus DB oder synct USER.md Änderungen in DB


DATEIEN
===

hub/setup.py                        Dieser Handler
data/bach.db                        BACH-Datenbank (assistant_user_profile, Secrets)
data/bach_secrets.json              Secrets-Vault (~/.bach/bach_secrets.json)
../USER.md                          Benutzer-Profil (Template oder personalisiert)
~/.claude.json                      Claude Code MCP-Server-Config


SIEHE AUCH
===

hub/base.py                         BaseHandler (Oberklasse)
hub/secrets_handler.py              SecretsHandler (Secrets-Verwaltung)
docs/help/check.txt                 Validierung nach Installation
docs/help/install.txt               Erstinstallation und Szenarien
docs/help/db_sync.txt               ProSync: Multi-System DB-Synchronisierung
