Skip to content

docs(ui-merge): fold objectui.org into objectstack docs, K1 — move the Object UI SDK guide (38 pages) and the 57 renderer-type pages into a new content/docs/sdk/ section #27140

Closed

Description

@objectstack-fleet

Filing gate ③ (maintainer-directed). In the "Restore objectui.org docs deploy" project thread (card thread of #26993), on 2026-10-28:

  • 03:24Z, on the decision card "objectui.org 文档站以后怎么处理?", Tesla chose 「B 并入 objectstack 文档站」. www.objectui.org stops being a separate site, and its docs fold into the objectstack docs site (content/docs, served at objectstack.ai/docs).
  • 03:24Z, Tesla asked 「objectui 文档全部需要保留吗?这需要评估并和我沟通」. The card thread then sorted the 183 pages under ui/content/docs one by one into keep, merge, generate and delete, and put four questions to Tesla.
  • 07:58Z, on that evaluation, Tesla answered 「VS Code 扩展 不会发布,其他同意」 and then 「你负责派卡执行」.

The fold is split into four cards. The first three can run in parallel; the fourth is blocked by them:

  • K1 moves the SDK pages.
  • K2 merges pages into existing ones.
  • K3 generates the component reference.
  • K4 retires the old site and adds the redirects.

This is card K1.

维护者速读

把 Object UI 作为独立 React SDK 的文档搬进 objectstack 文档站,新开 content/docs/sdk/ 栏目,共 95 页:

  • 原样保留的 38 页:SDK 入门、架构、渲染器、插件、CLI 和连 objectstack 后端的适配器。
  • 57 个渲染器类型参考页:dialog、select、data-table 等。它们是在注册表里注册过、SDK 用户在 JSON 里会写到的类型,但不在 sdui.manifest.json 里。

在线演示组件(InteractiveDemo 等)改成静态 JSON 代码块。依据是你同意的第 3 条:第一轮不迁演示,不让主文档站多依赖 21 个 @object-ui 包。

本卡只新增页面,不删 ui/content/docs 里的原页,删除和跳转都由 K4 做。

Wanted

  1. A new top-level section content/docs/sdk/ ("Object UI SDK"), listed in content/docs/meta.json. Its index says what the SDK is: render ObjectStack JSON schemas inside your own React app, MIT-licensed @object-ui/* packages. It also says how the SDK relates to the Console.

  2. Move these 38 pages in (paths relative to ui/content/docs/), keeping their substance:

    • index.md (home)
    • guide/: quick-start, building-crud-app, architecture-overview, schema-overview, schema-rendering, component-registry, fields, plugins, plugin-development, data-source, layout, theming, troubleshooting
    • core/schema-renderer, layout/app-shell, layout/sidebar-nav, api/schema-reference
    • utilities/: cli, create-plugin, data-objectstack
    • plugins/: index plus plugin-calendar, plugin-charts, plugin-chatbot, plugin-dashboard, plugin-detail, plugin-editor, plugin-form, plugin-gantt, plugin-grid, plugin-kanban, plugin-list, plugin-map, plugin-markdown, plugin-report, plugin-timeline, plugin-view
  3. Move in the 57 renderer-type pages, as a "Renderer reference" subsection. These are every components/** page except three groups:

    • the 17 that sdui.manifest.json covers, which are K3's: basic/{icon,image,span,text}, complex/table, data-display/{alert,badge}, disclosure/accordion, form/{button,label}, layout/{box,card,container,flex,grid,stack,tabs};
    • components/index;
    • toaster and semantic, which have no registered type and are not moved.

    Each moved page keeps its type name as the slug, so K4 can map /docs/components/<group>/<type> one-to-one.

  4. Rewrite every live-demo MDX component (InteractiveDemo, DemoGrid, ComponentDemo, LiveSplitDemo, SchemaExample, SchemaThumbnail, ReactVsObjectUI, SchemaCatalogIndex) as plain fenced json or tsx code blocks. apps/docs gains no @object-ui/* dependency. Measured on main 24351cf: all 57 renderer pages, 14 of the 17 plugin pages and core/schema-renderer use one.

  5. Fix links inside the moved pages so they point within objectstack docs. That covers links to other moved pages, to K2's merge targets and to K3's reference. Where a K2 or K3 target is not on main yet, link the section index; K4 sweeps the rest.

  6. Record the old-path → new-path pairs in the PR body, as a table K4 copies into the redirect map.

⛔ Do not delete or edit pages under ui/content/docs/ and do not touch ui/apps/site. K4 does both, together with the ui/scripts readers that pin those paths.

Who acts

A domain:devx card thread. The surface is content/docs/sdk/** and content/docs/meta.json; apps/docs is touched only if an MDX component is genuinely needed, which item 4 is meant to avoid. The diff is mostly new pages and will pass the 3000-line human-merge threshold, so the maintainer merges it.

Business reason. Integrators of the published @object-ui/* packages (18.2.0) keep their SDK guide when www.objectui.org is folded away. The root README still sends them there (npm install @object-ui/react @object-ui/components).

Acceptance

  • The 95 pages render under /docs/sdk/ in the apps/docs build. pnpm --filter @objectstack/docs build is green, the objectstack docs gates that the derived list names are green, and no @object-ui/* dependency is added to apps/docs/package.json.
  • git grep -n "InteractiveDemo\|ComponentDemo\|LiveSplitDemo\|SchemaExample" -- content/docs prints nothing.
  • The PR body carries the old → new path table, with 95 rows.

Duplicate search. objectstack-ai/objectstack, "objectui docs migrate into objectstack docs site content/docs sdk objectui.org redirect retire ui/apps/site": 33 hits, the first 10 read: #26993 (open, the deploy card this fold supersedes), #27030 (open, the Vercel maintainer card), #27048 (open, skills/objectui plugin-ai, different files), #26140, #26688, #24230, #25677, #26944, #25854, #26035 (closed or unrelated). No card moves the pages. New.

Size: L. Clause-②: no. Metadata-protocol: none.

Activity

  1. objectstack-fleet commented on Oct 28, 2026

    @objectstack-fleet
    ContributorAuthor

    Claim: card thread "Restore objectui.org docs deploy", dispatch of #27140 (maintainer-directed: 「B 并入 objectstack 文档站」 03:24Z, 「VS Code 扩展 不会发布,其他同意」 and 「你负责派卡执行」 07:58Z, 2026-10-28, that thread)
    Session: session_01L9qibyAYPFxpNP4BCr7Z82 (dispatching thread) · dev: a new card thread the project coordinator opens for this card; it names its own session in its os-dev-report
    Account: os-tesla
    Branch: the dev card thread's platform-assigned claude/project-thread-* branch (mode:thread; the only branch it pushes)
    Worktree: the dev card thread's own checkout
    Domain: domain:devx
    Seat: domain:devx#1 (seat 1 by default; dispatched on the maintainer's instruction from a card thread, not from a lane seat)
    File surface: content/docs/sdk/**, content/docs/meta.json; ⛔ no edits under ui/ (K4 #27145 deletes the old pages), no apps/docs dependency change (stop on breach; explain in the report)
    Container & model: L, mode:thread, model: opus (default; dispatch-gates --tier --repo objectstack-ai/objectstack on this surface prints no path-derived mandate), effort: high
    Clause-②: no
    Metadata-protocol: none
    Responsibility: n/a — not a defect card
    Thread-read: none
    Premise: holds (page lists measured on main 24351cfe, 2026-10-28 08:0xZ: 183 pages under ui/content/docs, guide/ci-cd-pipeline already retired by #27071)
    Serial constraints cleared: none on content/docs/sdk/ (new section). Fold siblings: #27140, #27141 and #27142 run in parallel; #27145 is blocked by all three and does every deletion under ui/. Open PRs were not enumerated by path; the dev merges main before marking the PR ready.


    Generated by Claude Code

  2. objectstack-fleet commented on Oct 28, 2026

    @objectstack-fleet
    ContributorAuthor

    os-dev-report

    {
      "issue": 27140,
      "status": "done",
      "branch": "claude/project-thread-g48t33",
      "pr": "https://github.com/objectstack-ai/objectstack/pull/27168",
      "session": "session_01L9qibzngYyRjmvNxjkfVyd",
      "premise_still_valid": true,
      "summary": "Moved the 38 SDK guide pages and 57 renderer-type pages from ui/content/docs into a new content/docs/sdk section (old /docs/PATH maps to /docs/sdk/PATH), added a Renderer Reference index, listed sdk in content/docs/meta.json. 241 SchemaExample live demos became static json blocks read from ui/examples/schema-catalog; DemoGrid/PluginLoader wrappers and site imports removed; no apps/docs dependency added. Links re-pointed to moved pages, K2 targets, /docs/ui for K3 and objectstack source paths. check:role-word stays red on 29 SDK API-key occurrences (chat message key, ARIA DOM key) pending the maintainer's ruling on a decision card; nothing re-baselined.",
      "tests": "pnpm --filter @objectstack/docs build at 26a01f6c: os-verify-lock VERDICT command-exit 0 (4m12s), 96 pages emitted under /en/docs/sdk. git grep for InteractiveDemo|ComponentDemo|LiveSplitDemo|SchemaExample in content/docs: no output. git diff origin/main...HEAD -- apps/docs: empty. Docs-only, no package tests apply.",
      "gates": "dispatch-gates --commands at 26a01f6c: 54 commands; --ran: 54 derived, 54 run, 0 NOT-MEASURED. 52 exit 0; check:skill-examples exit 3 in the sweep (client-react mid-build), re-run alone exit 0 (267 examples type-check); check:role-word exit 1 (29 occurrences in 5 sdk files, open question). CI check-runs: in_progress at report time.",
      "dogfood_battery": "n/a — no ! in the PR title and no (narrowing) arm",
      "mcp_calls": "read-only: issue_read x4, pull_request_read x1; subscribe_pr_activity x1 (harness). No MCP write tool.",
      "api_writes": "1 fleet-write relay stroke (pr_create with assignees + labels: POST /pulls, POST /issues/27168/assignees, POST /issues/27168/labels); this report comment via post-stamped.",
      "open_questions": [
        {
          "question": "How should the 29 remaining reserved-word occurrences (chat message key in plugin-chatbot, ARIA role key in 4 pages) clear check:role-word?",
          "options": [
            "A baseline them with check-role-word.mjs --update (maintainer-only act), diff limited to the new sdk rows",
            "B declare an ai-sdk vendor boundary in the gate and mark the chat fences; ARIA still baselined",
            "C delete the chat-message and ARIA examples"
          ],
          "recommendation": "A, because these are real SDK API keys and ARIA is a kind the gate header already names as legitimate; posted as a decision card in the project thread"
        }
      ],
      "out_of_scope_findings": [
        "carrier: K4 #27145 · README still links ui/content/docs/guide/quick-start.md and says guides are published at objectui.org · noted, not filed"
      ]
    }

    Generated by Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions