From 57aef7f3e7923a259db11e58e2289ea565dd1dd3 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 19 Aug 2026 15:30:36 +0000 Subject: [PATCH] =?UTF-8?q?docs(guide):=20objectstack.config.ts=20belongs?= =?UTF-8?q?=20to=20the=20server=20project=20=E2=80=94=20link=20it,=20do=20?= =?UTF-8?q?not=20re-type=20it?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The ObjectOS integration guide annotated an `objectstack.config.ts` literal as `AppManifest` imported from `@objectstack/spec`. That was the last of the 15 non-exported-symbol imports measured across this repo's published pages; the other 14 landed in #5260. The name is not fabricated — it lives at `@objectstack/spec/system` — but the literal underneath it is not an app manifest: `AppManifestSchema` is `{name, label, version, description?, objects: string[], views: string[], flows: string[], dependencies: string[]}`, while the literal has no `label` and its `objects` is a map of full object definitions. Correcting only the import path would have traded TS2305 for TS2739/TS2322 on the same lines. Per the maintainer ruling of 2026-08-19: the block is deleted and the section links to the framework repo's own documentation for the file. `objectstack.config.ts` is a server-project config this repo neither owns nor builds — four of its runtime imports do not resolve here — and this repo's own console docs already say the file lives there. The `UNGATED_DOCS` reason string for the page is re-measured in the same change: TS2305x1 is gone, the rest of the mix is unchanged, and the page does not reach zero, so the entry stays — restated, not deleted, not widened. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01RV6yuVCxymHYE16PL9vQkE --- content/docs/guide/objectos-integration.mdx | 79 ++++----------------- scripts/check-doc-snippet-types.mjs | 11 ++- 2 files changed, 23 insertions(+), 67 deletions(-) diff --git a/content/docs/guide/objectos-integration.mdx b/content/docs/guide/objectos-integration.mdx index 5e6d47f21..367284eb8 100644 --- a/content/docs/guide/objectos-integration.mdx +++ b/content/docs/guide/objectos-integration.mdx @@ -75,72 +75,19 @@ export async function createKernel() { ### 3. Create ObjectStack Configuration -```typescript -// objectstack.config.ts -import type { AppManifest } from '@objectstack/spec'; - -export const manifest: AppManifest = { - name: 'my-app', - version: '1.0.0', - description: 'My ObjectUI + ObjectOS Application', - - // Define your data objects - objects: { - contact: { - name: 'contact', - label: 'Contact', - fields: { - name: { name: 'name', label: 'Name', type: 'text', required: true }, - email: { name: 'email', label: 'Email', type: 'email', required: true }, - phone: { name: 'phone', label: 'Phone', type: 'phone' }, - company: { name: 'company', label: 'Company', type: 'text' }, - status: { - name: 'status', - label: 'Status', - type: 'select', - options: [ - { label: 'Active', value: 'active' }, - { label: 'Inactive', value: 'inactive' } - ] - } - } - } - }, - - // Define UI pages - pages: [ - { - name: 'contacts', - label: 'Contacts', - path: '/contacts', - icon: 'users', - component: { - type: 'object-view', - objectName: 'contact', - viewTypes: ['grid', 'kanban', 'calendar'] - } - } - ], - - // Define app navigation - navigation: { - items: [ - { - label: 'Dashboard', - path: '/', - icon: 'home' - }, - { - label: 'Contacts', - path: '/contacts', - icon: 'users' - } - ] - } -}; - -export default manifest; -``` +`objectstack.config.ts` belongs to the **ObjectStack server project**, not to an +ObjectUI app. It is authored with `defineStack()` and compiled by the `os` CLI; +the packages it imports (`@objectstack/spec`, `@objectstack/runtime`, plugins) +are dependencies of that project, not of this one. ObjectUI is a pure consumer +of whatever the server publishes over the metadata API, so the authoritative +reference for this file lives on the ObjectStack side: + +- [Your First Project](https://objectstack.ai/docs/getting-started/your-first-project) — the generated `objectstack.config.ts` walked through key by key: `manifest`, `plugins`, `objects` +- [Command Line Interface](https://objectstack.ai/docs/deployment/cli) — how the file is discovered, validated against `ObjectStackDefinitionSchema`, and compiled to a deployable `dist/objectstack.json` +- [Data Flow Diagrams](https://objectstack.ai/docs/api/data-flow) — how `defineStack()` becomes a running application + +The rest of this guide is ObjectUI's half of the integration: rendering the +objects, views and apps that the server exposes. ### 4. Set Up Frontend with Console diff --git a/scripts/check-doc-snippet-types.mjs b/scripts/check-doc-snippet-types.mjs index 1591dcb2c..59f3792ed 100644 --- a/scripts/check-doc-snippet-types.mjs +++ b/scripts/check-doc-snippet-types.mjs @@ -211,7 +211,16 @@ const TS_FENCE_LANGUAGES = new Set(['ts', 'tsx', 'typescript']); */ const UNGATED_DOCS = { 'content/docs/guide/objectos-integration.mdx': - '36 parse diagnostic(s) — blocks fenced `ts` that are bare object literals or elided bodies; 10 undefined-name diagnostic(s) — blocks continue an earlier block, or use ambient names the page never defines; 7 unresolved-module diagnostic(s); plus TS2305x1 TS2339x1 — candidate real defects, un-triaged', + '36 parse diagnostic(s) — blocks fenced `ts` that are bare object literals or elided bodies; ' + + '10 undefined-name diagnostic(s) — blocks continue an earlier block, or use ambient names the ' + + 'page never defines; 7 unresolved-module diagnostic(s); plus TS2339x1 — candidate real defects, ' + + 'un-triaged. This entry read TS2305x1 until objectui#5160, whose last name was the ' + + '`AppManifest` annotation on an `objectstack.config.ts` literal. That block is gone rather ' + + 'than re-typed: the file is a server-project config this repo neither owns nor builds, so the ' + + 'section links to the ObjectStack documentation instead of restating its shape here. Covering ' + + 'this page still needs the 8 parse-failing blocks re-fenced or declared, the undefined-name ' + + 'blocks made self-contained, and the `@objectstack/*` runtime imports resolvable — none of ' + + 'which this repo can do from here.', 'content/docs/plugins/plugin-calendar-view.mdx': '2 unresolved-module diagnostic(s) — and NOT a defect: the page is a migration guide whose ' + '"Before" blocks quote the retired `@object-ui/plugin-calendar-view` import on purpose. Covering ' +