Setup an AI ready workspace to leverage the moste out of coding with LLMs.
Find a file
Conrad Schulz 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
.github feat: requirements engineering + konsistenz-check 2026-06-02 17:51:41 +00:00
.vscode fix: mkdir -p .git/hooks before hook install in bootstrap 2026-05-31 12:54:13 +00:00
data fix: mkdir -p .git/hooks before hook install in bootstrap 2026-05-31 12:54:13 +00:00
docs fix: alle --no-verify Referenzen entfernt + pre-commit Nummerierung 2026-06-02 17:38:34 +00:00
git-templates fix: pre-commit Check 6 – Session-Datei muss in Commit gestaged sein 2026-06-03 05:55:36 +00:00
history fix: pre-commit Check 6 – Session-Datei muss in Commit gestaged sein 2026-06-03 05:55:36 +00:00
prompts fix: pre-commit Check 6 – Session-Datei muss in Commit gestaged sein 2026-06-03 05:55:36 +00:00
scripts fix: review-findings behoben (7 Punkte) 2026-06-02 11:13:34 +00:00
user-settings feat: mandatory agent session protocol – start/end history logging 2026-05-31 13:01:12 +00:00
.copilot-no-docs fix: review-findings behoben (7 Punkte) 2026-06-02 11:13:34 +00:00
.copilot-no-session fix: pre-commit Check 6 – Session-Datei muss in Commit gestaged sein 2026-06-03 05:55:36 +00:00
.copilot-no-tests fix: --no-verify komplett entfernt aus pre-commit + .copilot-no-tests 2026-06-02 10:54:08 +00:00
.gitignore feat: pre-commit Check 6 – Session-Datei fuer heute erforderlich 2026-06-02 18:02:52 +00:00
README.md fix: --no-verify komplett entfernt aus pre-commit + .copilot-no-tests 2026-06-02 10:54:08 +00:00

rd13_copilot_setup

GitHub Copilot Workspace-Konfiguration für maximale Produktivität portierbar auf alle Maschinen und Repositories.

Was ist das?

Dieses Repo enthält alle Konfigurationsdateien die nötig sind um GitHub Copilot wie ein Team aus Senior-Entwicklern arbeiten zu lassen:

  • User-Level Settings Copilot-Flags und Senior-Dev-Grundverhalten (per Settings Sync auf alle Geräte)
  • Prompt Files 10 wiederverwendbare Agent-Workflows (/requirements, /new-feature, /architecture, etc.)
  • Git-Templates automatisch in jedes neue Repo kopiert via git init (per Git-Alias)
  • Bootstrap-Skript bestehende und geclonte Repos in Sekunden ausstatten (POSIX sh, läuft überall)
  • Update-Mechanismus Templates und Prompts in allen Repos mit einem Befehl aktuell halten: git copilot-update

Templates aktuell halten neuer Standard

Nach der Ersteinrichtung gibt es einen einzigen Befehl um alle Templates, Prompt-Dateien und Git-Hooks in einem Repo auf den neuesten Stand zu bringen:

git copilot-update

