The "Constitution" of the Post-SaaS Operating System.
This repository contains the core specifications, schemas, and protocols that power the ObjectStack ecosystem. It defines how data, UI, and system configurations are expressed as code.
ObjectStack is a metadata-driven platform built on three foundational protocols:
- ObjectQL (Data Layer) - Define data structure and queries
- ObjectOS (Control Layer) - Runtime, permissions, and workflows
- ObjectUI (View Layer) - Presentation and user interaction
Learn more:
- Three-Layer Stack - How ObjectQL, ObjectOS, and ObjectUI work together
- Architecture Guide - Complete microkernel architecture documentation
- Architecture Guide - Complete microkernel architecture overview
- Quick Reference - Fast lookup for developers
- Package Dependencies - Dependency graph and build order
-
Getting Started:
- Introduction - Core concepts and architecture
- 📚 Examples Catalog - Comprehensive examples for all protocols
- Quick Start: Todo App - Simplest complete example
- Quick Start: Basic Examples - Protocol-by-protocol examples
-
Protocol References:
- Protocol Reference - All 109 protocol specifications
- ObjectQL - Data layer documentation
- ObjectUI - UI layer documentation
- ObjectOS - System layer documentation
-
Examples by Use Case:
- CRM Example - Full-featured enterprise CRM
- AI Examples - AI Sales, Support, Analyst, Codegen
- Integration Examples - External system connectors
- System Examples - Production-grade patterns
- API Examples - GraphQL, OData, WebSocket
- Hub Examples - Marketplace & Plugins
-
Development:
- Architecture Guide - Complete architecture overview
- MicroKernel Architecture - Plugin architecture guide
- Plugin Ecosystem - Plugin interoperability
- Writing Plugins - Plugin development guide
- Contributing Guide - How to contribute
# 1. Install dependencies
pnpm install
# 2. Build the Protocol (Generates Schemas & Docs)
pnpm --filter @objectstack/spec build
# 3. Check environment health
pnpm doctor
# 4. Start Documentation Site
pnpm docs:dev
# Visit http://localhost:3000/docsSee DEVELOPMENT.md for comprehensive development guide including:
- Development workflow and tooling
- CLI commands reference
- Debugging configurations
- Testing strategies
- Common tasks and troubleshooting
| Package | Description | Status |
|---|---|---|
@objectstack/spec |
Protocol definitions (Zod schemas, Types, JSON Schemas) - The "Constitution" | 🟢 Active |
@objectstack/core |
Microkernel runtime (Plugin system, DI, Event Bus, Logger) | 🟢 Active |
@objectstack/types |
Shared runtime type definitions | 🟢 Active |
| Package | Description | Status |
|---|---|---|
@objectstack/objectql |
ObjectQL query engine and schema registry | 🟢 Active |
@objectstack/runtime |
Runtime utilities and plugin helpers | 🟢 Active |
| Package | Description | Status |
|---|---|---|
@objectstack/client |
Official Client SDK for ObjectStack Protocol | 🟢 Active |
@objectstack/client-react |
React hooks for ObjectStack | 🟢 Active |
| Package | Description | Status |
|---|---|---|
@objectstack/driver-memory |
In-memory driver (reference implementation) | 🟢 Active |
@objectstack/plugin-hono-server |
HTTP server plugin (Hono-based) | 🟢 Active |
@objectstack/plugin-msw |
Mock Service Worker plugin for testing | 🟢 Active |
| Package | Description | Status |
|---|---|---|
@objectstack/cli |
Command-line interface and development tools | 🟢 Active |
@objectstack/ai-bridge |
AI agent integration bridge | 🟢 Active |
@objectstack/docs |
Documentation site (Fumadocs + Next.js) | 🟢 Active |
| Package | Description | Status |
|---|---|---|
examples/crm |
Full-featured CRM example | 🟢 Complete |
examples/todo |
Simple todo app example | 🟢 Active |
📖 View Full Architecture Guide - Comprehensive architecture documentation
We welcome contributions! Please read our Contributing Guide for:
- Development workflow and setup
- Coding standards (Zod-first, camelCase config, snake_case data)
- Testing requirements
- Documentation guidelines
Key Standards:
- All schemas defined using Zod with runtime validation
- Configuration keys:
camelCase(e.g.,maxLength) - Machine names:
snake_case(e.g.,project_task) - Comprehensive JSDoc comments
- 80%+ test coverage
Apache 2.0 © ObjectStack