# GSD mit GitHub Copilot in VS Code nutzen

Diese Anleitung beschreibt, wie **GSD** installiert und mit **GitHub Copilot Chat in VS Code** genutzt wird. Die Installation wird als **root** ausgeführt.

---

## 1. Was ist GSD?

**GSD** steht für *Get Shit Done*. Es ist ein Workflow-System für KI-gestützte Entwicklung. GSD ergänzt Tools wie GitHub Copilot Chat, Claude Code, Codex, Cursor oder ähnliche Coding-Assistenten um strukturierte Abläufe.

Ohne GSD arbeitet ein KI-Chat oft sehr frei: Man beschreibt ein Problem, bekommt Code zurück, testet etwas, korrigiert wieder, verliert Kontext und irgendwann weiß niemand mehr genau, was eigentlich gebaut werden sollte. Willkommen in der modernen Softwareentwicklung, jetzt mit noch mehr Chatfenstern.

GSD soll genau dieses Problem lösen. Es zwingt die KI in einen klareren Ablauf:

- Projekt oder Codebasis analysieren
- Ziele und Anforderungen erfassen
- Arbeit in Phasen zerlegen
- Aufgaben planen
- Änderungen schrittweise umsetzen
- Ergebnisse prüfen
- Fortschritt dokumentieren

Das Ziel ist nicht, dass die KI einfach wild Dateien ändert. Das Ziel ist ein nachvollziehbarer Entwicklungsprozess mit Planung, Status, Aufgaben und Prüfung.

---

## 2. Welches Problem löst GSD?

GSD hilft besonders bei diesen typischen Problemen:

- **Kontextverlust:** Die KI vergisst nach längeren Chats, worum es eigentlich ging.
- **Planloses Coden:** Änderungen werden gemacht, ohne dass vorher klar ist, was genau erreicht werden soll.
- **Zu große Aufgaben:** Ein Feature wird nicht in kleine, prüfbare Schritte zerlegt.
- **Fehlende Nachvollziehbarkeit:** Es ist später unklar, warum eine Änderung gemacht wurde.
- **Schlechte Verifikation:** Code wird erzeugt, aber nicht sauber geprüft.

GSD arbeitet deshalb mit Kommandos wie `/gsd-new-project`, `/gsd-discuss-phase`, `/gsd-plan-phase`, `/gsd-execute-phase` und `/gsd-verify-work`.

---

## 3. Voraussetzungen

Für die Installation werden benötigt:

- Debian oder ein ähnliches Linux-System
- Root-Zugriff
- Git
- Node.js 22 oder neuer
- npm
- VS Code mit GitHub Copilot Chat

Die folgenden Befehle werden als **root** ausgeführt.

---

## 4. Node.js und npm installieren

Zuerst werden die benötigten Pakete installiert:

```
apt-get update
apt-get install -y ca-certificates curl gnupg
```

Danach wird Node.js 22 eingerichtet:

```
curl -fsSL https://deb.nodesource.com/setup_22.x -o nodesource_setup.sh
bash nodesource_setup.sh
apt-get install -y nodejs
```

Anschließend prüfen:

```
node --version
npm --version
npx --version
git --version
```

Erwartet wird ungefähr:

```
node: Version 22 oder neuer
npm: Version 10 oder neuer
git: installiert
```

---

## 5. GSD global installieren

Damit die GSD-Hilfsprogramme dauerhaft verfügbar sind, wird GSD global installiert:

```
npm install -g @opengsd/get-shit-done-redux@latest
```

Danach prüfen:

```
which get-shit-done-redux
which gsd-sdk
gsd-sdk --help
```

Wichtig ist, dass `gsd-sdk` gefunden wird. Einige GSD-Workflows verwenden dieses Hilfsprogramm intern.

---

## 6. GSD in einem Projekt installieren

Nun in den gewünschten Projektordner wechseln:

```
cd /pfad/zum/projekt
```

Danach prüfen, ob es sich um ein Git-Projekt handelt:

```
git status
```

Anschließend GSD für GitHub Copilot lokal im Projekt installieren:

```
get-shit-done-redux --copilot --local --profile=core
```

Dadurch wird im Projekt ein Verzeichnis `.github` angelegt. Darin liegen unter anderem:

