---
title: Package Reference
description: Complete reference of all ObjectStack packages in the monorepo
---

# Package Reference

ObjectStack is distributed as a monorepo containing **70 package manifests** organized into core runtime, client SDKs, framework adapters, drivers, plugins, and platform services.

> **Note for AI Agents**: Each package's `README.md` contains a specific architectural role and usage rules section.

## Package Overview

| Category | Count | Description |
| :--- | :---: | :--- |
| Core runtime | 9 | `spec`, `core`, `runtime`, `types`, `metadata`, `objectql`, `rest`, `formula`, `platform-objects` |
| Client / DX | 5 | `client`, `client-react`, `cli`, `create-objectstack`, `vscode-objectstack` |
| Framework adapters | 7 | Express, Fastify, Hono, NestJS, Next.js, Nuxt, SvelteKit |
| Drivers | 4 | `driver-memory`, `driver-sql`, `driver-sqlite-wasm`, `driver-mongodb` |
| Plugins | 22 | Auth, security, audit, approvals, sharing, email, webhooks, reports, Hono/MCP servers, MSW/dev, triggers, knowledge, and embedders |
| Platform services | 17 | AI, Analytics, Automation, Cache, Cluster, Datasource, Feed, I18n, Job, Knowledge, Messaging, Package, Queue, Realtime, Settings, Storage |

**Total: 70 package manifests**

---

## Core Packages

### @objectstack/spec

**Description:** ObjectStack Protocol & Specification - TypeScript Interfaces, JSON Schemas, and Convention Configurations

**Purpose:** The foundational package containing all protocol definitions and schemas. This is the "DNA" of ObjectStack.

**Key Exports:**
- `Data` - Data protocol schemas (Field, Object, Query, etc.)
- `UI` - UI protocol schemas (View, App, Dashboard, etc.)
- `System` - System protocol schemas (Manifest, Plugin, Events, etc.)
- `AI` - AI protocol schemas (Agent, RAG Pipeline, etc.)
- `API` - API protocol schemas (Contract, Endpoint, etc.)
- `Automation` - Automation protocol schemas (Flow, Workflow, etc.)
- `Auth` - Authentication protocol schemas
- `Permission` - Permission protocol schemas
- `Hub` - Hub protocol schemas
- `Integration` - Integration protocol schemas
- `Shared` - Shared utilities and identifiers

**Protocol Count:** 175 Zod schemas

**Learn more:** [Protocol Reference](/docs/references)

---

### @objectstack/core

**Description:** Microkernel Core for ObjectStack

**Purpose:** Provides the runtime foundation for ObjectStack, including the plugin system, service registry, and logging infrastructure.

**Key Features:**
- **ObjectKernel**: Plugin-based microkernel with dependency injection
- **Plugin Lifecycle**: Init → Start → Destroy with topological dependency resolution
- **Service Registry**: Dependency injection (registerService, getService)
- **Hook/Event System**: Inter-plugin communication (beforeFind, afterInsert, etc.)
- **Security**: PluginConfigValidator, PluginSignatureVerifier, PluginPermissionEnforcer
- **Logging**: Cross-platform logger (browser + server) with multiple formats
- **API Registry**: Central API registry for dynamic endpoint management
- **QA Framework**: Testing framework with HTTP adapter support

**Use Cases:**
- Building custom ObjectStack runtimes
- Creating plugin-based architectures
- Implementing microkernel patterns

**Implementation Status:** ✅ **FULLY IMPLEMENTED** - Production ready

---

### @objectstack/runtime

**Description:** ObjectStack Server Runtime & REST API Engine

**Purpose:** The main server runtime that provides HTTP endpoints and REST API generation.

**Key Features:**
- **RestServer**: Auto-generates RESTful CRUD endpoints from object schemas
- **Route Management**: Centralized route registration and middleware chain management
- **HTTP Server**: Implements IHttpServer interface (adapter pattern)
- **Endpoint Generation**: Configuration-driven CRUD API (GET/POST/PATCH/DELETE)
- **Batch Operations**: /createMany, /updateMany, /deleteMany, /batch endpoints
- **Metadata Endpoints**: `/meta`, `/meta/{type}`, `/meta/{type}/{name}`
- **Discovery**: /api/v1 API discovery endpoint
- **HTTP Caching**: ETag, Last-Modified headers support
- **Path Transformations**: plural, kebab-case, camelCase
- **Plugin Adapters**: AppPlugin, DriverPlugin for kernel integration

