Infrastruktur-Dokumentation: Neue Kunden-Organisation

- CLAUDE.md: Host-Troubleshooting → Infrastruktur-Dokumentationssystem
- session-start.sh: Erkennt ~/Nextcloud/[kunde]/[repo]/ Struktur
- Legacy-Support für ~/Nextcloud/hosts/ mit Migrations-Hinweis

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
root
2026-01-27 13:00:30 +01:00
parent 92b276a422
commit a536d35743
4 changed files with 772 additions and 81 deletions

View File

@@ -21,57 +21,76 @@ if [ -d "$REPO_DIR/.git" ]; then
fi
fi
# === TEIL 2: Host-Verzeichnis Erkennung ===
# === TEIL 2: Kunden-/Repo-Verzeichnis Erkennung ===
cd "$ORIGINAL_DIR" 2>/dev/null || exit 0
# Bekannte Kunden-Verzeichnisse
KUNDEN_BASE="$HOME/Nextcloud"
KNOWN_KUNDEN="vinos egonetix"
# Prüfe ob wir in einem Kunden-Verzeichnis sind (~/Nextcloud/[kunde]/[repo]/)
for KUNDE in $KNOWN_KUNDEN; do
KUNDE_PATH="$KUNDEN_BASE/$KUNDE"
if [[ "$ORIGINAL_DIR" == "$KUNDE_PATH"/* ]]; then
# Extrahiere Repo-Name
REL_PATH="${ORIGINAL_DIR#$KUNDE_PATH/}"
REPO_NAME=$(echo "$REL_PATH" | cut -d'/' -f1)
if [[ -n "$REPO_NAME" ]]; then
echo "=== KUNDEN-REPO ERKANNT ==="
echo "Kunde: $KUNDE"
echo "Repo: $REPO_NAME"
echo ""
# Prüfe ob README.md vorhanden
if [[ -f "README.md" ]]; then
echo "README.md vorhanden - lies sie für Kontext."
elif [[ -f "copilot-instructions.md" ]]; then
echo "copilot-instructions.md vorhanden - lies sie für Kontext."
else
# Prüfe auf Setup-Anforderungen
NEEDS_SETUP=false
NEEDS_GIT=false
if [[ ! -d ".git" ]]; then
NEEDS_GIT=true
NEEDS_SETUP=true
fi
if [[ "$NEEDS_SETUP" == "true" ]]; then
echo "<REPO_SETUP_REQUIRED>"
if [[ "$NEEDS_GIT" == "true" ]]; then
echo "- Kein Git-Repository vorhanden → git init erforderlich"
fi
echo "- Keine README.md vorhanden"
echo " Template: $KUNDEN_BASE/$KUNDE/infrastructure/_templates/"
echo ""
echo "Frage den User ob das Setup automatisch durchgeführt werden soll."
echo "</REPO_SETUP_REQUIRED>"
fi
fi
echo ""
fi
break
fi
done
# Legacy: Prüfe auch ~/Nextcloud/hosts/ für Übergangszeit
HOSTS_BASE="$HOME/Nextcloud/hosts"
TEMPLATE_PATH="$HOSTS_BASE/_templates/copilot-instructions-template.md"
# Prüfe ob wir in einem Host-Verzeichnis sind (~/Nextcloud/hosts/[kunde]/[hostname]/)
if [[ "$ORIGINAL_DIR" == "$HOSTS_BASE"/* ]]; then
# Extrahiere relativen Pfad
REL_PATH="${ORIGINAL_DIR#$HOSTS_BASE/}"
# Prüfe ob es ein Host-Verzeichnis ist (mindestens 2 Ebenen tief, nicht _templates)
if [[ "$REL_PATH" == *"/"* ]] && [[ "$REL_PATH" != "_templates"* ]]; then
KUNDE=$(echo "$REL_PATH" | cut -d'/' -f1)
HOSTNAME=$(echo "$REL_PATH" | cut -d'/' -f2)
if [[ -n "$KUNDE" ]] && [[ -n "$HOSTNAME" ]]; then
echo "=== HOST-VERZEICHNIS ERKANNT ==="
echo "=== LEGACY HOST-VERZEICHNIS ERKANNT ==="
echo "Kunde: $KUNDE"
echo "Host: $HOSTNAME"
echo ""
# Sammle Setup-Anforderungen
NEEDS_SETUP=false
NEEDS_GIT=false
NEEDS_TEMPLATE=false
if [[ ! -d ".git" ]]; then
NEEDS_GIT=true
NEEDS_SETUP=true
fi
if [[ ! -f "copilot-instructions.md" ]]; then
NEEDS_TEMPLATE=true
NEEDS_SETUP=true
fi
if [[ "$NEEDS_SETUP" == "true" ]]; then
echo "<HOST_SETUP_REQUIRED>"
if [[ "$NEEDS_GIT" == "true" ]]; then
echo "- Kein Git-Repository vorhanden → git init erforderlich"
fi
if [[ "$NEEDS_TEMPLATE" == "true" ]]; then
echo "- Keine copilot-instructions.md → Template kopieren"
echo " Template: $TEMPLATE_PATH"
fi
echo ""
echo "Frage den User ob das Setup automatisch durchgeführt werden soll."
echo "</HOST_SETUP_REQUIRED>"
echo ""
else
echo "HINWEIS: Die Host-Struktur wurde migriert zu ~/Nextcloud/[kunde]/[repo]/"
echo "Dieses Verzeichnis sollte nach ~/Nextcloud/$KUNDE/ migriert werden."
echo ""
if [[ -f "copilot-instructions.md" ]]; then
echo "copilot-instructions.md vorhanden - lies sie für Kontext."
echo ""
fi