Files
claude_settings/plans/quirky-snacking-bunny.md
root a536d35743 Infrastruktur-Dokumentation: Neue Kunden-Organisation
- 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>
2026-01-27 13:00:30 +01:00

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:

  1. Learnings dokumentieren → WORKLOG.md enthält "Learnings" Sektion für Fehler/Erkenntnisse
  2. Plan Mode First/session-start aktiviert Plan Mode für strukturierte Arbeit
  3. Verification Loops → Skills enthalten Verifikationsschritte
  4. 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 auflisten
  • tea issues create - Issue erstellen
  • tea comment - Issue kommentieren
  • tea 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:

  1. Sammelt aus Konversation was gemacht wurde
  2. Fragt nach nächsten Schritten
  3. Fragt nach wichtigen Entscheidungen
  4. Updated WORKLOG.md:
    • Current State
    • Next Steps
    • Neuer Session History Eintrag
  5. Committet WORKLOG.md
  6. Optional: Kommentiert verknüpftes Gitea Issue

5. Skill: /session-start (manuell)

Für expliziten Session-Start:

  1. Zeigt WORKLOG.md Kontext
  2. Zeigt offene Gitea Issues
  3. Fragt "Woran willst du arbeiten?"
  4. Aktualisiert "Current State" in WORKLOG.md

6. Skill: /new-project

Für neue Projekte:

  1. git init wenn nötig
  2. Erstellt WORKLOG.md aus Template
  3. Erstellt copilot-instructions.md aus Template
  4. Optional: Erstellt Gitea Issue für das Projekt
  5. 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:

  1. Tea CLI: tea issues in einem Gitea-Repo ausführen
  2. Hook: Neues Terminal in Projekt mit WORKLOG.md öffnen → Kontext wird angezeigt
  3. Skills: /session-end ausführen → WORKLOG.md wird korrekt aktualisiert
  4. Cross-Machine: Settings auf anderer Maschine pullen, gleicher Workflow funktioniert
  5. 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