Commit graph

44 commits

Author SHA1 Message Date
Conrad Schulz
e50c842938 docs(history): log clarification of .sh escape-hatch mechanics
Some checks failed
CI / Lint & self-test (push) Has been cancelled
2026-06-18 15:33:41 +02:00
Conrad Schulz
647c0f8b9e docs(instructions): enforce shell-syntax rule to stop POSIX-in-fish errors
Some checks are pending
CI / Lint & self-test (push) Waiting to run
Passives Default-Shell-Feld reichte nicht: Agent tippte weiter POSIX (VAR=$(...)) in eine fish-Shell. Neue MANDATORY-Sektion 'Terminal-Syntax' in der Framework-Sektion beider copilot-instructions.md mit exaktem Fehlerbild und deterministischem Ausweg (nicht-triviale Logik in .sh mit Shebang, bash datei.sh). Memory-Notiz shell-syntax.md ergaenzt. History + PROJECT_CONTEXT aktualisiert.
2026-06-18 14:07:32 +02:00
Conrad Schulz
5d0194a7b8 feat(bootstrap): auto-detect dev shell into copilot-instructions
Some checks are pending
CI / Lint & self-test (push) Waiting to run
Neues Default-Shell-Feld in der Projekt-Sektion (nach ---), damit der Agent die richtige Shell-Syntax waehlt. Bootstrap erkennt $SHELL (Fallback fish, Whitelist gegen sed-Injection) und schreibt es in frisch erzeugte copilot-instructions.md; manuell aenderbar und ueberlebt copilot-update. selftest +3 Faelle (sh & fish), beide MAINTAINER.md dokumentiert.
2026-06-18 10:05:46 +02:00
e83c333d75 docs: add rd13 infrastructure conventions
Some checks failed
CI / Lint & self-test (push) Has been cancelled
2026-06-13 05:49:02 +00:00
Conrad Schulz
5dc89f01a7 docs(history): migrate this repo to docs/history + log session
Some checks failed
CI / Lint & self-test (push) Has been cancelled
Dogfood des neuen Standards: git mv history/ -> docs/history/ (7 Dateien, Rename-Detection erhalten). Session-Log um Prompt 7 (History-Umzug) ergaenzt und PROJECT_CONTEXT am neuen Ort aktualisiert (Pfade, neue Eintraege, Architekturentscheidungen).
2026-06-10 12:14:52 +02:00
Conrad Schulz
2b20a985a5 refactor(history): move agent history under docs/history + auto-migration
Konvention geaendert: history/ -> docs/history/ (prompts + summary/PROJECT_CONTEXT.md).
Harter Cutover im pre-commit Hook (Check 4 + Check 6 erwarten docs/history/).
Bestehende Repos werden beim naechsten 'git copilot-update' automatisch per git mv migriert (Fallback mv; bei Konflikt Warnung statt Abbruch).
Angepasst: pre-commit Hook, alle 6 Skripte + selftest, beide copilot-instructions.md, settings.json Session-Protokoll, history.prompt.md, README, USER/ADMIN/MAINTAINER (+ ADMIN Migrationsabschnitt). git-templates/history -> git-templates/docs/history (git mv). Validiert: shellcheck clean, fish -n clean, selftest PASS, Migrationstest PASS (sh+fish+both-present).
2026-06-10 12:06:35 +02:00
Conrad Schulz
be5ff0fda3 docs(history): session 2026-06-10 portability + update PROJECT_CONTEXT
Vollstaendiges Session-Log (WP1-7,11,12) und aktualisierter PROJECT_CONTEXT: neue erledigte Aufgaben, offene Punkte (WP8/9/10 zurueckgestellt, totes Repo-Remote), Designentscheidungen und Pfade.
2026-06-10 10:59:45 +02:00
Conrad Schulz
afd5b38ca9 docs(wp12): document portability model (env/config, init-copilot, offline)
README + USER + ADMIN + MAINTAINER aktualisiert: nicht-invasives Deploy (kein globales init.templateDir / git-init-Override), Opt-in-Alias 'git init-copilot', konfigurierbare Remote-Quelle (COPILOT_SETUP_REMOTE_SSH/_HTTP, Config-Datei ~/.config/copilot-setup/config) inkl. Offline-Modus und graceful skip, deploy --with-self-update-hook, neue VS-Code-Editionen in der Pfad-Erkennung. Tote IP 192.168.178.6 aus der Doku entfernt. MAINTAINER: CI/selftest dokumentiert, Skript-Paare synchron halten, neue Fallstricke ($USER/set -u, fish-Funktions-Scoping).
2026-06-10 10:54:25 +02:00
Conrad Schulz
deca872ab2 ci(wp11): shellcheck + fish -n + bootstrap self-test
Neuer GitHub-Actions-Workflow .github/workflows/ci.yml: shellcheck fuer alle POSIX/bash-Skripte und git-Hooks, 'fish -n' fuer alle fish-Skripte, sowie scripts/selftest.sh (Bootstrap-Dry-Run sh+fish gegen isoliertes Fake-HOME mit Assertions). copilot-bootstrap.sh propagiert jetzt ebenfalls *:Zone.Identifier (Paritaet zur fish-Variante). shellcheck-Direktiven fuer bewusste Muster (SC2016 literaler Alias, SC1090 dynamische Config, SC2043 erweiterbare Hook-Schleife). Lokal verifiziert: shellcheck exit 0, selftest beide Varianten PASS.
2026-06-10 10:48:27 +02:00
Conrad Schulz
9e14a5fe90 feat(deploy): non-invasive git config + opt-in init-copilot + portable detection
WP6: Globaler 'git init'-Override und init.templateDir werden nicht mehr gesetzt (griff auch bei git clone fremder Repos). Stattdessen Opt-in-Alias 'git init-copilot'. Frueher gesetzte invasive Werte werden gezielt entfernt (nur wenn sie auf unsere Templates/Bootstrap zeigen). WP7: post-merge Auto-Deploy im Setup-Repo nur noch mit --with-self-update-hook. WP4: detect_vscode_user_dir (Server/Insiders/VSCodium/Cursor/Flatpak/macOS/Windows-WSL), identisch in deploy + copilot-update; ${USER:-} gegen set -u abgesichert. Getestet isoliert: kein alias.init, init-copilot gesetzt, kein init.templateDir, Hook nur mit Flag, unbekanntes Arg -> exit 2.
2026-06-10 10:26:55 +02:00
Conrad Schulz
5890bff4e0 feat(update): configurable remote + offline mode + portable editor detection
WP3: Remote-URLs nicht mehr hartkodiert (192.168.178.6). Aufloesung COPILOT_SETUP_REMOTE_SSH/_HTTP via env, sonst Config-Datei $XDG_CONFIG_HOME/copilot-setup/config (sh sourcet, fish parst), env hat Vorrang. WP5: Offline-Betrieb (lokaler Klon ohne .git nutzbar; Pull-Fehler nutzt Cache); fehlende/unerreichbare Quelle endet graceful mit exit 0 statt exit 1. WP4: detect_vscode_user_dir deckt Server/Insiders/VSCodium/Cursor/Flatpak/macOS/Windows-WSL ab. sh+fish verhalten sich identisch (getestet: graceful skip, offline-local, config-remote).
2026-06-10 09:54:07 +02:00
Conrad Schulz
80b6248fe3 fix(bootstrap): $HOME in fish + parity with sh; ignore Windows ADS
copilot-bootstrap.fish hatte /home/rd13server/.git-templates hartkodiert und legte nur .github/.vscode an. Jetzt $HOME und volle Funktions-Paritaet zu copilot-bootstrap.sh (--with-update-hook, data/, history/, docs/ USER+ADMIN+MAINTAINER, pre-commit/post-commit Hooks, .gitignore-Append). Zusaetzlich *:Zone.Identifier (Windows NTFS ADS) in .gitignore aufgenommen und vom Bootstrap in Ziel-Repos propagiert.
2026-06-10 09:38:29 +02:00
114bb5b22b fix: copilot-update Leerzeilen-Fix + Bekannte Fallstricke in copilot-instructions + MAINTAINER.md 2026-06-04 09:20:05 +00:00
30848652c9 docs: session 2026-06-04 gestartet + beide Repos verifiziert OK 2026-06-04 09:02:58 +00:00
f8fbd3ee6a feat: copilot-update Schritt 4c – fehlende 3-Zielgruppen-Docs anlegen 2026-06-03 10:42:05 +00:00
6082b10745 docs: session history Prompt 16 + Test-Output ergaenzt 2026-06-03 10:00:24 +00:00
f066b06863 fix: copilot-update.sh/.fish Syntax-Fehler (fi/end + Box-Drawing-Zeichen) 2026-06-03 09:59:18 +00:00
931ae595b2 docs: copilot-instructions Antwort-Format praezisiert + kein PENDING 2026-06-03 09:48:56 +00:00
65aca19fd6 docs: session history Prompt 13-14 + exakte Kommandos ergaenzt 2026-06-03 09:45:15 +00:00
411b7b0a29 feat: Check 6 Inhaltspruefung + copilot-instructions Prompt-Format-Pflicht
- pre-commit Hook Check 6: prueft jetzt Datum im Dateinamen + mind. 1 ### Prompt-Eintrag
- .github/copilot-instructions.md: Session END Schritt 2 mit Format-Template + Nachtrag-Warnung
- git-templates/.github/copilot-instructions.md: dasselbe
2026-06-03 09:37:50 +00:00
ebaab63116 docs: session history nachgepflegt (Prompt 10-12 ergaenzt) 2026-06-03 09:25:03 +00:00
fa007dbcbc fix: copilot-update self-update + copilot-instructions Framework-Sektion immer aktualisieren
- copilot-update.sh: Self-Update (Schritt 1b) via cmp -s + exec
- copilot-update.fish: dasselbe in fish
- copilot-instructions.md Update: Framework-Sektion (vor ---) aus Template,
  Projekt-Sektion (ab ---) bleibt unveraendert
