diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md
index aa4328b12..9f60c213d 100644
--- a/.github/copilot-instructions.md
+++ b/.github/copilot-instructions.md
@@ -79,12 +79,12 @@ objectstack-ai/spec/
│
├── apps/
│ ├── studio/ # 🎨 Studio UI (React + Hono, web-based)
-│ └── docs/ # 📖 Documentation site (Fumadocs + Next.js)
+│ ├── docs/ # 📖 Documentation site (Fumadocs + Next.js)
+│ └── server/ # 🚀 Production server (multi-app orchestration)
│
├── examples/ # 📚 Reference implementations
│ ├── app-todo/ # Beginner: simple CRUD
│ ├── app-crm/ # Advanced: full CRM with relations
-│ ├── app-host/ # Host application bootstrap
│ └── plugin-bi/ # Plugin example: BI dashboard
│
├── skills/ # 🤖 AI skill definitions (for Copilot/Cursor)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 4b1e9288a..77db58bb9 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -290,7 +290,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- **Removed `value` field from data API responses** — The `findData` protocol
implementation no longer returns the deprecated `value` field alongside `records`.
Only `records` is returned, matching the `FindDataResponseSchema` spec. All
- downstream consumers (Studio, app-host example, tests) updated to use `records`
+ downstream consumers (Studio, server example, tests) updated to use `records`
exclusively. OData-specific responses (`ODataResponseSchema`) retain `value` per
the OData v4 standard — protocol-to-OData adaptation is handled in the HTTP
dispatch layer.
diff --git a/README.md b/README.md
index 194e3c255..5a77148da 100644
--- a/README.md
+++ b/README.md
@@ -181,7 +181,7 @@ os doctor # Check environment health
| :--- | :--- | :--- |
| [`@example/app-todo`](examples/app-todo) | Task management app — objects, views, dashboards, flows | Beginner |
| [`@example/app-crm`](examples/app-crm) | Enterprise CRM — accounts, contacts, opportunities, leads | Intermediate |
-| [`@example/app-host`](examples/app-host) | Server host — multi-app orchestration with plugins | Advanced |
+| [`@objectstack/server`](apps/server) | Production server — multi-app orchestration with plugins | Advanced |
| [`@example/plugin-bi`](examples/plugin-bi) | BI plugin — analytics objects and reports | Intermediate |
## Codebase Metrics
diff --git a/ROADMAP.md b/ROADMAP.md
index 4644013b3..cc6bfe96e 100644
--- a/ROADMAP.md
+++ b/ROADMAP.md
@@ -852,7 +852,7 @@ Final polish and advanced features.
- [x] **app-todo** — Beginner reference (objects, actions, flows, dashboards, reports, i18n) ✅
- [x] **app-crm** — Enterprise reference (10 objects, 5 AI agents, 4 RAG pipelines, security profiles) ✅
-- [x] **app-host** — Multi-app orchestration pattern ✅
+- [x] **server** (formerly app-host) — Production server with multi-app orchestration pattern ✅
- [ ] **plugin-bi** — Business Intelligence plugin (currently a stub/placeholder)
- [ ] **app-hrm** — Human Resource Management example
- [ ] **app-project** — Project Management example
diff --git a/examples/app-host/.env.example b/apps/server/.env.example
similarity index 100%
rename from examples/app-host/.env.example
rename to apps/server/.env.example
diff --git a/examples/app-host/.gitignore b/apps/server/.gitignore
similarity index 100%
rename from examples/app-host/.gitignore
rename to apps/server/.gitignore
diff --git a/examples/app-host/.vercelignore b/apps/server/.vercelignore
similarity index 100%
rename from examples/app-host/.vercelignore
rename to apps/server/.vercelignore
diff --git a/examples/app-host/CHANGELOG.md b/apps/server/CHANGELOG.md
similarity index 100%
rename from examples/app-host/CHANGELOG.md
rename to apps/server/CHANGELOG.md
diff --git a/examples/app-host/DEPLOYMENT.md b/apps/server/DEPLOYMENT.md
similarity index 94%
rename from examples/app-host/DEPLOYMENT.md
rename to apps/server/DEPLOYMENT.md
index 4e7669029..ada00b7c6 100644
--- a/examples/app-host/DEPLOYMENT.md
+++ b/apps/server/DEPLOYMENT.md
@@ -1,6 +1,6 @@
-# Deploying App Host to Vercel
+# Deploying ObjectStack Server to Vercel
-This example demonstrates how to deploy the ObjectStack app-host to Vercel using Hono.
+This guide demonstrates how to deploy the ObjectStack production server to Vercel using Hono.
## Prerequisites
@@ -26,9 +26,9 @@ You can get these credentials from [Turso Dashboard](https://turso.tech/).
npm i -g vercel
```
-2. Navigate to the app-host directory:
+2. Navigate to the server directory:
```bash
- cd examples/app-host
+ cd apps/server
```
3. Deploy to Vercel:
@@ -46,7 +46,7 @@ You can get these credentials from [Turso Dashboard](https://turso.tech/).
### Option 2: Using Vercel Dashboard
1. Import the repository to Vercel
-2. Set the root directory to `examples/app-host`
+2. Set the root directory to `apps/server`
3. Add environment variables in the project settings
4. Deploy
@@ -64,7 +64,7 @@ The build is configured in `vercel.json`:
## How It Works
1. **Build Process** (`scripts/build-vercel.sh`):
- - Builds both app-host and Studio using Turbo
+ - Builds both server and Studio using Turbo
- Studio is built with `VITE_RUNTIME_MODE=server` (set in vercel.json build.env)
- Bundles the server code using esbuild (`scripts/bundle-api.mjs`)
- Copies Studio dist files to `public/` for static file serving
@@ -95,7 +95,7 @@ The build is configured in `vercel.json`:
The deployment follows Vercel's serverless function pattern:
```
-examples/app-host/
+apps/server/
├── api/
│ ├── [[...route]].js # Committed entry point
│ └── _handler.js # Generated bundle (not committed)
diff --git a/examples/app-host/README.md b/apps/server/README.md
similarity index 96%
rename from examples/app-host/README.md
rename to apps/server/README.md
index 3e0dbe0e9..56efd65cd 100644
--- a/examples/app-host/README.md
+++ b/apps/server/README.md
@@ -1,11 +1,11 @@
-# ObjectStack Example Server
+# ObjectStack Production Server
This is a reference implementation of the ObjectStack Server Protocol (Kernel).
It demonstrates how to build a metadata-driven backend that dynamically loads object definitions from plugins and automatically generates REST APIs.
## Deployment
-[](https://vercel.com/new/clone?repository-url=https://github.com/objectstack-ai/framework/tree/main/examples/app-host&project-name=objectstack-app-host&repository-name=objectstack-app-host)
+[](https://vercel.com/new/clone?repository-url=https://github.com/objectstack-ai/framework/tree/main/apps/server&project-name=objectstack-server&repository-name=objectstack-server)
See [DEPLOYMENT.md](./DEPLOYMENT.md) for detailed deployment instructions.
diff --git a/examples/app-host/api/[[...route]].js b/apps/server/api/[[...route]].js
similarity index 100%
rename from examples/app-host/api/[[...route]].js
rename to apps/server/api/[[...route]].js
diff --git a/examples/app-host/debug-registry.ts b/apps/server/debug-registry.ts
similarity index 100%
rename from examples/app-host/debug-registry.ts
rename to apps/server/debug-registry.ts
diff --git a/examples/app-host/lib/create-broker-shim.ts b/apps/server/lib/create-broker-shim.ts
similarity index 100%
rename from examples/app-host/lib/create-broker-shim.ts
rename to apps/server/lib/create-broker-shim.ts
diff --git a/examples/app-host/metadata/objects/demo.object.yml b/apps/server/metadata/objects/demo.object.yml
similarity index 100%
rename from examples/app-host/metadata/objects/demo.object.yml
rename to apps/server/metadata/objects/demo.object.yml
diff --git a/examples/app-host/objectstack.config.ts b/apps/server/objectstack.config.ts
similarity index 83%
rename from examples/app-host/objectstack.config.ts
rename to apps/server/objectstack.config.ts
index f960bb6bb..0e483b00c 100644
--- a/examples/app-host/objectstack.config.ts
+++ b/apps/server/objectstack.config.ts
@@ -5,11 +5,11 @@ import { AppPlugin, DriverPlugin } from '@objectstack/runtime';
import { ObjectQLPlugin } from '@objectstack/objectql';
import { InMemoryDriver } from '@objectstack/driver-memory';
import { AuthPlugin } from '@objectstack/plugin-auth';
-import CrmApp from '../app-crm/objectstack.config';
-import TodoApp from '../app-todo/objectstack.config';
-import BiPluginManifest from '../plugin-bi/objectstack.config';
+import CrmApp from '../../examples/app-crm/objectstack.config';
+import TodoApp from '../../examples/app-todo/objectstack.config';
+import BiPluginManifest from '../../examples/plugin-bi/objectstack.config';
-// App Host Example
+// Production Server
// This project acts as a "Platform Server" that loads multiple apps and plugins.
// It effectively replaces the manual composition in `src/index.ts`.
@@ -24,11 +24,11 @@ const authPlugin = new AuthPlugin({
export default defineStack({
manifest: {
- id: 'com.example.host',
- namespace: 'host',
- name: 'App Host',
+ id: 'com.objectstack.server',
+ namespace: 'server',
+ name: 'ObjectStack Server',
version: '1.0.0',
- description: 'Host application aggregating CRM, Todo and BI plugins',
+ description: 'Production server aggregating CRM, Todo and BI plugins',
type: 'app',
},
@@ -92,11 +92,11 @@ export default defineStack({
*/
export const PreviewHostExample = defineStack({
manifest: {
- id: 'com.example.host-preview',
- namespace: 'host',
- name: 'App Host Preview',
+ id: 'com.objectstack.server-preview',
+ namespace: 'server',
+ name: 'ObjectStack Server Preview',
version: '1.0.0',
- description: 'Host application in preview/demo mode — bypasses login, simulates admin user',
+ description: 'Production server in preview/demo mode — bypasses login, simulates admin user',
type: 'app',
},
diff --git a/examples/app-host/package.json b/apps/server/package.json
similarity index 97%
rename from examples/app-host/package.json
rename to apps/server/package.json
index 3f386078f..86df2ccdd 100644
--- a/examples/app-host/package.json
+++ b/apps/server/package.json
@@ -1,5 +1,5 @@
{
- "name": "@example/app-host",
+ "name": "@objectstack/server",
"version": "4.0.3",
"license": "Apache-2.0",
"type": "module",
diff --git a/examples/app-host/public/index.html b/apps/server/public/index.html
similarity index 100%
rename from examples/app-host/public/index.html
rename to apps/server/public/index.html
diff --git a/examples/app-host/scripts/build-vercel.sh b/apps/server/scripts/build-vercel.sh
similarity index 76%
rename from examples/app-host/scripts/build-vercel.sh
rename to apps/server/scripts/build-vercel.sh
index 3b70d99d9..20b624f59 100755
--- a/examples/app-host/scripts/build-vercel.sh
+++ b/apps/server/scripts/build-vercel.sh
@@ -1,7 +1,7 @@
#!/usr/bin/env bash
set -euo pipefail
-# Build script for Vercel deployment of @example/app-host.
+# Build script for Vercel deployment of @objectstack/server.
#
# Follows the Vercel deployment pattern:
# - api/[[...route]].js is committed to the repo (Vercel detects it pre-build)
@@ -14,13 +14,13 @@ set -euo pipefail
# 2. Bundle the API serverless function (→ api/_handler.js)
# 3. Copy studio dist files to public/ for UI serving
-echo "[build-vercel] Starting app-host build..."
+echo "[build-vercel] Starting server build..."
# 1. Build the project with turbo (from monorepo root)
-# This builds both app-host and studio
+# This builds both server and studio
cd ../..
-pnpm turbo run build --filter=@example/app-host --filter=@objectstack/studio
-cd examples/app-host
+pnpm turbo run build --filter=@objectstack/server --filter=@objectstack/studio
+cd apps/server
# 2. Bundle API serverless function
node scripts/bundle-api.mjs
@@ -29,8 +29,8 @@ node scripts/bundle-api.mjs
echo "[build-vercel] Copying studio dist to public/..."
rm -rf public
mkdir -p public
-if [ -d "../../apps/studio/dist" ]; then
- cp -r ../../apps/studio/dist/* public/
+if [ -d "../studio/dist" ]; then
+ cp -r ../studio/dist/* public/
echo "[build-vercel] ✓ Copied studio dist to public/"
else
echo "[build-vercel] ⚠ Studio dist not found (skipped)"
diff --git a/examples/app-host/scripts/bundle-api.mjs b/apps/server/scripts/bundle-api.mjs
similarity index 96%
rename from examples/app-host/scripts/bundle-api.mjs
rename to apps/server/scripts/bundle-api.mjs
index cc87745c8..57700c855 100644
--- a/examples/app-host/scripts/bundle-api.mjs
+++ b/apps/server/scripts/bundle-api.mjs
@@ -9,7 +9,7 @@
* npm packages), so the deployed function is self-contained. Only packages
* with native bindings are kept external.
*
- * Run from the examples/app-host directory during the Vercel build step.
+ * Run from the apps/server directory during the Vercel build step.
*/
import { build } from 'esbuild';
diff --git a/examples/app-host/server/index.ts b/apps/server/server/index.ts
similarity index 100%
rename from examples/app-host/server/index.ts
rename to apps/server/server/index.ts
diff --git a/examples/app-host/src/index.ts b/apps/server/src/index.ts
similarity index 100%
rename from examples/app-host/src/index.ts
rename to apps/server/src/index.ts
diff --git a/examples/app-host/test/e2e.test.ts b/apps/server/test/e2e.test.ts
similarity index 100%
rename from examples/app-host/test/e2e.test.ts
rename to apps/server/test/e2e.test.ts
diff --git a/examples/app-host/tsconfig.json b/apps/server/tsconfig.json
similarity index 100%
rename from examples/app-host/tsconfig.json
rename to apps/server/tsconfig.json
diff --git a/examples/app-host/vercel.json b/apps/server/vercel.json
similarity index 100%
rename from examples/app-host/vercel.json
rename to apps/server/vercel.json
diff --git a/apps/studio/.env.example b/apps/studio/.env.example
index ccc53b0b7..b79696648 100644
--- a/apps/studio/.env.example
+++ b/apps/studio/.env.example
@@ -1,7 +1,7 @@
# Environment Variables for Development
# Copy this file to .env.local and customize
#
-# NOTE: .env.production is used for production builds (e.g., app-host deployment)
+# NOTE: .env.production is used for production builds (e.g., server deployment)
# Runtime Mode: 'msw' (default for dev) | 'server'
# - 'msw': Mock Service Worker with in-browser kernel (recommended for local dev)
diff --git a/apps/studio/.env.production b/apps/studio/.env.production
index 7a0debf79..a31b0e102 100644
--- a/apps/studio/.env.production
+++ b/apps/studio/.env.production
@@ -1,16 +1,16 @@
# Production Environment Configuration
# This file is used during production builds (vite build)
#
-# When Studio is deployed as part of app-host (examples/app-host),
-# it should run in server mode and connect to the app-host API server
+# When Studio is deployed as part of the server (apps/server),
+# it should run in server mode and connect to the server API
# instead of using MSW (Mock Service Worker).
# Runtime Mode: 'server' for production deployment
-# - 'server': Connect to real ObjectStack server (app-host API)
+# - 'server': Connect to real ObjectStack server API
# - 'msw': Mock Service Worker mode (browser-based kernel, for local dev)
VITE_RUNTIME_MODE=server
-# Server URL: Empty string for same-origin (app-host serves both UI and API)
+# Server URL: Empty string for same-origin (server serves both UI and API)
# The client SDK will use relative URLs (/api/v1/...)
-# Empty string = same origin (recommended for app-host deployment)
+# Empty string = same origin (recommended for server deployment)
VITE_SERVER_URL=
diff --git a/content/docs/getting-started/examples.mdx b/content/docs/getting-started/examples.mdx
index 85cb5ed51..3b39acc9b 100644
--- a/content/docs/getting-started/examples.mdx
+++ b/content/docs/getting-started/examples.mdx
@@ -7,7 +7,7 @@ import { CheckSquare, Building2, BarChart3, Server } from 'lucide-react';
# Example Apps
-The monorepo includes 4 ready-to-run examples that progressively demonstrate ObjectStack features — from a simple Todo app to a full enterprise CRM.
+The monorepo includes 3 ready-to-run examples that progressively demonstrate ObjectStack features — from a simple Todo app to a full enterprise CRM.
- }
- title="app-host"
- description="Platform server that loads multiple apps. Demonstrates multi-app composition."
- />
+
+ **Looking for the production server example?** It has been moved to [`apps/server/`](../../apps/server/) — see the [Server documentation](../../apps/server/README.md) for multi-app orchestration and deployment.
+
+
---
## Quick Run
@@ -274,25 +273,23 @@ new AppPlugin(BiPlugin) // Load into host
---
-## app-host — Multi-App Composition
+## Multi-App Composition Pattern
-**Path:** `examples/app-host/`
-
-Demonstrates the **Platform Server** pattern: one host loading multiple apps and plugins. This is how you'd run ObjectStack in production with multiple teams' apps.
+The production server at [`apps/server/`](../../apps/server/) demonstrates the **Platform Server** pattern: one host loading multiple apps and plugins. This is how you'd run ObjectStack in production with multiple teams' apps.
```typescript
-// examples/app-host/objectstack.config.ts
+// apps/server/objectstack.config.ts
import { defineStack } from '@objectstack/spec';
import { AppPlugin, DriverPlugin } from '@objectstack/runtime';
import { ObjectQLPlugin } from '@objectstack/objectql';
import { InMemoryDriver } from '@objectstack/driver-memory';
-import CrmApp from '../app-crm/objectstack.config';
-import TodoApp from '../app-todo/objectstack.config';
-import BiPlugin from '../plugin-bi/objectstack.config';
+import CrmApp from '../examples/app-crm/objectstack.config';
+import TodoApp from '../examples/app-todo/objectstack.config';
+import BiPlugin from '../examples/plugin-bi/objectstack.config';
export default defineStack({
manifest: {
- id: 'app-host',
+ id: 'com.objectstack.server',
version: '1.0.0',
type: 'app',
},
@@ -321,7 +318,7 @@ The double-underscore `__` separator prevents collisions when multiple apps defi
### Run It
```bash
-cd examples/app-host
+cd apps/server
pnpm dev # Loads all 3 apps on one server
```
diff --git a/docs/DX_ROADMAP.md b/docs/DX_ROADMAP.md
index 22008cd9c..5241982f1 100644
--- a/docs/DX_ROADMAP.md
+++ b/docs/DX_ROADMAP.md
@@ -37,14 +37,14 @@ This roadmap prioritizes improvements based on the **"Time to First Wow"** metri
- [x] Create StackBlitz starter template from `app-todo`
- [x] Add "Try Online" button to spec README.md and docs site hero
-- [x] Add "How to Run" section to each example README (app-todo, app-crm, app-host, plugin-bi)
+- [x] Add "How to Run" section to each example README (app-todo, app-crm, server, plugin-bi)
- [x] Add prerequisites section to getting-started docs
- [x] Create first-run troubleshooting page
- [x] Implement `create-objectstack` CLI wizard with 3 templates
- [ ] Record 5-minute getting-started video
- [x] Fix `examples/README.md`: remove `minimal-auth` ghost reference, update metadata
- [x] Fix `plugin-bi` example: add README.md, add package.json scripts
-- [x] Fix `app-host` README: use `pnpm dev` instead of `npm run dev`
+- [x] Fix `server` (formerly app-host) README: use `pnpm dev` instead of `npm run dev`
diff --git a/examples/README.md b/examples/README.md
index 988d315f1..b6026359f 100644
--- a/examples/README.md
+++ b/examples/README.md
@@ -12,7 +12,7 @@ Welcome to the ObjectStack examples catalog! This directory contains carefully c
|-------|----------|-------------|
| 🟢 **Beginner** | [App Todo](#app-todo), [Plugin BI](#plugin-bi) | Start here - simple, focused examples |
| 🟡 **Intermediate** | [App CRM](#app-crm) | Real-world enterprise application |
-| 🔴 **Advanced** | [App Host](#app-host) | Server hosting & plugin orchestration |
+| 🔴 **Advanced** | [Server](../apps/server/) | Server hosting & plugin orchestration |
### By Protocol Category
@@ -20,9 +20,9 @@ Welcome to the ObjectStack examples catalog! This directory contains carefully c
|----------|----------|--------|
| **Data (ObjectQL)** | [App CRM](./app-crm/), [App Todo](./app-todo/) | ✅ Complete |
| **UI (ObjectUI)** | [App CRM](./app-crm/), [App Todo](./app-todo/) | ✅ Complete |
-| **System (ObjectOS)** | [App Host](./app-host/), [App CRM](./app-crm/) | ✅ Complete |
+| **System (ObjectOS)** | [Server](../apps/server/), [App CRM](./app-crm/) | ✅ Complete |
| **Automation** | [App CRM](./app-crm/), [App Todo](./app-todo/) | ✅ Complete |
-| **API** | [App Host](./app-host/) | ✅ Complete |
+| **API** | [Server](../apps/server/) | ✅ Complete |
| **BI / Analytics** | [Plugin BI](./plugin-bi/) | 🔴 Stub |
| **Hub & Marketplace** | _Coming soon_ | 🔴 Planned |
@@ -147,24 +147,7 @@ pnpm build
---
-### App Host
-**Path:** [`examples/app-host/`](./app-host/)
-**Level:** 🔴 Advanced
-**Protocols:** System, API, Data
-
-**Complete server implementation** showing how to build a metadata-driven backend. Features dynamic schema loading from plugins, auto-generated REST APIs, unified metadata API, plugin orchestration, and **preview/demo mode**.
-
-**Preview Mode:** Run with `OS_MODE=preview` to bypass login/registration and simulate an admin identity — ideal for marketplace demos and app showcases.
-
-**Quick Start:**
-```bash
-cd examples/app-host
-pnpm install
-pnpm dev
-
-# Preview mode (no login required)
-OS_MODE=preview pnpm dev
-```
+**Note:** The production server example has been moved to [`apps/server/`](../apps/server/) — see the [Server documentation](../apps/server/README.md) for details on server hosting, plugin orchestration, and deployment.
---
@@ -228,9 +211,9 @@ pnpm typecheck
| Protocol | Example | Location |
|----------|---------|----------|
| Manifest | ✅ Complete | All examples with `objectstack.config.ts` |
-| Plugin System | ✅ Complete | [App Host](./app-host/) |
-| Preview Mode | ✅ Complete | [App Host](./app-host/) — `OS_MODE=preview` |
-| Datasources | 🟡 Partial | [App Host](./app-host/) |
+| Plugin System | ✅ Complete | [Server](../apps/server/) |
+| Preview Mode | ✅ Complete | [Server](../apps/server/) — `OS_MODE=preview` |
+| Datasources | 🟡 Partial | [Server](../apps/server/) |
| I18n / Translations | ✅ Complete | [Todo Translations](./app-todo/src/translations/), [CRM Translations](./app-crm/src/translations/) |
| Job Scheduling | 🔴 Missing | _Planned_ |
| Metrics | 🔴 Missing | _Planned_ |
@@ -260,7 +243,7 @@ pnpm typecheck
### API Protocol
| Protocol | Example | Location |
|----------|---------|----------|
-| REST Server | ✅ Complete | [App Host](./app-host/) |
+| REST Server | ✅ Complete | [Server](../apps/server/) |
| Custom APIs | ✅ Complete | [CRM APIs](./app-crm/src/apis/) |
| GraphQL | 🔴 Missing | _Planned_ |
| WebSocket/Realtime | 🔴 Missing | _Planned_ |
@@ -306,7 +289,7 @@ pnpm build
1. Complete Path 1
2. Study all [CRM Objects](./app-crm/src/objects/) - Master field types and relationships
3. Review [CRM Flows](./app-crm/src/flows/) - Understand automation patterns
-4. Explore [App Host](./app-host/) - Server and plugin orchestration
+4. Explore [Server](../apps/server/) - Server and plugin orchestration
---
@@ -380,7 +363,7 @@ All examples are licensed under Apache 2.0. See [LICENSE](../LICENSE) for detail
---
-**Last Updated:** 2026-02-12
-**Protocol Version:** 3.0.0
-**Total Examples:** 4 (app-todo, app-crm, app-host, plugin-bi)
+**Last Updated:** 2026-02-12
+**Protocol Version:** 3.0.0
+**Total Examples:** 3 (app-todo, app-crm, plugin-bi)
**Directory Convention:** By-Type (Salesforce DX style)
diff --git a/examples/plugin-bi/README.md b/examples/plugin-bi/README.md
index a1f5a7570..c66268d16 100644
--- a/examples/plugin-bi/README.md
+++ b/examples/plugin-bi/README.md
@@ -75,7 +75,7 @@ See the [App CRM](../app-crm/) example for comprehensive dashboard and report pa
- [App Todo](../app-todo/) — Dashboard widgets and reports (beginner)
- [App CRM](../app-crm/) — Enterprise dashboards with 10+ widgets (intermediate)
-- [App Host](../app-host/) — Plugin orchestration and loading (advanced)
+- [Server](../../apps/server/) — Plugin orchestration and loading (advanced)
---
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index ded5036ac..813ca2db3 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -125,6 +125,91 @@ importers:
specifier: 4.3.6
version: 4.3.6
+ apps/server:
+ dependencies:
+ '@example/app-crm':
+ specifier: workspace:*
+ version: link:../../examples/app-crm
+ '@example/app-todo':
+ specifier: workspace:*
+ version: link:../../examples/app-todo
+ '@example/plugin-bi':
+ specifier: workspace:*
+ version: link:../../examples/plugin-bi
+ '@hono/node-server':
+ specifier: ^1.19.14
+ version: 1.19.14(hono@4.12.12)
+ '@libsql/client':
+ specifier: ^0.14.0
+ version: 0.14.0
+ '@objectstack/driver-memory':
+ specifier: workspace:*
+ version: link:../../packages/plugins/driver-memory
+ '@objectstack/driver-turso':
+ specifier: workspace:*
+ version: link:../../packages/plugins/driver-turso
+ '@objectstack/hono':
+ specifier: workspace:*
+ version: link:../../packages/adapters/hono
+ '@objectstack/metadata':
+ specifier: workspace:*
+ version: link:../../packages/metadata
+ '@objectstack/objectql':
+ specifier: workspace:*
+ version: link:../../packages/objectql
+ '@objectstack/plugin-audit':
+ specifier: workspace:*
+ version: link:../../packages/plugins/plugin-audit
+ '@objectstack/plugin-auth':
+ specifier: workspace:*
+ version: link:../../packages/plugins/plugin-auth
+ '@objectstack/plugin-hono-server':
+ specifier: workspace:*
+ version: link:../../packages/plugins/plugin-hono-server
+ '@objectstack/plugin-security':
+ specifier: workspace:*
+ version: link:../../packages/plugins/plugin-security
+ '@objectstack/plugin-setup':
+ specifier: workspace:*
+ version: link:../../packages/plugins/plugin-setup
+ '@objectstack/runtime':
+ specifier: workspace:*
+ version: link:../../packages/runtime
+ '@objectstack/service-ai':
+ specifier: workspace:*
+ version: link:../../packages/services/service-ai
+ '@objectstack/service-analytics':
+ specifier: workspace:*
+ version: link:../../packages/services/service-analytics
+ '@objectstack/service-automation':
+ specifier: workspace:*
+ version: link:../../packages/services/service-automation
+ '@objectstack/service-feed':
+ specifier: workspace:*
+ version: link:../../packages/services/service-feed
+ '@objectstack/spec':
+ specifier: workspace:*
+ version: link:../../packages/spec
+ hono:
+ specifier: ^4.12.12
+ version: 4.12.12
+ devDependencies:
+ '@objectstack/cli':
+ specifier: workspace:*
+ version: link:../../packages/cli
+ esbuild:
+ specifier: ^0.24.2
+ version: 0.24.2
+ ts-node:
+ specifier: ^10.9.2
+ version: 10.9.2(@types/node@25.6.0)(typescript@6.0.2)
+ tsx:
+ specifier: ^4.21.0
+ version: 4.21.0
+ typescript:
+ specifier: ^6.0.2
+ version: 6.0.2
+
apps/studio:
dependencies:
'@ai-sdk/anthropic':
@@ -328,91 +413,6 @@ importers:
specifier: ^6.0.2
version: 6.0.2
- examples/app-host:
- dependencies:
- '@example/app-crm':
- specifier: workspace:*
- version: link:../app-crm
- '@example/app-todo':
- specifier: workspace:*
- version: link:../app-todo
- '@example/plugin-bi':
- specifier: workspace:*
- version: link:../plugin-bi
- '@hono/node-server':
- specifier: ^1.19.14
- version: 1.19.14(hono@4.12.12)
- '@libsql/client':
- specifier: ^0.14.0
- version: 0.14.0
- '@objectstack/driver-memory':
- specifier: workspace:*
- version: link:../../packages/plugins/driver-memory
- '@objectstack/driver-turso':
- specifier: workspace:*
- version: link:../../packages/plugins/driver-turso
- '@objectstack/hono':
- specifier: workspace:*
- version: link:../../packages/adapters/hono
- '@objectstack/metadata':
- specifier: workspace:*
- version: link:../../packages/metadata
- '@objectstack/objectql':
- specifier: workspace:*
- version: link:../../packages/objectql
- '@objectstack/plugin-audit':
- specifier: workspace:*
- version: link:../../packages/plugins/plugin-audit
- '@objectstack/plugin-auth':
- specifier: workspace:*
- version: link:../../packages/plugins/plugin-auth
- '@objectstack/plugin-hono-server':
- specifier: workspace:*
- version: link:../../packages/plugins/plugin-hono-server
- '@objectstack/plugin-security':
- specifier: workspace:*
- version: link:../../packages/plugins/plugin-security
- '@objectstack/plugin-setup':
- specifier: workspace:*
- version: link:../../packages/plugins/plugin-setup
- '@objectstack/runtime':
- specifier: workspace:*
- version: link:../../packages/runtime
- '@objectstack/service-ai':
- specifier: workspace:*
- version: link:../../packages/services/service-ai
- '@objectstack/service-analytics':
- specifier: workspace:*
- version: link:../../packages/services/service-analytics
- '@objectstack/service-automation':
- specifier: workspace:*
- version: link:../../packages/services/service-automation
- '@objectstack/service-feed':
- specifier: workspace:*
- version: link:../../packages/services/service-feed
- '@objectstack/spec':
- specifier: workspace:*
- version: link:../../packages/spec
- hono:
- specifier: ^4.12.12
- version: 4.12.12
- devDependencies:
- '@objectstack/cli':
- specifier: workspace:*
- version: link:../../packages/cli
- esbuild:
- specifier: ^0.24.2
- version: 0.24.2
- ts-node:
- specifier: ^10.9.2
- version: 10.9.2(@types/node@25.6.0)(typescript@6.0.2)
- tsx:
- specifier: ^4.21.0
- version: 4.21.0
- typescript:
- specifier: ^6.0.2
- version: 6.0.2
-
examples/app-todo:
dependencies:
'@objectstack/client':