Spark ERP

SDKs

One real SDK family today: JavaScript / TypeScript.

Spark ERP's SDK surface is JavaScript/TypeScript, shipped as a Node CLI + MCP server and a set of React "escape hatch" packages for custom UI. There is no Java, Python, Go, C# or PHP client SDK yet — that is roadmap, stated here plainly rather than implied. Writing a plugin is a separate thing: its backend can be a Java, Python, Node.js or Go service, and its screens can be written in any UI framework that can produce a Web Component (starters for Vue, React and plain JavaScript).

SDKs StudioAPIs & eventsPlugins 123456789 SecurityDesign Multi-tenancyExtend
How the platform fits together
StudioAPIs & eventsPluginsSecurityMulti-tenancyIntegrationsSpark ERP
From idea to running feature
Design

Model data and pages

1
Configure

Rules and workflows

2
Extend

Plugins and APIs

3
Publish

Versioned release

4
Run

Per-tenant, isolated

5

@erp/plugin-sdk — CLI + MCP server

The primary SDK: the `erp` CLI and `erp-mcp-server`, authoring plugins against a deployed tenant with zero access to the platform monorepo. Ships an offline bundle (schemas, the frozen engine capability catalog, curated examples, tenant-public docs, the block catalog and self-contained validators) so most commands work before you ever log in.

The 7 Code Plugin SDK packages

For the cases a no-code page can't cover, a custom React component can be registered as a block through @erp/block-adapter-mui's registerCustomRenderer. These 7 packages are the "escape hatch" it can import — each one a typed wrapper over a real platform endpoint, never a hand-rolled fetch.

@erp/ui

Typed primitives, each mapping 1:1 onto a real @erp/block-engine block type — the authoring-time types plus the runtime the compiler imports to evaluate a compiled plugin module.

@erp/data

useERPQuery — wraps the real generic query engine (GET /api/v1/entities/{name}/records/query), scoped by tenant and session.

@erp/auth

useERPSession — wraps the real GET /api/v1/auth/session endpoint.

@erp/permissions

useERPRoles and useERPPermissions — role membership and fine-grained permission-key resolution against the real session.

@erp/workflows

useERPHumanTasks / useERPDecideTask — wrap the real engine-workflow REST surface (/api/v1/workflows/*).

@erp/notifications

useERPNotifications — wraps the real in-app notifications endpoint (/api/v1/communications/in-app).

@erp/ai

useERPDocs / useERPSchemaCatalog — search a build-time-generated offline index of the doc set plus the real schema catalog.

Roadmap — not shipped today

Planned: more language SDKs

A Java SDK, a Python SDK and a Node SDK page structure are named in this platform's own roadmap notes, with Go, C# and PHP further out. None of these client SDKs exist today — only the JavaScript/TypeScript CLI, MCP server and Code Plugin SDK packages above are real and shipped. (A plugin backend in Java, Python, Node.js or Go does not need one: it talks to the platform over plain REST.)

  • Java SDK — planned
  • Python SDK — planned
  • Go SDK — planned
  • C# SDK — planned
  • PHP SDK — planned

Start with the CLI.

The CLI and MCP server cover plugin authoring end-to-end today — install it and follow the quick start.