- docs/ADMIN.md: git copilot-update Abschnitt dokumentiert
2026-06-03 09:21:53 +00:00
b093ad6c73 docs: session history aktualisiert (Prompt 5-9 ergaenzt) 2026-06-03 06:28:08 +00:00
5f35c90f0d feat: Agent fuehrt /history automatisch vor jedem Commit aus
- copilot-instructions.md (beide): Session END = automatisch, kein expliziter /history-Aufruf noetig
- Agent schreibt session.md + staged history/ selbst vor git commit
2026-06-03 06:26:51 +00:00
d9508f7bf1 refactor: post-commit Git-Block entfernt
- git-templates/hooks/post-commit: no-op (kein automatischer Git-Block mehr)
- Session-Datei: appended Git-Block entfernt, nur Agent-Inhalt bleibt
- Auto-Stub 2026-06-03_master_ca7f52b.md geloescht
- copilot-instructions.md (beide): Suffix-Erklaerung auf Check 6 umgeschrieben
- prompts/history.prompt.md: post-commit Referenz entfernt
- docs/MAINTAINER.md: post-commit Zeile aus Dateistruktur entfernt
- README.md: post-commit Zeile aus Struktur + Tabelle entfernt
- scripts/copilot-update.fish: post-commit nicht mehr kopiert
- scripts/deploy.sh: post-commit nicht mehr installiert
2026-06-03 06:17:20 +00:00
2d318f3654 fix: .copilot-no-session/.copilot-no-docs entfernt + alle 3 Docs aktualisiert
- .copilot-no-session entfernt: Session-Pflicht gilt auch fuer dieses Repo
- .copilot-no-docs entfernt: Doku-Pflicht gilt, README + Docs sollen aktuell bleiben
- copilot-instructions.md (beide): Session END explizit mit Check-6-Hinweis
- docs/ADMIN.md: Opt-out Dateien dokumentiert, Troubleshooting aktualisiert
- docs/USER.md: /check-consistency ergaenzt, Hook-Fehler Optionen aktualisiert
- docs/MAINTAINER.md: Dateistruktur + Designentscheidungen aktuell
2026-06-03 06:07:57 +00:00
ca7f52b0ba fix: pre-commit Check 6 – Session-Datei muss in Commit gestaged sein
- Check 6 blockiert wenn keine *_session.md in den gestagten Dateien ist
- Besser als Datumspruefung: prueft den konkreten Commit, nicht den Kalendertag
- Mehrere Commits in einer Session: /history ergaenzt nur neuen Teil
- history.prompt.md: liest bestehende Session-Datei, ergaenzt nur fehlenden Teil
- .copilot-no-session: Opt-out fuer dieses Setup-Repo (manuelle Commits)
2026-06-03 05:55:36 +00:00
6ab2614df5 feat: pre-commit Check 6 – Session-Datei fuer heute erforderlich
- Blockiert Commit wenn keine history/prompts/HEUTE_*_session.md existiert
- Zwingt Agenten /history auszufuehren vor dem Commit
- Opt-out: .copilot-no-session fuer manuelle Commits ohne Chat-Kontext
- .gitignore: *.bak ergaenzt (copilot-update.sh legt .bak bei copilot-instructions.md an)
2026-06-02 18:02:52 +00:00
8ec4038dc5 docs: session history 2026-06-02 review-fixes + requirements engineering 2026-06-02 17:58:25 +00:00
a959d76850 feat: requirements engineering + konsistenz-check
- git-templates/docs/requirements/REQUIREMENTS.md: persistentes Requirements-Template
  mit User Stories, ACs, NFRs, Out-of-Scope, Aenderungshistorie
