{"id":40566674,"url":"https://github.com/objectstack-ai/spec","last_synced_at":"2026-04-01T18:37:10.604Z","repository":{"id":333264847,"uuid":"1136691870","full_name":"objectstack-ai/spec","owner":"objectstack-ai","description":"The Universal Architecture Standard. Shared JSON Schemas and TypeScript Interfaces for the ObjectStack ecosystem (Data, Control, View).","archived":false,"fork":false,"pushed_at":"2026-02-11T18:10:41.000Z","size":11283,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-11T22:52:34.106Z","etag":null,"topics":["json-schema","protocol","standard","typescript-interfaces"],"latest_commit_sha":null,"homepage":"https://protocol.objectstack.ai","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/objectstack-ai.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":"ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-18T06:47:54.000Z","updated_at":"2026-02-11T18:10:47.000Z","dependencies_parsed_at":"2026-02-11T17:02:27.158Z","dependency_job_id":null,"html_url":"https://github.com/objectstack-ai/spec","commit_stats":null,"previous_names":["objectstack-ai/spec"],"tags_count":618,"template":false,"template_full_name":null,"purl":"pkg:github/objectstack-ai/spec","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/objectstack-ai%2Fspec","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/objectstack-ai%2Fspec/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/objectstack-ai%2Fspec/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/objectstack-ai%2Fspec/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/objectstack-ai","download_url":"https://codeload.github.com/objectstack-ai/spec/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/objectstack-ai%2Fspec/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29414354,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-13T06:24:03.484Z","status":"ssl_error","status_checked_at":"2026-02-13T06:23:12.830Z","response_time":78,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["json-schema","protocol","standard","typescript-interfaces"],"created_at":"2026-01-21T01:10:25.117Z","updated_at":"2026-02-18T15:02:24.981Z","avatar_url":"https://github.com/objectstack-ai.png","language":"TypeScript","readme":"# ObjectStack Protocol\n\n![ObjectStack Protocol](https://img.shields.io/badge/ObjectStack-Protocol-black)\n[![TypeScript](https://img.shields.io/badge/TypeScript-5.3-blue.svg)](https://www.typescriptlang.org/)\n[![License: Apache 2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n\n\u003e **The \"Constitution\" of the Post-SaaS Operating System.**\n\nThis 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.\n\n## 🎯 What is ObjectStack?\n\nObjectStack is a metadata-driven platform built on three foundational protocols:\n\n- **ObjectQL** (Data Layer) — Define data structure and queries\n- **ObjectOS** (Control Layer) — Runtime, permissions, and workflows\n- **ObjectUI** (View Layer) — Presentation and user interaction\n\n**Learn more:**\n- [Three-Layer Stack](./content/docs/introduction/architecture.mdx) — How ObjectQL, ObjectOS, and ObjectUI work together\n- [Architecture Guide](./ARCHITECTURE.md) — Complete microkernel architecture documentation\n\n## 📚 Documentation\n\n📖 **[Read the Full Documentation](https://objectstack.dev/docs)** or run locally with `pnpm docs:dev`\n\n### Quick Links\n\n- **Getting Started:**\n  - [Introduction](./content/docs/introduction/) — Core concepts and architecture\n  - [CLI Guide](./content/docs/framework/cli.mdx) — `init`, `dev`, `serve`, `studio`, `compile`, `validate`\n  - [Quick Reference](./content/docs/references/quick-reference.mdx) — Fast protocol lookup\n\n- **Protocol References:**\n  - [Protocol Reference](./content/docs/references/) — All protocol specifications (175 Zod schemas)\n  - [ObjectQL](./content/docs/objectql/) — Data layer documentation\n  - [ObjectUI](./content/docs/objectui/) — UI layer documentation\n  - [ObjectOS](./content/docs/objectos/) — System layer documentation\n\n- **Development:**\n  - [Developer Guide](./content/docs/developer/) — Tutorials and best practices\n  - [Package Reference](./content/docs/concepts/packages.mdx) — All 25 packages\n  - [Contributing Guide](./CONTRIBUTING.md) — How to contribute\n\n## 🚀 Quick Start\n\n### For Application Developers\n\n```bash\n# Create a new project\nnpx @objectstack/cli init my-app\ncd my-app\n\n# Start development server\nos dev\n\n# Start with Console UI (Object Explorer, Schema Inspector)\nos studio\n# → API:     http://localhost:3000/api/v1/\n# → Console: http://localhost:3000/_studio/\n```\n\n### For Protocol Developers\n\n```bash\n# 1. Clone and install\ngit clone https://github.com/objectstack-ai/spec.git\ncd spec\npnpm install\n\n# 2. Build all packages\npnpm build\n\n# 3. Check environment health\npnpm doctor\n\n# 4. Start Documentation Site\npnpm docs:dev\n# → http://localhost:3000/docs\n\n# 5. Launch Console UI + dev server\npnpm studio\n```\n\n### Monorepo Scripts\n\n| Script | Description |\n| :--- | :--- |\n| `pnpm build` | Build all packages (excludes docs) |\n| `pnpm dev` | Start app-host example dev server |\n| `pnpm studio` | Launch Console UI with dev server |\n| `pnpm dev:console` | Start Console standalone (MSW mode) |\n| `pnpm test` | Run spec tests |\n| `pnpm doctor` | Check environment health |\n| `pnpm docs:dev` | Start documentation site |\n| `pnpm docs:build` | Build documentation for production |\n\n### CLI Commands\n\n```bash\nos init [name]       # Scaffold a new project\nos dev               # Start dev server (hot-reload)\nos dev --ui          # Dev server + Console UI\nos studio            # Alias for dev --ui (one command)\nos serve             # Start production server\nos compile           # Build deployable JSON artifact\nos validate          # Check configuration against protocol\nos info              # Display metadata summary\nos generate          # Scaffold objects, views, flows\nos doctor            # Check environment health\n```\n\n## 📦 Monorepo Structure\n\n### Core Packages\n\n| Package | Description | Status |\n| :--- | :--- | :--- |\n| [`@objectstack/spec`](packages/spec) | Protocol definitions (Zod schemas, Types, JSON Schemas) | 🟢 Active |\n| [`@objectstack/core`](packages/core) | Microkernel runtime (Plugin system, DI, Event Bus, Logger) | 🟢 Active |\n| [`@objectstack/types`](packages/types) | Shared runtime type definitions | 🟢 Active |\n\n### Engine Packages\n\n| Package | Description | Status |\n| :--- | :--- | :--- |\n| [`@objectstack/objectql`](packages/objectql) | ObjectQL query engine and schema registry | 🟢 Active |\n| [`@objectstack/runtime`](packages/runtime) | Runtime utilities, DriverPlugin, AppPlugin | 🟢 Active |\n| [`@objectstack/metadata`](packages/metadata) | Metadata loading and persistence | 🟢 Active |\n| [`@objectstack/rest`](packages/rest) | REST API Server — auto-generated endpoints from protocol | 🟢 Active |\n\n### Client Packages\n\n| Package | Description | Status |\n| :--- | :--- | :--- |\n| [`@objectstack/client`](packages/client) | Official Client SDK (CRUD, Batch API, Error handling) | 🟢 Active |\n| [`@objectstack/client-react`](packages/client-react) | React hooks (useQuery, useMutation, usePagination) | 🟢 Active |\n\n### Plugin Packages\n\n| Package | Description | Status |\n| :--- | :--- | :--- |\n| [`@objectstack/driver-memory`](packages/plugins/driver-memory) | In-memory driver (reference implementation, zero deps) | 🟢 Active |\n| [`@objectstack/plugin-hono-server`](packages/plugins/plugin-hono-server) | HTTP server plugin (Hono-based, auto-discovery) | 🟢 Active |\n| [`@objectstack/plugin-msw`](packages/plugins/plugin-msw) | Mock Service Worker plugin for browser testing | 🟢 Active |\n| [`@objectstack/plugin-auth`](packages/plugins/plugin-auth) | Authentication \u0026 identity plugin (better-auth based) | 🟡 In Development |\n| [`@objectstack/plugin-security`](packages/plugins/plugin-security) | RBAC, Row-Level Security, and Field-Level Security | 🟢 Active |\n| [`@objectstack/plugin-dev`](packages/plugins/plugin-dev) | Dev mode — auto-enables all services with in-memory stubs | 🟢 Active |\n\n### Framework Adapters\n\n| Package | Description | Status |\n| :--- | :--- | :--- |\n| [`@objectstack/express`](packages/adapters/express) | Express adapter | 🟢 Active |\n| [`@objectstack/fastify`](packages/adapters/fastify) | Fastify adapter | 🟢 Active |\n| [`@objectstack/hono`](packages/adapters/hono) | Hono adapter (Node.js, Bun, Deno, Cloudflare Workers) | 🟢 Active |\n| [`@objectstack/nestjs`](packages/adapters/nestjs) | NestJS module integration | 🟢 Active |\n| [`@objectstack/nextjs`](packages/adapters/nextjs) | Next.js App Router adapter | 🟢 Active |\n| [`@objectstack/nuxt`](packages/adapters/nuxt) | Nuxt adapter (h3-based) | 🟢 Active |\n| [`@objectstack/sveltekit`](packages/adapters/sveltekit) | SvelteKit adapter | 🟢 Active |\n\n### Tools \u0026 Apps\n\n| Package | Description | Status |\n| :--- | :--- | :--- |\n| [`@objectstack/cli`](packages/cli) | CLI: init, dev, serve, studio, compile, validate, generate | 🟢 Active |\n| [`create-objectstack`](packages/create-objectstack) | Project scaffolder (`npx create-objectstack`) | 🟢 Active |\n| [`objectstack-vscode`](packages/vscode-objectstack) | VSCode extension — autocomplete, validation, diagnostics | 🟢 Active |\n| [`@objectstack/studio`](apps/studio) | Studio UI (Object Explorer, Schema Inspector) | 🟢 Active |\n| [`@objectstack/docs`](apps/docs) | Documentation site (Fumadocs + Next.js) | 🟢 Active |\n\n### Examples\n\n| Example | Description | Level |\n| :--- | :--- | :--- |\n| [`@example/app-todo`](examples/app-todo) | Task management app — objects, views, dashboards, flows | 🟢 Beginner |\n| [`@example/app-crm`](examples/app-crm) | Enterprise CRM — accounts, contacts, opportunities, leads | 🟡 Intermediate |\n| [`@example/app-host`](examples/app-host) | Server host — multi-app orchestration with plugins | 🔴 Advanced |\n| [`@example/plugin-bi`](examples/plugin-bi) | BI plugin — analytics objects and reports | 🟡 Intermediate |\n\n## 🗺️ Roadmap\n\nSee **[ROADMAP.md](./ROADMAP.md)** for the next-phase optimization and improvement plan (Phases 5–11), covering:\n\n- Spec test coverage completion (100% schema coverage)\n- Runtime package hardening (resolve all TODOs)\n- Framework adapter implementations (Hono, Next.js, NestJS)\n- Deprecation cleanup \u0026 v3.0 preparation\n- Developer experience \u0026 tooling improvements\n- Performance optimization \u0026 security hardening\n\nStudio-specific roadmap: **[apps/studio/ROADMAP.md](./apps/studio/ROADMAP.md)**\n\nVisual design UX optimization plan: **[docs/design/visual-design-ux-optimization.md](./docs/design/visual-design-ux-optimization.md)**\n\n## 🤝 Contributing\n\nWe welcome contributions! Please read our **[Contributing Guide](./CONTRIBUTING.md)** for:\n\n- Development workflow and setup\n- Coding standards (Zod-first, camelCase config, snake_case data)\n- Testing requirements\n- Documentation guidelines\n\n**Key Standards:**\n- All schemas defined using **Zod** with runtime validation\n- Configuration keys: `camelCase` (e.g., `maxLength`)\n- Machine names: `snake_case` (e.g., `project_task`)\n- Comprehensive JSDoc comments\n\n## 📄 License\n\nApache 2.0 © ObjectStack\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fobjectstack-ai%2Fspec","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fobjectstack-ai%2Fspec","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fobjectstack-ai%2Fspec/lists"}