diff --git a/history/prompts/2026-05-30_initiales-setup-erweiterungen.md b/history/prompts/2026-05-30_initiales-setup-erweiterungen.md new file mode 100644 index 0000000..c609d41 --- /dev/null +++ b/history/prompts/2026-05-30_initiales-setup-erweiterungen.md @@ -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 diff --git a/history/summary/PROJECT_CONTEXT.md b/history/summary/PROJECT_CONTEXT.md index 4f4ae69..4b4bf62 100644 --- a/history/summary/PROJECT_CONTEXT.md +++ b/history/summary/PROJECT_CONTEXT.md @@ -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:** -**Phase:** +**Letzte Aktualisierung:** 2026-05-31 – Session-History initial angelegt +**Phase:** Produktion / stabil – wird bei Bedarf erweitert --- ## Was ist dieses Projekt? - +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:** -**Deployment:** +**Stack:** Shell (POSIX sh + fish), Markdown +**Deployment:** `bash scripts/deploy.sh` oder `fish scripts/deploy.fish` auf jedem neuen System --- ## Erledigte Aufgaben (neueste zuerst) - - | 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 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 - - | 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//` (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 - - -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" - +- `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 -- …