README mit Hooks-Dokumentation erweitert
This commit is contained in:
56
README.md
56
README.md
@@ -13,29 +13,73 @@ 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 | Zweck |
|
||||
|-------|-------|
|
||||
| `settings.json` | Globale Einstellungen (Model, Plugins, StatusLine) |
|
||||
| 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:
|
||||
|
||||
```json
|
||||
{
|
||||
"hooks": {
|
||||
"SessionStart": [...],
|
||||
"PreToolUse": [...],
|
||||
"PostToolUse": [...]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
**Wichtig:** Keine CRLF-Zeilenumbrüche verwenden (nur LF).
|
||||
|
||||
## Workflow
|
||||
|
||||
**Bei Session-Start:**
|
||||
```bash
|
||||
cd ~/dotfiles/claude_settings && git pull
|
||||
```
|
||||
- Hook prüft automatisch auf Updates
|
||||
- Bei Warnung: `cd ~/dotfiles/claude_settings && git pull`
|
||||
|
||||
**Nach Änderungen:**
|
||||
```bash
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user