Geteilte Plentymarkets API Learnings (DOJO.md, ANTI-PATTERNS.md), Claude Code Skill (/plenty-dojo), und Install-Script für neue User.
71 lines
3.0 KiB
Markdown
71 lines
3.0 KiB
Markdown
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.
|