Skip to content

The Universal Architecture Standard. Shared JSON Schemas and TypeScript Interfaces for the ObjectStack ecosystem (Data, Control, View).

License

Notifications You must be signed in to change notification settings

objectstack-ai/spec

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1,615 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

ObjectStack Protocol

ObjectStack Protocol TypeScript License: MIT

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.

🎯 What is ObjectStack?

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:

πŸ“š Documentation

πŸ“– Read the Full Documentation

Architecture Documentation

Quick Links

πŸš€ Quick Start

For Application Developers (Using the Client SDK)

If you want to build applications using ObjectStack:

# Install the client SDK
pnpm add @objectstack/client

# For React applications
pnpm add @objectstack/client-react
import { ObjectStackClient } from '@objectstack/client';

// Connect to your ObjectStack server
const client = new ObjectStackClient({
  baseUrl: 'http://localhost:3004'
});

await client.connect();

// Query data
const tasks = await client.data.find('todo_task', {
  select: ['subject', 'priority'],
  filters: ['status', '=', 'active'],
  sort: ['-priority'],
  top: 10
});

// Create data
await client.data.create('todo_task', {
  subject: 'New Task',
  priority: 1
});

πŸ“– View Client SDK Documentation - Complete SDK reference with React hooks

For Protocol Developers (Contributing to ObjectStack)

If you want to contribute to the ObjectStack protocol or build plugins:

# 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/docs

For Plugin/Package Development

See DEVELOPMENT.md for comprehensive development guide including:

  • Development workflow and tooling
  • CLI commands reference
  • Debugging configurations
  • Testing strategies
  • Common tasks and troubleshooting

πŸ“¦ Monorepo Structure

Core Packages

Package Description Key Features Status
@objectstack/spec Protocol definitions (Zod schemas, Types, JSON Schemas) - The "Constitution" Runtime validation, Type inference, JSON Schema generation 🟒 Active
@objectstack/core Microkernel runtime (Plugin system, DI, Event Bus, Logger) Plugin lifecycle, Service registry, High-performance logging 🟒 Active
@objectstack/types Shared runtime type definitions IKernel, RuntimePlugin, RuntimeContext interfaces 🟒 Active

Engine Packages

Package Description Key Features Status
@objectstack/objectql ObjectQL query engine and schema registry Cross-datasource queries, Driver routing, Schema registry 🟒 Active
@objectstack/runtime Runtime utilities and plugin helpers Standard library, DriverPlugin, AppPlugin 🟒 Active
@objectstack/metadata Metadata loading and persistence Multi-format support, File watching, Validation 🟒 Active

Client Packages

Package Description Key Features Status
@objectstack/client Official Client SDK for ObjectStack Protocol CRUD operations, Batch API, View storage, Error handling 🟒 Active
@objectstack/client-react React hooks for ObjectStack useQuery, useMutation, usePagination, useInfiniteQuery 🟒 Active

Plugin Packages

Package Description Key Features Status
@objectstack/driver-memory In-memory driver (reference implementation) Zero dependencies, Perfect for testing, Fast in-memory storage 🟒 Active
@objectstack/plugin-hono-server HTTP server plugin (Hono-based) Universal runtime, Auto-discovery, API Registry integration 🟒 Active
@objectstack/plugin-msw Mock Service Worker plugin for testing Automatic API mocking, Browser & Node support 🟒 Active

Tools

Package Description Key Features Status
@objectstack/cli Command-line interface and development tools serve, dev, compile, doctor, create, test:run 🟒 Active
@objectstack/docs Documentation site (Fumadocs + Next.js) Interactive docs, API reference, Examples 🟒 Active

Package Quick Links

For Application Developers:

For Protocol Developers:

For Plugin Developers:

Examples

Package Description Status
examples/crm Full-featured CRM example 🟒 Complete
examples/todo Simple todo app example 🟒 Active

πŸ“– View Full Architecture Guide - Comprehensive architecture documentation

🀝 Contributing

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

πŸ“„ License

Apache 2.0 Β© ObjectStack

About

The Universal Architecture Standard. Shared JSON Schemas and TypeScript Interfaces for the ObjectStack ecosystem (Data, Control, View).

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 7

Languages