2026-01-26 10:31:09 +01:00
2026-01-26 09:46:26 +01:00
2026-01-26 10:29:56 +01:00
2026-01-26 09:46:26 +01:00
2026-01-26 09:46:26 +01:00
2026-01-26 10:27:29 +01:00

Claude Code Settings

Zentrale Konfiguration für Claude Code, synchronisiert über alle Geräte.

Setup auf neuem Gerät

# 1. Repository klonen
git clone ssh://git@gitea.egonetix.de:222/root/claude_settings.git ~/dotfiles/claude_settings

# 2. Symlinks erstellen
mkdir -p ~/.claude/agents ~/.claude/rules
ln -sf ~/dotfiles/claude_settings/settings.json ~/.claude/settings.json
ln -sf ~/dotfiles/claude_settings/CLAUDE.md ~/.claude/CLAUDE.md
ln -sf ~/dotfiles/claude_settings/statusline-command.sh ~/.claude/statusline-command.sh
ln -sf ~/dotfiles/claude_settings/hooks ~/.claude/hooks
ln -sf ~/dotfiles/claude_settings/agents/* ~/.claude/agents/
ln -sf ~/dotfiles/claude_settings/rules/* ~/.claude/rules/ 2>/dev/null || true

Inhalt

Datei/Ordner Zweck
settings.json Globale Einstellungen (Model, Plugins, StatusLine, Hooks)
CLAUDE.md Globale Instruktionen für Claude
statusline-command.sh Custom StatusLine Script
hooks/ Session-Hooks (automatische Skripte)
agents/ Benutzerdefinierte Agenten
rules/ Modulare Regeln

Hooks

SessionStart Hook

Der session-start.sh Hook wird bei jedem Start einer Claude Code Session ausgeführt und prüft automatisch auf Updates im Repository.

Was er tut:

  • Führt git fetch aus
  • Vergleicht lokalen Stand mit Remote
  • Zeigt Warnung wenn neue Commits verfügbar sind

Beispiel-Ausgabe bei Updates:

⚠ Claude Settings: 3 neue Commits verfügbar!
  → cd ~/dotfiles/claude_settings && git pull

Eigene Hooks hinzufügen

  1. Script in hooks/ erstellen
  2. Ausführbar machen: chmod +x hooks/mein-hook.sh
  3. In settings.json registrieren:
{
  "hooks": {
    "SessionStart": [...],
    "PreToolUse": [...],
    "PostToolUse": [...]
  }
}

Wichtig: Keine CRLF-Zeilenumbrüche verwenden (nur LF).

Workflow

Bei Session-Start:

  • Hook prüft automatisch auf Updates
  • Bei Warnung: cd ~/dotfiles/claude_settings && git pull

Nach Änderungen:

cd ~/dotfiles/claude_settings
git add -A && git commit -m "Beschreibung" && git push

Dateien die NICHT synchronisiert werden

Diese Dateien sind in .gitignore und bleiben lokal:

  • .credentials.json - OAuth-Token
  • *.local.json - Lokale Overrides
  • cache/, debug/, history.jsonl - Session-Daten
Description
No description provided
Readme 512 KiB
Languages
Shell 100%