**Use Cases:**
- Running ObjectStack server applications
- Auto-generating REST APIs from metadata
- Building production API servers

**Implementation Status:** ✅ **FULLY IMPLEMENTED** - Production ready

---

### @objectstack/objectql

**Description:** Isomorphic ObjectQL Engine & Protocol Implementation

**Purpose:** Standalone ObjectQL query engine that implements the ObjectStack protocol and can run in any JavaScript environment (Node.js, browsers, edge).

**Key Features:**
- **ObjectQL Engine**: Implements `IDataEngine` interface
  - Query operations: find, insert, update, delete, count
  - Hook system: beforeFind, afterFind, beforeInsert, afterInsert, etc.
  - Driver management: registerDriver, getDriver
- **SchemaRegistry**: Central metadata registry
  - registerObject, registerApp, registerMetadata
  - getObject, getItem, listItems, getRegisteredTypes
- **ObjectStackProtocolImplementation**: Full `ObjectStackProtocol` implementation
  - Discovery: getDiscovery()
  - Metadata: getMetaTypes(), getMetaItems(type), getMetaItem(type, name)
  - UI Views: getUiView(object, type)
  - CRUD operations: findData, getData, createData, updateData, deleteData
  - Batch operations: batchUpdate, batchDelete
  - HTTP Caching: ETag-based caching with 304 Not Modified support
- **Isomorphic**: Works in Node.js, browsers, and edge environments
- **Driver-agnostic**: Query interface abstraction

**Use Cases:**
- Client-side data querying
- Edge function data access
- Serverless query execution
- Implementing ObjectStack protocol

**Implementation Status:** ✅ **FULLY IMPLEMENTED** - Production ready

---

### @objectstack/client

**Description:** Official TypeScript Client SDK for ObjectStack Protocol

**Purpose:** Type-safe client library for interacting with ObjectStack REST APIs.

**Key Features:**
- **Discovery API**: `connect()` → /api/v1 endpoint
- **Metadata API**: 
  - `meta.getTypes()`, `meta.getItems(type)`, `meta.getItem(type, name)`
  - `meta.getObject(name)` - Object definitions
  - `meta.getView(object, type)` - UI schemas with ETag caching
  - `meta.getCached()` - Conditional 304 Not Modified support
- **Data Operations (CRUD)**:
  - `data.query(object, ast)` - Advanced AST queries via POST
  - `data.find(object, options)` - Simplified queries with filters/sort/select
  - `data.get(id)`, `data.create()`, `data.update()`, `data.delete()`
  - `data.createMany()`, `data.updateMany()`, `data.deleteMany()`
  - `data.batch()` - Atomic batch operations
- **Query Builder**: `QueryBuilder`, `FilterBuilder`, `createQuery()`, `createFilter()`
- **Error Handling**: StandardError with code, category, httpStatus, retryable flag
- **Authentication**: Bearer token support via `token` config
- **Type Safety**: Full TypeScript types from spec schemas

**Use Cases:**
- Building frontend applications
- Consuming ObjectStack APIs
- Type-safe data fetching

**Implementation Status:** ✅ **FULLY IMPLEMENTED** - Production ready

---

### @objectstack/client-react

**Description:** React hooks for ObjectStack Client SDK

**Purpose:** React-specific hooks and components for ObjectStack integration.

**Requirements:** React 18+

**Key Features:**
- **Context & Provider**:
  - `ObjectStackProvider` - Makes client available to all React components
  - `useClient()` - Access ObjectStackClient instance
- **Data Hooks**:
  - `useQuery<T>(object, options)` - Query with caching, refetch, enabled flag
  - `useMutation<TData, TVariables>(object, options)` - Create/Update/Delete with optimistic updates
  - `usePagination<T>(object, options)` - Paginated queries with next/previous helpers
  - `useInfiniteQuery<T>(object, options)` - Infinite scroll support
- **Metadata Hooks**:
  - `useObject(name)` - Get object schema
  - `useView(object, type)` - Get list/form UI schema
  - `useFields(object)` - Get field definitions
  - `useMetadata<T>(type, name, options)` - Generic metadata access
- **Automatic Caching**: Built-in cache management
- **TypeScript Support**: Full type inference from schemas

**Use Cases:**
- Building React applications
- Real-time data synchronization
- Form handling with ObjectStack data

