Skip to content

The Metacore SDK suite

A cohesive set of TypeScript packages under the @asteby/metacore-* scope — every one rendering the same kernel metadata into a typed, real-time, multi-tenant experience. Pick the runtime, drop in the shell, add the surfaces you need. Versions below are the current published releases.

One command to start

npm create @asteby/metacore-app my-app -- --example fullstack-starter wires the whole suite for you. The breakdown below is for when you want to reach for a package directly.

Runtime & rendering

The core that turns /api/metadata/table/:model + /api/dynamic/:model into UI.

PackageVer.What it does
@asteby/metacore-runtime-react11.0.0React runtime — renders addon contributions dynamically (<DynamicTable>, <DynamicForm>, <DynamicCRUDPage>, <Slot>, hooks).
@asteby/metacore-sdk2.6.0Frontend SDK — federated addon loader, slot registry, typed manifest & API client.
@asteby/metacore-lib0.4.0Utilities — date/currency/number formatting, error handling, cookies.
bash
pnpm add @asteby/metacore-runtime-react @asteby/metacore-sdk
tsx
import { DynamicCRUDPage } from '@asteby/metacore-runtime-react'

export const ModelPage = ({ model }: { model: string }) => <DynamicCRUDPage model={model} />

UI, theme & i18n

The look and the words.

PackageVer.What it does
@asteby/metacore-ui2.0.1UI kit — data-table, layout shell, command menu, shadcn-based primitives.
@asteby/metacore-theme2.0.0Design tokens + Tailwind 4 preset (oklch, shadows, fonts, dark mode).
@asteby/metacore-i18n6.0.0i18next factory, base ES/EN bundles, language switcher, RTL provider.
css
/* Declare SDK packages as Tailwind sources so their classes survive purging */
@import "tailwindcss";
@source "../node_modules/@asteby/metacore-ui";

App shell & providers

Bootstrap an app in one component.

PackageVer.What it does
@asteby/metacore-app-providers7.0.2MetacoreAppShell + transport-agnostic providers (platform-config, layout, search, direction, font).
@asteby/metacore-starter-core11.0.0Shared providers, stores, hooks and context consumed by Vite+React host apps.
tsx
import { MetacoreAppShell } from '@asteby/metacore-app-providers'

<MetacoreAppShell api={api} queryClient={queryClient}>
  <RouterProvider router={router} />
</MetacoreAppShell>

Auth

PackageVer.What it does
@asteby/metacore-auth7.1.0Auth kit — Zustand store, API client factory, login/signup/forgot pages, guards for TanStack Router.
tsx
import { createApiClient } from '@asteby/metacore-auth/api-client'
import { useAuthStore } from '@asteby/metacore-auth/store'

export const api = createApiClient({
  baseURL: '/api',
  getToken: () => useAuthStore.getState().auth.accessToken,
})

Realtime, webhooks & notifications

PackageVer.What it does
@asteby/metacore-websocket0.4.0WebSocket provider — auto-reconnect, typed messages, channel subscriptions.
@asteby/metacore-notifications7.0.0Notification dropdown, app badge, WebSocket-driven real-time updates.
@asteby/metacore-webhooks6.0.0Webhooks management UI — list, create, logs, test/replay, signing secrets.
bash
pnpm add @asteby/metacore-websocket @asteby/metacore-notifications

PWA, billing & marketplace

PackageVer.What it does
@asteby/metacore-pwa0.3.1PWA helpers — Vite plugin wrapper, install/update prompts, push notifications, offline indicator.
@asteby/metacore-billing0.2.0Subscription state, Stripe checkout/portal hooks, and the BillingSettings UI.
@asteby/metacore-marketplace0.1.0Hub catalog + install/upgrade client, React hooks, headless UI for addon discovery.
tsx
import { MarketplaceClient } from '@asteby/metacore-marketplace'

Tooling, CLI & starter

PackageVer.What it does
@asteby/metacore-tools4.0.0TypeScript client for the kernel's Tools runtime (LLM-triggered tools).
@asteby/metacore-starter-config2.2.1Shared Vite + Tailwind 4 + TanStack Router + ESLint + TS config (incl. metacoreOptimizeDeps).
@asteby/metacore-starter-monaco0.2.0Opt-in Monaco editor wrapper — keeps the ~2 MB bundle out of apps that don't embed an editor.
@asteby/create-metacore-app0.5.1npm create @asteby/metacore-app — scaffolds a full host from an example.
@asteby/create-metacore-addon0.1.0Scaffolds a new addon project.

The addon build CLI is the Go metacore tool:

bash
go install github.com/asteby/metacore-sdk/cli@latest
metacore init my-addon   # then: validate · build · sign · publish

Federation primitives

When an addon ships bespoke UI, the host loads it at runtime — no rebuild. The real entry points:

tsx
import {
  loadFederatedAddon,        // load a federated remote at runtime
  registerActionComponent,   // register a custom modal/component for an action
  getActionComponent,        // resolve a registered action component
} from '@asteby/metacore-runtime-react'

Versions move fast

Renovate keeps every @asteby/metacore-* dependency on the latest patch/minor automatically — the versions above are a point-in-time snapshot. The SDK docs track the live numbers and full API.

Where to go next

Metacore is open-source. Apache-2.0.