- prompts/check-consistency.prompt.md: neuer /check-consistency Prompt
  (Code vs. Requirements vs. Docs, findet Widersprueche vor dem Commit)
- git-templates/hooks/pre-commit: Check 5 hinzugefuegt
  (blockiert wenn REQUIREMENTS.md unstaged Aenderungen hat)
- prompts/requirements.prompt.md: liest und schreibt jetzt docs/requirements/REQUIREMENTS.md
- copilot-instructions.md (beide): Requirements-Sektion, DoD + Before-starting erweitert
- git-templates/history/summary/PROJECT_CONTEXT.md: Requirements-Pfad erganzt
2026-06-02 17:51:41 +00:00
d31db9086f fix: alle --no-verify Referenzen entfernt + pre-commit Nummerierung
- docs/USER.md: --no-verify FAQ-Hinweis durch .copilot-no-tests/.copilot-no-docs ersetzt
- docs/ADMIN.md: Hook-pro-Commit-Deaktivierung und Troubleshooting-Eintrag bereinigt
- docs/MAINTAINER.md: Escape-Valve Formulierung durch Opt-out Beschreibung ersetzt
- copilot-instructions.md (beide): DoD 'oder Bypass bewusst begruendet' entfernt
- pre-commit: Check-Nummerierung [1/3]+[2/3] -> [1/4]+[2/4]
2026-06-02 17:38:34 +00:00
fb1a01ba78 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
2026-06-02 11:13:34 +00:00
eb19cf7e99 fix: --no-verify komplett entfernt aus pre-commit + .copilot-no-tests
- pre-commit: alle --no-verify Hinweise aus Fehlermeldungen entfernt
- pre-commit: .copilot-no-tests Opt-out fuer Repos ohne Test-Framework (Check 1)
- .copilot-no-tests angelegt: dieses Setup-Repo hat kein Test-Framework
- copilot-instructions.md: no-verify + force-push explizit verboten
- README: Templates-Update Sektion + neue Scripts dokumentiert
2026-06-02 10:54:08 +00:00
3b34074556 docs: agent session history 2026-06-02 copilot-update-auto-deploy 2026-06-02 10:43:42 +00:00
55fee83bbd fix: post-commit Hook im Setup-Repo selbst installieren via deploy.sh 2026-06-02 10:41:28 +00:00
0df0f691cd fix: copilot-instructions.md Session-END Protokoll korrigiert
- Suffix _session.md als Pflichtformat dokumentiert (post-commit Hook-Erkennung)
- 'auch ohne explizite Aufforderung' entfernt: History nur via /history erstellen
  (VS Code Copilot System-Instruction blockiert sonst das Anlegen neuer Markdown-Dateien)
