Store API v1 · Release Candidate 1
Von null auf erste Bestellung.
EYIS ist so gebaut, dass Menschen und KI-Agenten dieselben Regeln lesen. Diese Seite fasst Installation, Agenten-Setup, API und SDK zusammen.
1 · Installation
Voraussetzung ist bun. Datenbank wird für dev, test und build nicht benötigt.
git clone https://github.com/u-canboz/EYIS.git
cd commerce-os
bun install
bun run dev # http://localhost:80802 · Agenten anlernen
Kopiere diesen Block in die Regeldatei deines Agenten (Lovable, Cursor, Claude Code, Codex). Er verweist auf die Dokumentation im Repository statt sie zu duplizieren.
# .cursorrules / AGENTS.md deines Projekts
Arbeite ausschließlich nach den Regeln in AGENTS.md dieses Repositories.
Reihenfolge beim Einstieg:
1. AGENTS.md
2. docs/agent/START_HERE.md
3. docs/agent/OPERATING_MODES.md -> Betriebsart A, B oder C bestimmen
4. docs/agent/ARCHITECTURE_MAP.md
5. docs/agent/SECURITY_BOUNDARIES.md
Nicht verhandelbar:
- Mandantentrennung über organization_id / shop_id in jeder Abfrage
- Neue Tabelle: CREATE TABLE -> GRANT -> ENABLE RLS -> CREATE POLICY
- Storefronts nur über @/lib/store-sdk (kein Supabase-Import)
- Server rechnet Preise, Steuern, Bestände und Summen
- Keine Seeds, QA-Läufe oder echten Zahlungen gegen Production
- Fertig ist erst, was "bun run verify" grün bestätigt3 · Prüfbefehle
bun run typecheck # TypeScript ohne Emit
bun run test # Engine- und Grenz-Tests
bun run generate:manifests # nach Doku-/Routenänderungen
bun run verify # Pflichtlauf vor jedem Abschluss4 · Store API v1
Öffentliche, versionierte Schnittstelle mit Publishable Key, Rate-Limits und DTO-Allowlist. Breaking Changes sind ausgeschlossen; Neues kommt additiv.
curl https://deine-domain.tld/api/public/store/v1/catalog/products \
-H "Authorization: Bearer $STORE_PUBLISHABLE_KEY" \
-H "Accept: application/json"import { StoreProvider, useCatalog } from "@/lib/store-sdk/react";
export function App() {
return (
<StoreProvider
baseUrl={import.meta.env.VITE_STORE_API_URL}
publishableKey={import.meta.env.VITE_STORE_PUBLISHABLE_KEY}
>
<Catalog />
</StoreProvider>
);
}
function Catalog() {
const { data, isLoading } = useCatalog({ limit: 12 });
if (isLoading) return <p>Lädt …</p>;
return <ul>{data?.products.map((p) => <li key={p.id}>{p.title}</li>)}</ul>;
}5 · Weg zum ersten Shop
Organisation und Shop anlegen
Im Backoffice registrieren, Organisation erstellen, ersten Shop mit Währung, Land und Steuerprofil konfigurieren.
Provider im Integration Center verbinden
Stripe, PayPal, Mollie, Resend oder eigener SMTP-Server. Zugangsdaten werden verschlüsselt serverseitig gespeichert – nie im Client.
Publishable Key erzeugen
Der Key adressiert genau einen Shop und erlaubt nur die Store-API-Operationen einer Storefront.
Storefront über das SDK anbinden
Katalog, Warenkorb, Checkout und Zahlungsarten kommen vollständig aus der API. Keine Berechnung im Client.
Readiness prüfen und live gehen
Shop-Readiness im Backoffice zeigt offene Punkte je Provider, Domain und Konfiguration vor dem Go-live.
Wichtige Dateien im Repository
- AGENTS.md
- Verbindliche Regeln für jede Änderung.
- docs/agent/START_HERE.md
- Orientierung in zehn Minuten.
- docs/agent/STORE_API_GUIDE.md
- Endpunkte, Fehlercodes, Limits.
- docs/agent/MIGRATION_RULES.md
- Schema, Grants, RLS, Reihenfolge.
- src/lib/store-sdk/
- SDK-Core und React-Hooks.
- docs/production/
- Umgebungen, Secrets, Rollback, Go-live.