# 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** – 9 wiederverwendbare Agent-Workflows (`/requirements`, `/new-feature`, `/architecture`, etc.) - **Git-Templates** – automatisch in jedes neue Repo kopiert via `git init` - **Bootstrap-Skript** – bestehende und geclonte Repos in Sekunden ausstatten --- ## Schnellstart ### Ersteinrichtung (Linux / macOS) ```bash # 1. Repo klonen git clone ~/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 ```bash cd /path/to/existing-repo fish ~/.local/bin/copilot-bootstrap.fish # → legt .github/copilot-instructions.md + .vscode/ an, überschreibt nichts ``` ### VS Code Settings Sync aktivieren (einmalig pro Gerät) `Ctrl+Shift+P` → **Settings 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 ├── git-templates/ ← Wird via git config --global init.templateDir gesetzt │ ├── .github/ │ │ └── copilot-instructions.md ← Template mit TODO-Feldern │ └── .vscode/ │ ├── settings.json │ └── extensions.json └── scripts/ ├── deploy.sh ← Deployment-Skript (bash, für macOS) ├── deploy.fish ← Deployment-Skript (fish, für Linux) └── copilot-bootstrap.fish ← Einzelnes Repo ausstatten ``` --- ## 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. --- ## 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 | --- ## Neues Repo einrichten – Checkliste Nach `git clone` oder `git init`: ```bash # Option A: Bootstrap-Skript (empfohlen) fish ~/.local/bin/copilot-bootstrap.fish # Option B: Manuell mkdir -p .github .vscode cp ~/dotfiles/copilot-setup/git-templates/.github/copilot-instructions.md .github/ cp ~/dotfiles/copilot-setup/git-templates/.vscode/settings.json .vscode/ cp ~/dotfiles/copilot-setup/git-templates/.vscode/extensions.json .vscode/ ``` Danach: TODO-Felder in `.github/copilot-instructions.md` ausfüllen. --- ## .github/copilot-instructions.md ausfüllen Die wichtigsten Felder: ```markdown ## 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/-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.