**Implementation Status:** ✅ **FULLY IMPLEMENTED** - Production ready

---

### @objectstack/cli

**Description:** Command Line Interface for ObjectStack Development

**Purpose:** Complete developer tools for scaffolding, building, validating, and managing ObjectStack applications.

**Commands:**

| Category | Commands |
| :--- | :--- |
| Development | `init`, `dev`, `serve` |
| Build & Validate | `compile`, `validate`, `info` |
| Scaffolding | `generate` (alias: `g`), `create` |
| Quality | `test`, `doctor` |

**Key Features:**
- **Project Initialization**: `os init` creates projects from templates (app, plugin, empty)
- **Code Generation**: `os generate` scaffolds objects, views, actions, flows, agents, dashboards, apps
- **Schema Validation**: `os validate` checks config against `ObjectStackDefinitionSchema` with `--strict` and `--json` modes
- **Metadata Introspection**: `os info` displays metadata summary without compilation
- **Config Compilation**: `os compile` bundles config to deployable JSON artifact with metadata stats
- **Development Server**: `os serve --dev` with auto-plugin detection, port conflict resolution
- **CI/CD Integration**: All output commands support `--json` for machine-readable output
- **Shared Utilities**: Unified formatting, config loading, and error handling across all commands
- **Monorepo Support**: pnpm workspace integration via `os dev`
- **Environment Diagnostics**: `os doctor` validates Node.js, pnpm, TypeScript, dependencies

**Use Cases:**
- Project scaffolding and initialization
- Metadata generation and validation
- Development workflows with hot-reload
- CI/CD pipeline integration
- Environment diagnostics

**Learn more:** [CLI Guide](/docs/getting-started/cli)

**Implementation Status:** ✅ **FULLY IMPLEMENTED** - Production ready

---

### @objectstack/metadata

**Description:** Metadata Management System

**Purpose:** Provides metadata loading, saving, watching, and caching capabilities for ObjectStack.

**Key Features:**
- **MetadataManager**: Orchestrates loading, saving, watching, caching metadata
- **MetadataPlugin**: Kernel plugin adapter for metadata system
- **Loaders**:
  - `FilesystemLoader` - Loads metadata from disk (rootDir)
- **Serializers**:
  - `JSONSerializer` - `.json` files
  - `YAMLSerializer` - `.yaml` files  
  - `TypeScriptSerializer` - `.ts` files (also handles JavaScript)
- **Watch Mode**: File system notifications with chokidar
- **Auto-detection**: Format auto-detection for load/save
- **Caching**: Metadata caching with statistics
- **Migration**: Metadata migration system

**Use Cases:**
- Loading metadata from multiple formats
- Hot-reloading metadata during development
- Managing metadata lifecycle

**Implementation Status:** ✅ **FULLY IMPLEMENTED** - Production ready

---

### @objectstack/types

**Description:** Shared Runtime Type Definitions

**Purpose:** Provides core TypeScript interfaces used across all ObjectStack packages at runtime.

**Key Exports:**
- `IKernel` - Kernel interface
- `RuntimePlugin` - Plugin base interface
- `RuntimeContext` - Runtime context type
- Other shared runtime types

**Use Cases:**
- Building plugins that need kernel interfaces
- Implementing custom runtimes
- Type-safe cross-package integration

**Implementation Status:** ✅ **FULLY IMPLEMENTED** - Production ready

---

## Framework Adapters

Framework adapters that bridge ObjectStack's unified `HttpDispatcher` to specific HTTP frameworks.

### @objectstack/express

**Description:** Express Framework Adapter

**Purpose:** Converts ObjectStack's standard HTTP dispatch interface to Express routes.

**Key Features:**
- Maps standard routes to Express handlers
- Supports Express v5 middleware chain
- Bearer token authentication via AuthPlugin

**Implementation Status:** ✅ **FULLY IMPLEMENTED**

---

### @objectstack/fastify

**Description:** Fastify Framework Adapter

**Purpose:** Converts ObjectStack's standard HTTP dispatch interface to Fastify routes.

**Key Features:**
- Maps standard routes to Fastify handlers
- Supports Fastify v5 plugin system
- Bearer token authentication via AuthPlugin

**Implementation Status:** ✅ **FULLY IMPLEMENTED**

---

### @objectstack/hono

**Description:** Hono Framework Adapter

**Purpose:** Converts ObjectStack's standard HTTP dispatch interface to Hono routes.

