# Portabilität: UNIVERSAL
# Zuletzt validiert: 2026-03-04 (Root-Docs-Review)
# Nächste Prüfung: 2026-09-04

CLI-KONVENTIONEN (v2.0 Registry-Based)
=======================================

ARCHITEKTUR:
----------------------------------------
BACH nutzt Auto-Discovery via core/registry.py:
- Handler in hub/*.py werden automatisch gefunden
- Keine statische Handler-Map mehr (wie in v1.x)
- Routing-Reihenfolge: --handler → Inline Commands → skill export →
  restore backup → Registry → Tool-Fallback

STANDARD-PATTERN (wie git, npm, docker):
  bach SUBCOMMAND [args]     Aktion ausführen
  bach --HANDLER [args]      Handler mit -- Prefix

ZWEI ZUGRIFFSWEGE:
----------------------------------------
1. CLI (für Menschen):
   python bach.py task list

2. Library-API (für LLM/Scripts - BEVORZUGT):
   from bach_api import task
   task.list()

KERN-SUBCOMMANDS (Verwaltung):
----------------------------------------
  task      Task-Verwaltung (add, list, done, block, next)
  mem       Working Memory (write, read, status, archive)
  memory    Erweiterter Memory-Handler (facts, lessons, archive)
  msg       Nachrichtensystem (send, list, read, ping)
  lesson    Lessons Learned (add, list, search, archive)
  backup    Sicherung der Datenbanken
  restore   Wiederherstellung aus Backup
  dist      Distributionen & Release-Management
  partner   Partner-Netzwerk (Koordination Claude/Gemini/Ollama)
  session   Session-Management & Zusammenfassungen

AGENTEN & EXPERTEN (Fachgebiete):
----------------------------------------
  steuer        Steuer-Experte (Finanzamt, Fristen, Belege)
  ati           ATI-Agent (Konzept-Entwicklung)
  abo           Abo-Service (Kündigungen, Verträge)
  bericht       Bericht-Generator (Förderberichte ICF)
  gesundheit    Gesundheits-Assistent
  haushalt      Haushalts-Management
  versicherung  Versicherungs-Management

SERVICES & INFRASTRUKTUR:
----------------------------------------
  gui           Dashboard Steuerung (start, stop, status)
  scheduler     Hintergrund-Service für Wartung (ehemals: daemon)
  scan          Input-Scanner (Inbox, OCR)
  connector     Connector-Verwaltung (poll, dispatch, setup-daemon)
  mount         Einbinden externer Ressourcen
  chain         Toolchain-Engine (Automatisierung)
  routine       Routine-Management (Morgen/Abend/Projekt-Start)
  recurring     Wiederkehrende Aufgaben

SELBSTERWEITERUNG & HOOKS:
----------------------------------------
  skills create <name> --type <typ>   Neue Fähigkeit scaffolden
                                       Typen: tool, agent, expert, handler, service
  skills reload                        Hot-Reload (Registry + Tools + Skills)
  hooks status                         Status aller Hooks und Listener
  hooks events                         Alle Events auflisten
  hooks log                            Letzte Hook-Ausführungen
  hooks test <event>                   Test-Event emittieren
  plugins list                         Geladene Plugins anzeigen
  plugins load <pfad>                  Plugin aus plugin.json laden
  plugins unload <name>                Plugin entladen
  plugins create <name>                Plugin-Manifest scaffolden
  plugins tools                        Alle Plugin-Tools anzeigen

SYSTEM-WERKZEUGE:
----------------------------------------
  wiki          Wissensdatenbank (wiki/)
  tools         Management interner Skripte
  tuev          Validierungs- & Test-System
  usecase       Test-Cases (Teil von tuev)
  clock         Zeit-System (now, format, parse)
  timer         Timer starten/stoppen
  countdown     Countdown erstellen
  beat          Unified Zeit-Anzeige (Clock, Timer, Countdown, Between)
  between       Zeit zwischen zwei Zeitpunkten
  maintain      Wartungs-Funktionen (db optimize, logs clean)
  test          Test-Runner (smoke, integration, full)

HANDLER MIT -- (erweiterte Funktionen):
----------------------------------------
  --startup         Session starten (Initialisierung, --watch für Polling)
  --shutdown        Session beenden (Cleanup)
  --status          Gesamt-Status des Systems
  --help [topic]    Hilfe zu Themen/Modulen anzeigen
  --memory          Detaillierter Memory-Handler (facts, lessons)
  --db              Datenbank-Analyse (bach.db Schema/Stats)
  --tokens          Token-Kosten Kontrolle
  --inject          Injektor-System für Tools
  --context         Kontext-Loader für Sessions
  --logs            System-Log Analyse (data/logs/)
  --docs            Doku-Integrity-Check
  --snapshot        Systemzustand einfrieren
  --trash           Papierkorb & Wiederherstellung
  --fs              Filesystem-Protection (check, heal, status)
  --connections     Connections & Actors-Model

INLINE COMMANDS (tools-basiert, kein Handler):
----------------------------------------
  fs            Filesystem-Protection (check, heal, classify, scan)
  file          File-Manager (read, write, copy, move, delete)
  ocr           OCR-Engine (Beleg-ID oder PDF-Pfad)
  llm           Multi-LLM Protocol (--partner=<name>)
  map           Call-Graph / Dependency-Mapper

SPEZIALFAELLE:
----------------------------------------
  skill export  Skill-Export mit Dependency Resolution
  restore backup <file>  Backup wiederherstellen

BEIDE VARIANTEN AKZEPTIERT:
----------------------------------------
Aus historischen Gründen funktionieren diese oft hybrid:
  bach partner list     = bach --partner list
  bach gui start        = bach --gui start

DID-YOU-MEAN (Fuzzy-Matching):
----------------------------------------
Bei Tippfehlern schlaegt BACH ähnliche Befehle vor (Levenshtein ≤2):
  $ bach parner list → "Meintest du: partner?"
  $ bach taks add    → "Meintest du: task?"

TOOL-FALLBACK:
----------------------------------------
Wenn kein Handler gefunden wird, versucht BACH ein Tool aus tools/:
  bach skill_export  → tools/skill_export.py
  bach backup_manager → tools/backup_manager.py

REGISTRIERTE HANDLER (Stand 2026-03-04):
----------------------------------------
109+ Handler via Auto-Discovery (hub/*.py):
abo, agents, ati, backup, beat, bericht, between, calendar, chain, clock,
connections, connector, consolidation, contact, context, countdown, cv,
daemon (=scheduler), data, db, dist, doc, docs, email, extensions, fs, gesundheit, gui,
haushalt, healthcheck, help, hooks, inject, lang, lesson, logs, maintain,
mem, memory, mount, msg, notify, obsidian, ollama, partner, path, profile,
profiler, recurring, reflection, routine, scan, session, shutdown, skill,
skills, smarthome, snapshot, sources, startup, status, steuer, sync, task,
test, timer, tokens, tool, tools, trash, tuev, update, usecase,
versicherung, wiki

SIEHE AUCH:
----------------------------------------
  help practices      Regelwerk-Index
  help naming         Namenskonventionen
  help coding         Coding-Standards
  help actors         Actors-Model (Connections)
  help partners       Partner-Profile
  help hooks          Hook-Framework (14 Events)
  help self-extension Selbsterweiterungs-System
