v2: Session-Login & Rollen, Premium-Admin, Visual-Block-Builder, KI-/MCP-API

- Auth-Umbau: Session-Login (signiertes HMAC-Cookie, scrypt-Hashing) statt Basic-Auth;
  users-/audit-Tabellen, Initial-Owner aus ENV, Rate-Limit, konfigurierbarer ADMIN_PATH
  (Middleware-Rewrite), Rollen-Gate (owner/redaktion/versand), Nutzerverwaltung, Audit-Log,
  Login/Logout/Konto-Seiten.
- Premium-Pass: Command-Palette (Cmd-K), Toasts, Account-Menue, aufgewertetes Dashboard
  (KPI-Trend+Sparkline, Aktivitaets-Feed, Schnellaktionen), schoene Empty-States.
- Block-Builder: pages.blocks, Vollbild-Editor (Liste/Live-Vorschau/Settings, Desktop/Mobil),
  10 Block-Typen, Storefront-BlockRenderer auf /seite/[slug], Save-Endpoint.
- KI-Editierbarkeit: token-gesicherte /api/admin/* (CRUD), Manifest /api/admin + /ai-admin.txt,
  MCP-Server unter mcp/ (14 Tools).
- Docs: README + .env.example + mcp/README aktualisiert.
This commit is contained in:
2026-06-17 12:46:31 +00:00
parent 3c48b69880
commit aec179db36
41 changed files with 9525 additions and 143 deletions
+19 -3
View File
@@ -1,11 +1,27 @@
# hd-commerce — Umgebungsvariablen
# --- Datenbank ---
# Pfad zur SQLite-Datenbank (wird automatisch angelegt)
DB_PATH=./data/hdc.db
# Admin-Zugang (Basic-Auth fuer /admin)
ADMIN_USER=admin
# --- Admin-Zugang (Session-Login) ---
# Initial-Owner, der beim ERSTEN Start angelegt wird (danach im Admin verwaltbar)
ADMIN_EMAIL=admin@example.com
ADMIN_PASS=admin
# Unter welchem Pfad der Admin erreichbar ist (z.B. "admin" -> /admin, "intern" -> /intern)
ADMIN_PATH=admin
# Geheimnis zum Signieren der Session-Cookies (HMAC). In Produktion UNBEDINGT setzen!
SESSION_SECRET=bitte-langes-zufaelliges-geheimnis-setzen
# Stripe (optional). Ohne echte Keys laeuft der Demo-Checkout-Fallback.
# --- KI-/MCP-Admin-API ---
# Bearer-Token für /api/admin/* (getrennt von der Session). Leer => API gesperrt.
HDC_API_TOKEN=
# --- Stripe (optional) ---
# Ohne echte Keys läuft der Demo-Checkout-Fallback.
STRIPE_PUBLIC_KEY=pk_test_xxxxxxxxxxxxxxxxxxxxxxxx
STRIPE_SECRET_KEY=sk_test_xxxxxxxxxxxxxxxxxxxxxxxx
# --- MCP-Server (mcp/) ---
# HDC_BASE_URL=https://shop.example.com
# HDC_API_TOKEN= (dasselbe Token wie oben)