2.9 KiB
Lies zuerst handoff.md in diesem Verzeichnis KOMPLETT (oben bis unten). Das ist die
verbindliche Quelle für Produkt, Stack, Regeln, Ordnerstruktur und Deployment des Projekts
Clusev (self-hosted Multi-Server-Control-Panel, agentless über SSH).
Kontext dieser Maschine: Debian 13, 10.10.90.136, nur Docker + ein sudo-User installiert —
sonst nichts (kein PHP/Node/Composer auf dem Host). Alles läuft in Containern. Deployment = plain
Docker Compose, kein Portainer.
Arbeite in dieser Reihenfolge und stoppe an den markierten Freigabe-Punkten:
-
handoff.mdlesen. Bestätige mir in 5–8 Stichpunkten, dass du Produkt, Stack und die STRICT RULES (R1–R10, §4) verstanden hast. Wenn die Mockup-Referenz../bastionexistiert, sieh sie dir an (Pixel-Vorlage + Tokens). -
Offene Punkte (§12) abfragen, BEVOR du baust: finaler Name (Clusev?), DB (MariaDB?), GHCR-Namespace, ob
../bastionvorhanden ist. Bei Unklarheit fragen — nicht raten. -
rules.mderzeugen — die STRICT RULES R1–R10 aus §4, jede mit kurzer Begründung + ✅korrekt / ❌verboten Code-Beispiel (v.a. R1–R5: full-page Livewire-Routen, class statt Volt, Tokens in@theme, keine Inline-Styles außer Progressbar-width, Löschen nur per Modal). -
CLAUDE.mderzeugen — Produkt (§1), Stack (§3), Ordnermap (§5), Commands (§9), Konventionen (UI Deutsch/kein Emoji, Tokens, responsive Mobile+Tablet+Desktop) + eine "Before-you-code"-Checkliste, die aufrules.mdverweist.→ FREIGABE-PUNKT: Zeig mir
rules.md+CLAUDE.md. Erst nach meinem OK weiter. -
Scaffold (Docker-first, §8/§9). Host hat nur Docker → alles im Container bootstrappen:
Dockerfile(php8.3-fpm + composer + node),docker-compose.yml(dev: app, vite, reverb, queue, mariadb, redis —build:, bind-mount, Vite remote-HMRhost=0.0.0.0,hmr.host=10.10.90.136),docker-compose.prod.yml,.dockerignore.- Laravel 12 + Livewire 3 (class, kein Volt) + Tailwind 4 + Vite.
composer require livewire/livewire wire-elements/modal phpseclib/phpseclib laravel/reverb.resources/css/app.cssmit@theme-Tokens aus §6 (ausbastion.css).- Saubere Ordnerstruktur exakt nach §5.
→ FREIGABE-PUNKT: App startet im Container, leere Seite rendert, Vite-HMR läuft. Zeig mir das.
-
v1 starten (§1 Scope). Layout + Blade-Components (Sidebar, Topbar, Panel, Kpi, StatusPill, StatusDot, Badge, Icon[Lucide], Ring), Dashboard als full-page Livewire-Route mit Live-Metriken über Reverb. Mock-Daten zuerst, SSH-Layer (phpseclib) danach. Alles responsive.
Halte dich strikt an rules.md. Konflikt zwischen meiner Anweisung und den Regeln → nachfragen.
Verifiziere jeden Schritt (Container baut, Seite rendert, keine Console-Errors) bevor du
"fertig" sagst. Arbeite auf einem Branch, nicht auf main; committe in sinnvollen Schritten.