Skip to content

Ecosystem ​

The full @basaltkit/* ecosystem — 94 packages grouped by area, with their current versions. Each package is small and focused, works on its own, and is published independently to npm.

Always up to date

This page is generated at build time from every package's package.json, so the versions always reflect the latest published releases.

Foundation

PackageVersionDescription
@basaltkit/config1.1.2Namespaced, typed configuration for Basalt, with dot-path access and container integration.
@basaltkit/core1.5.0Foundation of the Basalt ecosystem: token-based DI container, plugin system, lifecycle, hooks and context via AsyncLocalStorage.
@basaltkit/env3.1.1Typed environment variable validation with Zod — fails at boot with an aggregated report.
@basaltkit/events1.3.0Basalt event bus: domain events typed with Zod, prioritized listeners, wildcards and container integration.
@basaltkit/events-prisma1.3.0Prisma-backed implementation of the @basaltkit/events OutboxStore (transactional outbox) — the production reference backend (PostgreSQL/MySQL). Bring your own PrismaClient; ships a reference schema.
@basaltkit/events-sqlite1.2.0Durable, SQLite-backed implementation of the @basaltkit/events OutboxStore (transactional outbox), on Node's built-in node:sqlite. Zero external dependencies.
@basaltkit/logger1.3.0Structured logger on top of Pino: automatic enrichment with requestId/tenantId via AsyncLocalStorage and redaction of sensitive fields.

HTTP & API

PackageVersionDescription
@basaltkit/express2.0.0Express adapter for Basalt: run the same typed routes, enrichers and guards on Express that you would on Fastify or Hono.
@basaltkit/fastify2.5.0Official Basalt HTTP adapter on top of Fastify: Zod-typed routes, per-request context via AsyncLocalStorage and standardized errors.
@basaltkit/hono2.0.0Hono adapter for Basalt: run the same typed routes, enrichers and guards on Hono (Node, Bun, Deno, edge) as on Fastify or Express.
@basaltkit/http2.7.0Framework-neutral HTTP core for Basalt: typed routes, request pipeline (validation, enrichers, guards), and error mapping — shared by the Fastify, Express and Hono adapters.
@basaltkit/sdk2.1.0Type-safe HTTP client for Basalt APIs: endpoints defined with Zod drive an inferred client with typed errors and transparent token refresh. Frontend-friendly (only Zod).

Persistence & data

PackageVersionDescription
@basaltkit/backup0.3.2PostgreSQL backups for Basalt applications, including multi-tenant deployments.
@basaltkit/cache2.0.1Driver-agnostic Basalt cache: tags, stale-while-revalidate, tenant scoping and an in-memory driver. Shared backends ship as their own packages (@basaltkit/cache-redis, -tiered).
@basaltkit/cache-redis1.0.0Redis cache driver for @basaltkit/cache: a shared cache across processes, with atomic SWR and tag invalidation.
@basaltkit/cache-tiered1.1.2Multi-level (tiered) cache driver for @basaltkit/cache — an in-process near cache in front of a far cache (Redis), with read backfill and write/invalidation fan-out. Zero dependencies.
@basaltkit/files6.0.0File uploads for Basalt: validation (type/size), per-tenant storage quota, metadata records, signed URLs, and hooks (antivirus/thumbnails) over @basaltkit/storage.
@basaltkit/files-prisma0.2.1Prisma-backed implementation of the @basaltkit/files FileStore — the production reference backend (PostgreSQL/MySQL). Bring your own PrismaClient; ships a reference schema.
@basaltkit/files-versions0.1.4Document revisions on top of @basaltkit/files — each version points at its own file, so an earlier draft keeps its own bytes and nothing is ever overwritten.
@basaltkit/prisma3.0.0Prisma integration for Basalt: tenant-scoping client extension (shared database), LRU client pool (database per tenant) and ctx().db.
@basaltkit/storage5.0.0Driver-agnostic Basalt storage: disks, scoping, image pipeline and a local-filesystem driver. Cloud backends ship as their own packages (@basaltkit/storage-s3, -azure, -gcs).
@basaltkit/storage-azure1.4.2Azure Blob Storage driver for @basaltkit/storage — put/get/list/delete/SAS URLs over @azure/storage-blob, with an injectable client for testing.
@basaltkit/storage-gcs1.3.2Google Cloud Storage driver for @basaltkit/storage — put/get/list/delete/signed URLs over @google-cloud/storage, with an injectable client for testing.
@basaltkit/storage-s31.4.0S3-compatible storage driver for @basaltkit/storage: AWS S3, MinIO, Cloudflare R2 and friends, with presigned temporary URLs.

Queues & scheduling

PackageVersionDescription
@basaltkit/queue3.0.0Driver-agnostic Basalt queues: declarative jobs with Zod payloads, context propagation (tenant/requestId) to workers, and a sync driver for tests. Backends ship as their own plugins (@basaltkit/queue-bullmq, -rabbitmq, -sqs, -kafka).
@basaltkit/queue-bullmq1.1.0BullMQ/Redis driver and plugin for @basaltkit/queue: background jobs with retries, backoff, delayed delivery, priority and non-destructive job inspection.
@basaltkit/queue-kafka1.2.1Kafka driver for @basaltkit/queue: produce/consume jobs with retry and dead-letter topics (no delayed delivery or priority — Kafka has neither).
@basaltkit/queue-rabbitmq1.4.0RabbitMQ driver for @basaltkit/queue: AMQP jobs with retries, backoff, delayed delivery and priority via dead-letter queues.
@basaltkit/queue-sqs1.3.0Amazon SQS driver for @basaltkit/queue: native delayed delivery, app-level retries with backoff and a dead-letter queue (no priority — SQS has none).
@basaltkit/scheduler1.5.1Fluent Basalt scheduler: schedule.job(X).daily().at('03:00'), timezones, withoutOverlapping and @basaltkit/queue integration.

Auth & access

PackageVersionDescription
@basaltkit/api-keys-ui1.3.0A self-contained HTML page to manage @basaltkit/auth API keys: create (show once), list and revoke — zero dependencies, no build.
@basaltkit/auth4.1.0Authentication for Basalt: password hashing, JWT with refresh rotation and reuse detection, sessions, ready-made /auth routes and route guards.
@basaltkit/auth-prisma2.0.0Prisma-backed implementations of every @basaltkit/auth store (users, sessions, refresh tokens, one-time tokens, API keys, MFA) — the production reference backend (PostgreSQL/MySQL). Bring your own PrismaClient; ships a reference schema.
@basaltkit/auth-saml3.0.0SAML 2.0 SSO for @basaltkit/auth — SP-initiated login over @node-saml/node-saml (vetted XML-DSig), plugging into Auth.socialLogin.
@basaltkit/auth-sqlite2.0.0Durable, SQLite-backed implementations of every @basaltkit/auth store (users, sessions, refresh tokens, one-time tokens, API keys, MFA) built on Node's built-in node:sqlite. Zero external dependencies.
@basaltkit/permissions4.0.0Authorization for Basalt, Spatie-style: roles, permissions with wildcards, policies, tenant scoping, super admin and route guards.
@basaltkit/permissions-prisma2.1.0Prisma-backed implementation of the @basaltkit/permissions AccessStore — the production reference backend (PostgreSQL/MySQL). Bring your own PrismaClient; ships a reference schema.
@basaltkit/permissions-sqlite2.1.0Durable, SQLite-backed implementation of the @basaltkit/permissions AccessStore, on Node's built-in node:sqlite. Zero external dependencies.

Multi-tenancy & teams

PackageVersionDescription
@basaltkit/teams4.0.0Teams for Basalt: multi-user tenants with roles, email invitations (accept/revoke), membership management and a teamRole route guard.
@basaltkit/teams-prisma1.1.0Prisma-backed implementations of the @basaltkit/teams stores (memberships, invitations) — the production reference backend (PostgreSQL/MySQL). Bring your own PrismaClient; ships a reference schema.
@basaltkit/teams-sqlite1.0.5Durable, SQLite-backed implementations of the @basaltkit/teams stores (memberships, invitations) built on Node's built-in node:sqlite. Zero external dependencies.
@basaltkit/teams-ui1.1.2A self-contained HTML page to manage @basaltkit/teams: invite/revoke invitations and list/change-role/remove members — zero dependencies, no build.
@basaltkit/tenancy3.1.0Multi-tenancy for Basalt: pluggable tenant resolvers (subdomain, domain, header, route), tenant context via AsyncLocalStorage and lifecycle hooks.
@basaltkit/tenancy-prisma2.0.0Prisma-backed implementation of the @basaltkit/tenancy TenantSource — the production reference backend (PostgreSQL/MySQL). Bring your own PrismaClient; ships a reference schema.
@basaltkit/tenancy-sqlite1.2.2Durable, SQLite-backed implementation of the @basaltkit/tenancy TenantSource, on Node's built-in node:sqlite. Zero external dependencies.

Billing & payments

PackageVersionDescription
@basaltkit/billing-ui1.1.4A self-contained HTML page for @basaltkit/subscriptions: show the current plan and available plans, subscribe/switch via hosted Checkout, and manage billing via the Customer Portal. Zero dependencies.
@basaltkit/subscriptions5.0.0Billing for Basalt, Cashier/Soulbscription-style: declarative plans, subscriptions with trials, feature flags, usage limits, gateway drivers and idempotent webhooks.
@basaltkit/subscriptions-pdf0.1.5Render @basaltkit/subscriptions invoices to PDF with pdfkit — a printable invoice from the same Invoice object, kept out of the dependency-free core.
@basaltkit/subscriptions-prisma3.0.0Prisma-backed implementations of the @basaltkit/subscriptions stores (subscriptions, atomic usage metering, webhook idempotency) — the production reference backend (PostgreSQL/MySQL). Bring your own PrismaClient; ships a reference schema.
@basaltkit/subscriptions-proxypay2.1.5ProxyPay payment gateway driver for @basaltkit/subscriptions — reference-based Multicaixa/EMIS payments for Angola (AOA), implementing the PaymentGateway contract.
@basaltkit/subscriptions-sqlite3.0.0Durable, SQLite-backed implementations of the @basaltkit/subscriptions stores (subscriptions, atomic usage metering, webhook idempotency) built on Node's built-in node:sqlite. Zero external dependencies.

Search

PackageVersionDescription
@basaltkit/search2.0.0Full-text search for Basalt: tenant-scoped indexing and querying with a pluggable driver (in-memory for dev/test, Meilisearch for production) and automatic sync from domain events.
@basaltkit/search-elasticsearch2.0.0Elasticsearch / OpenSearch driver for @basaltkit/search — multi_match relevance, tenant-scoped, talking to the REST API directly with an injectable fetch (no SDK).
@basaltkit/search-postgres1.2.0PostgreSQL full-text search driver for @basaltkit/search — tsvector/tsquery/ts_rank, tenant-scoped, with an injectable pg client for testing.

Capabilities

PackageVersionDescription
@basaltkit/activity1.3.2User-facing activity log for Basalt, Spatie Activitylog-style: fluent builder, causer/tenant from context and queryable feeds.
@basaltkit/activity-prisma1.1.0Prisma-backed implementation of the @basaltkit/activity ActivityStore (activity feed) — the production reference backend (PostgreSQL/MySQL). Bring your own PrismaClient; ships a reference schema.
@basaltkit/activity-sqlite1.0.2Durable, SQLite-backed implementation of the @basaltkit/activity ActivityStore (activity feed), on Node's built-in node:sqlite. Zero external dependencies.
@basaltkit/audit3.0.0Append-only audit trail for Basalt: automatically records lifecycle hooks and domain events, enriched with actor/tenant/request from the context.
@basaltkit/audit-prisma2.0.1Prisma-backed implementation of the @basaltkit/audit AuditStore (append-only trail) — the production reference backend (PostgreSQL/MySQL). Bring your own PrismaClient; ships a reference schema.
@basaltkit/audit-sqlite2.0.1Durable, SQLite-backed implementation of the @basaltkit/audit AuditStore (append-only trail), on Node's built-in node:sqlite. Zero external dependencies.
@basaltkit/audit-viewer3.0.2Read-only viewer for the @basaltkit/audit trail: tenant-scoped, filterable, paginated queries with aggregate stats, plus a self-contained HTML browser.
@basaltkit/comments4.0.0Comments for Basalt: per-resource threads with @mentions and resolve/reopen, tenant-scoped, emitting events that bridge to realtime and notifications.
@basaltkit/comments-prisma1.1.0Prisma-backed implementation of the @basaltkit/comments CommentStore — the production reference backend (PostgreSQL/MySQL). Bring your own PrismaClient; ships a reference schema.
@basaltkit/comments-sqlite1.0.5Durable, SQLite-backed implementation of the @basaltkit/comments CommentStore, on Node's built-in node:sqlite. Zero external dependencies.
@basaltkit/drives0.3.1Connect a tenant's external file-storage accounts (Google Drive, OneDrive/SharePoint, Dropbox) to a Basalt app: provider-neutral contract, encrypted credentials with refresh and rotation, paginated listing, streaming import into @basaltkit/files, and incremental sync.
@basaltkit/drives-dropbox1.0.0Dropbox provider adapter for @basaltkit/drives: OAuth with offline refresh, list_folder cursors, streaming download and upload, content_hash checksums, rate-limit and error mapping, and signed webhook verification.
@basaltkit/drives-google1.0.0Google Drive provider adapter for @basaltkit/drives: offline OAuth with PKCE, files.list pagination, changes.list incremental sync, streaming download through the CDN redirect, md5 checksums, 403-based rate-limit mapping, and per-channel push notifications.
@basaltkit/drives-microsoft1.0.0Microsoft OneDrive / SharePoint provider adapter for @basaltkit/drives: Entra ID OAuth with PKCE and rotating refresh tokens, /delta change feed, opaque @odata.nextLink pagination, pre-signed streaming downloads, quickXorHash checksums and clientState-authenticated Graph subscriptions.
@basaltkit/exports1.2.0Data exports for Basalt: render typed export definitions to CSV/TSV/JSON/NDJSON (native, zero-dep) through a pluggable formatter seam, designed to run async via @basaltkit/queue.
@basaltkit/exports-xlsx1.0.3XLSX formatter for @basaltkit/exports — writes a valid single-sheet .xlsx (Office Open XML) with a built-in ZIP writer. Zero dependencies.
@basaltkit/flags1.0.5Feature flags for Basalt: context-aware evaluation with per-tenant/user targeting and deterministic percentage rollouts.
@basaltkit/i18n1.0.3Internationalization for Basalt: context-resolved locale (per user/tenant), typed message catalogs with interpolation and plurals, and Intl-based formatting. Zero dependencies.
@basaltkit/mailer2.1.0Driver-agnostic Basalt mailer: typed mail definitions, previews, queueing and HTTP-API drivers (Resend, SES, Mailgun) plus log/memory. SMTP ships as @basaltkit/mailer-smtp.
@basaltkit/mailer-smtp1.0.2SMTP driver for @basaltkit/mailer, built on nodemailer — any SMTP server, including Mailpit and MailHog in development.
@basaltkit/notifications1.2.5Multi-channel notifications for Basalt: declarative definitions, channel drivers (in-app, mail, custom), per-recipient preferences and queue integration.
@basaltkit/notifications-prisma1.1.0Prisma-backed implementation of the @basaltkit/notifications InAppStore (in-app notifications) — the production reference backend (PostgreSQL/MySQL). Bring your own PrismaClient; ships a reference schema.
@basaltkit/notifications-sqlite1.0.2Durable, SQLite-backed implementation of the @basaltkit/notifications InAppStore (in-app notifications), on Node's built-in node:sqlite. Zero external dependencies.
@basaltkit/realtime1.5.0Realtime for Basalt: server-to-client push over WebSocket/SSE with per-tenant channels, presence, an events bridge, and a pluggable backplane (in-memory or Redis pub/sub).
@basaltkit/realtime-client1.0.3Browser client for @basaltkit/realtime: subscribe to per-tenant channels over WebSocket or SSE, route events, and auto-reconnect. Zero dependencies.
@basaltkit/webhooks4.0.0Outbound webhooks for Basalt: signed delivery with retries and backoff, per-tenant subscriptions, and automatic dispatch from domain events.
@basaltkit/webhooks-prisma2.1.0Prisma-backed implementation of the @basaltkit/webhooks WebhookStore (endpoint subscriptions) — the production reference backend (PostgreSQL/MySQL). Bring your own PrismaClient; ships a reference schema.
@basaltkit/webhooks-sqlite2.1.0Durable, SQLite-backed implementation of the @basaltkit/webhooks WebhookStore (endpoint subscriptions), on Node's built-in node:sqlite. Zero external dependencies.

Admin & UI

PackageVersionDescription
@basaltkit/admin2.0.0Headless admin kit for Basalt: derive table columns, form fields and validation from Zod schemas, plus a framework-agnostic data-source contract. The engine any React admin renders.
@basaltkit/admin-react1.1.0React binding for @basaltkit/admin: DataTable and ResourceForm rendered from Zod-derived view models, plus data-source hooks.
@basaltkit/admin-shadcn1.1.1shadcn/ui-styled React components for @basaltkit/admin: Button/Input/Table/Card/Badge primitives and styled DataTable/ResourceForm rendering the Zod-derived view models.
@basaltkit/dashboard1.4.5Headless admin dashboard model for Basalt: billing metrics (MRR/ARR/churn), queue/audit summaries and a section registry binding admin resources to the SDK.

Developer experience

PackageVersionDescription
@basaltkit/ai1.3.0AI-native developer experience for Basalt: a provider-agnostic engine plus `basalt ai` CLI that understands the project's stack, analyzes it, and diagnoses issues — following the framework's own conventions, not inventing new ones.
@basaltkit/ai-mcp0.3.0Dev-only MCP bridge that exposes Basalt's AI developer workflows (analyze, doctor — plan/make/review to follow) to MCP clients (Claude Desktop/Code) over stdio. Never a runtime dependency of an app: it only uses the framework's official public APIs.
@basaltkit/cli1.2.5The 'basalt' command framework for Basalt apps: define commands, run them against a booted app, and inspect routes and schedules.
@basaltkit/generator1.5.0Code scaffolding for Basalt apps (basalt make): generates a full resource vertical — schema, repository, service, DI plugin, typed routes and test.
@basaltkit/testing2.0.3Testing kit for Basalt apps: createTestApp with user/tenant impersonation, mail and queue fakes with assertions, and time travel.

other

PackageVersionDescription
@basaltkit/image-sharp1.1.7sharp-backed image processor for @basaltkit/storage — resize/rotate/blur and JPEG/PNG/WebP/AVIF encoding behind the engine-neutral ImageProcessor contract.
@basaltkit/mcp5.0.0Model Context Protocol for Basalt: expose opt-in routes as MCP tools over HTTP (any adapter) or stdio, and consume external MCP servers as a client — all through the neutral route pipeline.
@basaltkit/mcp-core0.4.0Zero-dependency Model Context Protocol core for Basalt: the JSON-RPC 2.0 + MCP wire types, a transport-neutral server/dispatcher over function-shaped tools/resources/prompts (with progress + cancellation plumbing), and a stdio transport. Shared by the runtime @basaltkit/mcp and the dev-only AI bridge.

Installing ​

Install only the packages your app needs — see Beyond SaaS for choosing a minimal set.

bash
pnpm add @basaltkit/core @basaltkit/fastify

Released under the MIT License.