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

2,221 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 or run locally with pnpm docs:dev

Quick Links

πŸš€ Quick Start

For Application Developers

# Create a new project
npx @objectstack/cli init my-app
cd my-app

# Start development server
os dev

# Start with Console UI (Object Explorer, Schema Inspector)
os studio
# β†’ API:     http://localhost:3000/api/v1/
# β†’ Console: http://localhost:3000/_studio/

For Protocol Developers

# 1. Clone and install
git clone https://github.com/nicecui/spec.git
cd spec
pnpm install

# 2. Build all packages
pnpm build

# 3. Check environment health
pnpm doctor

# 4. Start Documentation Site
pnpm docs:dev
# β†’ http://localhost:3000/docs

# 5. Launch Console UI + dev server
pnpm studio

Monorepo Scripts

Script Description
pnpm build Build all packages (excludes docs)
pnpm dev Start app-host example dev server
pnpm studio Launch Console UI with dev server
pnpm dev:console Start Console standalone (MSW mode)
pnpm test Run spec tests
pnpm doctor Check environment health
pnpm docs:dev Start documentation site
pnpm docs:build Build documentation for production

CLI Commands

os init [name]       # Scaffold a new project
os dev               # Start dev server (hot-reload)
os dev --ui          # Dev server + Console UI
os studio            # Alias for dev --ui (one command)
os serve             # Start production server
os compile           # Build deployable JSON artifact
os validate          # Check configuration against protocol
os info              # Display metadata summary
os generate          # Scaffold objects, views, flows
os doctor            # Check environment health

πŸ“¦ Monorepo Structure

Core Packages

Package Description Status
@objectstack/spec Protocol definitions (Zod schemas, Types, JSON Schemas) 🟒 Active
@objectstack/core Microkernel runtime (Plugin system, DI, Event Bus, Logger) 🟒 Active
@objectstack/types Shared runtime type definitions 🟒 Active

Engine Packages

Package Description Status
@objectstack/objectql ObjectQL query engine and schema registry 🟒 Active
@objectstack/runtime Runtime utilities, DriverPlugin, AppPlugin 🟒 Active
@objectstack/metadata Metadata loading and persistence 🟒 Active

Client Packages

Package Description Status
@objectstack/client Official Client SDK (CRUD, Batch API, Error handling) 🟒 Active
@objectstack/client-react React hooks (useQuery, useMutation, usePagination) 🟒 Active

Plugin Packages

Package Description Status
@objectstack/driver-memory In-memory driver (reference implementation, zero deps) 🟒 Active
@objectstack/plugin-hono-server HTTP server plugin (Hono-based, auto-discovery) 🟒 Active
@objectstack/plugin-msw Mock Service Worker plugin for browser testing 🟒 Active
@objectstack/plugin-auth Authentication & identity plugin (structure implemented) 🟑 In Development

Tools & Apps

Package Description Status
@objectstack/cli CLI: init, dev, serve, studio, compile, validate, generate 🟒 Active
@objectstack/studio Studio UI (Object Explorer, Schema Inspector) 🟒 Active
@objectstack/docs Documentation site (Fumadocs + Next.js) 🟒 Active

Examples

Example Description Level
@example/app-todo Task management app β€” objects, views, dashboards, flows 🟒 Beginner
@example/app-crm Enterprise CRM β€” accounts, contacts, opportunities, leads 🟑 Intermediate
@example/app-host Server host β€” multi-app orchestration with plugins πŸ”΄ Advanced
@example/plugin-bi BI plugin β€” analytics objects and reports 🟑 Intermediate

πŸ—ΊοΈ Roadmap

See ROADMAP.md for the next-phase optimization and improvement plan (Phases 5–11), covering:

  • Spec test coverage completion (100% schema coverage)
  • Runtime package hardening (resolve all TODOs)
  • Framework adapter implementations (Hono, Next.js, NestJS)
  • Deprecation cleanup & v3.0 preparation
  • Developer experience & tooling improvements
  • Performance optimization & security hardening

Studio-specific roadmap: apps/studio/ROADMAP.md

🀝 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

πŸ“„ 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