Ka-Note/.claude/commands/ka-journal.md

82 lines
2.5 KiB
Markdown

---
allowed-tools: Read, Write, Bash, AskUserQuestion
description: Ka-Note - Journal-Eintrag mit Wiedervorlage anlegen
---
## Kontext
- Heute: !`date +%Y-%m-%d`
- Bundle vorhanden: !`test -f "$(git rev-parse --show-toplevel)/ka-note/../work/kai-bundle.json" && echo "ja" || echo "NEIN - zuerst download.ps1 ausfuehren"`
- Bundle-Inhalt (Manifest + Topics): !`powershell.exe -NoProfile -File "$(git rev-parse --show-toplevel)/ka-note/scripts/show-bundle.ps1" 2>&1`
## Deine Aufgabe
Lege einen neuen Journal-Eintrag (HistoryEntry) mit Wiedervorlage im Bundle an.
### Schritt 1 - Prüfung
Falls das Bundle NICHT vorhanden ist: Stoppe und weise den User an, zuerst
`.\ka-note\scripts\download.ps1` auszuführen.
Falls das Lock abgelaufen ist (expiresAt in der Vergangenheit): Warnen und stoppen.
### Schritt 2 - Informationen sammeln (AskUserQuestion)
Frage den User mit **einer einzigen** AskUserQuestion-Runde nach allen nötigen Infos:
1. **Topic-ID** (8-Zeichen-Prefix aus der Liste oben genügt, oder vollständige ID)
2. **Datum** des Eintrags (Default: heute)
3. **Wiedervorlage-Datum** (YYYY-MM-DD, Pflichtfeld für diesen Command)
4. **Text** des Eintrags (Markdown, kann mehrzeilig sein)
### Schritt 3 - Bundle modifizieren
Lies `<repo-root>/work/kai-bundle.json` mit dem Read-Tool.
Erstelle den neuen Eintrag:
```json
{
"id": "<neu generierte UUID v4>",
"topicId": "<vollständige Topic-ID aus Bundle>",
"date": "<gewähltes Datum>",
"sortOrder": <max(sortOrder aller Einträge dieses Topics) + 10, oder 0 wenn keine>,
"linkedContextId": null,
"doneAt": null,
"wiedervorlageDate": "<gewähltes Wiedervorlage-Datum>",
"wiedervorlageResolvedAt": null,
"updatedAt": "<aktueller ISO-Timestamp>",
"deletedAt": null,
"version": 1
}
```
UUID generieren mit:
```bash
powershell.exe -NoProfile -Command "[guid]::NewGuid().ToString()"
```
Füge den Eintrag am **Ende** von `historyMeta` ein.
Füge den Text unter `historyTexts["<neue-id>"]` ein.
Schreibe das modifizierte Bundle zurück (Write-Tool, pretty-printed mit 2-Space-Indent).
### Schritt 4 - Zusammenfassung anzeigen
Zeige dem User:
- Neuer Eintrag-ID (vollständig)
- Topic-Name
- Datum + Wiedervorlage-Datum
- Text-Preview (erste 100 Zeichen)
Frage dann: **Jetzt hochladen?** (Ja / Nein - ich lade später manuell hoch)
### Schritt 5 - Upload (optional)
Falls Ja: Führe aus:
```bash
powershell.exe -NoProfile -File "<repo-root>/ka-note/scripts/upload.ps1" -HistoryEntries
```
Falls Nein: Weise darauf hin dass der Lock noch aktiv ist und `upload.ps1` oder
`unlock.ps1` manuell ausgeführt werden muss.