2.4 KiB
2.4 KiB
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 fetchaus - 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
- Script in
hooks/erstellen - Ausführbar machen:
chmod +x hooks/mein-hook.sh - In
settings.jsonregistrieren:
{
"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 Overridescache/,debug/,history.jsonl- Session-Daten