From 2b4cb105fb86525506a5f8cd8189056211507006 Mon Sep 17 00:00:00 2001 From: os-warren Date: Thu, 20 Aug 2026 14:19:51 +0000 Subject: [PATCH 1/2] docs(quickstart): transcribe both boot samples from @objectstack/cli 17.1.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Path A re-transcribed from a real `os start` on a clean home: the `Config: objectstack.config.ts` row is gone, which is objectstack#9347 (#8978) landing — the banner now names only what actually booted, and an empty kernel has no config to name. Verified by absence probe with a positive control in the same capture (`Mode:`/`Driver:`/`Tenancy:`/ `Plugins:` all present, `Config:` zero hits across two independent boots). Path B measured for the first time. `os init -t app` now scaffolds `sharingModel: 'private'` (objectstack#9736), so `pnpm dev` compiles — 41 author-time rules pass where 17.0.0 failed one on `security-owd-unset`. Its banner is its own measurement, not Path A's: it prints `MCP:`, and it DOES print `Config: objectstack.config.ts`, because here a config exists. The Path B `Warning:` blockquote is deleted, not updated — it described a sequence that is no longer broken (objectos#141 item 3). The port note under Path B was falsified by both boots and is rewritten from measurement: dev asks for 3000, the same port `os start` uses, and falls back to the next free port when it is taken (measured: 3001, with `↪ server bound to port 3001 (requested 3000)`). It never chose 3002. Part of #94 --- content/docs/quickstart.mdx | 61 +++++++++++++++++++++++++------------ 1 file changed, 42 insertions(+), 19 deletions(-) diff --git a/content/docs/quickstart.mdx b/content/docs/quickstart.mdx index c2d8344..4e54717 100644 --- a/content/docs/quickstart.mdx +++ b/content/docs/quickstart.mdx @@ -51,7 +51,6 @@ You'll see: ➜ MCP: http://localhost:3000/api/v1/mcp connect an AI client (Claude Code, Cursor, …) · skill: http://localhost:3000/api/v1/mcp/skill - Config: objectstack.config.ts Mode: production Driver: SqlDriver(better-sqlite3) → ~/.objectstack/data/objectstack.db Tenancy: single @@ -62,10 +61,11 @@ You'll see: That's it. You're running ObjectOS. -That block is transcribed from `@objectstack/cli` 17.0.0 booting an empty +That block is transcribed from `@objectstack/cli` 17.1.0 booting an empty kernel. Home paths show as `~/…` — the CLI prints yours expanded. Your own boot -also prints startup advisories (local storage driver, dev crypto key) and the -full list of loaded plugin names, both of which depend on your environment. +also prints startup advisories (local storage driver, dev crypto key, boot +diagnostics) and the full list of loaded plugin names, both of which depend on +your environment. ### What's running @@ -150,32 +150,55 @@ cd my-app pnpm dev ``` -> **Warning:** On `@objectstack/cli` 17.0.0 — the currently published -> `latest` — this sequence does not reach a dev server. The project -> `init` scaffolds declares no `sharingModel`, which the CLI's own -> `security-owd-unset` author-time rule rejects, so `pnpm dev` exits 1 -> during compile instead of starting. The fix is merged and awaiting a -> release — -> [objectstack#9666](https://github.com/objectstack-ai/objectstack/issues/9666). - You'll see: ```text -✓ Project initialized! +◆ Development Mode +──────────────────────────────────────── +📂 Config: my-app/objectstack.config.ts + → Compiling objectstack.config.ts → dist/objectstack.json... ◆ Compile - ✓ Build complete (462ms) +──────────────────────────────────────── + ✓ Build complete (117ms) + Data: 1 Objects 3 Fields -◆ Development Mode + Artifact: my-app/dist/objectstack.json (1.9 KB) + + → Starting dev server (local mode)... +🎯 Environment ID: env_local +📦 Artifact: dist/objectstack.json +🗄️ Database: file:my-app/.objectstack/data/objectstack.db + 👁 watching objectstack.config.ts, src — rebuild + restart on change + ✓ Server is ready - ➜ API: http://localhost:3002/ - ➜ Console: http://localhost:3002/_console/ + ➜ API: http://localhost:3000/ + ➜ Console: http://localhost:3000/_console/ + ➜ MCP: http://localhost:3000/api/v1/mcp + connect an AI client (Claude Code, Cursor, …) · skill: http://localhost:3000/api/v1/mcp/skill + + 🔑 Dev admin: admin@objectos.ai / admin123 + seeded on empty DB · dev only — do not use in production + + Config: objectstack.config.ts + Mode: development + Driver: SqlDriver(better-sqlite3) → my-app/.objectstack/data/objectstack.db + Tenancy: single + Plugins: 30 loaded + + Press Ctrl+C to stop ``` -Note the dev server uses port **3002** to avoid colliding with a -running `os start` on 3000. +That block is transcribed from `pnpm dev` on a scaffold created by +`@objectstack/cli` 17.1.0. Project paths show as `my-app/…` — the CLI prints +yours expanded — and it also prints per-step compile progress and the full +list of loaded plugin names. + +Note the dev server asks for port **3000**, the same port `os start` uses. If +that port is taken it binds the next free one and says so: +`↪ server bound to port 3001 (requested 3000)`. ### Add your own object From d9fc8cf6d5fa09581e9c6a651a911d6e929c31a8 Mon Sep 17 00:00:00 2001 From: os-warren Date: Thu, 20 Aug 2026 14:32:25 +0000 Subject: [PATCH 2/2] docs(quickstart): declare everything Path B's block omits MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PM review of the transcription: Path A's sentence names its omissions and Path B's under-declared, which is the undeclared-deviation shape the pin exists to prevent. Checked against the capture rather than reasoned about — diffing the raw `pnpm dev` log against the block leaves exactly five kinds of line, and the sentence now names all five: pnpm's script header, per-step compile progress, the two startup advisories (`Loading objectstack.config.ts...`, `↪ secret fields: LocalCryptoProvider wired (dev) …`), the plugin-name list, and the `🤖 MCP server` connection trailer printed after `Press Ctrl+C to stop`. Prose only. No sample line, no measurement and no other sentence moved. Part of #94 --- content/docs/quickstart.mdx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/content/docs/quickstart.mdx b/content/docs/quickstart.mdx index 4e54717..27f82d1 100644 --- a/content/docs/quickstart.mdx +++ b/content/docs/quickstart.mdx @@ -193,8 +193,10 @@ You'll see: That block is transcribed from `pnpm dev` on a scaffold created by `@objectstack/cli` 17.1.0. Project paths show as `my-app/…` — the CLI prints -yours expanded — and it also prints per-step compile progress and the full -list of loaded plugin names. +yours expanded. Your own run also prints pnpm's script header above the block, +per-step compile progress, startup advisories (configuration load, dev +secret-field crypto), the full list of loaded plugin names, and an MCP +connection trailer below the banner. Note the dev server asks for port **3000**, the same port `os start` uses. If that port is taken it binds the next free one and says so: