{"id":48469411,"url":"https://github.com/objectstack-ai/framework","last_synced_at":"2026-06-28T09:01:34.051Z","repository":{"id":333264847,"uuid":"1136691870","full_name":"objectstack-ai/framework","owner":"objectstack-ai","description":"ObjectStack is a metadata-driven backend for building business applications that AI agents can understand, operate, and audit safely.","archived":false,"fork":false,"pushed_at":"2026-06-07T14:15:28.000Z","size":38375,"stargazers_count":8,"open_issues_count":60,"forks_count":2,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-07T14:22:43.436Z","etag":null,"topics":["json-schema","protocol","standard","typescript-interfaces"],"latest_commit_sha":null,"homepage":"https://www.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":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-01-18T06:47:54.000Z","updated_at":"2026-06-07T14:15:30.000Z","dependencies_parsed_at":"2026-05-09T02:02:42.960Z","dependency_job_id":null,"html_url":"https://github.com/objectstack-ai/framework","commit_stats":null,"previous_names":["objectstack-ai/spec","objectstack-ai/framework"],"tags_count":3580,"template":false,"template_full_name":null,"purl":"pkg:github/objectstack-ai/framework","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/objectstack-ai%2Fframework","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/objectstack-ai%2Fframework/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/objectstack-ai%2Fframework/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/objectstack-ai%2Fframework/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/objectstack-ai","download_url":"https://codeload.github.com/objectstack-ai/framework/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/objectstack-ai%2Fframework/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34206492,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-11T02:00:06.485Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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-04-07T06:01:05.907Z","updated_at":"2026-06-28T09:01:34.041Z","avatar_url":"https://github.com/objectstack-ai.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ObjectStack\n\n![TypeScript](https://img.shields.io/badge/TypeScript-5.x-blue.svg)\n[![License: Apache 2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](./LICENSE)\n![Version](https://img.shields.io/badge/version-v4.0.1-green.svg)\n![Tests](https://img.shields.io/badge/tests-6%2C507%20passing-brightgreen.svg)\n\n\u003e **A metadata protocol and TypeScript toolkit for AI-native business apps.** Describe your objects, permissions, workflows, APIs, UI, and AI tools once as typed, version-controlled Zod metadata — and ObjectStack derives the TypeScript types, REST API, client SDK, UI, and MCP tools from that single definition.\n\n```\nObjectStack (this repo)  →  how a business app is described — the protocol + toolkit\nObjectOS                 →  where it runs, and where AI plugs in — the runtime\n```\n\nThis repo is the **framework**: the protocol, kernel, SDK, and CLI you build with. To *run* apps and let AI operate them under your permissions, deploy on **[ObjectOS](https://github.com/objectstack-ai/objectos)**. · Try a live app in ~30s on [StackBlitz](https://stackblitz.com/github/objectstack-ai/hotcrm) (no install).\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/screenshots/architecture.png\" width=\"940\" alt=\"ObjectStack architecture: author typed Zod metadata (objects, flows, views, policies); the microkernel compiles it into a versioned JSON artifact and loads plugins, drivers, and services; it generates a REST API, client SDK, Console and Studio UI, and MCP tools used by developers and AI agents, governed by Auth, RBAC, RLS, FLS, and audit, over PostgreSQL, MySQL, SQLite, or MongoDB\"\u003e\n  \u003cbr\u003e\u003csub\u003eOne typed definition → TypeScript types, REST API, client SDK, UI, and MCP tools.\u003c/sub\u003e\n\u003c/p\u003e\n\n## What is ObjectStack?\n\nObjectStack is an **open-source** metadata protocol and toolkit for *describing* business applications — so one typed definition powers your data model, API, UI, and AI tools. Apps run, and AI operates them under your permissions, on the [ObjectOS](https://github.com/objectstack-ai/objectos) runtime.\n\nInstead of hiding business logic inside ad-hoc SQL queries, UI state, or JavaScript strings, ObjectStack makes the business system explicit:\n\n- **Business objects** are Zod schemas with typed fields, relations, validation, and permissions.\n- **Business actions** are generated from metadata as REST APIs, SDK calls, and MCP tools.\n- **Business logic** is represented as analyzable metadata: flows, conditions, policies, and artifacts.\n- **Business runtime** is a microkernel that loads plugins, drivers, services, and compiled environment artifacts.\n\nThe goal is not to be another low-code UI builder. ObjectStack is the structured *definition* layer for AI-native business software — agent-ready, versioned, and analyzable; permissions and audit are enforced at runtime by ObjectOS.\n\nObjectStack is built around three protocol layers:\n\n- **ObjectQL** (Data Layer) — Objects, fields, queries, relations, validation, and data access.\n- **ObjectOS** (Control Layer) — Runtime, permissions, automation, plugins, environments, and artifact loading.\n- **ObjectUI** (View Layer) — Apps, views, dashboards, actions, and presentation metadata.\n\nAll core definitions start with **Zod schemas** (1,600+ exported schemas across 200 schema files). TypeScript types, JSON Schemas, REST routes, UI metadata, and agent tools are derived from the same source of truth.\n\nSee [ARCHITECTURE.md](./ARCHITECTURE.md) for the full microkernel and layer architecture documentation, and [content/docs/concepts/north-star.mdx](./content/docs/concepts/north-star.mdx) for the product north star (metadata protocols · environment-aware runtime · compiled app artifacts).\n\n## Author your app — in code or in Studio\n\nEverything is **typed metadata**. Define a business object once — fields, a color-coded picklist, validation — all declarative:\n\n```ts\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\nexport const Task = ObjectSchema.create({\n  name: 'todo_task',\n  label: 'Task',\n  fields: {\n    subject: Field.text({ label: 'Subject', required: true, searchable: true }),\n    status: Field.select({\n      label: 'Status',\n      required: true,\n      options: [\n        { label: 'In Progress', value: 'in_progress', color: '#3B82F6' },\n        { label: 'Completed', value: 'completed', color: '#10B981' },\n      ],\n    }),\n    due_date: Field.date({ label: 'Due Date' }),\n  },\n});\n```\n\nFrom that single schema, ObjectStack derives the database table, an auto-generated REST API and typed client SDK, UI views (list, board, calendar, Gantt…), and MCP tools for agents — all from one definition.\n\nPrefer clicking? Author the same metadata visually in **Studio** — objects, relations, validation, and flows — and it compiles to the exact same artifacts:\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/screenshots/modeling.png\" width=\"49%\" alt=\"Studio object designer showing the Opportunity object's typed fields, lookups, and layout sections\"\u003e\n  \u003cimg src=\"docs/screenshots/automation.png\" width=\"49%\" alt=\"Studio flow designer showing a visual DAG that enrolls leads into a campaign\"\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\u003csub\u003e\u003cb\u003eModel\u003c/b\u003e objects as typed metadata \u0026nbsp;·\u0026nbsp; \u003cb\u003eAutomate\u003c/b\u003e with visual flows — both produce the same analyzable metadata.\u003c/sub\u003e\u003c/p\u003e\n\n\u003e **Want to see it running?** Deploy on **[ObjectOS](https://github.com/objectstack-ai/objectos)** for the live Console — dashboards, boards, calendars, records, and AI working your data under your permissions.\n\n## Key Features\n\n- **AI-native, not retrofitted** — Objects, permissions, flows, APIs, and UI are declarative typed metadata, small enough for an agent to load end-to-end. That metadata generates an automatic tool surface — REST APIs, client SDKs, UI views, and an [MCP](packages/mcp) server — so agents inspect and act through the same contracts you defined.\n- **Protocol-first runtime** — Every definition starts as a Zod schema (`z.infer\u003c\u003e` types), compiles into versioned, self-describing JSON artifacts, and runs on a microkernel plugin system (DI container, EventBus, `init → start → destroy` lifecycle).\n- **Data \u0026 framework reach** — In-memory, PostgreSQL, MySQL, SQLite, and MongoDB drivers; 7 framework adapters (Express, Fastify, Hono, NestJS, Next.js, Nuxt, SvelteKit); a client SDK with React hooks (`useQuery` / `useMutation` / `usePagination`).\n- **Governance \u0026 built-ins** — better-auth, RBAC / RLS / FLS, a DAG-based automation engine, an [MCP](packages/mcp) server that exposes the app to your own AI (BYO-AI), the ObjectUI Console, and a full CLI (`os init` / `dev` / `compile` / `validate` / …).\n\n## Why AI-native?\n\nMost internal-tool and low-code platforms were designed for humans clicking screens. AI support is usually added later as a chat box that can call a few predefined queries. ObjectStack starts from a different assumption: **AI agents need a structured, bounded, and auditable business backend before they can safely perform real work** — and the entire business system has to be small enough to fit in an agent's context window.\n\nA typical enterprise application is tens of thousands of lines of CRUD, forms, queries, permissions, and API glue spread across dozens of files. ObjectStack collapses the same surface into a few hundred lines of typed metadata — **roughly two orders of magnitude less code for a developer (or an AI agent) to read, write, and maintain.**\n\nThe point isn't lines of code. The point is **fit in an agent's context window.** When the entire business system is small, typed, and declarative, an AI agent can load it end-to-end, reason about every dependency, and safely refactor across data, API, UI, and permissions in a single change. That turns AI from an autocomplete tool into a real co-maintainer of production business software.\n\n| Dimension | Retool / Appsmith-style tools | ObjectStack |\n| :--- | :--- | :--- |\n| Business model | Implicit in pages, queries, and scripts | Explicit Zod `ObjectSchema` metadata |\n| Code footprint | Thousands of lines of queries, JS, and UI state per app | **~100× less** — declarative metadata replaces CRUD, forms, validation, and API glue |\n| Business logic | JavaScript snippets and query glue | Flows, policies, conditions, and typed metadata |\n| External contract | App-specific UI state | Self-describing JSON Environment Artifact |\n| Agent tools | Manually defined one by one | Generated from metadata and permissions |\n| Agent reasoning | Calls predefined queries | Reads the full schema, composes safe actions, respects boundaries |\n| AI maintainability | Agents must crawl sprawling app code | Whole app fits in an agent's context window |\n| Governance | App-level conventions | Auth, RBAC, RLS, FLS, audit, and versioned artifacts |\n\nDescribed in ObjectStack and deployed on [ObjectOS](https://github.com/objectstack-ai/objectos), this is the substrate for AI-native business apps — CRM, support, operations, and workflow agents acting on real business data without bypassing permissions or audit.\n\n## Quick Start\n\n### For Application Developers\n\n```bash\n# Create a new project\nnpx create-objectstack my-app\ncd my-app\n\n# Start dev server (REST API + console UI)\npnpm dev\n# → API:    http://localhost:3000/api/v1/\n# → Console: http://localhost:3000/_console/\n```\n\nAlternatively, with the CLI installed: `os init my-app \u0026\u0026 cd my-app \u0026\u0026 os dev`.\n\n### For Framework Contributors\n\n```bash\n# 1. Clone and install\ngit clone https://github.com/objectstack-ai/framework.git\ncd framework\npnpm install\n\n# 2. Build all packages\npnpm build\n\n# 3. Run tests\npnpm test\n\n# 4. Start Documentation site\npnpm docs:dev\n# → http://localhost:3000/docs\n```\n\n## Monorepo Scripts\n\n| Script | Description |\n| :--- | :--- |\n| `pnpm build` | Build all packages (excludes docs) |\n| `pnpm dev` | Run the showcase kitchen-sink example (`@objectstack/example-showcase`) — REST + Studio; exercises every metadata type, view, automation, AI \u0026 security chain |\n| `pnpm dev:showcase` | Same as `pnpm dev` (explicit alias) |\n| `pnpm dev:crm` | Run the minimal CRM example (`@objectstack/example-crm`) |\n| `pnpm dev:todo` | Run the Todo example (`@objectstack/example-todo`) |\n| `pnpm objectui:refresh` | Pull the sibling `../objectui` build into `packages/console/` |\n| `pnpm test` | Run all tests (Turborepo) |\n| `pnpm setup` | Install dependencies and build the spec package |\n| `pnpm docs:dev` | Start the documentation site locally |\n| `pnpm docs:build` | Build documentation for production |\n\n## CLI Commands\n\nThe CLI binary ships as both `os` and `objectstack`.\n\n```bash\nos init [name]    # Scaffold a new project\nos create         # Interactive project / object scaffolder\nos dev            # Start dev server with hot-reload (REST + console)\nos start          # Start the production server\nos serve          # Serve a compiled artifact\nos compile        # Build a deployable JSON Environment Artifact\nos validate       # Validate metadata against the protocol\nos lint           # Lint metadata for best-practice violations\nos info           # Display project metadata summary\nos generate       # Scaffold objects, views, flows, agents, migrations\nos doctor         # Check environment health\nos explain        # Explain protocol concepts on the command line\n```\n\nCloud, package registry, and environment management subcommands (`os package publish`, `os package install`, `os login`, `os whoami`, `os environments`, `os cloud …`) are available when targeting an ObjectStack Cloud control plane.\n\n## Use the generated API\n\nEvery object ships a REST API automatically — no controllers to write:\n\n```bash\n# CRUD endpoints for the `todo_task` object you defined above\ncurl http://localhost:3000/api/v1/todo_task\n```\n\nFor the browser, the typed client SDK and React hooks (`useQuery` / `useMutation` / `usePagination`) live in [`@objectstack/client-react`](packages/client-react). Need a new capability? Write a plugin, driver, or service against the same kernel APIs — every built-in is one (see below).\n\n## Package Directory\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003e72 published packages\u003c/b\u003e across core, engine, drivers, client, plugins, services, adapters, tools, and examples — click to expand.\u003c/summary\u003e\n\n### Core\n\n| Package | Description |\n| :--- | :--- |\n| [`@objectstack/spec`](packages/spec) | Protocol definitions — Zod schemas, TypeScript types, JSON Schemas, constants |\n| [`@objectstack/core`](packages/core) | Microkernel runtime — Plugin system, DI container, EventBus, Logger |\n| [`@objectstack/types`](packages/types) | Shared TypeScript type utilities |\n| [`@objectstack/formula`](packages/formula) | Canonical expression engine — CEL (cel-js) + ObjectStack stdlib for formula fields, predicates, conditions, dynamic defaults |\n| [`@objectstack/platform-objects`](packages/platform-objects) | Built-in platform object schemas — identity, security, audit, notification, package, and environment |\n\n### Engine\n\n| Package | Description |\n| :--- | :--- |\n| [`@objectstack/objectql`](packages/objectql) | ObjectQL query engine and schema registry |\n| [`@objectstack/runtime`](packages/runtime) | Runtime bootstrap — DriverPlugin, AppPlugin |\n| [`@objectstack/metadata`](packages/metadata) | Metadata loading and persistence |\n| [`@objectstack/rest`](packages/rest) | Auto-generated REST API layer |\n\n### Drivers\n\n| Package | Description |\n| :--- | :--- |\n| [`@objectstack/driver-memory`](packages/plugins/driver-memory) | In-memory driver (development and testing) |\n| [`@objectstack/driver-sql`](packages/plugins/driver-sql) | SQL driver — PostgreSQL, MySQL, SQLite (production) |\n| [`@objectstack/driver-mongodb`](packages/plugins/driver-mongodb) | MongoDB driver (native document database) |\n\n\u003e Turso / libSQL driver (`@objectstack/driver-turso`) and the libSQL-backed vector knowledge plugin (`@objectstack/knowledge-turso`) live in the [ObjectStack Cloud](https://github.com/objectstack-ai/cloud) monorepo as of this release.\n\n### Client\n\n| Package | Description |\n| :--- | :--- |\n| [`@objectstack/client`](packages/client) | Client SDK — CRUD, batch API, error handling |\n| [`@objectstack/client-react`](packages/client-react) | React hooks — `useQuery`, `useMutation`, `usePagination` |\n\n### Plugins\n\n| Package | Description |\n| :--- | :--- |\n| [`@objectstack/plugin-hono-server`](packages/plugins/plugin-hono-server) | Hono-based HTTP server plugin |\n| [`@objectstack/mcp`](packages/mcp) | Model Context Protocol server — exposes ObjectStack to AI agents |\n| [`@objectstack/plugin-auth`](packages/plugins/plugin-auth) | Authentication plugin (better-auth) |\n| [`@objectstack/plugin-security`](packages/plugins/plugin-security) | RBAC, Row-Level Security, Field-Level Security |\n| [`@objectstack/plugin-sharing`](packages/plugins/plugin-sharing) | Record-level sharing — `sys_record_share` + enforcement middleware |\n| [`@objectstack/plugin-approvals`](packages/plugins/plugin-approvals) | Approval as a flow node — approver resolution, record lock \u0026 status mirror over `sys_approval_request` + `sys_approval_action` |\n| [`@objectstack/plugin-audit`](packages/plugins/plugin-audit) | Audit logging plugin |\n| [`@objectstack/plugin-email`](packages/plugins/plugin-email) | Pluggable outbound email transport |\n| [`@objectstack/plugin-webhooks`](packages/plugins/plugin-webhooks) | Outbound webhook delivery — fan-out `data.record.*` events |\n| [`@objectstack/plugin-reports`](packages/plugins/plugin-reports) | Saved reports + scheduled email digests |\n| [`@objectstack/plugin-dev`](packages/plugins/plugin-dev) | Developer mode — in-memory stubs for all services |\n\n### Services\n\n| Package | Description |\n| :--- | :--- |\n| [`@objectstack/service-analytics`](packages/services/service-analytics) | Analytics — aggregations, time series, funnels, dashboards |\n| [`@objectstack/service-automation`](packages/services/service-automation) | Automation engine — flows, triggers, and workflow state machines |\n| [`@objectstack/service-cache`](packages/services/service-cache) | Cache — in-memory, Redis, multi-tier |\n| [`@objectstack/service-feed`](packages/services/service-feed) | Activity feed / chatter |\n| [`@objectstack/service-i18n`](packages/services/service-i18n) | Internationalization service |\n| [`@objectstack/service-job`](packages/services/service-job) | Cron \u0026 interval job scheduler |\n| [`@objectstack/service-package`](packages/services/service-package) | Package registry — publish, version, retrieve metadata packages |\n| [`@objectstack/service-queue`](packages/services/service-queue) | Background job queue (in-memory, BullMQ) |\n| [`@objectstack/service-realtime`](packages/services/service-realtime) | Real-time events and subscriptions |\n| [`@objectstack/service-settings`](packages/services/service-settings) | Settings — manifest registry + K/V resolver (Env \u003e Tenant \u003e User) |\n| [`@objectstack/service-storage`](packages/services/service-storage) | File storage (local, S3, R2, GCS) |\n\n### Framework Adapters\n\n| Package | Description |\n| :--- | :--- |\n| [`@objectstack/hono`](packages/adapters/hono) | Hono adapter (Node.js, Bun, Deno, Cloudflare Workers) — the supported HTTP adapter |\n\n### Tools \u0026 Apps\n\n| Package / App | Description |\n| :--- | :--- |\n| [`@objectstack/cli`](packages/cli) | CLI binary (`os` / `objectstack`) — `init`, `dev`, `start`, `serve`, `compile`, `publish`, `validate`, `generate`, `lint`, `doctor` |\n| [`create-objectstack`](packages/create-objectstack) | Project scaffolder (`npx create-objectstack`) |\n| [`objectstack-vscode`](packages/vscode-objectstack) | VS Code extension — autocomplete, validation, diagnostics |\n| [`@object-ui/console`](https://github.com/objectstack-ai/objectui/tree/main/apps/console) | Fork-ready runtime console SPA (lives in objectstack-ai/objectui, served via `@object-ui/console` on npm) |\n| [`@objectstack/account`](apps/account) | Account \u0026 identity portal — sign in, organizations, connected apps |\n| [`@objectstack/docs`](apps/docs) | Documentation site (Fumadocs + Next.js) |\n\n### Examples\n\n| Example | Description | Level |\n| :--- | :--- | :--- |\n| [`@objectstack/example-todo`](examples/app-todo) | Task management app — objects, views, dashboards, flows | Beginner |\n| [`@objectstack/example-crm`](examples/app-crm) | Minimal CRM smoke-test workspace — validates the metadata loading pipeline | Intermediate |\n| [HotCRM](https://github.com/objectstack-ai/hotcrm) | Full-featured enterprise CRM reference app (separate repo) | Advanced |\n\n\u003c/details\u003e\n\n## Architecture\n\nObjectStack uses a **microkernel architecture** where the kernel provides only the essential infrastructure (DI, EventBus, lifecycle), and all capabilities are delivered as plugins. The three protocol layers sit above the kernel:\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/screenshots/layers.png\" width=\"900\" alt=\"ObjectStack layered architecture: the ObjectQL data layer, ObjectOS control layer, and ObjectUI view layer sit on a microkernel (plugin lifecycle, service registry / DI, event bus); every capability — drivers, server, auth, security, automation, AI — is a plugin\"\u003e\n\u003c/p\u003e\n\nSee [ARCHITECTURE.md](./ARCHITECTURE.md) for the complete design documentation including the plugin lifecycle state machine, dependency graph, and design decisions.\n\n## Roadmap\n\nSee [ROADMAP.md](./ROADMAP.md) for the current documentation and architecture cleanup priorities.\n\n## Contributing\n\nWe welcome contributions. Please read [CONTRIBUTING.md](./CONTRIBUTING.md) for the development workflow, coding standards, testing requirements, and documentation guidelines.\n\nKey standards:\n- **Zod-first** — all schemas start with Zod; TypeScript types are derived via `z.infer\u003c\u003e`\n- **camelCase** for configuration keys (e.g., `maxLength`, `defaultValue`)\n- **snake_case** for machine names / data values (e.g., `project_task`, `first_name`)\n\n## Documentation\n\nFull documentation: **[https://docs.objectstack.ai](https://docs.objectstack.ai)**\n\n**Upgrading from 10.x?** See [Upgrading to ObjectStack 11](./docs/upgrading-to-11.md).\n\nRun locally: `pnpm docs:dev`\n\n## Community\n\n- ⭐ **Star this repo** if ObjectStack is useful — it helps others find it.\n- 🐛 Questions, bugs, or feature requests → [open an issue](https://github.com/objectstack-ai/framework/issues).\n- 🤝 Want to contribute? See [CONTRIBUTING.md](./CONTRIBUTING.md).\n\n## License\n\nApache-2.0. Enterprise editions, official cloud services, and marketplace\ncommercial terms live outside this repository.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fobjectstack-ai%2Fframework","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fobjectstack-ai%2Fframework","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fobjectstack-ai%2Fframework/lists"}