# ─── Generierte SSH Keys (PRIVATE! NIE ins Repo!) ─────────── .keys-generated/ # ─── Persönliche User-Daten (NIE ins Repo!) ───────────────── .work/ .user-profile .profiler-off .user-credentials .workspace-config .setup-complete .setup-version .last-contact .due-schedules.json .ticket-repo-config .dev LOCAL_MACHINE.md CLAUDE_SERVER_SETTINGS.md AGENT_STATE.md # ─── Profiler-Daten (privat, bleiben lokal) ───────────────── projects/profiler/profil/ projects/profiler/drafts/ # ─── User-Workspaces (privat pro Person, NIE ins Repo!) ───── # Jeder User bekommt unter users// einen eigenen Ordner. # Coach-Notizen, Gesundheitsdaten, Falldaten, persoenliche # Knowledge-Base. Ausnahme: README.md zur Struktur-Doku. users/* !users/README.md # ─── Secrets & Credentials ────────────────────────────────── # Alles was mit .env beginnt, in jedem Verzeichnis. Faengt auch Windows-Kopien # wie ".env - Kopie.local" oder ".env.local - Copy" ab, die den frueheren # Mustern (.env.local.*, .env.*.local) entkommen sind. .env* # Ausnahmen: Templates und Beispiele enthalten nur oeffentliche Defaults !.env.local.template !.env.example !**/.env.example # Verschluesselte Env-Exporte (Format "senity-env", scrypt), z.B. env-export.senv # aus SDESK-3903. Sie tragen eine Passphrase, gehoeren aber trotzdem nicht in die # Versionierung: die Passphrase ist die einzige Huerde, und einmal committet # bleibt die Datei dauerhaft in der Historie angreifbar, auch nach dem Loeschen. # Der Dateiname faengt nicht mit .env an und entkommt deshalb der Regel oben. *.senv # ─── Ticketing-Subrepo (eigenes Repo, nicht nested) ───────── projects/planung/tickets/ # ─── Build & Node ─────────────────────────────────────────── node_modules/ .next/ out/ dist/ build/ *.tsbuildinfo tsconfig.tsbuildinfo package-lock.json next-env.d.ts # ─── Projekt-Unterordner mit eigenen Repos oder großen Daten projects/*/node_modules/ projects/*/.git/ projects/doccreator/openai-image-mcp-server/ # ─── Obsidian-Spiegel der Punkt-Ordner ──────────────────── # Junctions, damit Obsidian .claude/.agents/.mcp indizieren kann. # Rein lokal, gehoeren nicht ins Repo. _dotfiles/ _projekte/ # ─── Wissensdatenbanken ──────────────────────────────────── # Das extrahierte Wissen (Markdown, YAML) wird versioniert. # Draußen bleibt nur das Rohmaterial: PDFs, Bücher, Scans, Medien. **/wissensdatenbank/quellen/ **/wissensdatenbank/raw/ **/wissensdatenbank/**/*.pdf **/wissensdatenbank/**/*.epub **/wissensdatenbank/**/*.mobi **/wissensdatenbank/**/*.azw3 **/wissensdatenbank/**/*.djvu **/wissensdatenbank/**/*.doc **/wissensdatenbank/**/*.docx **/wissensdatenbank/**/*.pptx **/wissensdatenbank/**/*.xlsx **/wissensdatenbank/**/*.zip **/wissensdatenbank/**/*.mp3 **/wissensdatenbank/**/*.mp4 **/wissensdatenbank/**/*.wav # ─── Geklonte Repos mit eigenem Git (nicht nested tracken) ── Senity_Website/ # ─── senity-code (eigenes Repo, als Submodul eingebunden) ─── # Ignore-Eintrag schuetzt auf Branches ohne Submodul-Registrierung. projects/senity-code/ # ─── Lokal verschobene Repos mit eigenem Git (nicht nested) ─ # Nur lokale Bequemlichkeit, kein Submodul, bleiben aus dem Repo. projects/clean_workspace/ projects/senity-ticketing-system/ projects/agent-db/ projects/container-management-system/ projects/env-system/ projects/senity-analytics/ projects/senity-desktop/ projects/speechflow/ projects/Senity Kundenprojekte/ # ─── Fremd-Repos der Dekompilier-Kampagne (SWS-9234) ─────── # Nur zum Lesen geklont, nie modifiziert. Stehen auch in FREMD_KLONE im # regelwerk-sync.mjs, damit der Sync sie nicht als Projekt behandelt. # Submodul-Einbindung folgt auf Ansage; bis dahin schuetzt der Eintrag # davor, dass ein git add -A sie als Gitlink in den Workspace committet. projects/deepseek-harness/ projects/ghidra-mcp/ projects/ilspy/ projects/rea/ # ─── Skills mit riesigen Deps ─────────────────────────────── .claude/skills/whisper-env/ whisper-env/ # ─── Per-User Email-Style-Skills (privat, lokal generiert) ── # Generiert vom email-style-learner pro User aus seinem Gesendet-Ordner. # Privatissimum — landet NIE im Repo, nie bei anderen Usern. .claude/skills/write-email-*-style/ # ─── Brand-Assets (groß, Lizenz) ──────────────────────────── **/brand-assets/ # ─── Worktrees ────────────────────────────────────────────── # Arbeitskopien ganzer Repositories. Sie gehoeren nie ins Repo: jede traegt # einen kompletten Checkout, und ihr Inhalt ist ohnehin schon versioniert, # nur woanders. Neben dem alten .worktrees/ sind seit 2026-09-01 zwei # weitere Ablagen in Gebrauch. .worktrees/ worktrees/ projects/senity-desktop-worktrees/ # ─── System & Editor ──────────────────────────────────────── .DS_Store .vscode/ .idea/ *.swp *.swo *~ __pycache__/ *.pyc # ─── Backups vom Umsetzer-Agent ───────────────────────────── projects/workflow-optimierung/backups/ # ─── Altes Frontend-Backup (Mini-SDR-Greenfield, 2026-06-09) ─ # Kompletter alter App-Stack inkl. Config, weggesichert beim # Mini-SDR-Neuaufbau. Bleibt lokal als Referenz, nicht ins Repo. backup/ # ─── Logs ─────────────────────────────────────────────────── *.log logs/ # ─── Generell große Dateien (10-MB-Regel) ────────────────── # Binary/Media-Formate die typischerweise >10 MB sind *.mp4 *.mov *.avi *.mkv *.wmv *.flv *.webm *.zip *.tar *.tar.gz *.tgz *.rar *.7z *.iso *.dmg *.pkg *.deb *.rpm *.exe *.msi *.bin *.img *.sqlite *.sqlite3 *.db *.dump *.bak *.pt *.pth *.safetensors *.gguf *.onnx *.h5 # ─── Supabase CLI-Laufzeit-Artefakte ──────────────────────── supabase/.temp/ supabase/.branches/ # ─── Sync-Daemon Runtime ──────────────────────────────────── .sync-daemon.pid .sync-daemon.log .claude-repos-cache/ # Audio/Video-Renders (binary, kein git) *.mp3 *.wav *.ogg *.aac *.flac *.m4a # ─── Claude Scheduler Runtime-Lock (lokal, nicht tracken) ─── .claude/scheduled_tasks.lock # ─── Scheduler-Artefakte (State + Lock + Temp, lokal, nicht tracken) ─── .claude/scheduled_tasks_state.json .claude/scheduled_tasks_state.json.lock/ .claude/.scheduled_tasks_state.json.*.tmp .claude/.scheduled_tasks.json.*.tmp # Lokaler Auto-Commit-Opt-out-Marker (nie committen) .no-auto-commit # Env-Backups und Supabase-Temp niemals tracken (Secrets-Schutz, Regel 5) .env.local.backup* .env*.backup* supabase/.temp/ .codex-tmp/ # SSH-Private-Keys niemals tracken. HetznerSSH schreibt Keys inzwischen in das # OS-Temp-Verzeichnis, dieser Eintrag faengt Altbestaende und Fremdtooling ab. .tmp-ssh-keys/ # ─── Knowledge-Graph (selektiv geteilt seit 2026-10-13, SWS-9309) ── # Geteilt: der Korpus (KNOWLEDGE-Ticket-Exporte als Markdown) und die # Graph-Daten (graph.json, manifest.json). Alles andere bleibt lokal: # HTML-Visualisierung (rund 4,3 MB), GRAPH_REPORT.md, Cache, Tagesordner, # Labels, Interpreter-Pfade, Python-Begleiter. # Fail-closed: jede Ebene wird erst geschlossen, dann wird einzeln geoeffnet. # Ein Verzeichnis, das ignoriert ist, macht jede Negation darunter unwirksam, # deshalb steht zu jedem "!.../" eine Zeile, die seinen Inhalt wieder schliesst. # Gemessen am 2026-10-13: der Korpus ist corpus/README.md plus # corpus//.md, 682 Dateien, ausnahmslos .md. knowledge-graph/* !knowledge-graph/corpus/ knowledge-graph/corpus/* !knowledge-graph/corpus/*.md !knowledge-graph/corpus/*/ knowledge-graph/corpus/*/* !knowledge-graph/corpus/*/*.md !knowledge-graph/graphify-out/ knowledge-graph/graphify-out/* !knowledge-graph/graphify-out/graph.json !knowledge-graph/graphify-out/manifest.json # ─── Kettenreview-Arbeitsordner (lokale Briefings, Prompts, Zwischenberichte) ── projects/.review-chain/ # ─── Obsidian-UI-State (lokal pro Nutzer, kein geteilter Inhalt) ── .obsidian/workspace.json .obsidian/workspace-mobile.json .obsidian/graph.json .zai-tmp/ # Worktrees von Unterprojekten liegen zeitweise hier und gehoeren nie ins Repo projects/*-wt-*/ # Obsidian-Sicherung, lokal, nicht ins Repo .obsidian.backup/ .review-*/ # Arbeitsdateien der CLI-Einrichtung, siehe docs/cli-onboarding/ .cli-onboarding-tmp/ # Sicherung der agent-db vor dem Neuaufbau (2026-09-02, SDESK-5365). # Enthaelt Asset-Inhalte und gehoert nicht ins Repo - bleibt aber lokal # liegen: sechs user:9-Skills existieren NUR hier und in der Datenbank. .agent-db-backup/ # lokales Testprojekt, gehoert nicht ins Repo projects/testprojekt/ # Wegwerfdateien der Bot-Sitzungen (2026-09-08) tmp_yt_job.* # Arbeitsverzeichnisse der Delegations-CLIs (Wegwerf, nie committen) .deepseek-tmp/ .grok-tmp/ .kimi-tmp/ # Ticket-Exporte und Audit-Ausleitungen: Datenexporte gehoeren in ein # Backup-System, nicht dauerhaft in die Repo-Historie (Entscheidung Christoph, # 2026-09-21). Die Dateien koennen Ticket-Inhalte und Namen tragen. docs/audit/*.jsonl # DeepSeek Harness: Fremdklon (194 MB) und der daraus abgeleitete Graph-Korpus. # Beides ist jederzeit neu erzeugbar und gehoert nicht in dieses Repo. projects/deepseek-harness/quelle/ projects/deepseek-harness/korpus/ projects/deepseek-harness/graphify-out-symbole/ # Arbeits-Worktrees von sdr-mini (145 MB, zwei Ticket-Zweige). Sie gehoeren # in den Arbeitsbaum, nicht in dieses Repo, und werden nach dem Merge entfernt. projects/sdr-mini-worktrees/ # Eigenes Repo (project_key CLI), liegt nur hier im Baum und wird nie vom Workspace getrackt projects/senity-claude-code/ # Sicherungen fremder Repos (Bundles, Kundenarbeit) gehoeren nie in dieses Repo. # Anlass 2026-10-11: ein Bundle des Kundenrepos mw-bedachungen wurde von einer # parallelen Sitzung eingesammelt und gepusht (Commit a3f65ba). Ablageort ist # D:/Devel/NodeJS/.sicherungen-kundenrepos, also ausserhalb jedes Repos. .sicherung-kundenrepos/ *.bundle # ─── Ausnahme: SFX-Bibliothek des media-use-Skills ────────── # Die 10-MB-Regel oben wirft *.mp3 pauschal raus. Der Skill media-use bringt # aber 19 kurze Effektdateien (zusammen 1,3 MB) mit, die zu seiner Auslieferung # gehoeren: ohne sie laeuft "resolve --type sfx" ins Leere. Ohne diese Ausnahme # faellt das beim Commit still weg, nicht mit einer Fehlermeldung. !.claude/skills/media-use/audio/assets/**/*.mp3 !.claude/skills/media-use/audio/assets/**/*.wav !.agents/skills/media-use/audio/assets/**/*.mp3 !.agents/skills/media-use/audio/assets/**/*.wav # Wegwerf-Arbeitsverzeichnisse dieser Werkzeugkette. Sie tragen Sicherungen, # Zwischenberichte und Kopien fremder Dateien; ein "git add -A" hat sie bis zum # 2026-10-13 mitgenommen, weil kein Eintrag sie gefangen hat (gemessen mit # git check-ignore: .tmp/review-sws-9309/BRIEFING.md war NICHT ignoriert). .tmp/ .scratch/ # graphify legt sein Ausgabeverzeichnis relativ zum Arbeitsverzeichnis an, also # auch in der Repo-Wurzel, wenn es von dort gestartet wird. Der fuehrende # Schraegstrich ist Pflicht und keine Kosmetik: ohne ihn gilt das Muster in # JEDEM Verzeichnis und faengt knowledge-graph/graphify-out/graph.json mit, # womit die Teilung aus SWS-9309 still zerstoert waere. In einem Wegwerf-Repo # am 2026-10-13 beide Formen gemessen. /graphify-out/ # Fallakten der Rechtsberatung bleiben privat (Christoph, 2026-10-15) projects/kianwalt/cases/