Skip to content

Packages Overview

VentureKit is a single monorepo of 18 packages — 12 free under the @venturekit scope and 6 commercial under @venturekit-pro. All 18 are published to npm in lockstep (one version number for the whole suite). Install only what you need.

Published packages are public on npm — the same npm install works for free and pro packages alike. The latest dist-tag is the released version (vk init scaffolds against it):

Terminal window
# Free
npm install @venturekit/core @venturekit/runtime @venturekit/infra
# Pro (also public install — production use requires a license key, see below)
npm install @venturekit-pro/ai

No .npmrc configuration or registry authentication is needed for installation. Pro packages enforce licensing at runtime, not at install time — see Pro License below.

  • @venturekit/core — Types, presets, config resolution, validation. The foundation every other package depends on.
  • @venturekit/runtime — Handlers, context, middleware, logging, errors, WebSocket connection store.
  • @venturekit/infra — defineVenture(), CDK constructs, file-based route discovery, infrastructure translation.
  • @venturekit/cli — vk CLI — init, dev, deploy, check, doctor, remove, generate, migrate, logs, status, open, cert, gha, review.
  • @venturekit/auth — Cognito config, sign-in/MFA/passkey/session helpers, federated sign-in, customer API keys, invitations, impersonation, RBAC, DB-backed role → scopes, JWT utilities.
  • @venturekit/data — RDS config, pure-SQL migrations, query utilities, transactions, idempotency/outbox/jobs/files stores, feature flags & tenant settings, search SQL builders.
  • @venturekit/storage — S3 config, CDN support, lifecycle policies, size-capped presigned POST uploads, image helpers.
  • @venturekit/integrations — HTTP client, OAuth2, API key management for third-party APIs, outbound webhooks to customers’ endpoints.
  • @venturekit/notify — Transactional notifications (email/WhatsApp/SMS/push) with a Postgres outbox + cron dispatcher, in-app inbox + digests, frequency caps.
  • @venturekit/billing — Multi-provider payment processing (Zazu today; Stripe/PayPal planned): checkout sessions, payment links, invoices, transfers, normalized webhooks. Preview.
  • @venturekit/mcp — Transport-agnostic Model Context Protocol server primitives: JSON-RPC dispatch, typed tool registry, Zod → JSON Schema, bearer-token layer.
  • @venturekit/testing — Integration & E2E test harness — launch the local stack, seed cognito-local auth, reset the DB, drive a typed API client, Playwright fixtures. Dev-only.
  • @venturekit-pro/ai — Embeddings, vector stores, RAG pipelines, agents, chat completion, image generation, cost ledger, model catalog.
  • @venturekit-pro/billing — Plan definitions, feature limits, entitlements, usage tracking, invoicing, subscriptions (no payment processing — that is @venturekit/billing).
  • @venturekit-pro/chat — Real-time chat — rooms, messages, presence, read receipts.
  • @venturekit-pro/tenancy — Tenant resolution, context, data isolation, quota enforcement, tenant CRUD & lifecycle, per-user GDPR erasure / export.
  • @venturekit-pro/audit — Append-only audit log (who did what, to what, when, how it went) with pruning and monthly counts.
  • @venturekit-pro/social — Social-platform publishing adapters (LinkedIn, X, Facebook, Instagram) + per-tenant platform catalog.

Pro packages are free to install and use locally for development, evaluation, and testing. Production use requires an active VentureKit Pro subscription and a license key.

Terminal window
# .env (production)
VENTUREKIT_LICENSE_KEY=vk_live_...

The SDK validates the key on boot, caches the result, and fails open in development with a console warning. Get a key at venturekit.dev/pricing.

The full commercial license text ships in the packages/pro/LICENSE file of the VentureKit monorepo.

All packages depend on @venturekit/core. Feature packages are independent of each other.

@venturekit/core ← Foundation (every package depends on this)
├── @venturekit/runtime ← Application runtime
├── @venturekit/infra ← Infrastructure (+ aws-cdk-lib)
├── @venturekit/cli ← Developer CLI
├── @venturekit/auth ← Authentication
├── @venturekit/data ← Database (+ pg)
├── @venturekit/storage ← Storage
├── @venturekit/integrations ← Third-party API integrations
├── @venturekit/notify ← Transactional notifications (email/WhatsApp/SMS/push)
├── @venturekit/billing ← Payment processing (Zazu, …)
├── @venturekit-pro/ai ← AI — embeddings, RAG, agents, chat, images, cost ledger
├── @venturekit-pro/billing ← Plans, usage, feature gating
├── @venturekit-pro/chat ← Real-time chat — rooms, messages, presence
├── @venturekit-pro/tenancy ← Multi-tenancy
├── @venturekit-pro/audit ← Append-only audit log
└── @venturekit-pro/social ← Social publishing adapters + catalog

Two packages sit outside this tree: @venturekit/testing is a dev-only test harness with no @venturekit/core dependency (optional peers: @venturekit/data for the truncate* DB helpers, @aws-sdk/client-cognito-identity-provider for minting JWTs, @playwright/test for the Playwright fixtures), and @venturekit/mcp is dependency-light by design — zod is a type-only peer and it talks to your database through a structural Querier (pass @venturekit/data’s query).

A minimal VentureKit project needs three packages:

Terminal window
npm install @venturekit/core @venturekit/runtime @venturekit/infra

Add feature packages as you need them.

All packages are versioned and published in lockstep — one semver (0.0.x today) applies to the whole suite, and a release is cut when the root version is bumped. Two dist-tags exist:

  • latest — the tagged release (e.g. 0.0.38). What vk init scaffolds and what these docs install.
  • dev — timestamped pre-release builds (0.0.0-dev.20260912125223) published between releases. Opt in with @venturekit/<pkg>@dev when you need a fix that has not been released yet, and keep every VentureKit package on the same tag — mixing latest and dev produces peer-dependency errors.

The suite is pre-1.0: breaking changes are expected between minor releases and are recorded in the changelog. Pin exact versions if you need stability.

See the Updating section below for details.

Terminal window
# Update all VentureKit packages
pnpm update "@venturekit/*@latest"
# Or with npm
npm install @venturekit/core @venturekit/runtime