**Key Features:**
- Maps standard routes to Hono handlers
- Supports Hono's middleware chain
- Works with Node.js, Bun, Deno, Cloudflare Workers

**Implementation Status:** ✅ **FULLY IMPLEMENTED**

---

### @objectstack/nestjs

**Description:** NestJS Framework Adapter

**Purpose:** Integrates ObjectStack as a NestJS module with automatic controller generation.

**Key Features:**
- NestJS module registration
- Automatic controller generation from metadata
- Dependency injection integration

**Implementation Status:** 🔄 **IN PROGRESS**

---

### @objectstack/nextjs

**Description:** Next.js Framework Adapter

**Purpose:** Integrates ObjectStack with Next.js App Router and API routes.

**Key Features:**
- App Router integration
- API route handlers
- Server-side data access and server actions

**Implementation Status:** ✅ **FULLY IMPLEMENTED**

---

### @objectstack/nuxt

**Description:** Nuxt Framework Adapter

**Purpose:** Integrates ObjectStack with Nuxt server routes via h3.

**Key Features:**
- h3 event handler integration
- Nitro server route support
- Bearer token authentication via AuthPlugin

**Implementation Status:** ✅ **FULLY IMPLEMENTED**

---

### @objectstack/sveltekit

**Description:** SvelteKit Framework Adapter

**Purpose:** Integrates ObjectStack with SvelteKit hooks and server routes.

**Key Features:**
- SvelteKit handle hook integration
- Server route handlers
- Bearer token authentication via AuthPlugin

**Implementation Status:** ✅ **FULLY IMPLEMENTED**

---

## Plugin Packages

### @objectstack/driver-memory

**Description:** In-Memory Driver for ObjectStack (Reference Implementation)

**Purpose:** A reference in-memory database driver used for testing and development.

**Key Features:**
- **CRUD Operations**: create, read, update, delete, find
- **Pagination Support**: Offset-based pagination
- **Health Checks**: Built-in health monitoring
- **Array & JSON Fields**: Support for complex field types
- **Simple Implementation**: No external dependencies

**Limitations:**
- ⚠️ No transaction support
- ⚠️ No advanced filtering (basic only)
- ⚠️ No aggregations
- ⚠️ No sorting
- ⚠️ No window functions or subqueries

**Use Cases:**
- Testing ObjectStack applications
- Development without database setup
- Understanding driver implementation patterns
- Quick prototyping

**Status:** ✅ Reference implementation for driver developers

**Implementation Status:** ⚠️ **PARTIALLY IMPLEMENTED** - Basic CRUD only, suitable for testing

---

### @objectstack/plugin-hono-server

**Description:** Hono HTTP Server Adapter for ObjectStack Runtime

**Purpose:** Production HTTP server adapter using the Hono framework.

**Key Features:**
- **Standard Runtime**: Uses the unified `HttpDispatcher` and standard Hono adapter via `@objectstack/hono`
- **Full Protocol Support**: Automatically provides all ObjectStack Runtime endpoints (Auth, Data, Metadata, Storage)
- **Fast HTTP Server**: Uses Hono framework for high performance
- **Port Configuration**: Configurable port with conflict detection
- **Static File Serving**: Built-in static file support
- **API Registry Integration**: Centralized endpoint management
- **Metadata Caching**: ETag-based caching for metadata endpoints
- **Edge Runtime Compatible**: Can run on edge environments

**Use Cases:**
- Production REST API deployment
- Edge function hosting (Cloudflare Workers, Deno Deploy, etc.)
- Serverless deployments
- Local development server

**Implementation Status:** ✅ **FULLY IMPLEMENTED** - Production ready

---

### @objectstack/plugin-msw

**Description:** Mock Service Worker (MSW) Plugin for ObjectStack Testing

**Purpose:** Testing plugin that mocks the entire ObjectStack backend in browser/node using the unified Runtime logic.

**Key Features:**
- **Unified Dispatcher**: Uses `@objectstack/runtime`'s `HttpDispatcher` to behave exactly like the real server
- **Full Protocol Mocking**: Mocks Auth, Metadata, Data, Storage, Analytics, and Automation endpoints
- **Browser Testing**: High-fidelity backend simulation in browser environments
- **Custom Handlers**: Support for custom request handlers
- **Request Logging**: Built-in request/response logging
- **Service Worker Based**: Uses MSW's service worker approach