Was das macht:

  1. Setup-Repo pullen ~/.copilot-setup/ (SSH, HTTP-Fallback zu http://192.168.178.6:8083/cschulz/rd13_copilot_setup)
  2. Globale Templates updaten ~/.git-templates/ + VS Code Prompt-Dateien
  3. Repo-lokale Hooks updaten .git/hooks/pre-commit + post-commit
  4. copilot-instructions.md nur überschreiben wenn noch TODO-Platzhalter enthalten (Backup .bak wird angelegt)

Empfehlung: In jedem Repo nach einem git pull auf dem Setup-Repo ausführen, oder wenn ein neues Feature-Prompt oder eine Hook-Verbesserung verfügbar ist.

Auto-Update für das Setup-Repo selbst

Nach deploy.sh ist im Setup-Repo selbst ein post-merge Hook aktiv:

git pull   # im Setup-Repo → deploy.sh läuft automatisch → alle Templates sofort aktuell

Opt-in: Auto-Update in anderen Repos nach git pull

copilot-bootstrap.sh --with-update-hook /pfad/zum/repo
# → installiert post-merge Hook: git pull → git copilot-update

Schnellstart

Ersteinrichtung (Linux / macOS)

# 1. Repo klonen
git clone <this-repo> ~/dotfiles/copilot-setup
cd ~/dotfiles/copilot-setup

# 2. Deploy-Skript ausführen
bash scripts/deploy.sh        # macOS (bash)
fish scripts/deploy.fish      # Linux mit fish

Das Skript legt alles an den richtigen Orten ab.

Bestehende oder geclonte Repos ausstatten

cd /path/to/existing-repo
copilot-bootstrap.sh
# → legt .github/copilot-instructions.md + .vscode/ + Hooks an, überschreibt nichts

# Mit opt-in Auto-Update nach git pull:
copilot-bootstrap.sh --with-update-hook

VS Code Settings Sync aktivieren (einmalig pro Gerät)

Ctrl+Shift+PSettings Sync: Turn On → Mit GitHub-Account einloggen → Alle Elemente auswählen


Struktur

rd13_copilot_setup/
├── user-settings/
│   └── settings.json              ← In ~/.config/Code/User/settings.json (Linux)
│                                     oder ~/Library/Application Support/Code/User/ (macOS)
├── prompts/                        ← In VS Code User/prompts/ ablegen (Settings Sync)
│   ├── requirements.prompt.md      /requirements   Requirements Engineering Workshop
│   ├── architecture.prompt.md      /architecture   Architektur-Review + ADR erstellen
│   ├── new-feature.prompt.md       /new-feature    Vollständiger Feature-Workflow
│   ├── code-review.prompt.md       /code-review    Security + Qualitäts-Review
│   ├── debug.prompt.md             /debug          Root-Cause-Analyse + Fix
│   ├── refactor.prompt.md          /refactor       Refactoring ohne Behavior-Change
│   ├── write-tests.prompt.md       /write-tests    Test-Generierung
│   ├── done-check.prompt.md        /done-check     Definition of Done Checkliste
│   ├── docker.prompt.md            /docker         Docker/Compose-Aufgaben
│   └── history.prompt.md           /history        Agent-History loggen + Kontext aktualisieren
├── git-templates/                  ← Wird via git config --global init.templateDir gesetzt
│   ├── .github/
│   │   └── copilot-instructions.md ← Template mit TODO-Feldern + Konventionen
│   ├── .vscode/
│   │   ├── settings.json
│   │   └── extensions.json
│   ├── hooks/
│   │   ├── pre-commit              ← Agent Quality Gate (Tests + Doku-Check)
│   │   ├── post-commit             ← Automatischer History-Log nach jedem Commit
│   │   └── post-merge              ← Opt-in: copilot-update nach git pull
│   ├── docs/
│   │   ├── USER.md                 ← Template: Endnutzer-Dokumentation
│   │   ├── ADMIN.md                ← Template: Administrator-Dokumentation
│   │   └── MAINTAINER.md           ← Template: Entwickler-Dokumentation
│   └── history/
│       └── summary/
│           └── PROJECT_CONTEXT.md  ← Template: Agent-Kontext-Summary
├── docs/
│   ├── USER.md                     ← Benutzerhandbuch (Einrichtung + Nutzung)
│   ├── ADMIN.md                    ← Administrator-Handbuch (Deploy, Hooks, PATH)
│   └── MAINTAINER.md               ← Architektur, Designentscheidungen, Erweiterung
└── scripts/
    ├── deploy.sh                   ← Deployment-Skript (bash, für macOS + Linux)
    ├── deploy.fish                 ← Deployment-Skript (fish, für Linux)
    ├── copilot-bootstrap.sh        ← Einzelnes Repo ausstatten (POSIX sh, portabel)
    ├── copilot-bootstrap.fish      ← Einzelnes Repo ausstatten (fish)
    ├── copilot-update.sh           ← Templates + Hooks in allen Repos updaten (POSIX sh)
    └── copilot-update.fish         ← Templates + Hooks in allen Repos updaten (fish)

Architektur: 3-Schichten-Modell

┌─────────────────────────────────────────────────────────┐
│  Layer 1: Immer aktiv (User settings.json)               │
│  • 9 Senior-Dev-Grundregeln in codeGeneration.instructions│
│  • Commit-Format, Review-Standard, Test-Standard         │
│  • Copilot Feature-Flags                                 │
├─────────────────────────────────────────────────────────┤
│  Layer 2: Auf Abruf (Prompt Files)                       │
│  • /requirements  /architecture  /new-feature            │
│  • /code-review   /debug         /refactor               │
│  • /write-tests   /done-check    /docker                 │
├─────────────────────────────────────────────────────────┤
│  Layer 3: Repo-spezifisch (.github/copilot-instructions) │
│  • Stack, Konventionen, ADR-Entscheidungen               │
│  • Definition of Done für dieses Projekt                 │
│  • NFRs (Performance, Availability, Security)            │
└─────────────────────────────────────────────────────────┘

Layer 1 gilt automatisch für jede Anfrage ohne Prompt-File.
Layer 2 wird per /prompt-name im Chat aufgerufen.
Layer 3 ist git-tracked, liegt im Repo und wird von Copilot automatisch geladen.


Was jedes Repo automatisch bekommt

Nach git init (via Alias) oder copilot-bootstrap.sh:

Was Wo
Copilot-Anweisungen + Konventionen .github/copilot-instructions.md
VS Code-Einstellungen .vscode/
pre-commit Quality Gate .git/hooks/pre-commit
post-commit History-Log .git/hooks/post-commit
Persistente Daten (gitignored) data/
Agent-Konversationen (committed) history/prompts/
Agent-Kontext-Summary (committed) history/summary/PROJECT_CONTEXT.md
Endnutzer-Dokumentation docs/USER.md
Administrator-Dokumentation docs/ADMIN.md
Entwickler-Dokumentation docs/MAINTAINER.md

Prompt Files Wann was verwenden

Prompt Aufruf Wann verwenden
requirements /requirements Vor dem Start User Stories, ACs, NFRs erarbeiten
architecture /architecture Bei nicht-trivialen Entscheidungen → ADR erstellen
new-feature /new-feature Feature starten alle 5 Phasen von Req bis Commit
code-review /code-review Vor dem Merge OWASP + Qualität + Performance
debug /debug Bug analysieren Root Cause, kein Symptom-Fix
refactor /refactor Code verbessern ohne Behavior-Change
write-tests /write-tests Test-Coverage-Lücken schließen
done-check /done-check Abnahme-Check vor dem Merge (7-Punkte-Checkliste)
docker /docker Docker/Compose analysieren, debuggen, erweitern
history /history Agent-Session loggen + Kontext-Summary aktualisieren

Neues Repo einrichten Checkliste

Nach git init (mit eingerichtetem Alias) passiert alles automatisch.

Nach git clone oder ohne Alias:

# Option A: Bootstrap-Skript (empfohlen)
copilot-bootstrap.sh

# Option A+: Mit opt-in Auto-Update-Hook (copilot-update nach jedem git pull)
copilot-bootstrap.sh --with-update-hook

# Option B: Manuell
mkdir -p .github .vscode
cp ~/.git-templates/.github/copilot-instructions.md .github/
cp ~/.git-templates/.vscode/settings.json .vscode/
cp ~/.git-templates/.vscode/extensions.json .vscode/

Danach:

  1. TODO-Felder in .github/copilot-instructions.md ausfüllen
  2. git copilot-update stellt sicher dass alle Hooks auf dem neuesten Stand sind

→ Detaillierte Anleitungen: docs/USER.md | docs/MAINTAINER.md


.github/copilot-instructions.md ausfüllen

Die wichtigsten Felder:

## Project
[1-2 Sätze was das Projekt macht]

## Stack
- Language: TypeScript / Python / Go / ...
- Framework: Next.js / FastAPI / ...
- Database: PostgreSQL / Redis / ...

## Architecture
- Pattern: Hexagonal / MVC / Event-driven
- Key constraints: [z.B. "stateless services", "no ORM"]

## Conventions
- Branch: feat/<ticket>-description
- Commits: Conventional Commits
- Naming: camelCase functions, PascalCase classes

## Non-Functional Requirements
- Response time: <200ms p95
- Availability: 99.9%

Je mehr Kontext hier steht, desto besser arbeitet Copilot ohne Nachfragen.