- Hinweis auf Konflikt mit System-Instruction ergänzt
- Gleiches Fix in git-templates/.github/copilot-instructions.md
2026-06-02 10:39:01 +00:00
0d42b4fb55 feat: copilot-update.sh + git copilot-update alias + post-merge auto-deploy
- 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
2026-06-02 10:36:16 +00:00
4c6fd1331c feat: post-commit hängt git-block an session-datei an
- Hook erkennt *_session.md Dateien (vom Agent via /history erstellt)
- Modus A: Git-Block an bestehende Konversations-Datei anhängen
- Modus B: Nur Git-Stub wenn kein Agent-Log vorhanden (Hinweis ausgeben)
- history.prompt.md: Dateinamen-Konvention _session.md dokumentiert
2026-06-02 09:30:23 +00:00
16588b1888 feat: mandatory agent session protocol – start/end history logging
- user-settings/settings.json: new codeGeneration.instruction forces agents to
  read PROJECT_CONTEXT.md on session start and write history log on session end
- git-templates/.github/copilot-instructions.md: prominent MANDATORY section
  at top of file (highest priority, cannot be ignored)
- .github/copilot-instructions.md: same protocol for this repo itself
2026-05-31 13:01:12 +00:00
67fbc150f8 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
2026-05-31 12:56:52 +00:00
e1f912f248 fix: mkdir -p .git/hooks before hook install in bootstrap
Also bootstrapped own repo: adds history/, data/, .vscode/, .gitignore
2026-05-31 12:54:13 +00:00
95d03603cf fix: history/prompts/ is committed, not gitignored
Full agent conversation history is preserved in git.
Only data/ remains gitignored (persistent service data).
2026-05-31 12:51:15 +00:00
045e2e7202 feat: add data/, history/, 3-target-group docs, pre-commit quality gate
- New repo convention: /data/<service>/ for all persistent service data (gitignored)
- New repo convention: /history/prompts/ (gitignored) + /history/summary/PROJECT_CONTEXT.md
  for agent session logging and compressed project context
- git-templates/hooks/pre-commit: quality gate checking tests + docs on every commit
- git-templates/docs/: USER.md, ADMIN.md, MAINTAINER.md templates (3 target groups)
- git-templates/history/summary/PROJECT_CONTEXT.md: agent context template
- prompts/history.prompt.md: /history prompt for logging sessions + updating summary
- copilot-bootstrap.sh: creates all new folders, .gitignore entries, installs hook
- deploy.sh + deploy.fish: deploy hooks, doc templates, history template
- docs/ADMIN.md: new admin handbook for this project
- docs/USER.md + docs/MAINTAINER.md: updated with new conventions
- git-templates/.github/copilot-instructions.md: extended DoD + new conventions
- README.md: updated structure overview + prompt table
2026-05-30 17:19:52 +00:00
9838c7a0b3 feat: initial copilot workspace setup
- User settings.json with 9 senior-dev behavior rules
- 9 prompt files: requirements, architecture, new-feature, code-review,
  debug, refactor, write-tests, done-check, docker
- git-templates for .github/ and .vscode/ auto-copy on git init
- deploy.sh (macOS/bash) and deploy.fish (Linux/fish) scripts
- copilot-bootstrap.fish for existing/cloned repos
2026-05-29 08:19:50 +00:00