--- name: init-project description: Initialisiert die .claude/ Projektstruktur mit code-reviewer Agent, create-todo und code-review-todo Skills, sowie code-review/ und todos/ Ordnern. Analysiert den Tech-Stack automatisch. argument-hint: "[optional: pfad zum projekt]" allowed-tools: Read, Write, Edit, Glob, Grep, Bash, WebSearch --- # Project Init - Claude Code Projektstruktur Erstellt eine vollstaendige `.claude/`-Struktur fuer jedes Projekt. Analysiert automatisch den Tech-Stack und generiert projektspezifische Agents und Skills. ## Wann verwenden - Neues Projekt starten und Claude Code Infrastruktur einrichten - Bestehendes Projekt um Review- und Todo-Tracking erweitern - `/init-project` in einem beliebigen Projektverzeichnis ausfuehren ## Was wird erstellt ``` .claude/ ├── agents/code-reviewer.md # Projektspezifischer Code-Review Agent ├── code-review/ # Code-Review Findings (P0-P4) │ └── .gitkeep ├── todos/ # Feature-Todos, Bugfixes, Verbesserungen │ └── .gitkeep └── skills/ ├── create-todo/SKILL.md # Erstellt Todos im .claude/todos/ Ordner └── code-review-todo/SKILL.md # Erstellt Review-Findings im .claude/code-review/ Ordner ``` ## Workflow ### Schritt 1: Projekt analysieren Sammle den vollstaendigen Projektkontext. Lies diese Dateien (falls vorhanden): 1. **CLAUDE.md** - Hauptquelle fuer Architektur, Konventionen, Commands 2. **package.json** - Frontend: Framework, Dependencies, Scripts 3. **requirements.txt** / **pyproject.toml** - Backend: Python Dependencies 4. **Cargo.toml** / **go.mod** - Andere Sprachen 5. **docker-compose.yml** / **Dockerfile** - Deployment-Setup 6. **tsconfig.json** / **next.config.*** - TypeScript/Next.js Config Extrahiere daraus: | Info | Beispiel | |------|---------| | **Sprache(n)** | Python 3.13, TypeScript 5.x | | **Framework(s)** | Django 6.0, Next.js 16 | | **Datenbank** | PostgreSQL 18, SQLite | | **Package Manager** | npm, pip, cargo | | **Test-Framework** | pytest, Vitest, Jest | | **Test-Command** | `npm run check`, `python manage.py test` | | **Lint-Command** | `ruff check`, `eslint` | | **Architektur-Typ** | Monolith, Monorepo, Microservices | | **Hauptverzeichnisse** | Apps, Module, Packages | | **Key Models/Components** | Die wichtigsten Datenstrukturen | | **API-Patterns** | ViewSets, @api_view, tRPC, REST | | **Auth-Pattern** | JWT, Session, OAuth | | **State Management** | React Query, Zustand, Redux | ### Schritt 2: Bestehende Struktur pruefen ```bash # Pruefe was bereits existiert find .claude -type f 2>/dev/null | sort ``` **Regeln:** - Bestehende Dateien NICHT ueberschreiben (warnen und ueberspringen) - Bestehende Ordner wiederverwenden - Nur fehlende Teile ergaenzen ### Schritt 3: Verzeichnisse anlegen ```bash mkdir -p .claude/{agents,code-review,todos,skills/create-todo,skills/code-review-todo} touch .claude/code-review/.gitkeep .claude/todos/.gitkeep ``` ### Schritt 4: Code-Reviewer Agent erstellen Erstelle `.claude/agents/code-reviewer.md` mit diesem Geruest. **Passe den Inhalt vollstaendig an den erkannten Tech-Stack an:** ~~~markdown --- name: code-reviewer description: > Projektspezifischer Code-Review Agent fuer [PROJEKTNAME]. Analysiert Code auf Security, Performance, Architektur und Best Practices. Erstellt strukturierte Todo-Dateien in .claude/code-review/ im code-review-todo Format. Nutzt Web-Recherche um aktuelle Best Practices zu verifizieren. model: sonnet color: cyan allowed-tools: Read, Glob, Grep, Write, Edit, Bash, WebSearch, WebFetch --- Du bist ein erfahrener Code-Review-Spezialist fuer das **[PROJEKTNAME]** Projekt. Du analysierst Code systematisch und erstellst strukturierte Todo-Dateien fuer jedes Finding. ## Projektkontext ### Tech-Stack [GENERIERT: Alle erkannten Technologien mit exakten Versionsnummern] ### Architektur [GENERIERT: Hauptverzeichnisse, Apps/Module, Key Patterns] ### Wichtige Patterns [GENERIERT: Projektspezifische Code-Konventionen und Patterns] ## Review-Prozess ### Schritt 1: Kontext sammeln 1. Lies `CLAUDE.md` fuer aktuelle Projektkonventionen 2. Identifiziere den Review-Scope 3. Nutze `git diff` oder `git log` um kuerzliche Aenderungen zu verstehen 4. Lies die betroffenen Dateien vollstaendig ### Schritt 2: Systematische Analyse [GENERIERT: Checklisten passend zum Tech-Stack. Beispiele:] **Fuer Python/Django Projekte:** - Security (Secrets, Auth, CSRF, XSS, SQL-Injection) - Performance (N+1 Queries, Indexes, Bulk Ops) - Django Best Practices (Fat Models, Migrations, on_delete) - DRF/API (Serializer, Pagination, Status Codes) **Fuer TypeScript/Next.js Projekte:** - Security (XSS, Token-Handling, Server-Only Secrets) - Performance (Bundle Size, Re-Renders, Server Components) - Next.js Patterns (App Router, use client, Metadata) - React/TypeScript (keine any-Types, Keys, useEffect Cleanup) **Fuer Fullstack Projekte:** - Beide Checklisten kombiniert, nach Frontend/Backend getrennt **Fuer Rust/Go/andere Projekte:** - Sprachspezifische Checklisten (Memory Safety, Error Handling, Concurrency) ### Schritt 3: Prioritaet klassifizieren | Prioritaet | Tag | Kriterien | Beispiele | |------------|-----|-----------|-----------| | **Kritisch** | `P0` | Security-Luecke, Datenverlust, kaputte Auth | [ANGEPASSTE BEISPIELE] | | **Hoch** | `P1` | Performance-Crash, Datenkorruption, UX-Bruch | [ANGEPASSTE BEISPIELE] | | **Wichtig** | `P2` | Inkonsistente Patterns, Wartbarkeitsrisiko | [ANGEPASSTE BEISPIELE] | | **Mittel** | `P3` | Code-Qualitaet, Dead Code | [ANGEPASSTE BEISPIELE] | | **Niedrig** | `P4` | Stilistik, Dokumentation | [ANGEPASSTE BEISPIELE] | ### Schritt 4: Best Practice recherchieren 1. Projekt-Konventionen (CLAUDE.md, bestehender Code) 2. Framework-Docs ([FRAMEWORK] [VERSION]) 3. Referenz im Projekt finden 4. Web-Recherche bei Bedarf ### Schritt 5: Todo-Datei erstellen **Dateiname-Format:** `P[0-4]-[thema]-[kebab-case-beschreibung].md` in `.claude/code-review/` **Thematische Tags (immer diese 9 verwenden):** | Tag | Verwendung | |-----|------------| | `security` | Secrets, XSS, CSRF, Injection, Headers, Cookies | | `auth` | Authentifizierung, Autorisierung, Permissions, Tokens | | `performance` | Queries, N+1, Indexes, Caching, Bundle Size, Re-Renders | | `architecture` | God-Models, Modulgrenzen, Patterns, Strukturelle Bedenken | | `error-handling` | Exceptions, try/catch, Error Boundaries, Fehlerbehandlung | | `api` | Endpoints, Serializer, Status Codes, Pagination | | `bug` | Fehlerhaftes Verhalten, Datenkorruption, Logic Errors | | `config` | Settings, Environment, Dependencies, Feature Flags | | `cleanup` | Dead Code, Imports, Naming, Deprecations, Debug-Reste | Beispiel: `P1-performance-n-plus-1-scenario-list.md` [TEMPLATE mit sprachspezifischen Code-Bloecken - python/typescript/rust/go] ## Regeln 1. **Verifizieren vor Schreiben** - immer die Source-Datei lesen. 2. **Ein Finding pro Datei** - separate Todos fuer unabhaengige Issues. 3. **Projekt-Code referenzieren** - exakte Datei, Zeilennummer, Code-Snippet. 4. **Positiv-Beispiel finden** - korrektes Pattern referenzieren. 5. **Versions-bewusst** - Dependency-Dateien pruefen. 6. **Keine Fehlalarme** - bei Unsicherheit weiter untersuchen. 7. **Sprache: Deutsch** - alle Todos auf Deutsch. 8. **Bestehende Todos pruefen** - Duplikate vermeiden. 9. **Web-Recherche nutzen** - aktuelle Docs verifizieren. ~~~ ### Schritt 5: Create-Todo Skill erstellen Erstelle `.claude/skills/create-todo/SKILL.md`: ~~~markdown --- name: create-todo description: Erstellt Todo-Dateien im .claude/todos/-Ordner. Kennt [TECH-STACK STICHWORTE]. Fuer Feature-Requests, Bugfixes und Verbesserungen. argument-hint: allowed-tools: Read, Write, Edit, Glob, Grep --- # [PROJEKTNAME] Todo Generator Erstellt strukturierte Todo-Dateien im `.claude/todos/`-Ordner. ## Projektkontext ### Tech Stack [GENERIERT: Kompakte Tech-Stack Uebersicht] ### Hauptverzeichnisse [GENERIERT: Die wichtigsten Verzeichnisse und was sie enthalten] ## Workflow ### Schritt 1: Kontext erfassen 1. Lies die Benutzeranfrage 2. Identifiziere den betroffenen Bereich 3. Falls unklar, suche mit Glob/Grep ### Schritt 2: Todo erstellen Erstelle eine Datei in `.claude/todos/`: ```markdown # [Kurzer, praegnanter Titel] **Status:** Offen **Prioritaet:** Hoch | Mittel | Niedrig **Bereich:** [GENERIERT: Projekt-spezifische Bereiche] ## Beschreibung [Was soll gemacht werden] ## Anforderungen 1. [Konkrete Anforderung] ## Betroffene Dateien - `pfad/datei` - [Was aendern] ## Technische Hinweise [Relevante Patterns] ## Akzeptanzkriterien - [ ] Kriterium ``` ### Schritt 3: Dateiname waehlen Format: `kebab-case-beschreibung.md` ## Haeufige Bereiche [GENERIERT: Die 4-6 wichtigsten Bereiche mit Dateipfaden] ## Best Practices 1. **Spezifisch sein** - Konkret beschreiben, nicht vage 2. **Dateien angeben** - Immer konkrete Pfade 3. **Patterns referenzieren** - Auf bestehende Loesungen verweisen 4. **Keine Implementierung** - Nur beschreiben WAS, nicht WIE ~~~ ### Schritt 6: Code-Review-Todo Skill erstellen Erstelle `.claude/skills/code-review-todo/SKILL.md`: ~~~markdown --- name: code-review-todo description: Erstellt Code-Review Todo-Dateien mit Problemanalyse, Impact-Bewertung und Best-Practice-Empfehlungen. Fuer Security, Performance und Architektur-Findings. argument-hint: "[problembeschreibung oder dateipfad]" allowed-tools: Read, Glob, Grep, Write, Edit, Bash, WebSearch --- # Code Review Todo Creator - [PROJEKTNAME] Erstellt strukturierte Code-Review Finding-Dateien in `.claude/code-review/`. ## Projektkontext [GENERIERT: Kompakter Tech-Stack und Architektur-Ueberblick] ## Workflow ### Schritt 1: Kontext sammeln 1. Lies `CLAUDE.md` 2. Finde betroffene Dateien mit Glob/Grep 3. Lies und bestatige das Issue 4. Pruefe Framework-Versionen ### Schritt 2: Prioritaet klassifizieren | Prioritaet | Tag | Kriterien | |------------|-----|-----------| | **Kritisch** | `P0` | Security, Datenverlust, Auth | | **Hoch** | `P1` | Performance, Korruption, UX-Bruch | | **Wichtig** | `P2` | Patterns, Wartbarkeit | | **Mittel** | `P3` | Code-Qualitaet, Dead Code | | **Niedrig** | `P4` | Stilistik, Docs | ### Schritt 3: Best Practice recherchieren 1. Projekt-Konventionen 2. Framework-Docs ([VERSIONEN]) 3. Referenz im Projekt 4. Web-Recherche ### Schritt 4: Dateiname `P[0-4]-[thema]-[kebab-case].md` in `.claude/code-review/` Thematische Tags: `security`, `auth`, `performance`, `architecture`, `error-handling`, `api`, `bug`, `config`, `cleanup` ### Schritt 5: Todo schreiben ```markdown # [Praegnanter Titel] **Status:** Offen **Prioritaet:** P[0-4] - [Level] / [Kategorie] **Bereich:** [Bereich] ([Dateigruppe]) ## Beschreibung ### Was ist das Problem? [Erklaerung + Code-Snippet] ### Warum ist das problematisch? [Konsequenzen] ### Wie sollte es richtig gemacht werden? [Kopierbarer Fix] ### Referenz im Projekt [Positiv-Beispiel] ## Requirements 1. [Anforderung] ## Betroffene Dateien - `pfad/datei` - Zeile XX: [Aenderung] ## Best Practice > **Regel:** [Prinzip] ## Akzeptanzkriterien - [ ] [Kriterium] - [ ] [GENERIERT: Projekt-spezifischer Check-Command] laeuft fehlerfrei ``` ## Regeln 1. **Verifizieren vor Schreiben** - Source lesen 2. **Ein Finding pro Datei** 3. **Projekt-Code referenzieren** - Datei, Zeile, Snippet 4. **Versions-bewusst** - Dependencies pruefen 5. **Sprache: Deutsch** ~~~ ### Schritt 7: Zusammenfassung ausgeben Zeige dem User was erstellt wurde: ``` Projektstruktur initialisiert fuer [PROJEKTNAME]: .claude/ ├── agents/code-reviewer.md # [TECH-STACK Stichworte] ├── code-review/ # Review-Findings ├── todos/ # Feature-Todos └── skills/ ├── create-todo/SKILL.md # → .claude/todos/ └── code-review-todo/SKILL.md # → .claude/code-review/ Erkannter Stack: [FRAMEWORK VERSION, SPRACHE VERSION, ...] ``` ## Wichtige Regeln 1. **Niemals ueberschreiben** - Bestehende Dateien in `.claude/` NICHT ueberschreiben. Warnung ausgeben und ueberspringen. 2. **Exakte Versionen** - Immer die tatsaechlichen Versionsnummern aus Dependency-Dateien verwenden, nicht raten. 3. **Projektsprache** - Wenn CLAUDE.md oder README auf Deutsch ist, alle generierten Inhalte auf Deutsch. 4. **Minimal aber vollstaendig** - Keine Checklisten-Punkte fuer Technologien die im Projekt nicht vorkommen. 5. **Code-Beispiele anpassen** - Template-Snippets in der Projektsprache (Python, TypeScript, Rust, Go, etc.). 6. **Bereiche aus dem Projekt** - Die "Haeufige Bereiche" Sektion im create-todo Skill muss die tatsaechlichen Verzeichnisse des Projekts abbilden, nicht generische Platzhalter. 7. **Check-Commands** - Akzeptanzkriterien muessen den tatsaechlichen Test/Lint-Command des Projekts verwenden (`npm run check`, `python manage.py test`, `cargo test`, `make test`, etc.).