**Use Cases:**
- Unit testing React components
- Integration testing frontend applications
- Browser-based testing without backend
- E2E testing with mocked APIs

**Implementation Status:** ✅ **FULLY IMPLEMENTED** - Production ready for testing

---

### @objectstack/plugin-auth

**Description:** Authentication & Identity Plugin for ObjectStack

**Purpose:** Provides authentication and identity management services for ObjectStack applications with better-auth integration.

**Key Features:**
- **Plugin Lifecycle**: Full init/start/destroy lifecycle implementation
- **Service Registration**: Registers `auth` service in ObjectKernel
- **HTTP Route Scaffolding**: `/api/v1/auth/*` endpoints via IHttpServer
- **Configuration Support**: Uses `AuthConfig` schema from `@objectstack/spec/system`
- **OAuth Provider Support**: Configuration for Google, GitHub, Microsoft, etc.
- **ObjectQL Database**: Uses ObjectQL for data persistence (no ORM required)
- **Advanced Features**: Organization/team support, 2FA, passkeys, magic links

**API Routes:**
- `POST /api/v1/auth/sign-in/email` - Sign in with email and password
- `POST /api/v1/auth/sign-up/email` - Register new user
- `POST /api/v1/auth/sign-out` - Sign out
- `GET /api/v1/auth/get-session` - Get current session

**Use Cases:**
- Adding authentication to ObjectStack applications
- Multi-tenant applications with organization support
- OAuth social login integration
- Secure session management

**Status:** 🟡 **IN DEVELOPMENT** - Structure complete, authentication logic planned

**Implementation Status:** ⚠️ **PARTIALLY IMPLEMENTED** - Plugin structure and routes scaffolded, authentication logic to be added with better-auth integration

**Learn more:** [Auth Config Reference](/docs/references/system/auth-config)

---

### @objectstack/plugin-security

**Description:** Security Plugin for ObjectStack — RBAC, RLS, and Field-Level Security Runtime

**Purpose:** Provides runtime security enforcement for ObjectStack applications, including role-based access control, row-level security, and field-level masking.

**Key Features:**
- **RBAC Permission Evaluator**: Checks object-level CRUD permissions per user role
- **Row-Level Security (RLS)**: Compiles policy expressions into ObjectQL query filters
- **Field-Level Masking**: Strips non-readable fields from query results
- **ObjectQL Middleware Integration**: Transparent security enforcement on every operation
- **Most-Permissive Merging**: If any role grants access, the operation is allowed

**Security Chain (4 steps):**
1. Resolve permission sets from user roles
2. Check CRUD permissions on objects
3. Inject RLS filters into queries
4. Mask restricted fields in results

**Use Cases:**
- Multi-tenant applications with role-based access
- Data isolation between teams/organizations
- Compliance requirements (field masking for sensitive data)

**Implementation Status:** ✅ **FULLY IMPLEMENTED** - Production ready

---

### @objectstack/plugin-dev

**Description:** Development Mode Plugin for ObjectStack

**Purpose:** Auto-enables all 17+ kernel services with in-memory implementations for a full-featured API development environment.

**Key Features:**
- **Zero Configuration**: Single plugin enables entire development stack
- **In-Memory Services**: All services use in-memory implementations
- **Full Protocol Support**: Auth, Data, Metadata, Storage, Analytics, and more
- **Hot Reload Compatible**: Works with `os dev` for hot-reload workflows

**Use Cases:**
- Rapid prototyping without database setup
- Local development and testing
- CI/CD pipeline testing

**Implementation Status:** ✅ **FULLY IMPLEMENTED** - Development ready

---

### @objectstack/driver-mongodb

**Description:** MongoDB driver for ObjectQL

**Purpose:** Persist objects in MongoDB with native document semantics while still going through the ObjectQL protocol.

**Use Cases:** Existing MongoDB infrastructure, document-shaped data, hybrid relational/document deployments.

**Implementation Status:** ⚠️ **IN PROGRESS**

---

### @objectstack/plugin-approvals

**Description:** Contributes the `approval` flow node (ADR-0019) — an approval rides the one automation engine as a durable-pause node, backed by `sys_approval_request` / `sys_approval_action`. There is no separate approval-process engine.

**Key Features:** Approver resolution, `first_response` / `unanimous` behavior, record lock, status mirror, per-node SLA escalation, audit trail; multi-step review is successive `approval` nodes on the flow graph.

