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/settings.json ~/.claude/settings.json
|
||||||
ln -sf ~/dotfiles/claude_settings/CLAUDE.md ~/.claude/CLAUDE.md
|
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/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/agents/* ~/.claude/agents/
|
||||||
ln -sf ~/dotfiles/claude_settings/rules/* ~/.claude/rules/ 2>/dev/null || true
|
ln -sf ~/dotfiles/claude_settings/rules/* ~/.claude/rules/ 2>/dev/null || true
|
||||||
```
|
```
|
||||||
|
|
||||||
## Inhalt
|
## Inhalt
|
||||||
|
|
||||||
| Datei | Zweck |
|
| Datei/Ordner | Zweck |
|
||||||
|-------|-------|
|
|--------------|-------|
|
||||||
| `settings.json` | Globale Einstellungen (Model, Plugins, StatusLine) |
|
| `settings.json` | Globale Einstellungen (Model, Plugins, StatusLine, Hooks) |
|
||||||
| `CLAUDE.md` | Globale Instruktionen für Claude |
|
| `CLAUDE.md` | Globale Instruktionen für Claude |
|
||||||
| `statusline-command.sh` | Custom StatusLine Script |
|
| `statusline-command.sh` | Custom StatusLine Script |
|
||||||
|
| `hooks/` | Session-Hooks (automatische Skripte) |
|
||||||
| `agents/` | Benutzerdefinierte Agenten |
|
| `agents/` | Benutzerdefinierte Agenten |
|
||||||
| `rules/` | Modulare Regeln |
|
| `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
|
## Workflow
|
||||||
|
|
||||||
**Bei Session-Start:**
|
**Bei Session-Start:**
|
||||||
```bash
|
- Hook prüft automatisch auf Updates
|
||||||
cd ~/dotfiles/claude_settings && git pull
|
- Bei Warnung: `cd ~/dotfiles/claude_settings && git pull`
|
||||||
```
|
|
||||||
|
|
||||||
**Nach Änderungen:**
|
**Nach Änderungen:**
|
||||||
```bash
|
```bash
|
||||||
cd ~/dotfiles/claude_settings
|
cd ~/dotfiles/claude_settings
|
||||||
git add -A && git commit -m "Beschreibung" && git push
|
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