# claude-meta Framework Zentrales Git-Repo für Claude Code Konfiguration. Portabel via `git pull`. ## Architektur ``` claude-meta/ ├── home-claude/ → verlinkt nach ~/.claude/ (Symlinks/Junctions) ├── templates/ → Projekt-Bootstrap via init-project Script ├── memory/ → portables Wissen (manuell kuratiert) ├── scripts/ → Installation, Backup, Projekt-Init └── docs/ → diese Dokumentation ``` ## Was Claude wann weiß (Context-Budget) | Quelle | Wann geladen | ca. Tokens | Beschreibung | |---|---|---|---| | `~/.claude/CLAUDE.md` | **Immer**, jede Session | ~200 | Prägnanz, Sprache, @import-Liste | | `rules/*.md` | **On-demand** via @import | ~50-80/Datei | Nur wenn thematisch relevant | | `projekt/CLAUDE.md` | **Immer** im Projekt | 500-2000 | Build-Commands, Architektur | | `skills/*.md` | **Nur bei /skill** Aufruf | 200-500 | Skill-Anweisungen | | `commands/*.md` | **Nur bei /command** Aufruf | 200-500 | Command-Anweisungen | | `settings.json` | **Nie** im Context | 0 | Intern verarbeitet (Permissions) | | `memory/*.md` | **Nur wenn** referenziert | variabel | Via @import aus CLAUDE.md | | `docs/FRAMEWORK.md` | **Nie** automatisch | 0 | Nur wenn manuell gelesen | **Vergleich**: Vorher ~1500-3500 Tokens pro Session (alles in CLAUDE.md inline). Jetzt: ~200 Tokens base + on-demand. ## Wissenszuordnung ### Global (home-claude/ → ~/.claude/) Gilt für **alle Projekte** auf diesem Rechner: - Sprachregeln: Deutsch für Interaktion, Englisch für Code - Code-Style: `rules/code-style.md` - .NET Konventionen: `rules/dotnet.md` - Git Workflow: `rules/git.md` - Permissions: `settings.json` (46 konsolidierte Regeln) - Skills: `/gemini-image`, `/review`, `/plan-project` - Commands: `/branch` (globale Slash-Commands) ### Projekt-spezifisch (bleibt im Projekt-Repo) - `CLAUDE.md` — Build-Commands, Architektur, Patterns - `.claude/settings.json` — nur projekt-spezifische Permissions (z.B. WebFetch-Domains) - `.claude/skills/` — projekt-spezifische Skills ### Memory (claude-meta/memory/) - Manuell kuratiertes Wissen - **Nicht** automatisch geladen - Via @import referenzierbar wenn nötig - Portabel über git ## Dateien anpassen | Änderung | Wo | Danach | |---|---|---| | Neue globale Regel | `home-claude/rules/neue-regel.md` + @import in CLAUDE.md | git commit + push | | Neuer Skill | `home-claude/skills/name/SKILL.md` | git commit + push | | Neuer Command | `home-claude/commands/name.md` | git commit + push | | Neue Permission | `home-claude/settings.json` allow-Array | git commit + push | | Neues Projekt | `scripts/init-project.ps1 ` | Editiere CLAUDE.md | | Neuer Rechner | `git clone` + `scripts/install.ps1` | Fertig | ## Installation ### Erstmalig ```powershell git clone C:\work\claude-meta cd C:\work\claude-meta .\scripts\backup.ps1 # sichert bestehende ~/.claude/ Dateien .\scripts\install.ps1 # erstellt Symlinks/Junctions ``` ### Neuer Rechner ```powershell git clone C:\work\claude-meta .\scripts\install.ps1 ``` ### Linux ```bash git clone ~/work/claude-meta cd ~/work/claude-meta ./scripts/install.sh ``` ## Symlinks & Junctions | ~/.claude/ Pfad | Verlinkt auf | Typ (Windows) | Typ (Linux) | |---|---|---|---| | `CLAUDE.md` | `home-claude/CLAUDE.md` | File-Symlink | Symlink | | `settings.json` | `home-claude/settings.json` | File-Symlink | Symlink | | `skills/` | `home-claude/skills/` | Junction | Symlink | | `rules/` | `home-claude/rules/` | Junction | Symlink | | `commands/` | `home-claude/commands/` | Junction | Symlink | **Wichtig**: `~/.claude/` selbst ist IMMER ein echtes Verzeichnis (nie symlinken — Claude Code Bug #764). Junctions brauchen kein Admin/Developer Mode, funktionieren aber nur auf gleichem Volume. ## Bekannte Einschränkungen - Claude Code Issue #764: Symlink auf ~/.claude/ Verzeichnis → Dateien unsichtbar - Junctions nur auf gleichem Volume (C: → C:) - @imports haben max 5 Rekursionstiefe - Erste @import-Nutzung braucht einmalige Bestätigung pro Projekt