Developer Guide
★ Start here (Development) — Monorepo, architecture, APIs, MCP/Cursor, extension paths.
Editorial Documentation: Navbar Editorial, not this sidebar.
Welcome to the cockpitOS Developer Guide. Here: Plugins, Themes, APIs, MCP and platform extensions — technically, for code and integrations.
What You Can Develop
WordPress Themes
- Theme Upload System: ZIP upload with dashboard integration
- Center-specific Customizations: Colors, fonts, logo per center
- CSS Variables System: Dynamic theme customizations
- Elementor Integration: Custom widgets and dynamic tags
- Auto-synchronization: WordPress plugin automatically loads theme data
Elementor Widgets
- cockpitOS Widgets: Shop grids, event lists, news feeds
- Dynamic Tags: Content areas, shop data, event information
- Theme Integration: Widgets use dashboard colors and fonts
- API Integration: Live data from the cockpitOS dashboard
Blocks
- React Components: Modern React-based blocks
- Schema-based: Automatic UI generation from JSON schema
- Responsive: Mobile-first design
- Reusable: Deployed across different themes
Development Kit
In the monorepo, packages/sdk (@cockpitos/sdk) — CLI for scaffolding block and theme plugins. The global npm install -g method is optional for external plugin authors.
SDK (Monorepo)
# After pnpm install in the monorepo:
pnpm --filter @cockpitos/sdk exec cockpitos create-block my-block
pnpm --filter @cockpitos/sdk exec cockpitos create-theme my-theme
The command cockpitos dev currently only starts a placeholder log — plugin development primarily takes place via npm run dev in the generated plugin folder. Storybook/Playground as described in older docs are not included in the package.
Quick Start (external)
npm install -g @cockpitos/sdk
cockpitos create-block my-awesome-block
cd my-awesome-block && npm install && npm run dev
Documentation
- Plugin Development - Create your own plugins
- WordPress Themes — Development - Custom themes
- Block Development — Note: the old
frontend-spaapp no longer exists; Blocks/Themes see WordPress and Plugin docs - Public Center Website Reads — API Contract (Read) (CORS, Slug Flow, Copy-Paste Prompt for v0). For non-developers with v0: Step-by-step: v0 with public API. ZIP templates for the cockpit: under Templates — not to be confused with the API contract.
- API Reference - Complete API documentation of all endpoints (Coming Soon); available: WordPress Push Content (REST), Connecting AgencyOS to cockpitOS (Magic Link & v1 API) including optional OpenAPI AgencyOS and OpenAPI public Wayfinding Read. AI Website Building & Data Sync: Integration Concept, machine-readable:
/ai-integration/cockpit-api-capabilities.json. MCP (Claude Desktop): Monorepo packagepackages/mcp-cockpit-os— see README in the repository; Setup: Claude & Cockpit. - Examples - Practical examples and templates (Coming Soon)
Community
- GitHub (Monorepo): sawmuedev/smg-cockpit-os
- External plugin organization (if used): cockpitos/plugins
Prerequisites
- Node.js: >= 22.13 (as per Root
package.json/ Render) - TypeScript: >= 5.0.0
- React: >= 19.0.0
- Next.js: >= 15.0.0
Dashboard App in Monorepo (Build & Typecheck)
- Active Next Configuration:
apps/dashboard/next.config.js(notnext.config.ts; the.tsfile is only for reference/IDE). outputFileTracingRoot: points to the Workspace Root, so Next uses the correctpnpm-lock.yamlduring build (fewer warnings with multiple lockfiles).- Large Uploads:
experimental.serverActions.bodySizeLimitandexperimental.middlewareClientMaxBodySize(no outdatedproxyClientMaxBodySizein Next 15.5). pnpm --filter dashboard type-check: Thetsconfig.jsonof the dashboard does not include.next/typesinincludeand excludes.next— otherwise, generated route validator types produce many false positives; no impact on runtime data. Typed routes forLinkmight be restricted; source code undersrc/remains authoritative. (Next may write suggestions to the file on the first run — consciously do not commit/adopt.next/typesif you want a cleantsc.)- Build:
PageNotFoundError/ENOENTduring "Collecting page data": occurs during incremental builds occasionally when the.nextcache is inconsistent. No data loss: the dashboard automatically runsprebuildbeforepnpm build(rm -rf .next) to keep the production build stable. (Only build artifacts, no DB.) The API routes undersrc/app/api/.../route.tsare not altered in the process.
Next Steps
- Understand Plugin System - Fundamentals of the plugin architecture
- Create Your First Plugin - Step-by-step tutorial
- Develop Theme - Build your own theme (Coming Soon)
- Publish Plugin - Publish your plugin in the marketplace (Coming Soon)
Ready to get started? Begin with our Getting Started Guide.
Nutzungsstatistik: Seitenaufrufe werden anonymisiert erfasst. Im Umami-Dashboard nach diesem Pfad filtern: /en/developer-guide/intro