docs: log initial session history and fill PROJECT_CONTEXT

- history/prompts/2026-05-30_initiales-setup-erweiterungen.md: full session log
- history/summary/PROJECT_CONTEXT.md: filled with real project state
This commit is contained in:
Conrad Schulz 2026-05-31 12:56:52 +00:00
parent e1f912f248
commit 67fbc150f8
2 changed files with 123 additions and 26 deletions

View file

@ -0,0 +1,91 @@
# rd13_copilot_setup Initiales Setup & Erweiterungen 2026-05-30/31
## Aufgabe / Ziel
Bestehende Copilot-Workspace-Konfiguration erweitern um:
1. `/data/` Konvention für persistente Service-Daten
2. `/history/` für Agent-Session-Logging (vollständige Prompts + komprimierter Kontext)
3. pre-commit Quality Gate Hook (Tests + 3-Zielgruppen-Doku)
4. Dokumentation in 3 Zielgruppen (USER / ADMIN / MAINTAINER) als Pflicht
---
## Verlauf
### Prompt 1
Ergänze Instruktionen:
- `/data/` für persistente Service-Daten (Unterordner pro Service, gitignored)
- `/history/` mit `prompts/` (vollständige Logs) und `summary/PROJECT_CONTEXT.md` (komprimierter Kontext)
- Git Hooks die Tests und Doku prüfen
- Doku immer in 3 Zielgruppen: Nutzer, Admin, Maintainer/Entwickler
### Antwort 1 (2026-05-30)
Implementiert:
- `git-templates/hooks/pre-commit` Quality Gate prüft: Tests staged? Doku aktualisiert? Alle 3 Zielgruppen-Docs vorhanden?
- `git-templates/docs/USER.md`, `ADMIN.md`, `MAINTAINER.md` Templates für neue Repos
- `git-templates/history/summary/PROJECT_CONTEXT.md` Template Agent-Kontext-Summary
- `prompts/history.prompt.md` `/history` Prompt zum Loggen + Summary aktualisieren
- `git-templates/.github/copilot-instructions.md` erweitert um neue Konventionen + erweitertes DoD
- `scripts/copilot-bootstrap.sh` erstellt data/, history/, docs/, Hook, .gitignore-Einträge
- `scripts/deploy.sh` + `deploy.fish` deployen Hooks, Doc-Templates, History-Template
- `docs/ADMIN.md` neu angelegt für dieses Repo
- `docs/USER.md`, `docs/MAINTAINER.md` aktualisiert
- `README.md` aktualisiert
- Commit `045e2e7`, Push zu `ssh://git@192.168.178.6:2222/cschulz/rd13_copilot_setup.git`
### Prompt 2
Push zu `ssh://git@192.168.178.6:2222/cschulz/rd13_copilot_setup.git`
### Antwort 2
Remote `origin` hinzugefügt, `git push -u origin master` 51 Objekte übertragen.
### Prompt 3
`history/prompts/` soll NICHT gitignored sein die vollständige History soll erhalten bleiben.
### Antwort 3 (2026-05-31)
Fix in allen Dateien: `history/prompts/` ist jetzt committed, nicht gitignored.
Nur `data/` bleibt gitignored.
Geänderte Dateien: `copilot-bootstrap.sh`, `copilot-instructions.md`, `PROJECT_CONTEXT.md` (template),
`MAINTAINER.md` (template), `history.prompt.md`, `USER.md`, `ADMIN.md`, `MAINTAINER.md`, `README.md`.
Commit `95d0360`, Push erfolgreich.
### Prompt 4
Prompts im Chat nicht sichtbar, PROJECT_CONTEXT.md nicht vorhanden.
### Antwort 4
- `deploy.fish` neu ausgeführt → `history.prompt.md` jetzt deployed (`/history` im Chat verfügbar)
- `copilot-bootstrap.sh .` auf das eigene Repo angewendet → `history/summary/PROJECT_CONTEXT.md` angelegt
- Bug fix: `mkdir -p .git/hooks/` vor Hook-Installation fehlte → behoben
- Commit `e1f912f`, Push erfolgreich.
### Prompt 5
History und Prompts werden nicht ins Repo geloggt sollen aber geloggt werden.
### Antwort 5
Diese Datei wird angelegt + `PROJECT_CONTEXT.md` befüllt. Commit + Push.
---
## Ergebnis
Vollständig implementiertes Copilot-Setup mit:
- `/data/` Konvention (gitignored)
- `/history/` Konvention (committed)
- pre-commit Quality Gate
- 3-Zielgruppen-Dokumentation als Pflicht
- Bootstrap + Deploy-Skripte aktualisiert
- Dieses Repo selbst gebootstrapped
## Entscheidungen
| Entscheidung | Begründung |
|---|---|
| `history/prompts/` committed (nicht gitignored) | Vollständige lückenlose Projekt-History im Repo |
| `data/` gitignored | Persistente Service-Daten gehören nicht ins Git (Größe, Sicherheit) |
| pre-commit mit `--no-verify` Escape | Quality Gate ohne harten Block bewusstes Bypass möglich |
| 3 Zielgruppen-Docs als DoD-Pflicht | Klare Trennung: Nutzer ≠ Ops ≠ Dev |
## Offene Punkte
- TODO-Felder in `.github/copilot-instructions.md` noch ausfüllen (Stack, Architecture, NFRs)
- `history/summary/PROJECT_CONTEXT.md` mit realem Projektinhalt befüllen

View file

