Developer Guide
★ Start hier (Entwicklung) — Monorepo, Architektur, APIs, MCP/Cursor, Erweiterungspfade.
Redaktions-Doku: Navbar Redaktion, nicht diese Sidebar.
Willkommen zum cockpitOS Developer Guide. Hier: Plugins, Themes, APIs, MCP und Erweiterung der Plattform — technisch, für Code und Integrationen.
Was du entwickeln kannst
WordPress Themes
- Theme-Upload-System: ZIP-Upload mit Dashboard-Integration
- Center-spezifische Anpassungen: Farben, Fonts, Logo pro Center
- CSS-Variablen-System: Dynamische Theme-Anpassungen
- Elementor-Integration: Custom Widgets und Dynamic Tags
- Auto-Synchronisation: WordPress Plugin lädt Theme-Daten automatisch
Elementor Widgets
- cockpitOS Widgets: Shop-Grids, Event-Listen, News-Feeds
- Dynamic Tags: Content-Areas, Shop-Daten, Event-Informationen
- Theme-Integration: Widgets nutzen Dashboard-Farben und -Fonts
- API-Integration: Live-Daten vom cockpitOS Dashboard
Blocks
- React-Komponenten: Moderne React-basierte Blocks
- Schema-basiert: Automatische UI-Generierung aus JSON-Schema
- Responsive: Mobile-first Design
- Wiederverwendbar: Einsatz in verschiedenen Themes
Development Kit
Im Monorepo liegt packages/sdk (@cockpitos/sdk) — CLI zum Scaffold von Block- und Theme-Plugins. Der globale npm install -g-Weg ist optional für externe Plugin-Autoren.
SDK (Monorepo)
# Im Monorepo nach pnpm install:
pnpm --filter @cockpitos/sdk exec cockpitos create-block my-block
pnpm --filter @cockpitos/sdk exec cockpitos create-theme my-theme
Der Befehl cockpitos dev startet derzeit nur einen Platzhalter-Log — Plugin-Entwicklung erfolgt primär über npm run dev im erzeugten Plugin-Ordner. Storybook/Playground wie in älteren Docs beschrieben sind nicht im Paket enthalten.
Quick Start (extern)
npm install -g @cockpitos/sdk
cockpitos create-block my-awesome-block
cd my-awesome-block && npm install && npm run dev
Dokumentation
- Plugin-Entwicklung - Eigene Plugins erstellen
- WordPress Themes — Entwicklung - Custom Themes
- Block-Entwicklung — Hinweis: die alte
frontend-spa-App existiert nicht mehr; Blocks/Themes siehe WordPress- und Plugin-Docs - Öffentliche Center-Website-Reads — API-Vertrag (Read) (CORS, Slug-Flow, Copy-Paste-Prompt für v0). Für Nicht-Entwickler:innen mit v0: Schritt-für-Schritt: v0 mit öffentlicher API. ZIP-Templates fürs Cockpit: unter Templates — nicht mit dem API-Vertrag verwechseln.
- API-Referenz - Vollständige API-Dokumentation aller Endpunkte (Coming Soon); verfügbar: WordPress Push-Content (REST), AgencyOS an cockpitOS anbinden (Magic Link & v1 API) inkl. optionaler OpenAPI AgencyOS sowie OpenAPI öffentlicher Wayfinding-Read. KI-Website-Bau & Daten-Sync: Integrationskonzept, maschinenlesbar:
/ai-integration/cockpit-api-capabilities.json. MCP (Claude Desktop): Monorepo-Paketpackages/mcp-cockpit-os— siehe README im Repository; Setup: Claude & Cockpit. - Examples - Praktische Beispiele und Templates (Coming Soon)
Community
- GitHub (Monorepo): sawmuedev/smg-cockpit-os
- Externe Plugin-Org (falls genutzt): cockpitos/plugins
Voraussetzungen
- Node.js: >= 22.13 (wie Root-
package.json/ Render) - TypeScript: >= 5.0.0
- React: >= 19.0.0
- Next.js: >= 15.0.0
Dashboard-App im Monorepo (Build & Typecheck)
- Aktive Next-Konfiguration:
apps/dashboard/next.config.js(nichtnext.config.ts; die.ts-Datei dient nur als Referenz/IDE). outputFileTracingRoot: zeigt auf das Workspace-Root, damit Next beim Build die richtigepnpm-lock.yamlnutzt (weniger Warnungen bei mehreren Lockfiles).- Große Uploads:
experimental.serverActions.bodySizeLimitundexperimental.middlewareClientMaxBodySize(kein veraltetesproxyClientMaxBodySizein Next 15.5). pnpm --filter dashboard type-check:tsconfig.jsondes Dashboards nimmt.next/typesnicht inincludeauf und exclude’t.next— die generierten Route-Validator-Typen erzeugen sonst viele False Positives; kein Einfluss auf Laufzeitdaten. Typed Routes fürLinksind dann ggf. eingeschränkt; Quellcode untersrc/bleibt maßgeblich. (Next kann beim ersten Lauf Vorschläge in die Datei schreiben —.next/typesbewusst nicht committen/übernehmen, wenn ihr sauberestscwollt.)- Build:
PageNotFoundError/ENOENTbeim Schritt „Collecting page data“: tritt bei inkrementellen Builds gelegentlich auf, wenn der.next‑Cache inkonsistent ist. Kein Datenverlust: das Dashboard führt vorpnpm buildautomatischprebuildaus (rm -rf .next), damit der Produktions-Build stabil bleibt. (Nur Build-Artefakte, keine DB.) Die API-Routen untersrc/app/api/.../route.tswerden dabei nicht verändert.
Nächste Schritte
- Plugin-System verstehen - Grundlagen der Plugin-Architektur
- Erstes Plugin erstellen - Step-by-Step Tutorial
- Theme entwickeln - Eigenes Theme bauen (Coming Soon)
- Plugin veröffentlichen - Plugin im Marketplace veröffentlichen (Coming Soon)
Bereit loszulegen? Starte mit unserem Getting Started Guide.
Nutzungsstatistik: Seitenaufrufe werden anonymisiert erfasst. Im Umami-Dashboard nach diesem Pfad filtern: /developer-guide/intro