- scripts/copilot-update.sh: zieht Setup-Repo (SSH+HTTP-Fallback) in ~/.copilot-setup/, aktualisiert ~/.git-templates/, VS Code Prompts und repo-lokale Git-Hooks; copilot-instructions.md nur bei TODO-Erkennung (mit .bak Backup) - scripts/copilot-update.fish: Fish-Variante desselben Scripts - git-templates/hooks/post-merge: opt-in Template-Hook (ruft copilot-update.sh auf) - scripts/deploy.sh: installiert copilot-update.sh/.fish, setzt 'git copilot-update' Alias, installiert post-merge Hook im Setup-Repo selbst (auto-deploy nach git pull) - scripts/deploy.fish: analog - scripts/copilot-bootstrap.sh: --with-update-hook Flag + post-commit Hook Installation
91 lines
4.5 KiB
Markdown
91 lines
4.5 KiB
Markdown
# 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**.
|
||
> Nach Abschluss einer Aufgabe: **diesen Stand aktualisieren**.
|
||
|
||
---
|
||
|
||
## Aktueller Projektstatus
|
||
|
||
**Letzte Aktualisierung:** 2026-06-02 – copilot-update.sh + git copilot-update Alias
|
||
**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:** 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-06-02 | copilot-update.sh + git alias + post-merge Hook | `scripts/copilot-update.sh`, `scripts/copilot-update.fish`, `git-templates/hooks/post-merge` | SSH+HTTP-Fallback; opt-in Update-Hook; copilot-instructions.md nur bei TODO überschreiben |
|
||
| 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
|
||
|
||
- [ ] `.github/copilot-instructions.md` TODO-Felder ausfüllen (Stack, Architecture, NFRs dieses Repos)
|
||
- [ ] Bei Änderungen an `git-templates/` immer `deploy.sh` neu ausführen (oder `git copilot-update` in einem anderen Repo zum Testen)
|
||
|
||
---
|
||
|
||
## Kritische Architekturentscheidungen
|
||
|
||
| Entscheidung | Begründung | Wo dokumentiert |
|
||
|---|---|---|
|
||
| `copilot-update.sh` mit SSH+HTTP-Fallback | Funktioniert ohne SSH-Key-Setup auf neuen Maschinen | `scripts/copilot-update.sh` |
|
||
| `copilot-instructions.md` nur bei TODO überschreiben | User-Content bleibt erhalten; Backup `.bak` wird erstellt | `scripts/copilot-update.sh` |
|
||
| post-merge Hook in bootstrapped Repos: opt-in | Kein Overhead bei jedem `git pull` in anderen Repos | `scripts/copilot-bootstrap.sh --with-update-hook` |
|
||
| Setup-Repo selbst: post-merge Hook auto-installed | `deploy.sh` nach jedem `git pull` auf Setup-Repo | `scripts/deploy.sh` Block 7 |
|
||
| `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 bleibt erhalten)
|
||
- **Dieser Kontext:** `/history/summary/PROJECT_CONTEXT.md` (committed)
|
||
- **Deploy:** `bash scripts/deploy.sh` oder `fish scripts/deploy.fish`
|
||
- **Bootstrap einzelnes Repo:** `sh ~/.local/bin/copilot-bootstrap.sh [/pfad/zum/repo]`
|
||
- **Bootstrap mit Auto-Update-Hook:** `sh ~/.local/bin/copilot-bootstrap.sh --with-update-hook [/pfad]`
|
||
- **Templates updaten (global + repo-lokal):** `git copilot-update` (in jedem Repo)
|
||
- **Setup-Repo Cache:** `~/.copilot-setup/` (überschreibbar mit `COPILOT_SETUP_DIR=...`)
|
||
- **Git-Templates:** `~/.git-templates/` (nach Deploy)
|
||
- **Prompts:** `~/.vscode-server/data/User/prompts/` (nach Deploy)
|
||
|
||
---
|
||
|
||
## Für den nächsten Agenten: Startpunkt
|
||
|
||
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
|
||
|