@ -1,4 +1,4 @@
# PROJECT_CONTEXT [PROJEKT_NAME]
# PROJECT_CONTEXT rd13_copilot_setup
> Diese Datei ist der **persistente Gedächtnis-Speicher** für alle Agenten.
> Beim Start jeder neuen Agent-Session: **diese Datei zuerst lesen**.
@ -8,70 +8,76 @@
## Aktueller Projektstatus
**Letzte Aktualisierung:** <!-- TODO: Datum + Aufgabe -->
**Phase:** <!-- z.B. Initialisierung / Entwicklung / Stabilisierung / Produktion -->
**Letzte Aktualisierung:** 2026-05-31 Session-History initial angelegt
**Phase:** Produktion / stabil wird bei Bedarf erweitert
---
## Was ist dieses Projekt?
<!-- TODO: 2-3 Sätze Kern-Beschreibung -->
Portierbare GitHub Copilot Workspace-Konfiguration. Einmal eingerichtet, stattet es
jedes neue oder bestehende Git-Repo automatisch mit Copilot-Instruktionen, VS Code-
Einstellungen, Dokumentations-Templates, Agent-History-Struktur und einem pre-commit
Quality Gate aus.
**Stack:** <!-- TODO: Sprachen, Frameworks, Datenbanken -->
**Deployment:** <!-- TODO: Wo läuft es? Docker, K8s, bare-metal? -->
**Stack:** Shell (POSIX sh + fish), Markdown
**Deployment:** `bash scripts/deploy.sh` oder `fish scripts/deploy.fish` auf jedem neuen System
---
## Erledigte Aufgaben (neueste zuerst)
<!-- Kurze Einträge: Datum · Aufgabe · Ergebnis · Wichtige Entscheidungen -->
| Datum | Aufgabe | Ergebnis | Entscheidungen |
|---|---|---|---|
| … | … | … | … |
| 2026-05-31 | Bug fix: mkdir -p .git/hooks + eigenes Repo bootstrapped | `e1f912f` | |
| 2026-05-31 | history/prompts/ committed statt gitignored | `95d0360` | Vollständige History bleibt im Repo |
| 2026-05-30 | Initiale Erweiterungen: data/, history/, hooks, 3-Zielgruppen-Docs | `045e2e7` | Nur data/ gitignored |
| 2026-05-30 | Remote origin gesetzt + initial push | `ssh://git@192.168.178.6:2222/cschulz/rd13_copilot_setup.git` | |
---
## Offene Aufgaben & bekannte Probleme
<!-- TODO: Was ist noch offen? Was wurde bewusst zurückgestellt? -->
- [ ] TODO 1
- [ ] TODO 2
- [ ] `.github/copilot-instructions.md` TODO-Felder ausfüllen (Stack, Architecture, NFRs dieses Repos)
- [ ] Bei Änderungen an `git-templates/` immer `deploy.sh` neu ausführen damit die Templates in `~/.git-templates/` aktuell sind
---
## Kritische Architekturentscheidungen
<!-- Die wichtigsten ADRs kurz zusammengefasst Details in docs/adr/ -->
| Entscheidung | Begründung | Wo dokumentiert |
|---|---|---|
| … | … | `docs/adr/NNN-…md` |
| `history/prompts/` committed | Lückenlose Projekt-History im Repo | `docs/MAINTAINER.md` |
| `data/` gitignored | Persistente Daten: Größe + Sicherheit | `docs/ADMIN.md` |
| POSIX sh für Bootstrap | Läuft überall ohne Abhängigkeiten | `docs/MAINTAINER.md` |
| Git-Alias statt Fish-Wrapper | Portabel: bash, sh, CI, GUI-Clients | `docs/MAINTAINER.md` |
| pre-commit mit `--no-verify` Escape | Quality Gate ohne harten Block | `git-templates/hooks/pre-commit` |
---
## Wichtige Pfade & Konventionen
- **Persistente Daten:** `/data/<service>/` (gitignored, nie committen!)
- **Agent-Logs (voll):** `/history/prompts/` (committed vollständige History im Repo)
- **Persistente Daten:** `/data/` (gitignored, nie committen!)
- **Agent-Logs (voll):** `/history/prompts/` (committed vollständige History bleibt erhalten)
- **Dieser Kontext:** `/history/summary/PROJECT_CONTEXT.md` (committed)
- **Tests:** `tests/` (Struktur spiegelt Source)
- **Docs:** `docs/USER.md` | `docs/ADMIN.md` | `docs/MAINTAINER.md`
- **Deploy:** `bash scripts/deploy.sh` oder `fish scripts/deploy.fish`
- **Bootstrap einzelnes Repo:** `sh ~/.local/bin/copilot-bootstrap.sh [/pfad/zum/repo]`
- **Git-Templates:** `~/.git-templates/` (nach Deploy)
- **Prompts:** `~/.vscode-server/data/User/prompts/` (nach Deploy)
---
## Für den nächsten Agenten: Startpunkt
<!-- TODO: Was soll der nächste Agent wissen / wo soll er anfangen? -->
1. …
2. …
1. Diese Datei gelesen? Gut du kennst den Stand.
2. Neues Feature → `git-templates/` anpassen → `deploy.sh` ausführen → committen
3. Nach jeder Session: `history/prompts/YYYY-MM-DD_beschreibung.md` anlegen + diese Datei aktualisieren
---
## Bekannte Fallstricke / "Don't do this"
<!-- Lessons learned was hat nicht funktioniert oder warum wurde etwas verworfen -->
- `deploy.sh` nach jeder Änderung an `git-templates/` neu ausführen sonst sind die lokalen Templates veraltet
- Beim Bootstrap neuer Repos ohne `hooks/`-Verzeichnis: `mkdir -p .git/hooks/` ist jetzt im Script (war Bug)
- `deploy.sh` skippt vorhandene Prompt-Dateien neue Prompts werden aber korrekt hinzugefügt
- …