From fb1a01ba78da267bebbf6d52f98304b64f58b156 Mon Sep 17 00:00:00 2001 From: Conrad Schulz Date: Tue, 2 Jun 2026 11:13:34 +0000 Subject: [PATCH] fix: review-findings behoben (7 Punkte) 1. pre-commit: --no-verify Kommentar entfernt 2. pre-commit: .copilot-no-docs Opt-out fuer Check 2 (Doku-Pflicht) 3. .copilot-no-docs angelegt (Setup-Repo = reines Script/Config-Repo) 4. copilot-instructions.md: _session.md Suffix in Agent-History Sektion korrigiert 5. history.prompt.md: Datumsvariablen explizit + Append-Verhalten korrigiert 6. copilot-bootstrap.sh: Hinweis auf git copilot-update fuer Hook-Updates 7. Orphan-Stub 2026-06-02_master_55fee83.md geloescht --- .copilot-no-docs | 0 .github/copilot-instructions.md | 2 +- git-templates/.github/copilot-instructions.md | 2 +- git-templates/hooks/pre-commit | 6 ++-- ...6-02_copilot-update-auto-deploy_session.md | 31 +++++++++++++++++++ history/prompts/2026-06-02_master_55fee83.md | 30 ------------------ history/summary/PROJECT_CONTEXT.md | 6 ++-- prompts/history.prompt.md | 4 ++- scripts/copilot-bootstrap.sh | 4 +++ 9 files changed, 48 insertions(+), 37 deletions(-) create mode 100644 .copilot-no-docs delete mode 100644 history/prompts/2026-06-02_master_55fee83.md diff --git a/.copilot-no-docs b/.copilot-no-docs new file mode 100644 index 0000000..e69de29 diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index 70fefa9..24ff222 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -54,7 +54,7 @@ - Erforderliche Unterordner in `docs/ADMIN.md` dokumentieren ### Agent History (`/history/`) -- **Vollständige Konversationen** → `history/prompts/YYYY-MM-DD_beschreibung.md` (**committed – vollständige History bleibt erhalten**) +- **Vollständige Konversationen** → `history/prompts/YYYY-MM-DD_beschreibung_session.md` (**Suffix `_session.md` zwingend** – post-commit Hook erkennt daran das Agent-Log) - **Komprimierter Kontext** → `history/summary/PROJECT_CONTEXT.md` (**committed, immer aktuell halten!**) - **Beim Start einer neuen Session:** `history/summary/PROJECT_CONTEXT.md` zuerst lesen - **Am Ende jeder Session:** beide Dateien committen diff --git a/git-templates/.github/copilot-instructions.md b/git-templates/.github/copilot-instructions.md index 70fefa9..24ff222 100644 --- a/git-templates/.github/copilot-instructions.md +++ b/git-templates/.github/copilot-instructions.md @@ -54,7 +54,7 @@ - Erforderliche Unterordner in `docs/ADMIN.md` dokumentieren ### Agent History (`/history/`) -- **Vollständige Konversationen** → `history/prompts/YYYY-MM-DD_beschreibung.md` (**committed – vollständige History bleibt erhalten**) +- **Vollständige Konversationen** → `history/prompts/YYYY-MM-DD_beschreibung_session.md` (**Suffix `_session.md` zwingend** – post-commit Hook erkennt daran das Agent-Log) - **Komprimierter Kontext** → `history/summary/PROJECT_CONTEXT.md` (**committed, immer aktuell halten!**) - **Beim Start einer neuen Session:** `history/summary/PROJECT_CONTEXT.md` zuerst lesen - **Am Ende jeder Session:** beide Dateien committen diff --git a/git-templates/hooks/pre-commit b/git-templates/hooks/pre-commit index e892719..44df831 100755 --- a/git-templates/hooks/pre-commit +++ b/git-templates/hooks/pre-commit @@ -7,7 +7,7 @@ # 3. Alle 3 Dokumentations-Zielgruppen vorhanden sind (USER/ADMIN/MAINTAINER) # 4. history/summary/PROJECT_CONTEXT.md aktualisiert wurde # -# Bypass (bewusst): git commit --no-verify +# Hooks laufen immer – kein --no-verify verwenden. STAGED=$(git diff --cached --name-only --diff-filter=ACMR 2>/dev/null) ERRORS=0 @@ -44,7 +44,9 @@ fi # ── Check 2: Dokumentation aktualisiert ─────────────────────────────────────── # Prüfen ob docs/ Verzeichnis überhaupt existiert -if [ -d "docs" ]; then +# Opt-out: Datei '.copilot-no-docs' im Repo-Root deaktiviert diesen Check +# (für reine Config/Script-Repos ohne nutzerseitige Dokumentationspflicht) +if [ -d "docs" ] && [ ! -f ".copilot-no-docs" ]; then DOCS_CHANGED=$(printf '%s\n' "$STAGED" \ | grep -E '(^docs/USER\.md$|^docs/ADMIN\.md$|^docs/MAINTAINER\.md$|^README\.md$)') diff --git a/history/prompts/2026-06-02_copilot-update-auto-deploy_session.md b/history/prompts/2026-06-02_copilot-update-auto-deploy_session.md index 2282dee..110c42f 100644 --- a/history/prompts/2026-06-02_copilot-update-auto-deploy_session.md +++ b/history/prompts/2026-06-02_copilot-update-auto-deploy_session.md @@ -174,3 +174,34 @@ docs: agent session history 2026-06-02 copilot-update-auto-deploy --- *Git-Block automatisch generiert durch post-commit hook.* + +--- + +## Git Commit + +| Feld | Wert | +|---|---| +| Datum | 2026-06-02 10:54:08 | +| Branch | `master` | +| Commit | `eb19cf7e996c9ef1d25b6bc4b31e832493886074` | +| Autor | Conrad Schulz | + +### Commit Message + +``` +fix: --no-verify komplett entfernt aus pre-commit + .copilot-no-tests +``` + +### Geänderte Dateien + +| Status | Datei | +|---|---| +| A | .copilot-no-tests | +| M | .github/copilot-instructions.md | +| M | README.md | +| M | git-templates/.github/copilot-instructions.md | +| M | git-templates/hooks/pre-commit | +| M | history/prompts/2026-06-02_copilot-update-auto-deploy_session.md | + +--- +*Git-Block automatisch generiert durch post-commit hook.* diff --git a/history/prompts/2026-06-02_master_55fee83.md b/history/prompts/2026-06-02_master_55fee83.md deleted file mode 100644 index df62e5e..0000000 --- a/history/prompts/2026-06-02_master_55fee83.md +++ /dev/null @@ -1,30 +0,0 @@ -# Auto-Log: fix: post-commit Hook im Setup-Repo selbst installieren via deploy.sh - ---- - -## Git Commit - -| Feld | Wert | -|---|---| -| Datum | 2026-06-02 10:41:28 | -| Branch | `master` | -| Commit | `55fee83bbd686b7a3889f86c753d05a7f733e5db` | -| Autor | Conrad Schulz | - -### Commit Message - -``` -fix: post-commit Hook im Setup-Repo selbst installieren via deploy.sh -``` - -### Geänderte Dateien - -| Status | Datei | -|---|---| -| M | scripts/deploy.fish | -| M | scripts/deploy.sh | - ---- -*Git-Block automatisch generiert durch post-commit hook.* - -*Kein Agent-Log vorhanden. Für vollständige Konversation: Copilot Chat → `/history` vor dem Commit ausführen.* diff --git a/history/summary/PROJECT_CONTEXT.md b/history/summary/PROJECT_CONTEXT.md index 24b7f3e..1ab6844 100644 --- a/history/summary/PROJECT_CONTEXT.md +++ b/history/summary/PROJECT_CONTEXT.md @@ -8,7 +8,7 @@ ## Aktueller Projektstatus -**Letzte Aktualisierung:** 2026-06-02 – copilot-update.sh + git copilot-update Alias +**Letzte Aktualisierung:** 2026-06-02 – Review-Findings behoben (7 Punkte) **Phase:** Produktion / stabil – wird bei Bedarf erweitert --- @@ -29,6 +29,7 @@ Quality Gate aus. | Datum | Aufgabe | Ergebnis | Entscheidungen | |---|---|---|---| +| 2026-06-02 | Review-Findings behoben (7 Punkte) | `git-templates/hooks/pre-commit`, `.copilot-no-docs`, beide `copilot-instructions.md`, `prompts/history.prompt.md`, `scripts/copilot-bootstrap.sh` | `.copilot-no-docs` Opt-out analog zu `.copilot-no-tests`; history.prompt.md Append-Verhalten korrekt dokumentiert | | 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 | @@ -56,7 +57,8 @@ Quality Gate aus. | `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` | +| `.copilot-no-tests` + `.copilot-no-docs` Opt-outs | Pre-commit Check 1 (Tests) und Check 2 (Doku) deaktivierbar für Repos ohne Framework/Doku-Pflicht | `git-templates/hooks/pre-commit` | +| Kein `--no-verify` nirgendwo | Quality Gate darf nie umgangen werden; in `copilot-instructions.md` verboten, pre-commit enthält keinen Bypass-Hinweis | `git-templates/hooks/pre-commit`, `.github/copilot-instructions.md` | --- diff --git a/prompts/history.prompt.md b/prompts/history.prompt.md index 222011f..9d5dfd5 100644 --- a/prompts/history.prompt.md +++ b/prompts/history.prompt.md @@ -9,7 +9,9 @@ Du hilfst dabei die Projekt-History zu pflegen. Es gibt zwei Aufgaben: ## Aufgabe A: Konversation loggen -Erstelle eine neue Datei `history/prompts/{{DATUM}}_{{TITEL}}_session.md` mit der vollständigen Konversation. Exsistiert die Datei nicht wird sie angelegt. Wenn Sie bereits wird nur der neue inhalt hinzugefügt. +Erstelle eine neue Datei `history/prompts/YYYY-MM-DD_kurzbeschreibung_session.md` mit der vollständigen Konversation. +`YYYY-MM-DD` = heutiges Datum, `kurzbeschreibung` = 3-5 Wörter mit Bindestrichen (kein Leerzeichen). +Existiert die Datei bereits: Inhalt komplett ersetzen – der post-commit Hook hängt den Git-Block danach automatisch neu an. **Wichtig zum Dateinamen:** Das Suffix `_session.md` ist zwingend — der post-commit Hook erkennt daran, dass ein Agent-Log existiert und hängt den Git-Block automatisch an statt eine neue Datei zu erstellen. diff --git a/scripts/copilot-bootstrap.sh b/scripts/copilot-bootstrap.sh index ba08bb8..1c1d162 100644 --- a/scripts/copilot-bootstrap.sh +++ b/scripts/copilot-bootstrap.sh @@ -152,3 +152,7 @@ echo " - docs/USER.md, docs/ADMIN.md, docs/MAINTAINER.md" echo " 2. git add .github .vscode docs history .gitignore" echo " git commit -m 'chore: add copilot workspace config'" echo " 3. Templates aktuell halten: git copilot-update" +echo "" +echo " Hinweis: Git-Hooks (pre-commit, post-commit) werden NICHT automatisch" +echo " aktualisiert wenn sie bereits existieren. Neue Hook-Versionen holen mit:" +echo " git copilot-update"