Mirror of https://forge.levinkeller.de/levin/dorfarchiv.git
feat: CLAUDE.md mit Entwicklungsrichtlinien hinzugefügt
- Projektübersicht und Technologie-Stack dokumentiert - Entwicklungs-Workflow und Coding-Standards festgelegt - Commit-Konventionen und Best Practices definiert - Hilfreiche Informationen für Claude AI hinzugefügt Co-authored-by: Levin Keller <levino@users.noreply.github.com>
Showing 1 changed file with 222 additions and 0 deletions.
| @@ -0,0 +1,222 @@ | ||
| 1 | added: # CLAUDE.md - Entwicklungsrichtlinien für das Dorfarchiv-Projekt | |
| 2 | added: | |
| 3 | added: ## Über dieses Projekt | |
| 4 | added: | |
| 5 | added: Das Dorfarchiv ist eine Docusaurus-basierte Dokumentationswebsite für die Dorfpflege Rossing. Es dient zur Verwaltung und Präsentation von Dorf-relevanten Dokumenten, Informationen und Archiven. | |
| 6 | added: | |
| 7 | added: ## Technologie-Stack | |
| 8 | added: | |
| 9 | added: - **Framework**: Docusaurus 3.8.1 | |
| 10 | added: - **Sprache**: TypeScript 5.6 | |
| 11 | added: - **Runtime**: Node.js 22.0+ | |
| 12 | added: - **Paketmanager**: npm | |
| 13 | added: - **Backend**: PocketBase 0.26.2 | |
| 14 | added: - **UI-Framework**: React 19.0 | |
| 15 | added: - **Linting**: Biome | |
| 16 | added: | |
| 17 | added: ## Projektstruktur | |
| 18 | added: | |
| 19 | added: ``` | |
| 20 | added: dorfarchiv/ | |
| 21 | added: ├── docs/ # Dokumentationsinhalte (Markdown) | |
| 22 | added: ├── blog/ # Blog-Beiträge | |
| 23 | added: ├── src/ # React-Komponenten und Seiten | |
| 24 | added: ├── static/ # Statische Assets (Bilder, Dateien) | |
| 25 | added: ├── .devcontainer/ # Development Container Konfiguration | |
| 26 | added: ├── .github/ # GitHub Actions und Workflows | |
| 27 | added: ├── docusaurus.config.ts # Docusaurus-Hauptkonfiguration | |
| 28 | added: ├── sidebars.ts # Sidebar-Navigation | |
| 29 | added: ├── package.json # Projekt-Abhängigkeiten | |
| 30 | added: ├── biome.json # Biome-Linter-Konfiguration | |
| 31 | added: └── tsconfig.json # TypeScript-Konfiguration | |
| 32 | added: ``` | |
| 33 | added: | |
| 34 | added: ## Entwicklungs-Workflow | |
| 35 | added: | |
| 36 | added: ### Installation | |
| 37 | added: | |
| 38 | added: ```bash | |
| 39 | added: npm install | |
| 40 | added: ``` | |
| 41 | added: | |
| 42 | added: ### Entwicklungsserver starten | |
| 43 | added: | |
| 44 | added: ```bash | |
| 45 | added: npm start | |
| 46 | added: ``` | |
| 47 | added: | |
| 48 | added: Der Entwicklungsserver läuft standardmäßig unter `http://localhost:3000`. | |
| 49 | added: | |
| 50 | added: ### Build erstellen | |
| 51 | added: | |
| 52 | added: ```bash | |
| 53 | added: npm run build | |
| 54 | added: ``` | |
| 55 | added: | |
| 56 | added: Der Build-Prozess: | |
| 57 | added: 1. Kopiert PocketBase UMD-Datei nach `static/public/` | |
| 58 | added: 2. Erstellt eine produktionsreife statische Website im `build/`-Verzeichnis | |
| 59 | added: | |
| 60 | added: ### Weitere nützliche Befehle | |
| 61 | added: | |
| 62 | added: ```bash | |
| 63 | added: npm run serve # Produktions-Build lokal testen | |
| 64 | added: npm run clear # Cache und generierte Dateien löschen | |
| 65 | added: npm run typecheck # TypeScript-Typenprüfung durchführen | |
| 66 | added: ``` | |
| 67 | added: | |
| 68 | added: ## Coding-Standards | |
| 69 | added: | |
| 70 | added: ### Sprache | |
| 71 | added: | |
| 72 | added: - **Code und Kommentare**: Englisch | |
| 73 | added: - **Dokumentationsinhalte**: Deutsch (Standard für das Dorfarchiv) | |
| 74 | added: - **Commit-Messages**: Deutsch (mit englischen GitHub-Keywords wie `fix`, `feat`, etc.) | |
| 75 | added: - **Pull Request Titel/Beschreibungen**: Deutsch | |
| 76 | added: | |
| 77 | added: ### Code-Stil | |
| 78 | added: | |
| 79 | added: - Das Projekt verwendet **Biome** für Linting und Formatierung | |
| 80 | added: - TypeScript-strict-Mode ist aktiviert | |
| 81 | added: - Folgen Sie den React-Best-Practices für Komponenten | |
| 82 | added: | |
| 83 | added: ### Commit-Konventionen | |
| 84 | added: | |
| 85 | added: Verwenden Sie konventionelle Commit-Messages mit deutschen Beschreibungen: | |
| 86 | added: | |
| 87 | added: - `feat: [Beschreibung]` - Neue Features | |
| 88 | added: - `fix: [Beschreibung]` - Fehlerbehebungen | |
| 89 | added: - `docs: [Beschreibung]` - Dokumentationsänderungen | |
| 90 | added: - `style: [Beschreibung]` - Code-Formatierung (keine funktionalen Änderungen) | |
| 91 | added: - `refactor: [Beschreibung]` - Code-Refactoring | |
| 92 | added: - `test: [Beschreibung]` - Tests hinzufügen oder ändern | |
| 93 | added: - `chore: [Beschreibung]` - Wartungsaufgaben | |
| 94 | added: | |
| 95 | added: Beispiele: | |
| 96 | added: ``` | |
| 97 | added: feat: Navigation für Archiv-Kategorien hinzugefügt | |
| 98 | added: fix: Darstellungsfehler in der mobilen Ansicht behoben | |
| 99 | added: docs: Anleitung für neue Mitglieder erweitert | |
| 100 | added: ``` | |
| 101 | added: | |
| 102 | added: ## Dokumentation schreiben | |
| 103 | added: | |
| 104 | added: ### Markdown-Dateien | |
| 105 | added: | |
| 106 | added: - Alle Dokumentationsdateien liegen in `docs/` | |
| 107 | added: - Verwenden Sie Frontmatter für Metadaten: | |
| 108 | added: | |
| 109 | added: ```markdown | |
| 110 | added: --- | |
| 111 | added: id: eindeutige-id | |
| 112 | added: title: Seitentitel | |
| 113 | added: sidebar_label: Label in der Sidebar | |
| 114 | added: --- | |
| 115 | added: | |
| 116 | added: # Überschrift | |
| 117 | added: | |
| 118 | added: Inhalt hier... | |
| 119 | added: ``` | |
| 120 | added: | |
| 121 | added: ### Bilder und Assets | |
| 122 | added: | |
| 123 | added: - Statische Assets in `static/img/` ablegen | |
| 124 | added: - Referenzierung in Markdown: `/img/dateiname.png` | |
| 125 | added: | |
| 126 | added: ### Interne Links | |
| 127 | added: | |
| 128 | added: ```markdown | |
| 129 | added: [Link-Text](./andere-seite.md) | |
| 130 | added: [Link zu Section](./seite.md#section-id) | |
| 131 | added: ``` | |
| 132 | added: | |
| 133 | added: ## Docker-Unterstützung | |
| 134 | added: | |
| 135 | added: Das Projekt kann mit Docker betrieben werden: | |
| 136 | added: | |
| 137 | added: ```bash | |
| 138 | added: docker compose up --build | |
| 139 | added: ``` | |
| 140 | added: | |
| 141 | added: Die Konfiguration befindet sich in: | |
| 142 | added: - `Dockerfile` - Container-Definition | |
| 143 | added: - `docker-compose.yaml` - Multi-Container-Setup | |
| 144 | added: - `.devcontainer/` - VS Code Dev Container | |
| 145 | added: | |
| 146 | added: ## PocketBase Integration | |
| 147 | added: | |
| 148 | added: Das Projekt nutzt PocketBase für Backend-Funktionalität: | |
| 149 | added: | |
| 150 | added: - PocketBase UMD-Datei wird beim Build automatisch kopiert | |
| 151 | added: - Konfiguration für Authentifizierung und Datenverwaltung | |
| 152 | added: | |
| 153 | added: ## Testing und Qualitätssicherung | |
| 154 | added: | |
| 155 | added: ### Vor dem Commit | |
| 156 | added: | |
| 157 | added: 1. TypeScript-Prüfung durchführen: `npm run typecheck` | |
| 158 | added: 2. Build testen: `npm run build` | |
| 159 | added: 3. Entwicklungsserver testen: `npm start` | |
| 160 | added: | |
| 161 | added: ### Pull Requests | |
| 162 | added: | |
| 163 | added: - Beschreiben Sie Änderungen auf Deutsch | |
| 164 | added: - Referenzieren Sie relevante Issues mit `closes #<issue-nummer>` oder `fixes #<issue-nummer>` | |
| 165 | added: - Stellen Sie sicher, dass der Build erfolgreich ist | |
| 166 | added: - Fügen Sie Screenshots hinzu bei UI-Änderungen | |
| 167 | added: | |
| 168 | added: ## Häufige Aufgaben | |
| 169 | added: | |
| 170 | added: ### Neue Dokumentationsseite hinzufügen | |
| 171 | added: | |
| 172 | added: 1. Markdown-Datei in `docs/` erstellen | |
| 173 | added: 2. Frontmatter hinzufügen | |
| 174 | added: 3. Bei Bedarf `sidebars.ts` aktualisieren | |
| 175 | added: | |
| 176 | added: ### Blog-Post erstellen | |
| 177 | added: | |
| 178 | added: 1. Datei in `blog/` erstellen mit Format: `YYYY-MM-DD-titel.md` | |
| 179 | added: 2. Frontmatter mit `author`, `title`, `tags` hinzufügen | |
| 180 | added: | |
| 181 | added: ### Styling anpassen | |
| 182 | added: | |
| 183 | added: - CSS-Variablen in `src/css/custom.css` bearbeiten | |
| 184 | added: - Komponenten-Styles in jeweiligen `.module.css` Dateien | |
| 185 | added: | |
| 186 | added: ## Hilfreiche Links | |
| 187 | added: | |
| 188 | added: - [Docusaurus Dokumentation](https://docusaurus.io/docs) | |
| 189 | added: - [Markdown Guide](https://www.markdownguide.org/) | |
| 190 | added: - [React Dokumentation](https://react.dev/) | |
| 191 | added: - [TypeScript Handbook](https://www.typescriptlang.org/docs/) | |
| 192 | added: | |
| 193 | added: ## Support und Fragen | |
| 194 | added: | |
| 195 | added: - Issues auf GitHub erstellen für Bugs oder Feature-Anfragen | |
| 196 | added: - Diskussionen für allgemeine Fragen nutzen | |
| 197 | added: | |
| 198 | added: ## Hinweise für Claude AI | |
| 199 | added: | |
| 200 | added: ### Bevorzugte Vorgehensweise | |
| 201 | added: | |
| 202 | added: - Lesen Sie immer zuerst die bestehenden Dateien, bevor Sie Änderungen vornehmen | |
| 203 | added: - Verwenden Sie `Edit` für Änderungen an bestehenden Dateien statt `Write` | |
| 204 | added: - Testen Sie Änderungen mit `npm run typecheck` und `npm run build` | |
| 205 | added: - Halten Sie sich an die Projektstruktur und bestehende Patterns | |
| 206 | added: | |
| 207 | added: ### Wichtige Einschränkungen | |
| 208 | added: | |
| 209 | added: - Ändern Sie keine Dateien in `.github/workflows/` (erfordert spezielle Berechtigungen) | |
| 210 | added: - Behalten Sie die deutsche Sprache für Dokumentationsinhalte bei | |
| 211 | added: - Verwenden Sie englische GitHub-Keywords (`fix`, `fixes`, `closes`, etc.) in Commit-Messages | |
| 212 | added: | |
| 213 | added: ### Testing-Workflow | |
| 214 | added: | |
| 215 | added: Nach Änderungen sollten folgende Befehle erfolgreich durchlaufen: | |
| 216 | added: | |
| 217 | added: ```bash | |
| 218 | added: npm run typecheck # TypeScript-Prüfung | |
| 219 | added: npm run build # Build-Test | |
| 220 | added: ``` | |
| 221 | added: | |
| 222 | added: Falls diese Befehle aufgrund fehlender Berechtigungen nicht ausgeführt werden können, dokumentieren Sie dies im Pull Request, damit der Benutzer die Tests manuell durchführen kann. | |