CLAUDE.md.before-gitnexus

# CLAUDE.md This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. --- ## Kommunikation Mit dem User **auf Deutsch** kommunizieren. ## Projektübersicht **0nefinity** ist ein kreativ-philosophisch-mathematisches Kunstprojekt rund um die nicht-duale Identität **0 ≡ 1 ≡ ∞**. Keine klassische App — eine Sammlung interaktiver HTML-Experimente, Visualisierungen und philosophischer Texte. Kein Build-System, kein npm, kein package.json. ## Entwicklungsumgebung ### Infrastruktur Ein Git-Repo, zwei Worktrees, zwei Docker-Container auf dem Host-Server: | Pfad (Host) | Branch | Domain | Docker-Container | |---|---|---|---| | `/home/timbr/0nefinity/0nefinity.love/` | `main` | `0nefinity.love` | `0nefinity-live` (Volume `:ro`) | | `/home/timbr/0nefinity/dev.0nefinity.love/0nefinity-dev/` | `claude-dev` | `dev.0nefinity.love` | `0nefinity-dev` | - Git-Repo: `/home/timbr/0nefinity/0nefinity.love/.git` - Remote: `git@github.com:0nefinity/0nefinity.love.git` - Dev-Worktree zeigt auf `claude-dev` Branch ### Webserver - **nginx** auf dem Host terminiert TLS (Let's Encrypt) und proxied: - `0nefinity.love` → `127.0.0.1:18` - `dev.0nefinity.love` → `127.0.0.1:129` - **Apache 2.4 + PHP 8.3** in Docker-Containern (ein Image, zwei Container) - `.htaccess` regelt Rewrites, Clean URLs, SSI, PHP-Routing, Sicherheit - Dateien bearbeiten → sofort live (Volumes, kein Build nötig) ### Docker-Setup ```bash # Dateien unter /home/timbr/0nefinity/ # Dockerfile, docker-compose.yml, reverse-proxy.conf docker compose up -d # Container starten docker compose build && docker compose up -d # Image neu bauen + starten docker compose logs -f live # Logs live-Container docker compose logs -f dev # Logs dev-Container ``` ### Verfügbare Tools - PHP 8.3 (im Container) - Python 3.12 (auf dem Host) ## Architektur Flache Sammlung selbst-enthaltener HTML-Seiten. Die gemeinsame Infrastruktur: | Datei | Rolle | |-------|-------| | `meta.css` | Globales Theme, CSS-Variablen (`--bg-color`, `--text-color` etc.), Menü-Styling. Nutzt `!important` bewusst. **Immer für Farben konsultieren.** | | `meta.js` | Globales UI-Framework, `_018Space`-Objekt, Menü-Verhalten | | `tools/controls.js` | Interaktive UI-Steuerelemente (Slider, Inputs, Zoom) | | `tools/zoom.js` | Zoom und Skalierung für Canvas-Seiten | | `0nefinity.js` | Mathematische Konstanten und Manifestationen der 0nefinity-Theorie | | `tools/tools/decimal.js` | Bibliothek für beliebig genaue Dezimalzahlen | | `tools/tools/pixi.js` | PixiJS (WebGL-Rendering) für grafikintensive Seiten | **Einstiegspunkte:** `index.html` (Manifest + Navigation), `README.html` (Doku) **Archiv:** `00_Archiv/` — nur zum Nachschlagen, nicht anfassen ## Git-Workflow - Entwicklung auf `claude-dev`, stabile Releases auf `main` - Dev-Arbeit regelmäßig committen und pushen - Merge nach `main` nur wenn stabil und getestet - Commit-Messages: Formlos, Deutsch oder Deutsch/Englisch gemischt (z.B. `"zwischenspeichern"`, `"018 ascii animation, yeah"`) ## Coding-Regeln - **Controls:** Immer `0` als gültigen Eingabewert erlauben, Ranges so unbegrenzt wie möglich (→ ∞). Keine künstlichen Obergrenzen. - **Styling:** Farben ausschließlich über `meta.css`-Variablen setzen. `meta.js`, `controls.js` und `zoom.js` für Standard-Interaktionen nutzen — nicht neu erfinden. - **Performance:** Muss auch auf alter Hardware ("Gurke") flüssig laufen. Rechenintensive Aufgaben in Web Worker auslagern (`tools/workers/`). - **Dateinamen:** Auf Deutsch, beschreibend, Leerzeichen und Emojis sind erlaubt und gewollt. ## Philosophische Konventionen Deutsch-Englisch-Mix, unkonventionelle Interpunktion und metaphorische Variablennamen sind Absicht, keine Fehler. Die "Unvollkommenheiten" gehören zur Ästhetik des Projekts.