- 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>
7.5 KiB
7.5 KiB
Workflow-Plan: Multi-Machine Development Tracking
Problem
- 4+ Maschinen mit verschiedenen Projekten
- Verliert Überblick "Wo war ich? Was war der Stand?"
- Gitea = Haupt-Tracking (gitea.egonetix.de:222)
Inspiriert von Boris Cherny (Claude Code Creator)
Quelle: YouTube Video | Medium Summary
Key Takeaways eingebaut:
- Learnings dokumentieren → WORKLOG.md enthält "Learnings" Sektion für Fehler/Erkenntnisse
- Plan Mode First →
/session-startaktiviert Plan Mode für strukturierte Arbeit - Verification Loops → Skills enthalten Verifikationsschritte
- Separate Checkouts → Doku für parallele Sessions auf gleicher Maschine
Lösung: "Session Context" Workflow mit Gitea
Kernprinzip
Jedes Projekt hat eine WORKLOG.md die:
- Bei Session-Start automatisch angezeigt wird
- Den aktuellen Stand + nächste Schritte + Entscheidungen dokumentiert
- Mit Gitea Issues verlinkt ist
- Bei Session-Ende aktualisiert und committet wird
Komponenten
1. WORKLOG.md pro Projekt
# Worklog: [Projektname]
## Current State
**Zuletzt:** 2025-01-26 auf `n2095` (Desktop)
**Branch:** feature/new-thing
**Issue:** [#42 - API Implementation](https://gitea.egonetix.de/user/repo/issues/42)
**Status:** In Progress - API fertig, Frontend fehlt
## Next Steps
- [ ] Frontend-Komponente für User-Liste
- [ ] Tests für API-Endpoints
- [ ] Dokumentation aktualisieren
## Key Decisions
- **2025-01-26:** REST statt GraphQL wegen einfacherer Integration
- **2025-01-25:** PostgreSQL statt SQLite für Multi-User
## Learnings (für Claude)
<!-- Fehler und Erkenntnisse damit Claude sich verbessert -->
- **2025-01-26:** API-Routen MÜSSEN mit /api/ prefix beginnen, sonst Konflikt mit Frontend-Routes
- **2025-01-25:** TypeScript strict mode aktivieren BEVOR Code geschrieben wird
## Session History
### 2025-01-26 | n2095 | Commits: `a3f2b1c`, `e7d4a9f`
- API-Endpoints implementiert
- Database-Schema angepasst
- Issue #42 kommentiert
### 2025-01-25 | laptop | Commits: `b2c3d4e`
- Projekt-Setup
- Erste Analyse
2. Tea CLI für Gitea
Installation und Konfiguration der offiziellen Gitea CLI:
# Installation
sudo curl -fsSL https://dl.gitea.io/tea/0.9.2/tea-0.9.2-linux-amd64 -o /usr/local/bin/tea
sudo chmod +x /usr/local/bin/tea
# Login (einmalig pro Maschine)
tea login add --url https://gitea.egonetix.de --token <TOKEN>
Ermöglicht:
tea issues- Issues auflistentea issues create- Issue erstellentea comment- Issue kommentierentea pr- Pull Requests
3. Session-Start Hook
~/dotfiles/claude_settings/hooks/session-start.sh (erweitert):
#!/bin/bash
# Zeigt WORKLOG.md wenn vorhanden
if [[ -f "WORKLOG.md" ]]; then
echo "=== PROJECT CONTEXT ==="
# Zeige Current State und Next Steps
sed -n '/## Current State/,/## Next Steps/p' WORKLOG.md
sed -n '/## Next Steps/,/## Key Decisions/p' WORKLOG.md | head -10
echo ""
# Letzte 3 Commits
echo "=== RECENT COMMITS ==="
git log --oneline -3 2>/dev/null
echo ""
# Gitea Issues (wenn tea konfiguriert)
if command -v tea &>/dev/null; then
echo "=== OPEN ISSUES ==="
tea issues --state open --limit 5 2>/dev/null || echo "(Gitea nicht erreichbar)"
fi
fi
4. Skill: /session-end
Strukturiertes Session-Ende:
- Sammelt aus Konversation was gemacht wurde
- Fragt nach nächsten Schritten
- Fragt nach wichtigen Entscheidungen
- Updated WORKLOG.md:
- Current State
- Next Steps
- Neuer Session History Eintrag
- Committet WORKLOG.md
- Optional: Kommentiert verknüpftes Gitea Issue
5. Skill: /session-start (manuell)
Für expliziten Session-Start:
- Zeigt WORKLOG.md Kontext
- Zeigt offene Gitea Issues
- Fragt "Woran willst du arbeiten?"
- Aktualisiert "Current State" in WORKLOG.md
6. Skill: /new-project
Für neue Projekte:
git initwenn nötig- Erstellt WORKLOG.md aus Template
- Erstellt copilot-instructions.md aus Template
- Optional: Erstellt Gitea Issue für das Projekt
- Initial Commit
Implementation Steps
Phase 1: Grundlagen
| # | Was | Dateien |
|---|---|---|
| 1 | Tea CLI installieren | System |
| 2 | Tea Login konfigurieren | ~/.config/tea/config.yml |
| 3 | WORKLOG.md Template erstellen | ~/dotfiles/claude_settings/templates/WORKLOG.md |
| 4 | Session-Start Hook erweitern | ~/dotfiles/claude_settings/hooks/session-start.sh |
Phase 2: Skills
| # | Was | Dateien |
|---|---|---|
| 5 | Skill /session-end erstellen |
~/dotfiles/claude_settings/skills/session-end.md |
| 6 | Skill /session-start erstellen |
~/dotfiles/claude_settings/skills/session-start.md |
| 7 | Skill /new-project erstellen |
~/dotfiles/claude_settings/skills/new-project.md |
Phase 3: Rollout
| # | Was |
|---|---|
| 8 | WORKLOG.md für 2-3 aktive Projekte anlegen |
| 9 | Workflow auf anderen Maschinen einrichten (Settings-Repo pullen) |
Beispiel-Workflow
=== MONTAG, DESKTOP ===
$ cd ~/projects/smart-home
$ claude
[Hook Output:]
=== PROJECT CONTEXT ===
**Zuletzt:** 2025-01-24 auf laptop
**Issue:** #12 - MQTT Integration
**Status:** MQTT-Subscription halb fertig
## Next Steps
- [ ] Sensor-Subscriptions implementieren
- [ ] Error-Handling
=== RECENT COMMITS ===
a3f2b1c MQTT: Basic connection working
b2c3d4e Initial MQTT setup
=== OPEN ISSUES ===
#12 MQTT Integration (in progress)
#15 Add temperature dashboard
Du: "weiter mit den subscriptions"
... arbeiten ...
Du: "/session-end"
Claude: Ich sehe du hast heute:
- Sensor-Subscriptions implementiert (commits e7d4a9f, f8g9h0i)
- Error-Handling hinzugefügt
Was sind die nächsten Schritte?
Du: "tests und dann das dashboard aus issue 15"
Claude: Wichtige Entscheidungen heute?
Du: "ja, wir nutzen QoS level 1 für reliability"
[WORKLOG.md wird aktualisiert]
[Commit: "worklog: session 2025-01-27"]
[Issue #12 kommentiert: "Progress: Subscriptions + Error handling done"]
Bonus: Parallele Sessions (Boris Cherny Style)
Wenn du mehrere Claude-Sessions auf EINER Maschine für das GLEICHE Projekt brauchst:
# Separate Checkouts statt Branches/Worktrees
cd ~/projects
git clone git@gitea.egonetix.de:user/repo.git repo-session1
git clone git@gitea.egonetix.de:user/repo.git repo-session2
# Jede Session in eigenem Checkout
# Terminal 1: cd ~/projects/repo-session1 && claude
# Terminal 2: cd ~/projects/repo-session2 && claude
Vorteile:
- Keine Merge-Konflikte während der Arbeit
- Volle Isolation
- Am Ende: Cherry-Pick oder PR mergen
Verification
Nach Implementation testen:
- Tea CLI:
tea issuesin einem Gitea-Repo ausführen - Hook: Neues Terminal in Projekt mit WORKLOG.md öffnen → Kontext wird angezeigt
- Skills:
/session-endausführen → WORKLOG.md wird korrekt aktualisiert - Cross-Machine: Settings auf anderer Maschine pullen, gleicher Workflow funktioniert
- Learnings Test: Füge einen Fehler zu Learnings hinzu, starte neue Session → Claude sollte ihn berücksichtigen
Dateien-Übersicht
~/dotfiles/claude_settings/
├── templates/
│ └── WORKLOG.md # NEU: Template
├── hooks/
│ └── session-start.sh # ERWEITERN: WORKLOG + Gitea anzeigen
└── skills/
├── session-end.md # NEU: Session beenden
├── session-start.md # NEU: Session starten (manuell)
└── new-project.md # NEU: Projekt anlegen