**Use Cases:** Expense, quote, contract, and any workflow requiring human sign-off.

**Implementation Status:** ✅ **IMPLEMENTED**

---

### @objectstack/plugin-sharing

**Description:** Record-level sharing engine for collaborative access.

**Key Features:** Manual shares, sharing rules, team-based access, `sys_record_share` table, integration with `plugin-security`.

**Use Cases:** Granting per-record access beyond static RBAC, Salesforce-style sharing.

**Implementation Status:** ✅ **IMPLEMENTED**

---

### @objectstack/plugin-email

**Description:** Outbound email channel for ObjectStack flows and notifications.

**Key Features:** Provider adapters (SMTP, transactional), MJML templates, delivery tracking, retries.

**Use Cases:** Transactional email, workflow notifications, approval requests.

**Implementation Status:** ✅ **IMPLEMENTED**

---

### @objectstack/plugin-webhooks

**Description:** Outbound HTTP webhook delivery for ObjectStack events.

**Key Features:** Subscriptions, signed payloads, exponential-backoff retries, delivery logs.

**Use Cases:** Integrating ObjectStack with external systems (Zapier-style, ETL pipelines, customer integrations).

**Implementation Status:** ✅ **IMPLEMENTED**

---

### @objectstack/plugin-reports

**Description:** Metadata-driven report rendering and scheduling.

**Key Features:** Tabular and aggregate reports, scheduled delivery, multi-format export (CSV/XLSX/PDF).

**Use Cases:** Operational reporting on top of business objects without writing custom queries.

**Implementation Status:** ✅ **IMPLEMENTED**

---

### @objectstack/service-messaging

**Description:** Notification and messaging pipeline service.

**Purpose:** Provides the single notification ingress, delivery outbox, in-app materialization, preferences, templates, quiet-hours, and digest collapse.

**Use Cases:** Flow `notify` nodes, collaboration mentions, assignment notifications, inbox messages, email delivery, and future channel plugins.

**Implementation Status:** ✅ **IMPLEMENTED**

---

### @objectstack/service-settings

**Description:** Hierarchical, validated application settings.

**Key Features:** Per-org / per-user settings, Zod-validated namespaces, default fallbacks, runtime override.

**Use Cases:** Feature flags, tenant configuration, user preferences.

**Implementation Status:** ✅ **IMPLEMENTED**

---

### @objectstack/formula

**Description:** Shared CEL formula compiler and runtime.

**Purpose:** One expression language across validation hooks, predicates, formula fields, conditions, and dynamic seed values. See [Formula skill](/docs/guides/formula).

**Use Cases:** Anywhere metadata references a CEL expression (`F\`\``, `P\`\``, `cel\`\``).

**Implementation Status:** ✅ **IMPLEMENTED**

---

### @objectstack/platform-objects

**Description:** Canonical `sys_*` platform objects bundled with every ObjectOS runtime.

**Purpose:** Standard system tables — users, sessions, audit logs, approvals, sharing, settings — so applications never redefine identity, audit, or governance primitives.

**Use Cases:** Always loaded by the runtime; apps reference these via lookups.

**Implementation Status:** ✅ **IMPLEMENTED**

---

## Tools

### @objectstack/rest

**Description:** ObjectStack REST API Server — automatic REST endpoint generation from protocol

**Purpose:** Turns ObjectStack schema definitions into fully functional CRUD endpoints with zero boilerplate.

**Key Features:**
- **Auto-Generated Endpoints**: CRUD routes from object schemas
- **Batch Operations**: `/createMany`, `/updateMany`, `/deleteMany`, `/batch` endpoints
- **Metadata API**: `/meta`, `/meta/{type}`, `/meta/{type}/{name}` for runtime introspection
- **Discovery Endpoint**: `/api/v1` for API self-documentation
- **Route Manager**: Centralized route registration, grouping, and middleware chain
- **HTTP Caching**: ETag and Last-Modified header support
- **Configurable Paths**: Plural, kebab-case, and camelCase path transformations

**Use Cases:**
- Auto-generating REST APIs from metadata
- Building production API servers
- Custom route management

**Implementation Status:** ✅ **FULLY IMPLEMENTED** - Production ready

---

### create-objectstack

**Description:** Create a new ObjectStack project — `npx create-objectstack`

**Purpose:** Interactive project scaffolder for quickly creating new ObjectStack projects.

