Release Candidate 1 · V1 eingefroren

Das Betriebssystem für deinen gesamten Handel.

Ein Operations-Kern für Verkauf, Katalog, Bestand, Versand, Finanzen und Kommunikation. Mandantenfähig getrennt, serverseitig berechnet, lückenlos protokolliert – und über eine stabile API an jede Storefront angebunden.

v1
stabile Store API
100 %
serverseitige Berechnung
RLS
auf jeder Fachtabelle
1 Kern
beliebig viele Shops
storefront.ts · Store SDK
import { createStoreClient } from "@/lib/store-sdk";

const store = createStoreClient({
  baseUrl: "https://deine-domain.tld/api/public/store/v1",
  publishableKey: import.meta.env.VITE_STORE_PUBLISHABLE_KEY,
});

const { products } = await store.catalog.list({ limit: 12 });
const cart = await store.cart.create();
await store.cart.addItem(cart.id, { variantId: products[0].variants[0].id, quantity: 1 });

// Zahlungsarten kommen vom Server – nie hartcodiert im Client.
const methods = await store.checkout.paymentMethods(cart.id);

Module

Ein Kern statt sechs Insellösungen.

Verkauf

Warenkorb, Checkout, Zahlungen und Bestellungen als ein durchgehender, serverseitig berechneter Prozess.

Katalog & Preise

Blueprints, Varianten, Preislisten, Kundengruppen und Promotions – eine Quelle für jeden Kanal.

Bestand

Bewegungsbasierte Bestände mit Reservierungen, Wareneingang, Transfers und Mehrlagerlogik.

Fulfillment & Versand

Kommissionierung, Pakete, Labels und Tracking – bis zur Retoure und Gutschrift.

Belege & Steuern

Rechnungen, Gutschriften und Steuersnapshots, unveränderlich und nachvollziehbar archiviert.

Integrationen

Stripe, PayPal, Mollie, Resend und eigener SMTP-Server über ein zentrales Integration Center.

Architektur

Vier Schichten, klare Grenzen.

  1. 01 · Datenschicht

    Postgres mit Row Level Security, Grants pro Rolle und Migrationen als einzige Quelle für Schemaänderungen.

  2. 02 · Engine-Schicht

    Pricing, Tax, Inventory, Payments, Fulfillment und Dokumente laufen als getestete Engines im Server-Code.

  3. 03 · Store API v1

    Öffentliche, versionierte HTTP-Schnittstelle mit Publishable Key, Rate-Limits und DTO-Allowlist.

  4. 04 · SDK & Storefronts

    TypeScript-SDK plus React-Hooks. Storefronts kennen weder Datenbank noch Secrets.

Was das praktisch bedeutet

  • Eine kompromittierte Storefront kann keine fremden Daten lesen – sie besitzt nur einen Publishable Key mit engem Scope.
  • Manipulierte Beträge im Client sind wirkungslos: Summen, Steuern und Bestände entstehen ausschließlich serverseitig.
  • Rechnungen und Steuersnapshots sind unveränderlich; Korrekturen laufen als Gutschrift oder Storno.
  • Zahlungsarten werden entdeckt, nicht hartcodiert – neue Provider erscheinen ohne Storefront-Deploy.

Setup für KI-Agenten

Dein Agent liest die Regeln, bevor er Code schreibt.

Das Repository enthält eine maschinenlesbare Agenten-Dokumentation: AGENTS.md, docs/agent/* und Manifeste für Module, Routen und die Store API.

Installation
# 1. Repository klonen
git clone https://github.com/u-canboz/EYIS.git
cd commerce-os

# 2. Abhängigkeiten und Entwicklungsserver
bun install
bun run dev        # http://localhost:8080

# 3. Vor jedem Abschluss – Pflichtlauf für Agenten
bun run verify     # docs:validate + typecheck + test + build
Agenten-Prompt
Lies zuerst AGENTS.md, dann docs/agent/START_HERE.md und
docs/agent/OPERATING_MODES.md. Ordne meinen Auftrag einer Betriebsart zu,
bevor du Code schreibst.

Harte Regeln:
- Jede Abfrage filtert nach organization_id (und shop_id, wo vorhanden).
- Neue Tabellen: CREATE TABLE -> GRANT -> ENABLE RLS -> CREATE POLICY.
- Storefronts nutzen ausschließlich @/lib/store-sdk, niemals Supabase direkt.
- Beträge, Steuern und Bestände rechnet nur der Server.
- Abschluss erst nach grünem "bun run verify".

Prinzipien

Mandantenfähig
Organisationen und Shops sind auf Datenbankebene getrennt – ohne Ausnahme.
Serverseitige Wahrheit
Preise, Steuern, Bestände und Summen berechnet ausschließlich der Server.
Unveränderliche Spuren
Belege, Steuersnapshots und Zahlungsereignisse werden nie überschrieben.
API-first
Jede Storefront spricht über die stabile Store API v1 und das TypeScript-SDK.

Bereit für den ersten echten Shop.

Zugangsdaten im Integration Center hinterlegen, Readiness prüfen, live gehen.