- `.github/copilot-instructions.md`
- `.github/skills/`
- `.github/get-shit-done/`
- `.github/gsd-file-manifest.json`
- `.github/gsd-install-state.json`

Installation prüfen:

```
ls -la .github
find .github -maxdepth 3 -type f | sort
```

---

## 7. GSD-Dateien ins Git übernehmen

Wenn GSD dauerhaft Teil des Projekts sein soll, sollten die GSD-Dateien committed werden:

```
git status
git add .github
git commit -m "Add GSD Copilot workflow configuration"
```

Danach sind die Copilot-Anweisungen und GSD-Skills im Repository versioniert. Das ist sinnvoll, damit alle Beteiligten mit denselben KI-Regeln arbeiten.

---

## 8. GSD in VS Code testen

Das Projekt in VS Code öffnen. Danach GitHub Copilot Chat öffnen und folgenden Befehl senden:

```
/gsd-help
```

Wenn GSD korrekt erkannt wird, zeigt Copilot eine Übersicht der verfügbaren GSD-Kommandos an.

Für ein bestehendes Projekt ist danach dieser Befehl sinnvoll:

```
/gsd-map-codebase
```

Damit analysiert GSD die vorhandene Codebasis und kann spätere Aufgaben besser einordnen.

---

## 9. GSD für ein neues Projekt nutzen

Für ein neues Projekt wird zuerst ein leerer oder vorbereiteter Projektordner angelegt und als Git-Repository initialisiert:

```
mkdir mein-neues-projekt
cd mein-neues-projekt
git init
```

Danach GSD im Projekt installieren:

```
get-shit-done-redux --copilot --local --profile=core
```

Danach das Projekt in VS Code öffnen und in Copilot Chat starten mit:

```
/gsd-new-project
```

GSD fragt dann nach Ziel, Umfang, Anforderungen und gewünschter Struktur. Daraus erstellt es eine Projektbasis mit Planungsdokumenten und nächsten Arbeitsschritten.

---

## 10. Typischer Workflow mit GSD

Ein normaler GSD-Ablauf sieht so aus:

1. Projekt oder Feature beschreiben
2. Phase besprechen
3. Phase planen
4. Phase umsetzen lassen
5. Ergebnis prüfen
6. Fortschritt committen
7. Nächste Phase bearbeiten

### 10.1 Projektstatus anzeigen

```
/gsd-progress
```

Zeigt, wo das Projekt steht und welche nächsten Schritte sinnvoll sind.

### 10.2 Eine Phase besprechen

```
/gsd-discuss-phase 1
```

Dieser Schritt dient dazu, Ziel, Annahmen, Risiken und offene Fragen der Phase zu klären.

### 10.3 Eine Phase planen

```
/gsd-plan-phase 1
```

GSD erstellt daraus einen konkreten Plan. Dieser Plan sollte geprüft werden, bevor die KI Änderungen am Projekt macht.

### 10.4 Eine Phase ausführen

```
/gsd-execute-phase 1
```

GSD setzt die geplanten Aufgaben um. Danach sollte immer geprüft werden, welche Dateien geändert wurden.

```
git status
git diff
```

### 10.5 Arbeit prüfen

```
/gsd-verify-work 1
```

Dieser Schritt prüft, ob die Phase wirklich abgeschlossen ist. Das ist wichtig, weil „Code wurde erzeugt“ nicht automatisch bedeutet, dass „Code funktioniert“. Eine Erkenntnis, für die die Menschheit offenbar erst KI gebraucht hat.

---

## 11. Todos mit GSD erstellen

Kleine Aufgaben, Ideen oder Backlog-Einträge können mit GSD erfasst werden.

Beispiel:

```
/gsd-capture Todo: Login-Seite validieren und Fehlermeldungen verbessern
```

Weitere Beispiele:

```
/gsd-capture Idee: Statusseite für VPN-Verbindungen ergänzen
```

```
/gsd-capture Bug: Formular speichert leere Werte ohne Fehlermeldung
```

```
/gsd-capture Backlog: Exportfunktion für Konfigurationsdaten ergänzen
```

Danach kann mit folgendem Befehl geprüft werden, was als Nächstes ansteht:

```
/gsd-progress
```

---

## 12. Todos abarbeiten lassen

