chore: update copilot instructions and reorganize history into docs/

This commit is contained in:
Conrad Schulz 2026-06-12 09:26:01 +00:00
parent ba1d888ef2
commit f4fbb690be
5 changed files with 22 additions and 5 deletions

View file

@ -5,11 +5,11 @@
> Diese Sektion hat höchste Priorität und darf nicht ignoriert werden. > Diese Sektion hat höchste Priorität und darf nicht ignoriert werden.
**Session START** Bevor du irgendetwas tust: **Session START** Bevor du irgendetwas tust:
1. Lies `history/summary/PROJECT_CONTEXT.md` (falls vorhanden) 1. Lies `docs/history/summary/PROJECT_CONTEXT.md` (falls vorhanden)
2. Verstehe den aktuellen Projektzustand bevor du anfängst 2. Verstehe den aktuellen Projektzustand bevor du anfängst
**Session END** Der Agent führt dies **automatisch** am Ende jeder Aufgabe aus, bevor er `git commit` ausführt: **Session END** Der Agent führt dies **automatisch** am Ende jeder Aufgabe aus, bevor er `git commit` ausführt:
1. Lies die bestehende `history/prompts/YYYY-MM-DD_*_session.md` (falls vorhanden) und ergänze nur den neuen Teil 1. Lies die bestehende `docs/history/prompts/YYYY-MM-DD_*_session.md` (falls vorhanden) und ergänze nur den neuen Teil
**Dateiformat zwingend:** Suffix `_session.md`, Dateiname beginnt mit heutigem Datum (`YYYY-MM-DD`) **Dateiformat zwingend:** Suffix `_session.md`, Dateiname beginnt mit heutigem Datum (`YYYY-MM-DD`)
2. **Für jeden Benutzer-Prompt seit dem letzten Commit** einen Block ergänzen: 2. **Für jeden Benutzer-Prompt seit dem letzten Commit** einen Block ergänzen:
``` ```
@ -21,9 +21,9 @@
``` ```
⚠ Kein „Nachtrag"-Block statt echter Prompt-Einträge. Die Benutzer-Nachricht **wörtlich** zitieren. ⚠ Kein „Nachtrag"-Block statt echter Prompt-Einträge. Die Benutzer-Nachricht **wörtlich** zitieren.
⚠ Keine reinen Stichpunkt-Zusammenfassungen. Ausgeführte Kommandos und Outputs gehören **wörtlich** in die Antwort. ⚠ Keine reinen Stichpunkt-Zusammenfassungen. Ausgeführte Kommandos und Outputs gehören **wörtlich** in die Antwort.
⚠ Keine Platzhalter wie `PENDING` committen. Ist der Commit-Hash noch unbekannt: Hash weglassen oder Datei direkt nach dem Commit mit dem echten Hash aktualisieren und sofort (`git add history/ && git commit`) nachziehen. ⚠ Keine Platzhalter wie `PENDING` committen. Ist der Commit-Hash noch unbekannt: Hash weglassen oder Datei direkt nach dem Commit mit dem echten Hash aktualisieren und sofort (`git add docs/history/ && git commit`) nachziehen.
3. Aktualisiere `history/summary/PROJECT_CONTEXT.md` mit dem neuen Projektstand 3. Aktualisiere `docs/history/summary/PROJECT_CONTEXT.md` mit dem neuen Projektstand
4. **Stage beide Dateien VOR `git commit`:** `git add history/` 4. **Stage beide Dateien VOR `git commit`:** `git add docs/history/`
Der pre-commit Hook (Check 6) blockiert wenn: Der pre-commit Hook (Check 6) blockiert wenn:
- keine `*_session.md` gestaged ist - keine `*_session.md` gestaged ist
- der Dateiname nicht mit dem heutigen Datum beginnt - der Dateiname nicht mit dem heutigen Datum beginnt
@ -41,6 +41,23 @@
- **`git push --force`** Nie force-pushen ohne explizite Anweisung des Users. - **`git push --force`** Nie force-pushen ohne explizite Anweisung des Users.
- **Secrets in Code** Keine Passwörter, API-Keys, Tokens in Dateien. - **Secrets in Code** Keine Passwörter, API-Keys, Tokens in Dateien.
## ⚠ Bekannte Fallstricke (nicht vergessen!)
- **Scripts mit Self-Update (`copilot-update.sh/.fish`) immer erst committen+pushen, DANN manuell deployen.**
Reihenfolge zwingend:
1. Änderung im Repo vornehmen
2. `git add … && git commit && git push`
3. `cp scripts/copilot-update.sh ~/.local/bin/copilot-update.sh`
4. Testen
Falsche Reihenfolge (erst deployen, dann committen) → Self-Update überschreibt den manuell deployten Fix
mit der alten Version aus dem Remote-Cache. Der Fix geht verloren.
- **`fi ───` oder `end ───` in POSIX-sh/fish:** Box-Drawing-Zeichen nie direkt ans `fi`/`end` anhängen.
Kommentar-Trennlinie immer auf eigener Zeile: `# ── Abschnitt ──`
- **`printf '%s\n%s\n'` frisst trailing newlines** aus `$(awk ...)` Substitution.
Wenn eine Leerzeile zwischen zwei Blöcken erhalten bleiben soll: `printf '%s\n\n%s\n'` verwenden.
--- ---
## Project ## Project