**Key Features:**
- **Interactive Mode**: Guided project setup with prompts
- **Template Support**: `full-stack`, `api-only`, `plugin` templates
- **Dependency Installation**: Automatic `pnpm install` (skippable)
- **Zero Config**: Works out-of-the-box with sensible defaults

**Use Cases:**
- Starting new ObjectStack projects
- Creating plugin packages
- Scaffolding from templates

**Implementation Status:** ✅ **FULLY IMPLEMENTED** - Production ready

---

### objectstack-vscode

**Description:** ObjectStack Protocol — Autocomplete, validation, and inline diagnostics for `.object.ts`, `.view.ts`, and `objectstack.config.ts` files

**Purpose:** VSCode extension providing IDE support for ObjectStack protocol development.

**Key Features:**
- **Autocomplete**: IntelliSense for ObjectStack schemas
- **Validation**: Real-time schema validation with error diagnostics
- **Protocol Awareness**: Understands `.object.ts`, `.view.ts`, and config files

**Use Cases:**
- ObjectStack development in VSCode
- Real-time feedback on schema definitions
- Productivity improvement

**Implementation Status:** ✅ **FULLY IMPLEMENTED**

---

## Package Dependencies

### Dependency Graph

```
@objectstack/spec (no dependencies)
    ↓
    ├─→ @objectstack/types (shared runtime interfaces)
    ├─→ @objectstack/core (uses spec contracts)
    ├─→ @objectstack/metadata (uses spec system schemas)
    ├─→ @objectstack/objectql (implements spec protocols)
    │       ↓
    │       └─→ @objectstack/runtime (uses objectql engine)
    │               ↓
    │               ├─→ @objectstack/rest (REST API generation)
    │               ├─→ @objectstack/client (consumes runtime APIs)
    │               │       ↓
    │               │       └─→ @objectstack/client-react (wraps client)
    │               └─→ Adapters:
    │                       ├─→ @objectstack/express (Express routes)
    │                       ├─→ @objectstack/fastify (Fastify routes)
    │                       ├─→ @objectstack/hono (Hono routes)
    │                       ├─→ @objectstack/nestjs (NestJS modules)
    │                       ├─→ @objectstack/nextjs (Next.js routes)
    │                       ├─→ @objectstack/nuxt (Nuxt/h3 routes)
    │                       └─→ @objectstack/sveltekit (SvelteKit hooks)
    └─→ @objectstack/cli (validates against spec schemas)

Plugins (depend on core packages):
    ├─→ @objectstack/driver-memory (implements driver interface)
    ├─→ @objectstack/plugin-hono-server (HTTP server via @objectstack/hono)
    ├─→ @objectstack/plugin-msw (mocks for testing via runtime)
    ├─→ @objectstack/plugin-auth (authentication via better-auth)
    ├─→ @objectstack/plugin-security (RBAC, RLS, field masking)
    └─→ @objectstack/plugin-dev (dev mode, all services in-memory)

Tools:
    ├─→ create-objectstack (project scaffolder)
    └─→ objectstack-vscode (VSCode extension)
```

### Installation

**For Application Development:**
```bash
pnpm add @objectstack/runtime @objectstack/client @objectstack/plugin-hono-server
```

**For React Applications:**
```bash
pnpm add @objectstack/client-react
```

**For Plugin Development:**
```bash
pnpm add @objectstack/core @objectstack/spec
```

**For CLI Tools:**
```bash
pnpm add -D @objectstack/cli
# Or install globally
pnpm add -g @objectstack/cli
```

---

## Version Compatibility

All packages in the monorepo are versioned together and released simultaneously to ensure compatibility.

**Current Version:** Check [CHANGELOG.md](https://github.com/objectstack-ai/spec/blob/main/CHANGELOG.md)

**Compatibility Matrix:**

| Package Version | Node.js | TypeScript | React (for client-react) |
| :--- | :--- | :--- | :--- |
| 1.0.x | ≥18.0.0 | ≥5.3.0 | ≥18.0.0 |

---

## Next Steps

<Cards>
  <Card 
    href="/docs/references" 
    title="Protocol Reference"
    description="Explore the 175 protocol schemas"
  />
  <Card 
    href="/docs/developers" 
    title="Developer Guide"
    description="Build with ObjectStack packages"
  />
  <Card 
    href="https://github.com/objectstack-ai/spec" 
    title="GitHub Repository"
    description="View source code and contribute"
  />
</Cards>
