Initial release: Plenty Dojo Wissensbasis

Geteilte Plentymarkets API Learnings (DOJO.md, ANTI-PATTERNS.md),
Claude Code Skill (/plenty-dojo), und Install-Script für neue User.
This commit is contained in:
Sebastian Poll
2026-04-09 21:23:56 +00:00
commit 200d52f917
6 changed files with 1163 additions and 0 deletions

70
commands/plenty-dojo.md Normal file
View File

@@ -0,0 +1,70 @@
Plenty Dojo — Lerne aus dem aktuellen Kontext und pflege die Plentymarkets-Wissensbasis.
Das Dojo liegt im Verzeichnis, in dem diese Skill-Datei verlinkt ist: `~/.claude/plenty-dojo/`.
Ermittle den tatsächlichen Pfad dynamisch über den Symlink dieser Datei:
```
DOJO_DIR = Verzeichnis in dem DOJO.md liegt (Eltern-Verzeichnis von commands/)
```
Die Struktur:
- **DOJO.md** — Allgemeine Plentymarkets-Lektionen (geteilt via Git)
- **ANTI-PATTERNS.md** — Was man NICHT tun soll (geteilt via Git)
- **instances/*.md** — Shop-spezifische Lektionen pro Plenty-ID, z.B. `instances/7843.md` (lokal)
## Wenn $ARGUMENTS "lernen" enthält oder leer ist:
1. **Kontext analysieren:** Durchsuche die aktuelle Konversation nach Erkenntnissen über die Plentymarkets API. Suche nach:
- Bugs die durch API-Verhalten verursacht wurden
- Workarounds die nötig waren
- Timing-/Race-Condition-Probleme
- Datenformat-Überraschungen
- Statuswechsel-Eigenheiten
- Sync-Probleme
2. **Bestehende Einträge lesen:** Lies DOJO.md, ANTI-PATTERNS.md und alle vorhandenen `instances/*.md` Dateien. Prüfe, ob das Learning schon dokumentiert ist.
3. **Klassifizieren:** Entscheide für jedes neue Learning:
- **Allgemein** (DOJO.md + ANTI-PATTERNS.md) — betrifft jeden Plenty-Entwickler
- **Shop-spezifisch** (instances/<PID>.md) — betrifft nur die eigene Konfiguration, Stati, IDs
4. **Eintrag formulieren:** Jeder Eintrag MUSS enthalten:
- **Überschrift** mit fortlaufender Nummer
- **Lektion** — ein Satz, der das Learning zusammenfasst
- **Warum** — was genau passiert ist und warum es ein Problem war
- **Pattern** — Codebeispiel wie man es richtig macht
- **Anti-Pattern** — Codebeispiel wie man es NICHT macht (wenn sinnvoll)
- **Entdeckt** — Datum und kurzer Kontext
**WICHTIG:** In geteilten Dateien (DOJO.md, ANTI-PATTERNS.md) niemals konkrete Order-IDs, Kundendaten, Auftragszahlen, Projektnamen oder shop-spezifische Mengen nennen. Stattdessen generische Beschreibungen verwenden.
5. **Dem User zeigen:** Zeige den formulierten Eintrag und frage:
- "Soll ich das ins Dojo aufnehmen?"
- "Ist das allgemein (DOJO.md) oder shop-spezifisch (instances/<PID>.md)?"
6. **Eintragen:** Nach Bestätigung den Eintrag in die richtige Datei schreiben. Bei allgemeinen Lektionen auch einen Kurzeintrag in ANTI-PATTERNS.md anlegen.
## Wenn $ARGUMENTS "zeigen" oder "status" enthält:
Lies und zeige alle Dojo-Dateien mit einer Zusammenfassung:
- Anzahl Einträge pro Datei
- Letzte Ergänzung
- Kategorien der Einträge
## Wenn $ARGUMENTS "suchen <begriff>" enthält:
Durchsuche alle Dojo-Dateien nach dem Begriff und zeige relevante Einträge.
## Wenn $ARGUMENTS "sync" enthält:
Synchronisiere das Dojo-Repo mit dem Remote:
```bash
cd <DOJO_DIR>
git pull --rebase
git add DOJO.md ANTI-PATTERNS.md
git diff --cached --quiet || git commit -m "dojo: neue Einträge"
git push
```
Zeige danach eine kurze Zusammenfassung: neue Einträge von anderen, eigene gepushte Änderungen.