Marvia

Sign inSign up

packages/

17 kernel packages

Each package exposes a single public surface (src/index.ts), carries its own README, and declares its allowed dependencies in package.json.

Foundation

Composition root, extension API and primitives.

@marvia/core

Kernel: ports, registries, extension loader, snapshot pipeline.

@marvia/sdk

defineExtension and every registration contract.

@marvia/shared

Branded ids, Result, KernelError, pagination, clock.

@marvia/config

Env contract, feature flags, kernel limits.

Domain

Tenancy, identity, data access and money.

@marvia/database

Drizzle schema and ten repository contracts.

@marvia/auth

Auth adapter, roles, permissions, invitations.

@marvia/workspace

Tenant boundary, surfaces, scoping helpers.

@marvia/credits

Workspace wallet, cost policy, reserve/commit.

@marvia/billing

Payment adapter interfaces only.

Engines

Transport, schemas and pluggable pipelines.

@marvia/events

Event names, envelopes, bus contract.

@marvia/queue

Queue names, typed payloads, adapter contract.

@marvia/storage

R2 object storage, KV cache, scoped keys.

@marvia/report-engine

The universal report schema.

@marvia/content-engine

Content types, behaviour table, block documents.

@marvia/connector-engine

Connector adapter contract and registry.

@marvia/ai-router

Provider-agnostic model routing.

Surface

Design tokens, registry and themes.

@marvia/ui

Tokens, component registry, themes, layers.

Design system

Registered components

Schema-driven surfaces resolve components by id, so nothing renders a hardcoded import graph. Layers: primitives, compound, blocks, layouts.

IdLayerDescription
buttonprimitivesAction trigger
inputprimitivesText field
textareaprimitivesMultiline field
selectprimitivesOption picker
checkboxprimitivesBoolean field
switchprimitivesToggle field
badgeprimitivesStatus label
cardprimitivesSurface container
dialogprimitivesModal surface
tabsprimitivesSection switcher
tableprimitivesTabular data
progressprimitivesDeterminate progress
separatorprimitivesVisual divider
skeletonprimitivesLoading placeholder
tooltipprimitivesContextual hint
commandprimitivesCommand palette
page-headercompoundPage title, kicker and actions
section-headercompoundSection title row
metric-cardcompoundReport metric tile
stat-gridcompoundGrid of metric tiles
issue-cardcompoundSeverity-tagged finding
recommendation-cardcompoundImprovement suggestion
search-boxcompoundInline search field
toolbarcompoundPage action bar
theme-switchercompoundLight / dark / system
empty-statecompoundGuidance instead of emptiness
loading-statecompoundSkeletons, never spinners
error-statecompoundRecoverable failure surface
feedbackcompoundInline and banner messages
confirmation-dialogcompoundConfirm, delete, publish, pay
heroblocksLanding headline block
feature-gridblocksFeature card grid
data-panelblocksTitled data surface
activity-timelineblocksChronological activity
prompt-inputblocksPersistent AI prompt
markdown-contentblocksThe single content renderer
chart-containerblocksChart framing wrapper
sparklineblocksMini trend line
progress-ringblocksCircular score
fieldcompoundLabel, hint, error and ARIA wiring
form-shellcompoundOne form engine
app-layoutlayoutsSidebar → header → toolbar → content → prompt
dashboard-layoutlayoutsHeader plus content stack
report-layoutlayoutsFixed report section order
documentation-layoutlayoutsTable of contents plus reading column
split-layoutlayoutsTwo-column split