Files

174 lines
6.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Claude Code Workflow — Universal Bundle
Ein minimaler Satz von vier Skills plus Templates für einen nachvollziehbaren
Planungs-, Bau- und Übergabe-Workflow in Claude Code. Ziel: Projektstatus lebt
auf der Platte (in `docs/`), nicht im Sitzungskontext — und die Skills sorgen
dafür, dass diese Dateien konsistent wachsen statt chaotisch.
Dieses Bundle ist **rechnerübergreifend portabel**: du klonst / kopierst diesen
Ordner auf jede neue Maschine und installierst den globalen Teil mit einem
einzigen Kopier- bzw. Symlink-Schritt.
---
## Speicherorte auf einen Blick
Die Skills teilen sich in zwei Ebenen. Wichtig: in diesem Bundle liegt aktuell
**nur der globale Teil**. Projektspezifische Skills entstehen pro Projekt direkt
im jeweiligen Repo (siehe unten) und gehören nicht hierher, weil sie projekt-
spezifischen Kontext tragen.
| Was | Quelle in diesem Bundle | Ziel auf deinem Rechner | Scope |
|---|---|---|---|
| Globale Skills (plan-start, status, handoff, adr) | `global-skills/` | `~/.claude/skills/` | maschinenweit, alle Projekte |
| Projekt-Wegweiser | wird von `plan-start` erzeugt | `<projekt>/CLAUDE.md` | nur dieses Projekt |
| Projekt-Doku | wird von `plan-start` erzeugt | `<projekt>/docs/` | nur dieses Projekt |
| Projektspezifische Skills (optional) | — (im Projekt anlegen) | `<projekt>/.claude/skills/` | nur dieses Projekt |
Die Trennung ist bewusst: alles unter `~/.claude/skills/` ist **Verb** (Prozess,
überall gleich), alles unter `<projekt>/` ist **Kontext** (Inhalt, projekt-
spezifisch). Skills im Projekt-Repo werden mitcommittet und sind Teil der
Dokumentation.
---
## Installation (pro Rechner, einmalig)
### Option A — symlinken (empfohlen)
Wenn du dieses Bundle per Git versionierst und auf mehreren Rechnern spiegelst,
sind Symlinks der saubere Weg. Änderungen werden zentral gepflegt, jeder
Rechner zieht nach `git pull` automatisch mit.
```bash
# einmalig anlegen
mkdir -p ~/.claude/skills
# für jeden Skill einen Symlink — Pfad auf dein geklontes Bundle anpassen
ln -s "$PWD/global-skills/plan-start" ~/.claude/skills/plan-start
ln -s "$PWD/global-skills/status" ~/.claude/skills/status
ln -s "$PWD/global-skills/handoff" ~/.claude/skills/handoff
ln -s "$PWD/global-skills/adr" ~/.claude/skills/adr
```
### Option B — kopieren
Wenn du lieber unabhängige Kopien willst (z. B. weil du pro Rechner abweichend
tunen möchtest):
```bash
mkdir -p ~/.claude/skills
cp -r global-skills/plan-start ~/.claude/skills/
cp -r global-skills/status ~/.claude/skills/
cp -r global-skills/handoff ~/.claude/skills/
cp -r global-skills/adr ~/.claude/skills/
```
### Prüfen
Nach Install sollte in Claude Code die Skill-Liste die vier Namen enthalten.
Grobe Kontrolle auf der Shell:
```bash
ls ~/.claude/skills/
# plan-start status handoff adr
```
---
## Die vier Skills im Überblick
| Skill | Phase | Was er tut |
|---|---|---|
| `plan-start` | Projektstart | Legt `CLAUDE.md`, `docs/`-Struktur und erste Dateien nach Template an. Einmal pro Projekt. |
| `status` | Wiedereinstieg | Liest `docs/90-status.md` + letztes Session-Log, fasst in 510 Zeilen zusammen. Dein „Wo stehen wir?"-Befehl. |
| `handoff` | Sessionende | Fragt drei kurze Reflexionsfragen, schreibt Session-Log nach `docs/sessions/`, aktualisiert `docs/90-status.md`. |
| `adr` | nach Architektur-Entscheidung | Legt nummerierten ADR nach `docs/30-decisions/` an. Kontext, Entscheidung, Konsequenzen, Alternativen. |
Nicht dabei (bewusst): `/debug-log` und `/concept-lock`. Die baust du nach zwei,
drei Wochen Praxis — dann weißt du, wie sie konkret aussehen müssen. Alles
andere wäre hypothetisch.
---
## Was `plan-start` im Projekt erzeugt
```
<projekt>/
├── CLAUDE.md # Wegweiser, verweist auf docs/90-status.md
├── .claude/
│ └── skills/ # leer — hier landen später projektspezifische Skills
└── docs/
├── 00-overview.md # Zweck, Ziele, Nicht-Ziele
├── 10-plan.md # Phasen, Milestones, aktueller Fokus
├── 20-architecture.md # Stack, Entscheidungen in Kurzform
├── 30-decisions/ # ADRs, einer pro Datei, nummeriert
├── 40-workflows/ # Deploy-, Backup-, Debug-Prozeduren
├── 90-status.md # Single Source of Truth: aktueller Stand
└── sessions/ # Session-Logs chronologisch, YYYY-MM-DD-<slug>.md
```
Die Nummerierung ist kein Selbstzweck — sie sortiert alphabetisch in der
Lese-Reihenfolge, in der eine frische Claude-Code-Instanz die Dateien beim
Scannen wahrnimmt, und gibt dir visuelle Hierarchie im Editor.
`90-status.md` steht bewusst ganz unten: die eine Datei, die du immer
aktualisierst und die jede neue Session zuerst liest.
---
## Projektspezifische Skills (optional, pro Repo)
Wenn du in einem konkreten Projekt merkst, dass du immer wieder denselben
projektspezifischen Handgriff ausführst (z. B. „Deploy-Pipeline prüfen",
„Testdaten regenerieren"), lege ihn als Skill in diesem Repo an:
```
<projekt>/.claude/skills/<skill-name>/SKILL.md
```
Commit mit. Damit ist der Skill Teil der Projekt-Doku — und andere Rechner /
Mitwirkende haben ihn automatisch.
---
## Konventionen, die das Ganze tragen
- **Sprache**: Prosa auf Deutsch, Code / Pfade / Kommandos / Skill-Namen auf
Englisch. Das gilt in allen Templates und Skills konsistent.
- **Single Source of Truth**: `docs/90-status.md`. Kein anderer Ort beschreibt
„wo wir gerade stehen".
- **ADRs sind append-only**: einmal geschrieben, nur noch durch neue ADRs
ersetzt (`Supersedes: 0003`). Nie rückwirkend umschreiben — das killt die
Nachvollziehbarkeit.
- **Session-Logs sind verpflichtend**: `handoff` am Ende jeder relevanten
Session. Wer das überspringt, hat nach drei Sessions wieder das alte Problem
— nur mit mehr Dateien drumherum.
- **CLAUDE.md bleibt schlank** (~5080 Zeilen): Navigation, nicht Enzyklopädie.
Sie verweist auf `docs/`, sie enthält keine Inhalte, die dort hingehören.
---
## Erste Schritte in einem neuen Projekt
```bash
cd ~/projekte/mein-neues-ding
# in Claude Code:
# skill: plan-start "Kurzbeschreibung der Idee"
```
`plan-start` fragt ein paar Basics ab (Name, Zweck, Stack-Hinweise),
generiert die Ordnerstruktur und schreibt eine erste `CLAUDE.md` sowie
`docs/00-overview.md`, `docs/10-plan.md` und `docs/90-status.md`.
Am Ende der Session: `skill: handoff`.
Beim nächsten Einstieg: `skill: status`.
Das ist der komplette Kreislauf.
---
## Lizenz / Umgang
Internes Tooling, keine formelle Lizenz. Passe die Templates an deinen Stil
an — sie sind als Ausgangspunkt gedacht, nicht als Dogma.