Für kleine, klar begrenzte Aufgaben kann `/gsd-quick` genutzt werden:

```
/gsd-quick Setze den offenen Todo "Login-Seite validieren und Fehlermeldungen verbessern" um.
```

Für sehr kleine Änderungen eignet sich `/gsd-fast`:

```
/gsd-fast "Korrigiere den Tippfehler in der Überschrift der Startseite."
```

Für größere Aufgaben sollte eine eigene Phase genutzt werden:

```
/gsd-discuss-phase 2
/gsd-plan-phase 2
/gsd-execute-phase 2
/gsd-verify-work 2
```

Nach jeder Umsetzung prüfen:

```
git status
git diff
```

Wenn die Änderungen passen:

```
git add .
git commit -m "Implement planned GSD changes"
```

---

## 13. Sichere Arbeitsweise

GSD ist hilfreich, aber es bleibt ein KI-gestütztes Werkzeug. Deshalb sollte man es wie einen sehr schnellen Junior-Entwickler behandeln: produktiv, motiviert und gelegentlich komplett überzeugt von Unsinn.

Empfohlene Regeln:

- Vor jeder größeren Aufgabe erst planen lassen.
- Vor Änderungen immer klären, welche Dateien betroffen sind.
- Nach Änderungen immer `git status` und `git diff` prüfen.
- Nicht blind committen.
- Keine sensiblen Zugangsdaten in Prompts schreiben.
- Große Aufgaben in kleine Phasen zerlegen.
- Tests ausführen, wenn das Projekt Tests besitzt.

---

## 14. Nützliche GSD-Kommandos

<table id="bkmrk-kommando-zweck-%2Fgsd-"><thead><tr><th>Kommando</th><th>Zweck</th></tr></thead><tbody><tr><td>`/gsd-help`</td><td>Zeigt die GSD-Hilfe an.</td></tr><tr><td>`/gsd-map-codebase`</td><td>Analysiert eine bestehende Codebasis.</td></tr><tr><td>`/gsd-new-project`</td><td>Startet einen neuen GSD-Projektworkflow.</td></tr><tr><td>`/gsd-progress`</td><td>Zeigt aktuellen Stand und nächste Schritte.</td></tr><tr><td>`/gsd-capture`</td><td>Speichert Ideen, Todos, Bugs oder Backlog-Einträge.</td></tr><tr><td>`/gsd-discuss-phase <N>`</td><td>Bespricht Ziel und Rahmen einer Phase.</td></tr><tr><td>`/gsd-plan-phase <N>`</td><td>Erstellt einen konkreten Plan für eine Phase.</td></tr><tr><td>`/gsd-execute-phase <N>`</td><td>Setzt eine geplante Phase um.</td></tr><tr><td>`/gsd-verify-work <N>`</td><td>Prüft, ob die Arbeit korrekt abgeschlossen wurde.</td></tr><tr><td>`/gsd-quick`</td><td>Bearbeitet eine kleine Aufgabe mit GSD-Struktur.</td></tr><tr><td>`/gsd-fast`</td><td>Bearbeitet eine sehr kleine Änderung direkt.</td></tr></tbody></table>

---

## 15. Beispiel: Kompletter Ablauf

Beispiel für ein neues Feature:

```
/gsd-capture Todo: Benutzerrollen im Adminbereich verbessern
```

```
/gsd-progress
```

```
/gsd-discuss-phase 1
```

```
/gsd-plan-phase 1
```

```
/gsd-execute-phase 1
```

```
/gsd-verify-work 1
```

Danach im Terminal prüfen:

```
git status
git diff
```

Wenn alles passt:

```
git add .
git commit -m "Improve admin user roles"
```

---

## 16. Zusammenfassung

GSD macht aus einem freien KI-Chat einen strukturierteren Entwicklungsprozess. Es hilft dabei, Anforderungen, Planung, Umsetzung, Todos und Prüfung sauberer zu organisieren.

Der wichtigste Start für bestehende Projekte:

```
/gsd-map-codebase
/gsd-progress
```

Der wichtigste Start für neue Projekte:

```
/gsd-new-project
```

Der wichtigste Sicherheitsgriff bleibt trotzdem:

```
git status
git diff
```

Denn auch mit GSD gilt: Vertrauen ist gut, Versionskontrolle ist besser.