style: replace em dashes with hyphens throughout codebase
Replace all — with - in all source files (JS, CSS, HTML, JSON, Markdown) for consistency and readability. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+12
-12
@@ -1,4 +1,4 @@
|
||||
# CLAUDE.md Audit — Oikos
|
||||
# CLAUDE.md Audit - Oikos
|
||||
|
||||
**Datum:** 2026-04-02
|
||||
**Aktuelle Länge:** 109 Zeilen (exkl. Leerzeilen)
|
||||
@@ -17,7 +17,7 @@
|
||||
|
||||
**Fehlend:**
|
||||
- Kein expliziter Hard-Constraints-Block. "No SPA framework" ist in einen Fließtext-Absatz eingebettet statt als nicht-verhandelbare Regel markiert.
|
||||
- `public/utils/ux.js` wird von 7 Seiten importiert — kein Wort davon.
|
||||
- `public/utils/ux.js` wird von 7 Seiten importiert - kein Wort davon.
|
||||
- `public/i18n.js` wird als System erwähnt, aber nicht als kanonische Datei referenziert.
|
||||
- `offline.html` fehlt im Architecture-Tree.
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
|
||||
**Redundanzen mit CONTRIBUTING.md:**
|
||||
- Project Structure: fast identischer Tree in beiden Dateien
|
||||
- Code Conventions: ES modules, Semicolons, Header comments, try/catch — alles doppelt
|
||||
- Code Conventions: ES modules, Semicolons, Header comments, try/catch - alles doppelt
|
||||
- Testing: identische Beschreibung in beiden
|
||||
- Changelog: gleiche Anweisung in beiden
|
||||
- Migration append-only: in beiden Dateien
|
||||
@@ -37,9 +37,9 @@
|
||||
### 1.3 Signalqualität
|
||||
|
||||
**Probleme:**
|
||||
- "No SPA framework" ist deskriptiv formuliert statt imperativ — ein LLM könnte es als Kontextinfo statt als harte Regel lesen.
|
||||
- "No SPA framework" ist deskriptiv formuliert statt imperativ - ein LLM könnte es als Kontextinfo statt als harte Regel lesen.
|
||||
- Security Model ist eine Faktenbeschreibung. Kein Satz sagt "tu X" oder "tu niemals Y".
|
||||
- Backend-Dependency-Liste ist reines Inventar — Claude kann `package.json` lesen.
|
||||
- Backend-Dependency-Liste ist reines Inventar - Claude kann `package.json` lesen.
|
||||
- Deployment-Dockerfile-Snippet: rein informativ, kein Handlungsbezug.
|
||||
- `node:20-slim` im CLAUDE.md-Deployment-Block, aber Dockerfile verwendet tatsächlich `node:22-slim` → **falsche Information**.
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
|
||||
| Erwähnt in CLAUDE.md | Tatsächlicher Zustand | Problem |
|
||||
|---|---|---|
|
||||
| `public/assets/` (apple-touch-icon, favicons) | Verzeichnis existiert nicht — Icons in `public/icons/` | **Falscher Pfad** |
|
||||
| `public/assets/` (apple-touch-icon, favicons) | Verzeichnis existiert nicht - Icons in `public/icons/` | **Falscher Pfad** |
|
||||
| `scripts/generate-icons.js` | Existiert ✅, aber `scripts/seed-demo.js` fehlt im Tree | Unvollständig |
|
||||
| Dockerfile `node:20-slim` | Dockerfile nutzt `node:22-slim` | **Falsche Version** |
|
||||
| Components: `modal.js`, `oikos-install-prompt.js` | Auch `oikos-locale-picker.js` existiert | Unvollständig |
|
||||
@@ -64,7 +64,7 @@
|
||||
|-----------|--------|------------|
|
||||
| Nur verhaltenssteuernd, keine Spec-Duplikation | ⚠️ | Security Model, Deployment, Dependency-Liste sind rein informativ |
|
||||
| Harte Constraints klar abgegrenzt | ❌ | Kein separater Block; "no framework" in Fließtext versteckt |
|
||||
| Referenztabelle vollständig & aktuell | ❌ | Keine Referenztabelle vorhanden — nur ein Einzeiler zu SPEC.md |
|
||||
| Referenztabelle vollständig & aktuell | ❌ | Keine Referenztabelle vorhanden - nur ein Einzeiler zu SPEC.md |
|
||||
| Pfade/Module korrekt | ❌ | `public/assets/` existiert nicht, Dockerfile-Version falsch |
|
||||
| Keine Redundanz mit CONTRIBUTING.md | ❌ | ~40% Überlappung (Structure, Conventions, Testing, Changelog) |
|
||||
| Keine Redundanz mit docs/ | ✅ | SPEC.md wird referenziert, nicht dupliziert |
|
||||
@@ -96,12 +96,12 @@ Siehe `CLAUDE.md.proposed` im Repo-Root.
|
||||
|
||||
| Was | Warum verhaltensrelevant |
|
||||
|-----|--------------------------|
|
||||
| Expliziter Hard Constraints Block | Claude muss sofort wissen, was nicht verhandelbar ist — nicht erst aus Fließtext erschließen. |
|
||||
| Expliziter Hard Constraints Block | Claude muss sofort wissen, was nicht verhandelbar ist - nicht erst aus Fließtext erschließen. |
|
||||
| `public/utils/ux.js` als kanonische Utility | Wird von 7 Pages importiert. Ohne dieses Wissen würde Claude Utility-Funktionen duplizieren. |
|
||||
| `public/i18n.js` + `public/locales/` in Structure | Kanonische Orte für i18n — Claude muss wissen, wo Locale-Keys definiert werden. |
|
||||
| `public/i18n.js` + `public/locales/` in Structure | Kanonische Orte für i18n - Claude muss wissen, wo Locale-Keys definiert werden. |
|
||||
| `offline.html` im Tree | Existiert, wird vom Service Worker referenziert, fehlte komplett. |
|
||||
| Reference Documents Tabelle | Claude muss wissen, wo welche kanonische Wahrheit liegt, statt zu raten. |
|
||||
| `oikos-locale-picker.js` in Components | Existierende Komponente fehlte — Claude könnte sie unwissentlich neu bauen. |
|
||||
| `oikos-locale-picker.js` in Components | Existierende Komponente fehlte - Claude könnte sie unwissentlich neu bauen. |
|
||||
|
||||
### Umformuliert
|
||||
|
||||
@@ -115,6 +115,6 @@ Siehe `CLAUDE.md.proposed` im Repo-Root.
|
||||
|
||||
| Was | Von | Nach | Grund |
|
||||
|-----|-----|------|-------|
|
||||
| Security Model Details | CLAUDE.md | Bereits in Code (middleware, auth.js) | Kein eigenes Dokument nötig — Code ist die Wahrheit |
|
||||
| Security Model Details | CLAUDE.md | Bereits in Code (middleware, auth.js) | Kein eigenes Dokument nötig - Code ist die Wahrheit |
|
||||
| Deployment env vars, Dockerfile | CLAUDE.md | README.md (bereits dort vorhanden) | Ops-Information, nicht Entwicklungsverhalten |
|
||||
| Detaillierter Project Structure Tree | CLAUDE.md | CONTRIBUTING.md (bereits dort vorhanden) | Duplikation eliminieren — CONTRIBUTING.md hat den vollständigen Tree |
|
||||
| Detaillierter Project Structure Tree | CLAUDE.md | CONTRIBUTING.md (bereits dort vorhanden) | Duplikation eliminieren - CONTRIBUTING.md hat den vollständigen Tree |
|
||||
|
||||
Reference in New Issue
Block a user