82 lines
2.5 KiB
Markdown
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.
|