docs/plans/2026-05-31-restyle-docs-one-by-one.md
Objective:
Restyle Plate docs one document at a time to match docs-creator and the new shadcn-dense MDX style layer, with a separate check row for every canonical English MDX doc and translation parity inventory for every .cn.mdx file.
Goal plan: docs/plans/2026-05-31-restyle-docs-one-by-one.md
Template: docs/plans/templates/docs.md
Primary template: docs/plans/templates/docs.md
Applied packs:
Docs source:
content/docs gets an individual docs-creator pass and checked ledger row; .cn.mdx translation files are inventoried with explicit defer/parity status; no bulk sweep without per-doc evidence.Docs lane:
content/docs, excluding .cn.mdx translations.cn.mdx files are translation surfaces and are not rewritten in English by defaultCompletion threshold:
content/docs have checked Doc: rows after an individual docs-creator pass..cn.mdx files are inventoried with parity/defer status so translation work is not silently swept into English rewrites.pnpm --filter www build:source, final autoreview, and node .agents/skills/autogoal/scripts/check-complete.mjs docs/plans/2026-05-31-restyle-docs-one-by-one.md.Verification surface:
Doc: row is checked.pnpm --filter www build:source after doc edits..agents/skills/autoreview/scripts/autoreview --mode local with docs-focused prompt.Constraints:
.agents/rules/docs-creator.mdc for docs style and workflow.Boundaries:
content/docs/**/*.mdx, current Plate source/packages/registry demos, .agents/rules/docs-creator.mdc, and shadcn corpus artifact for style.content/docs/**/*.mdx, this goal plan, and small verification artifacts if needed.Blocked condition:
build:source/autoreview exposes a blocker that cannot be fixed without changing runtime behavior.Docs state:
Current verdict:
Completion rule:
update_goal(status: complete) while any required checklist item
remains unchecked. If an item does not apply, check it and add N/A: <reason>.update_goal(status: complete) until every completion threshold
above is satisfied, final evidence is recorded, and
node .agents/skills/autogoal/scripts/check-complete.mjs docs/plans/2026-05-31-restyle-docs-one-by-one.md
passes.Start Gates:
| Gate | Applies | Evidence |
|---|---|---|
docs-creator loaded | yes | User invoked and pasted docs-creator; source .agents/rules/docs-creator.mdc read. |
| Active goal checked or created | yes | get_goal returned none; created active docs restyle goal. |
| Docs lane selected | yes | Multi-lane docs corpus; lane selected per doc before checking its row. |
| Target docs read | partial | Inventory found 127 canonical English docs and 124 .cn.mdx translations; each target is read during its one-doc pass. |
| Nearest sibling docs read | partial | Sibling docs are read per target doc, not globally swept. |
| Docs style doctrine read | yes | .agents/rules/docs-creator.mdc and shadcn style corpus guidance read. |
| Documented source code read | partial | Source owner is checked per doc before row completion. |
| Ownership map drafted | partial | Global English-doc/translation boundary recorded; package/kit/source ownership is recorded per doc. |
| Plugin-page rules decision | yes | Plugin-page rules apply only to content/docs/(plugins)/** pages during each doc pass. |
| Browser/render proof decision | yes | Browser proof only when a rendered preview/demo surface changes; otherwise build:source and source audits. |
| PR/tracker expectation decision | yes | No PR, commit, push, or tracker sync requested. |
Work Checklist:
docs-creator was read before writing.Per-doc canonical English ledger:
pnpm --filter www build:sourcepnpm --filter www build:sourcepnpm --filter www build:sourcePLUGIN_NODE_TYPE review fix, anti-slop/stale-error audit, opening-length audit, and line-count audit@platejs/autoformat compatibility-package review fix, route audit, anti-slop audit, opening-length audit, and line-count auditTranslation parity inventory:
Completion Gates:
| Gate | Applies | Required action | Evidence |
|---|---|---|---|
| Named verification threshold | yes | Run the source audit, parser/build, link/demo check, or review named in this plan | 127 Doc: rows checked and 124 translation inventory rows checked. |
| Docs lane shape satisfied | yes | Check the lane-specific structure against docs-creator | Per-doc ledger records lane-shaped rewrites or focused acceptance. |
| Source-backed claim audit | yes | Verify every named API/option/transform/component/import/route against source | Per-doc source audits recorded; final scoped autoreview spot-checked high-risk API claims. |
| Ownership map verified | yes | Confirm package/layer/kit/app-local ownership claims against source | Package, registry, app-local, kit, and translation ownership recorded per doc and in global decisions. |
| MDX/content parser | yes | Run pnpm --filter www build:source for MDX/content changes | pnpm --filter www build:source, pnpm --filter www check:docs, and pnpm --filter www typecheck passed. |
| Links/routes/previews verified | yes | Check leaf links, routes, anchors, and <ComponentPreview> names or record N/A | Per-doc route/link/preview audits recorded; check:docs passed after final fixes. |
| Plugin page specifics | yes | If plugin page, apply docs-creator kit/manual/API rules or record N/A | Plugin and API docs checked against kit/manual/API ordering where applicable. |
| Browser/render surface changed | N/A | Capture Browser Use proof or record explicit waiver/blocker | No registry demo or visual component implementation changed; docs parser, link/source checks, and typecheck are the proof surface. |
| Package/API behavior changed | N/A | Add changeset or record N/A | Docs-only content changes; no package API/runtime behavior changed. |
| Agent rules or skills changed | N/A | Run pnpm install and verify generated skill sync | Out of scope for this docs-restyle goal; unrelated local agent-rule/skill diffs were left untouched and excluded from scoped autoreview. |
| Autoreview for non-trivial docs changes | yes | Load .agents/skills/autoreview/SKILL.md and run the right target, or record N/A for tiny/no-local-patch work | Codex engine failed due usage limit; Claude autoreview accepted three docs findings, all fixed; final scoped Claude autoreview exited clean. |
| Final lint | yes | Run pnpm lint:fix or scoped equivalent | pnpm lint:fix passed with no fixes after final docs edits. |
| Goal plan complete | yes | Run node .agents/skills/autogoal/scripts/check-complete.mjs docs/plans/2026-05-31-restyle-docs-one-by-one.md | Passed after final evidence and closeout state were recorded. |
Phase / pass table:
| Phase | Status | Evidence | Next |
|---|---|---|---|
| Intake and source read | complete | Created active goal, generated docs plan, inventoried 127 canonical English docs and 124 translation files. | done |
| Writing | complete | All 127 canonical English doc rows are checked after individual docs-creator passes. | done |
| Verification | complete | pnpm lint:fix, pnpm --filter www build:source, pnpm --filter www check:docs, pnpm --filter www typecheck, and final scoped autoreview passed. | mechanical goal check |
| PR / tracker sync | N/A | No PR, commit, push, or tracker sync requested. | final response |
| Closeout | complete | Final evidence recorded and mechanical checker passed. | final response |
Findings:
content/docs/index.mdx had marketing-heavy opening prose, stale framework links, and no quick path before explanation.content/docs/installation.mdx was an option list; it needed a compact branch selector, clearer environment split, and current route links.content/docs/installation/docs.mdx duplicated MCP setup and hid the real two-path choice behind a long advantages list.content/docs/installation/manual.mdx was 405 lines, repeated full app snippets, used placeholder comments, and had stale next-step links.content/docs/installation/mcp.mdx explained MCP before setup and repeated per-client config as separate headings instead of tabs.Decisions and tradeoffs:
.cn.mdx files are inventoried and deferred for translation-aware parity instead of being rewritten by English style rules.Implementation notes:
content/docs/index.mdx with a three-sentence opening, <Cards>/<Card> branch selector, ownership table, short Plate UI explanation, corrected install links, and tighter FAQ.content/docs/installation.mdx with a three-sentence opening, <Cards>/<Card> path selector, <Steps> quick path, environment table, RSC/Node import callout, and next-step links.content/docs/installation/docs.mdx with a <Cards>/<Card> path selector, focused Fumadocs and MDX-only setup flows, versioned-docs callout, and compact AI access table.content/docs/installation/manual.mdx as a 288-line headless setup guide with package ownership table, TypeScript config, first editor, marks, elements, persistence, and next-step table.content/docs/installation/mcp.mdx with quick start, Plate registry config, MCP client <Tabs>, local docs distinction, and registry index table.content/docs/installation/next.mdx as a Next.js Plate UI setup guide with a client-component boundary, progressive registry installs, plugin component mapping, persistence, and next-step links.content/docs/installation/node.mdx as a server-safe runtime guide with install, server editor, Markdown IO, content transform, runtime boundary table, API table, and valid next-step links.content/docs/installation/plate-ui.mdx as the Plate registry entrypoint with cards, quick start, new-project preset, existing-project registry config, item taxonomy, and manual path handoff.content/docs/installation/react.mdx as a Vite/client-only React setup guide matching the cleaned Next.js progression without App Router/client-component language.content/docs/installation/rsc.mdx as an RSC/static rendering guide centered on createStaticEditor, <PlateStatic>, serializeHtml, runtime boundaries, and the handoff to Node-only processing.content/docs/(guides)/controlled.mdx around Plate value ownership, initial values, persistence, explicit replacement/reset, async values, and manual initialization with skipInitialization.content/docs/(guides)/debugging.mdx as a source-backed DebugPlugin playbook with core-plugin setup, runtime logging, PlateError capture, custom logger wiring, plugin isolation, minimal reproduction guidance, and exact option/error-type reference.content/docs/(guides)/editor-methods.mdx around editor access hooks, PlateController, fallback editor guards, editor.api versus editor.tf, typed plugin helpers, and plugin option methods.content/docs/(guides)/editor.mdx around editor creation, initial values, core options, node IDs, navigation feedback, limits, component/plugin configuration, and typed editors.content/docs/(guides)/feature-kits.mdx around registry kit types, client kits, base kits, full editor kits, customization, and real registry item names.content/docs/(guides)/form.mdx around Plate-owned editor state, react-hook-form sync timing, shadcn Form wiring, validation with NodeApi.string, and form/editor reset consistency.content/docs/(guides)/playwright.mdx around PlaywrightPlugin, editor handles, scoped editable lookup, path/DOM/selection helpers, browser-context boundaries, exact helper signatures, and source-backed troubleshooting.content/docs/(guides)/plugin-components.mdx around Plate UI ownership, PlateElement, PlateLeaf, .withComponent, node.component, editor components, render.as, styling via slate-<node-type>, and exact render API tradeoffs.content/docs/(guides)/plugin-context.mdx around PlatePluginContext, SlatePluginContext, context helpers, handlers, extension callbacks, getEditorPlugin(editor, plugin), React option hooks, per-editor option state, and OPTION_UNDEFINED.content/docs/(guides)/plugin-input-rules.mdx by tightening the opening to three sentences, adding an on-page jump list, replacing false @platejs/autoformat wording, removing placeholder comments, and making custom rule snippets concrete.content/docs/(guides)/plugin-methods.mdx around the actual method resolution contract: configure versus extend, nested plugin behavior, selectors, plugin-specific API/transform access paths, editor-wide methods, overrides, components, and toPlatePlugin.content/docs/(guides)/plugin-rules.mdx around the core rule engines, action matrix, break/delete/merge/normalize/selection/match contracts, real package defaults, and source-backed examples without fake custom conditions.content/docs/(guides)/plugin-shortcuts.mdx around shortcut resolution, plugin-specific transform/API fallback, custom handlers, current preventDefault behavior, shortcut removal, root shortcuts, priority, and real default shortcut ownership.content/docs/(guides)/plugin.mdx as the plugin overview/map with exact createPlatePlugin/createSlatePlugin defaults, node shape rules, behavior fields, option state methods, dependency/priority resolution, typed plugin setup, and compact field reference.content/docs/(guides)/static.mdx around createStaticEditor, <PlateStatic>, EditorStatic, static node components, serializeHtml, <PlateView>, memoization, and exact static API imports.content/docs/(guides)/troubleshooting.mdx into a diagnosis flow for package alignment, duplicate runtime checks, server/client import boundaries, component wiring, DebugPlugin, reinstall, and minimal reproduction evidence.content/docs/(guides)/typescript.mdx around TypeScript 5 package-exports resolution, import boundaries, typed values, typed plugins, package-resolution errors, monorepo source aliases, and verification commands.content/docs/(guides)/unit-testing.mdx around real editor-state tests, hyperscript values, transform/plugin option tests, clipboard/HTML helpers, React Testing Library surfaces, and assertion boundaries.content/docs/(plugins)/(ai)/ai.mdx around AIKit, app-owned model routes, plugin/package ownership, manual chat wiring, streaming insertion, prompt submission, server route responsibilities, hooks, plugin options, and utility references.content/docs/(plugins)/(ai)/copilot.mdx around CopilotKit, ghost text ownership, AI Gateway route setup, manual plugin configuration, trigger flow, shortcuts, plugin options, API helpers, and editing behavior.content/docs/(plugins)/(collaboration)/comment.mdx around inline comment mark ownership, CommentKit versus DiscussionKit, registry UI wiring, manual BaseCommentPlugin extension, comment mark shape, APIs, transforms, utilities, and static rendering.content/docs/(plugins)/(collaboration)/discussion.mdx around app-local discussion state, BlockDiscussion, block discussion indexing, comment/suggestion integration, selectors, UI behavior, and persistence ownership.content/docs/(plugins)/(collaboration)/suggestion.mdx around suggestion mode, inline/block suggestion metadata, SuggestionKit, toolbar toggling, discussion integration, accept/reject helpers, APIs, utilities, and static rendering.content/docs/(plugins)/(collaboration)/yjs.mdx around YjsPlugin, provider lifecycle, Hocuspocus/WebRTC ownership, app-owned room/auth/persistence, the registry collaboration-demo, and remote-cursor-overlay.content/docs/(plugins)/(elements)/basic-blocks.mdx around BasicBlocksKit, BaseBasicBlocksKit, H1-H6 coverage, package-versus-registry ownership, markdown shortcuts, and manual package setup.content/docs/(plugins)/(functionality)/(combobox)/slash-command.mdx around SlashKit, BaseSlashPlugin, SlashInputPlugin, slash-node, grouped registry commands, withTriggerCombobox, and registry action helpers.content/docs/(plugins)/(functionality)/(utils)/exit-break.mdx around ExitBreakKit, ExitBreakPlugin, core insertExitBreak, strict-sibling target selection, shortcuts, and break-rule integration.content/docs/(plugins)/(functionality)/(utils)/forced-layout.mdx around NormalizeTypesPlugin, withNormalizeTypes, path rule semantics, strict versus non-strict type behavior, onError, and the playground toggle.content/docs/(plugins)/(functionality)/(utils)/single-block.mdx around SingleBlockPlugin, SingleLinePlugin, root-block normalization, break handling, line-separator filtering, and demo mode toggling.content/docs/(plugins)/(functionality)/(utils)/trailing-block.mdx around TrailingBlockPlugin, withTrailingBlock, target levels, query filters, default paragraph type, custom insertion wrappers, and EditorKit/SuggestionKit ownership.content/docs/(plugins)/(functionality)/autoformat.mdx around explicit input-rule ownership, AutoformatKit text substitutions, feature-owned Markdown shortcuts, the inert AutoformatPlugin, and the core validation guard.content/docs/(plugins)/(elements)/blockquote.mdx around wrapper semantics, BlockquoteRules.markdown(), lift behavior, normalization, registry UI ownership, and the exact shortcut shape.content/docs/(plugins)/(elements)/callout.mdx around CalloutKit, BaseCalloutKit, insertCallout, callout break/delete behavior, icon storage fallback, useCalloutEmojiPicker, and the corrected component route.content/docs/(plugins)/(elements)/code-block.mdx around CodeBlockKit, BaseCodeBlockKit, code_block/code_line/code_syntax, lowlight decoration ownership, editor behavior, JSON formatting, and exported transforms/queries.content/docs/(plugins)/(elements)/code-drawing.mdx around CodeDrawingKit, the void code_drawing element, direct insertCodeDrawing, browser renderer ownership, debounced registry UI, and removed false bound transform/hook API claims.content/docs/(plugins)/(elements)/column.mdx around ColumnKit, BaseColumnKit, column_group/column value shape, toolbar transform routing, withColumn normalization, Markdown column tags, and the current moveMiddleColumn/useDebouncePopoverOpen caveats.content/docs/(plugins)/(elements)/date.mdx around inline void date nodes, DateKit, BaseDateKit, bound and direct insertion, date versus rawDate storage, picker behavior, Markdown date tags, and exact date helper/query APIs.content/docs/(plugins)/(elements)/equation.mdx around MathKit, block versus inline math ownership, bound and direct insertion, MathRules, KaTeX rendering, Markdown remark-math serialization, toolbar behavior, and the real Plus preview.content/docs/(plugins)/(elements)/excalidraw.mdx around ExcalidrawKit, void node storage, direct insertExcalidraw, selection-guarded insertion, dynamic Excalidraw loading, deduplicated canvas persistence, read-only mode, and the lack of package-owned Markdown serialization.Review fixes:
Error attempts:
| Error / failed attempt | Count | Next different move | Resolution |
|---|---|---|---|
Broad rg included generated/reference-heavy output while checking local docs registry references, preview names, Node runtime claims, RSC/static claims, controlled-value claims, debug API claims, editor method claims, editor option claims, feature-kit registry claims, form integration claims, Playwright helper claims, plugin component rendering claims, input-rule factory claims, plugin method resolution claims, plugin rule/preview claims, plugin overview claims, static rendering claims, troubleshooting claims, TypeScript claims, unit testing claims, AI plugin claims, Copilot claims, Comment claims, Discussion claims, Suggestion claims, Yjs claims, Basic Blocks claims, Blockquote claims, Callout claims, Code Block claims, Code Drawing claims, Column claims, Date claims, Equation claims, and Excalidraw claims | 36 | Exclude generated public registry output and use focused script/registry reads | Resolved by reading targeted package files and registry sources directly. |
| Unquoted route-group path triggered zsh parenthesis globbing while reading route-group docs or app routes | 4 | Quote route-group paths in shell commands | Resolved by rerunning the reads with quoted paths. |
Hook/controller source paths were guessed under packages/core/src/react/hooks and components before checking barrels | 2 | Use rg --files before focused reads for hook/store files | Resolved by reading stores/plate/createPlateStore.ts, stores/plate/useEditorSelector.ts, and stores/plate-controller/plateControllerStore.ts. |
Link/source audit regex used an unescaped ]( group and failed with an unclosed-group parse error | 1 | Escape markdown link syntax or split the audit into simpler rg commands | Resolved by rerunning the audit with escaped \\]\\(/docs. |
Anti-slop audit regex included an unescaped JSX {editor} fragment and failed as an invalid repetition quantifier | 1 | Avoid JSX brace fragments in regex or use fixed-string searches | Resolved by rerunning the audit with the JSX fragment removed. |
Live HTTP route audit on local Next dev servers timed out for /, /docs/installation, /docs/unit-testing, /docs/typescript, /docs/ai, and component routes on ports 3004, 3005, and 3006 | 1 | Use check:docs, source parity, static link-map audit, and registry-source audits for this doc; retry live route proof after dev server health is restored | Unresolved environment issue; do not count as rendered route proof. |
| Nonexistent Yjs kit path was assumed before checking registry entries | 1 | Search registry item names before reading kit files | Resolved by verifying Yjs has collaboration-demo and remote-cursor-overlay, but no yjs-kit. |
| Anti-slop audit flagged a real TypeScript spread as placeholder ellipsis in the Basic Blocks snippet | 1 | Prefer direct array assignment when the kit is the whole plugin list | Resolved by changing plugins: [...BasicBlocksKit] to plugins: BasicBlocksKit. |
Invented code-block-pro preview before checking Pro registry names | 1 | Registry-check preview names before adding Pro previews | Resolved by removing the nonexistent preview. |
Component route audit script only scanned registry route: fields and missed component routes generated into content/docs/meta.json | 1 | Include content/docs/meta.json href and route-map entries in component route audits | Resolved by rerunning the Column route audit against content/docs/meta.json. |
Broad package search mixed packages/list with packages/list-classic while checking List Classic ownership | 1 | Search the exact package owner before rewriting package-specific docs | Resolved by reading packages/list-classic source and keeping @platejs/list only as an explicit contrast. |
| Source audit regex for List Classic had a bad shell quote while searching a backticked import string | 1 | Use simpler quoted regexes for package/API audits | Resolved by rerunning the audit with package names and API identifiers split into a plain alternation. |
| Broad Media source/API audit returned registry-heavy output while checking media package, markdown, and component routes | 1 | Keep the audit but verify exact claims with targeted package and registry reads | Resolved by reading packages/media, packages/caption, packages/markdown, and registry item sources directly. |
Mention Plus registry audit matched a commented mention-pro row in registry-pro.ts | 1 | Anchor registry checks to active name: rows, not commented text | Resolved by rerunning with ^\\s*name: and removing the nonexistent Plus preview from the doc. |
| Table source/API audit returned registry-heavy output while checking table transforms, hooks, and routes | 1 | Use targeted reads for BaseTablePlugin, transforms, registry nodes, and Markdown table tests | Resolved by reading package and registry sources directly. |
Verification evidence:
content/docs/index.mdx: read target, content/docs/installation.mdx, shadcn index baseline, MDX component support, and install/source references.pnpm --filter www build:source in /Users/zbeyens/git/plate: passed after the index rewrite.pnpm --filter www build:source in /Users/zbeyens/git/plate: passed after the installation rewrite./docs/* links resolve to current content/docs MDX files./docs/* links resolve to current content/docs MDX files.##.##.content/docs/installation/docs.mdx: source-backed against apps/www/scripts/build-docs-registry.mts, which defines docs, docs-meta, and fumadocs registry items and targets installed docs under content/docs/plate.pnpm --filter www build:source in /Users/zbeyens/git/plate: passed after the local-docs rewrite./docs/* link resolves to current content/docs MDX files.##.content/docs/installation/manual.mdx: source-backed package/import claims against install siblings and package.json; preview names verified in apps/www/src/registry/registry-examples.ts and apps/www/src/__registry__/index.tsx.pnpm --filter www build:source in /Users/zbeyens/git/plate: passed after the manual rewrite./docs/* links resolve to current content/docs MDX files.##.content/docs/installation/mcp.mdx: source-backed against .agents/skiller.toml, apps/www/src/lib/plate-init.test.ts, and apps/www/src/lib/llm.ts for MCP command, registry namespace, and registry index URLs.pnpm --filter www build:source in /Users/zbeyens/git/plate: passed after the MCP rewrite./docs/* link resolves to current content/docs MDX files.##.content/docs/installation/next.mdx: source-backed preview names verified in apps/www/src/registry/registry-examples.ts and apps/www/src/__registry__/index.tsx.pnpm --filter www build:source in /Users/zbeyens/git/plate: passed after the Next.js rewrite./docs/* links resolve to current content/docs MDX files.installation-next-demo and installation-next-0{1,2,3}-* registry entries resolve in registry source and generated index.##.content/docs/installation/node.mdx: source-backed against packages/plate, packages/basic-nodes, and packages/markdown package exports plus createSlateEditor, BaseBasicBlocksPlugin, BaseBasicMarksPlugin, MarkdownPlugin, deserializeMd, and serializeMd source definitions.pnpm --filter www build:source in /Users/zbeyens/git/plate: passed after the Node.js rewrite./docs/* links resolve through the current content/docs route-group map.PlateStatic link.##.content/docs/installation/plate-ui.mdx: source-backed against apps/www/src/registry/registry.ts, registry-blocks.ts, registry-kits.ts, registry-ui.ts, registry-components.ts, apps/www/src/lib/plate-registry-config.ts, apps/www/src/lib/plate-init.ts, and apps/www/scripts/build-docs-registry.mts.pnpm --filter www build:source in /Users/zbeyens/git/plate: passed after the Plate UI rewrite./docs/* links resolve through the current content/docs route-group map.plate-ui, editor blocks, kits, UI components, API routes, docs, Fumadocs, and plugin-docs item naming source verified.apps/www/src/config/docs-icons.tsx.##.content/docs/installation/react.mdx: source-backed preview names verified in apps/www/src/registry/registry-examples.ts and apps/www/src/__registry__/index.tsx; registry item names verified in registry-ui.ts and registry-kits.ts.pnpm --filter www build:source in /Users/zbeyens/git/plate: passed after the React rewrite.content/docs route-group map and known /editors route.installation-next-demo and installation-next-0{1,2,3}-* registry entries resolve in registry source and generated index.##.content/docs/installation/rsc.mdx: source-backed against packages/plate/src/static/index.ts, packages/core/src/static/editor/withStatic.tsx, packages/core/src/static/components/PlateStatic.tsx, packages/core/src/static/serializeHtml.tsx, apps/www/src/registry/components/editor/editor-base-kit.tsx, apps/www/src/registry/ui/editor-static.tsx, and apps/www/src/registry/registry-kits.ts.pnpm --filter www build:source in /Users/zbeyens/git/plate: passed after the RSC rewrite./docs/* links resolve through the current content/docs route-group map.platejs/react or @platejs/*/react.##.content/docs/(guides)/controlled.mdx: source-backed against withPlate.ts, withSlate.ts, setValue.ts, init.ts, useSlateProps.ts, and controlled-demo registry entries.pnpm --filter www build:source in /Users/zbeyens/git/plate: passed after the controlled-value rewrite./docs/* links present.controlled-demo resolves in registry source and generated index.shouldInitialize or stale controlled-value language remains.##.content/docs/(guides)/debugging.mdx: source-backed against packages/core/src/lib/plugins/debug/DebugPlugin.ts, packages/core/src/lib/plugins/getCorePlugins.ts, packages/core/src/lib/plugins/debug/DebugPlugin.spec.ts, and packages/plate/src/{index.tsx,react/index.tsx} for DebugPlugin, PlateError, LogLevel, options, default behavior, package exports, and React editor imports.pnpm --filter www build:source in /Users/zbeyens/git/plate: passed after the debugging rewrite./docs/* links resolve through the current content/docs route-group map.PLUGIN_NODE_TYPE removed.##.content/docs/(guides)/editor-methods.mdx: source-backed against packages/core/src/react/stores/plate/createPlateStore.ts, packages/core/src/react/stores/plate/useEditorSelector.ts, packages/core/src/react/stores/plate/usePluginOption.ts, packages/core/src/react/stores/plate-controller/plateControllerStore.ts, packages/core/src/react/components/PlateControllerEffect.ts, packages/core/src/react/utils/createPlateFallbackEditor.ts, packages/core/src/lib/editor/withSlate.ts, packages/core/src/react/editor/PlateEditor.ts, packages/slate/src/interfaces/editor/{editor-api.ts,editor-transforms.ts}, packages/find-replace/src/lib/FindReplacePlugin.ts, and packages/table/src/lib/BaseTablePlugin.ts.pnpm --filter www build:source in /Users/zbeyens/git/plate: passed after the editor-methods rewrite./docs/* links resolve through the current content/docs route-group map.api.api / caseSensitive examples removed.##.content/docs/(guides)/editor.mdx: source-backed against packages/core/src/react/editor/{withPlate.ts,usePlateEditor.ts,PlateEditor.ts}, packages/core/src/lib/editor/withSlate.ts, packages/core/src/lib/plugins/{node-id, navigation-feedback, length, chunking}, packages/basic-nodes/src/react, packages/table/src/react, packages/link/src/react, and registry UI exports for paragraph/heading components.pnpm --filter www build:source in /Users/zbeyens/git/plate: passed after the editor configuration rewrite./docs/* links resolve through the current content/docs route-group map.usePlateEditor, createPlateEditor, value loading, node ID defaults, navigation feedback, max length, chunking, component configuration, plugin configuration, and typed editor examples verified.H1Element, ParagraphElement, BasicBlocksPlugin, BasicMarksPlugin, HeadingPlugin, H1Plugin, TablePlugin, LinkPlugin, TPlateEditor, createPlateEditor, and usePlateEditor exports verified.##.content/docs/(guides)/feature-kits.mdx: source-backed against apps/www/src/registry/registry-kits.ts, apps/www/src/registry/components/editor/editor-kit.tsx, editor-base-kit.tsx, and focused kit files including basic-nodes-kit, basic-blocks-kit, basic-marks-kit, table-kit, media-kit, comment-kit, discussion-kit, ai-kit, and basic-blocks-base-kit.pnpm --filter www build:source in /Users/zbeyens/git/plate: passed after the feature-kits rewrite./docs/* links resolve through the current content/docs route-group map.##.content/docs/(guides)/form.mdx: source-backed against packages/core/src/react/components/Plate.tsx, packages/core/src/react/hooks/useSlateProps.ts, packages/slate/src/interfaces/node.ts, apps/www/src/components/ui/form.tsx, apps/www/src/registry/ui/editor.tsx, apps/www/src/registry/examples/select-editor-demo.tsx, and apps/www/package.json.pnpm --filter www build:source in /Users/zbeyens/git/plate: passed after the form rewrite./docs/* links resolve through the current content/docs route-group map.onValueChange, onBlur, FormField, FormControl, EditorContainer, NodeApi.string, editor.tf.setValue, and shadcn form wiring verified.react-hook-form 7.57.0 and @hookform/resolvers 5.1.1 present in apps/www/package.json.##.content/docs/(guides)/playwright.mdx: source-backed against packages/playwright/src/index.ts, PlaywrightPlugin.ts, usePlaywrightAdapter.tsx, getEditorHandle.ts, getEditable.ts, getNodeByPath.ts, getDOMNodeByPath.ts, clickAtPath.ts, getSelection.ts, setSelection.ts, getTypeAtPath.ts, types.ts, packages/playwright/package.json, packages/core/src/lib/plugin/BasePlugin.ts, and packages/slate/src/interfaces/location.ts.pnpm --filter www build:source in /Users/zbeyens/git/plate: passed after the Playwright rewrite./docs/* link resolves through the current content/docs route-group map.PlaywrightPlugin, window.platePlaywrightAdapter, enabled, TLocation, @playwright/test peer dependency, and helper signatures verified.##.content/docs/(guides)/plugin-components.mdx: source-backed against packages/core/src/react/components/plate-nodes.tsx, packages/core/src/react/utils/getRenderNodeProps.ts, packages/core/src/react/utils/pluginRenderElement.tsx, packages/core/src/react/utils/pluginRenderLeaf.tsx, packages/core/src/lib/plugin/createSlatePlugin.ts, packages/core/src/internal/plugin/resolvePlugin.ts, packages/core/src/internal/plugin/resolvePlugins.ts, packages/core/src/lib/editor/withSlate.ts, packages/core/src/lib/plugin/BasePlugin.ts, apps/www/src/registry/ui/{blockquote-node,code-node,paragraph-node,heading-node}.tsx, apps/www/src/registry/components/editor/plugins/{code-block-kit,basic-marks-kit}.tsx, and packages/basic-nodes/src.pnpm --filter www build:source in /Users/zbeyens/git/plate: passed after the plugin-components rewrite./docs/* links resolve through the current content/docs route-group map.PlateElement, PlateLeaf, withComponent, node.component/render.node sync, components, override.components, render.as, slate-<node-type>, and @platejs/basic-nodes/react exports verified.##.content/docs/(guides)/plugin-context.mdx: source-backed against packages/core/src/react/plugin/PlatePlugin.ts, packages/core/src/lib/plugin/SlatePlugin.ts, packages/core/src/lib/plugin/BasePlugin.ts, packages/core/src/{lib,react}/plugin/getEditorPlugin.ts, packages/core/src/react/stores/plate/useEditorPlugin.ts, packages/core/src/react/stores/plate/usePluginOption.ts, packages/core/src/lib/editor/{SlateEditor,withSlate}.ts, and packages/link/src/react.pnpm --filter www build:source in /Users/zbeyens/git/plate: passed after the plugin-context rewrite./docs/* links resolve through the current content/docs route-group map.PlatePluginContext, SlatePluginContext, BasePluginContext, getEditorPlugin(editor, plugin), useEditorPlugin, usePluginOption, usePluginOptions, explicit-editor hook variants, option stores, setOptions, and OPTION_UNDEFINED verified.##.content/docs/(guides)/plugin-input-rules.mdx: source-backed against packages/core/src/lib/plugins/input-rules/**, packages/core/src/internal/plugin/{resolvePlugin,resolvePlugins}.ts, packages/basic-nodes/src/lib/{BasicBlockRules,BasicMarkRules}.ts, packages/code-block/src/lib/CodeBlockRules.ts, packages/list/src/lib/*Rules.ts, packages/math/src/lib/MathRules.ts, packages/link/src/lib/LinkRules.ts, packages/autoformat/src/plugin.ts, and apps/www/src/registry/components/editor/plugins/autoformat-kit.tsx.pnpm --filter www build:source in /Users/zbeyens/git/plate: passed after the plugin-input-rules cleanup./docs/* link resolves through the current content/docs route-group map.rule builder, rule sorting, AutoformatPlugin compatibility behavior, concrete rule families, builders, targets, matchers, and local AutoformatKit source verified.##.On This Page jump list added, split deferred because this is a dense API/reference page and user asked for one-doc checks rather than route reshaping.content/docs/(guides)/plugin-methods.mdx: source-backed against packages/core/src/lib/plugin/createSlatePlugin.ts, packages/core/src/internal/plugin/resolvePlugin.ts, packages/core/src/internal/plugin/resolvePlugins.ts, packages/core/src/internal/utils/mergePlugins.ts, packages/core/src/lib/plugin/BasePlugin.ts, packages/core/src/lib/utils/extendApi.spec.ts, packages/core/src/lib/utils/overrideEditor.spec.ts, packages/core/src/react/plugin/toPlatePlugin.ts, packages/core/src/react/plugin/PlatePlugin.ts, and packages/core/src/react/stores/plate/usePluginOption.spec.tsx.pnpm --filter www build:source in /Users/zbeyens/git/plate: passed after the plugin-methods rewrite.http://localhost:3004/docs/plugin-methods returned HTTP 200.configurePlugin no-op behavior, nested extendPlugin add-by-key behavior, plugin-specific editor.api[plugin.key], editor-wide editor.api, plugin-specific editor.tf[plugin.key], editor-wide editor.tf, override merge behavior, .withComponent(), and toPlatePlugin() method wrapping verified.##.On This Page jump list added because the page is over 300 lines.content/docs/(guides)/plugin-rules.mdx: source-backed against packages/core/src/lib/plugins/override/{OverridePlugin,withBreakRules,withDeleteRules,withMergeRules,withNormalizeRules}.ts, packages/core/src/lib/plugins/affinity/AffinityPlugin.ts, packages/core/src/lib/plugin/BasePlugin.ts, packages/core/src/lib/plugins/getCorePlugins.ts, packages/basic-nodes/src/lib/BaseHeadingPlugin.ts, packages/basic-nodes/src/lib/{BaseBoldPlugin,BaseHighlightPlugin}.ts, packages/callout/src/lib/BaseCalloutPlugin.ts, packages/code-block/src/lib/BaseCodeBlockPlugin.ts, packages/code-block/src/lib/queries/isCodeBlockEmpty.ts, packages/list/src/lib/BaseListPlugin.tsx, packages/link/src/lib/BaseLinkPlugin.ts, and packages/comment/src/lib/BaseCommentPlugin.ts.pnpm --filter www build:source in /Users/zbeyens/git/plate: passed after the plugin-rules rewrite.http://localhost:3004/docs/plugin-rules returned HTTP 200.plugin-rules-demo exists in apps/www/src/registry/registry-examples.ts.OverridePlugin rule engines, AffinityPlugin, action values, rules.match behavior, package defaults, isCodeBlockEmpty, list metadata matching, and selection.affinity boundary ownership verified.##.On This Page jump list added because the page is over 300 lines.content/docs/(guides)/plugin-shortcuts.mdx: source-backed against packages/core/src/internal/plugin/resolvePlugins.ts, packages/core/src/react/components/EditorHotkeysEffect.tsx, packages/core/src/react/components/EditorHotkeysEffect.spec.tsx, packages/core/src/react/plugin/PlatePlugin.ts, packages/core/src/react/utils/shortcuts.spec.tsx, packages/basic-nodes/src/react/{BoldPlugin,ItalicPlugin,UnderlinePlugin}.tsx, packages/core/src/react/plugins/paragraph/ParagraphPlugin.tsx, and packages/ai/src/react/copilot/CopilotPlugin.tsx.pnpm --filter www build:source in /Users/zbeyens/git/plate: passed after the plugin-shortcuts rewrite.http://localhost:3004/docs/plugin-shortcuts returned HTTP 200.editor.meta.shortcuts, transform-before-API fallback, null removal, skipped missing handlers, EditorHotkeysEffect, current preventDefault branch behavior, Shortcut type, priority fallback, root shortcuts, and default shortcuts verified.##.content/docs/(guides)/plugin.mdx: source-backed against packages/core/src/lib/plugin/createSlatePlugin.ts, packages/core/src/react/plugin/createPlatePlugin.ts, packages/core/src/react/plugin/toPlatePlugin.ts, packages/core/src/lib/plugin/{BasePlugin,SlatePlugin}.ts, packages/core/src/internal/plugin/{resolvePlugins,pluginInjectNodeProps}.ts, packages/basic-styles/src/lib/BaseTextAlignPlugin.ts, packages/basic-styles/src/lib/BaseTextAlignPlugin.spec.ts, and packages/utils/src/lib/plate-keys.ts.pnpm --filter www build:source in /Users/zbeyens/git/plate: passed after the plugin overview rewrite.http://localhost:3004/docs/plugin returned HTTP 200.createPlatePlugin, createSlatePlugin, default plugin fields, node.type default, isLeaf/isDecoration, inject.nodeProps, setOption, setOptions, dependency warning, priority sort, override.*, PluginConfig, and createTPlatePlugin verified.#configure-existing-fields / #react-components anchors checked against current docs headings; initial stale #react-hooks anchor fixed.##.On This Page jump list added because the page is over 300 lines.content/docs/(guides)/static.mdx: source-backed against packages/core/src/static/{components/PlateStatic,components/slate-nodes,editor/withStatic,plugins/ViewPlugin,plugins/getStaticPlugins,serializeHtml,utils/stripHtmlClassNames,utils/stripSlateDataAttributes}.tsx, packages/core/src/react/{components/PlateView,editor/usePlateViewEditor}.ts*, apps/www/src/registry/ui/editor-static.tsx, apps/www/src/registry/components/editor/{editor-base-kit,plugins/basic-blocks-base-kit}.tsx, and apps/www/src/registry/registry-kits.ts.pnpm --filter www build:source in /Users/zbeyens/git/plate: passed after the static rendering rewrite.http://localhost:3004/docs/static returned HTTP 200.createStaticEditor, ViewPlugin, <PlateStatic>, PlateStaticProps, value override, static memoization, SlateElement, SlateLeaf, serializeHtml, stripClassNames, preserveClassNames, stripDataAttributes, <PlateView>, and usePlateViewEditor verified.editor-base-kit, EditorStatic, static UI components, and static base kit imports verified./react scan hit only the intentional server-import warning.##.content/docs/(guides)/troubleshooting.mdx: source-backed against content/docs/(guides)/debugging.mdx, content/docs/installation.mdx, content/docs/installation/{manual,node,rsc}.mdx, packages/core/src/lib/plugins/debug/DebugPlugin.ts, packages/core/src/lib/plugins/getCorePlugins.ts, packages/core/src/lib/editor/withSlate.ts, packages/core/src/internal/plugin/resolvePlugins.ts, packages/core/package.json, packages/plate/package.json, packages/slate/package.json, and apps/www/package.json.npm view depset version description bin readme --json in /Users/zbeyens/git/plate: verified depset supports scope targets, --latest, --install, and --yes.pnpm --filter www build:source in /Users/zbeyens/git/plate: passed after the troubleshooting rewrite.http://localhost:3004/docs/troubleshooting returned HTTP 200.DebugPlugin import source, logLevel, OPTION_UNDEFINED, PLUGIN_DEPENDENCY_MISSING, core package Slate versions, platejs dependency shape, and server/client import boundary verified.##.content/docs/(guides)/typescript.mdx: source-backed against apps/www/tsconfig.json, packages/plate/package.json, packages/core/package.json, packages/slate/package.json, packages/core/src/react/editor/{PlateEditor,withPlate,usePlateEditor}.ts, packages/core/src/react/plugin/createPlatePlugin.ts, packages/core/src/lib/plugin/BasePlugin.ts, and packages/slate/src/interfaces/{editor/editor-type,element,text}.ts.pnpm --filter www build:source in /Users/zbeyens/git/plate: passed after the TypeScript rewrite.http://localhost:3004/docs/typescript returned HTTP 200.platejs package exports, platejs/react, platejs/static, Value, TElement, TText, usePlateEditor<V>, TPlateEditor, PluginConfig, createTPlatePlugin, and repo-only source aliases verified.dist/react appears only in an explicit "do not alias" warning.##.content/docs/(guides)/unit-testing.mdx: source-backed against packages/test-utils/src/{index,jsx,createDataTransfer,getHtmlDocument}.ts, packages/link/src/lib/{BaseLinkPlugin,LinkRules}.ts, packages/link/src/lib/withLink.spec.tsx, packages/basic-nodes/src/lib/BaseBoldPlugin.ts, and core React test examples.pnpm --filter www build:source in /Users/zbeyens/git/plate: passed after the Unit Testing rewrite.http://localhost:3004/docs/unit-testing returned HTTP 200.@platejs/test-utils exports jsx, jsxt, hjsx, createDataTransfer, and getHtmlDocument; @platejs/link exports BaseLinkPlugin and LinkRules; @platejs/basic-nodes exports BaseBoldPlugin.##.content/docs/(plugins)/(ai)/ai.mdx: source-backed against packages/ai/src/{index,lib,react}/**, packages/ai/src/react/ai-chat/AIChatPlugin.ts, packages/ai/src/lib/BaseAIPlugin.ts, packages/ai/src/react/ai-chat/utils/submitAIChat.ts, packages/ai/src/react/ai-chat/hooks/{useAIChatEditor,useEditorChat,useChatChunk}.ts, packages/ai/src/lib/utils/{getEditorPrompt,replacePlaceholders}.ts, apps/www/src/registry/components/editor/plugins/ai-kit.tsx, apps/www/src/registry/components/editor/use-chat.ts, and apps/www/src/registry/app/api/ai/command/route.ts.pnpm --filter www check:docs in /Users/zbeyens/git/plate: passed after the AI plugin rewrite.AIPlugin, AIChatPlugin, useAIChatEditor, useEditorChat, useChatChunk, streamInsertChunk, withAIBatch, applyAISuggestions, aiCommentToRange, findTextRangeInBlock, getEditorPrompt, and replacePlaceholders exports verified.ai-kit, ai-api, ai-demo, markdown-streaming-demo, and ai-pro registry entries verified./docs/components/ai-menu, /docs/components/ai-toolbar-button, and /docs/components/ai-node resolve through content/docs/meta.json./docs/components/ai-leaf, /docs/components/ai-anchor-element, /docs/components/ai-loading-bar, and convertToCoreMessages references removed.##.On This Page jump list added because the page is over 300 lines.3004, Turbopack 3005, and webpack 3006 accepted connections but timed out before responding even for /.content/docs/(plugins)/(ai)/copilot.mdx: source-backed against packages/ai/src/react/copilot/{CopilotPlugin,withCopilot,transforms,utils}.tsx, apps/www/src/registry/components/editor/plugins/copilot-kit.tsx, apps/www/src/registry/ui/ghost-text.tsx, and apps/www/src/registry/app/api/ai/copilot/route.ts.pnpm --filter www check:docs in /Users/zbeyens/git/plate: passed after the Copilot rewrite.CopilotPlugin, triggerCopilotSuggestion, callCompletionApi, getNextWord, acceptCopilot, acceptCopilotNextWord, withCopilot, AI_GATEWAY_API_KEY, generateText, and maxOutputTokens verified.copilot-kit, copilot-api, ghost-text, copilot-demo, and copilot-pro registry entries verified./docs/* links in the rewritten body; frontmatter Ghost Text route remains metadata-owned.OPENAI_API_KEY, createOpenAI, maxTokens, placeholder comments, and generic provider boilerplate removed.##.content/docs/(plugins)/(collaboration)/comment.mdx: source-backed against packages/comment/src/lib/BaseCommentPlugin.ts, packages/comment/src/lib/withComments.ts, packages/comment/src/react/CommentPlugin.tsx, packages/comment/src/react/hooks/useCommentId.ts, packages/comment/src/lib/utils/**, apps/www/src/registry/components/editor/plugins/{comment-kit,comment-base-kit,discussion-kit}.tsx, and apps/www/src/registry/ui/{comment-node,comment-toolbar-button,comment}.tsx.pnpm --filter www check:docs in /Users/zbeyens/git/plate: passed after the Comment rewrite.BaseCommentPlugin, CommentPlugin, useCommentId, getCommentKey, getDraftCommentKey, getTransientCommentKey, getCommentCount, getCommentKeys, and isCommentNodeById exports verified.comment-kit, comment-base-kit, comment-node, comment-toolbar-button, block-discussion, discussion-demo, and discussion-pro registry entries verified./docs/discussion resolves through current docs route mapping.##.content/docs/(plugins)/(collaboration)/discussion.mdx: source-backed against apps/www/src/registry/components/editor/plugins/discussion-kit.tsx, apps/www/src/registry/ui/block-discussion.tsx, apps/www/src/registry/lib/block-discussion-index.ts, apps/www/src/registry/lib/block-discussion-index.spec.tsx, and apps/www/src/registry/examples/values/discussion-value.tsx.pnpm --filter www check:docs in /Users/zbeyens/git/plate: passed after the Discussion rewrite.discussionPlugin, DiscussionKit, TDiscussion, BlockDiscussion, buildBlockDiscussionIndex, and useBlockDiscussionItems exports verified.discussion-kit, block-discussion, discussion-demo, and discussion-pro registry entries verified./docs/comment and /docs/suggestion resolve through current docs route mapping.##.content/docs/(plugins)/(collaboration)/suggestion.mdx: source-backed against packages/suggestion/src/lib/BaseSuggestionPlugin.ts, packages/suggestion/src/lib/withSuggestion.ts, packages/suggestion/src/lib/transforms/{acceptSuggestion,rejectSuggestion,getSuggestionProps}.ts, packages/suggestion/src/lib/utils/**, packages/suggestion/src/react/SuggestionPlugin.tsx, apps/www/src/registry/components/editor/plugins/{suggestion-kit,suggestion-base-kit}.tsx, and apps/www/src/registry/ui/{suggestion-node,block-suggestion,suggestion-toolbar-button}.tsx.pnpm --filter www check:docs in /Users/zbeyens/git/plate: passed after the Suggestion rewrite.BaseSuggestionPlugin, SuggestionPlugin, acceptSuggestion, rejectSuggestion, getSuggestionProps, getSuggestionKey, getSuggestionKeys, getTransientSuggestionKey, SuggestionKit, BaseSuggestionKit, SuggestionLeaf, SuggestionLineBreak, VoidRemoveSuggestionOverlay, and BlockSuggestionCard exports verified.suggestion-kit, suggestion-base-kit, suggestion-node, suggestion-toolbar-button, block-suggestion, discussion-demo, and discussion-pro registry entries verified./docs/discussion resolves through current docs route mapping.Cmd + Shift + S shortcut removed.##.content/docs/(plugins)/(collaboration)/yjs.mdx: source-backed against packages/yjs/src/lib/BaseYjsPlugin.ts, packages/yjs/src/lib/providers/{types,registry,hocuspocus-provider,webrtc-provider}.ts, packages/yjs/src/react/YjsPlugin.tsx, apps/www/src/registry/examples/collaboration-demo.tsx, apps/www/src/registry/ui/remote-cursor-overlay.tsx, apps/www/src/registry/registry-examples.ts, and apps/www/src/registry/registry-ui.ts.pnpm --filter www check:docs in /Users/zbeyens/git/plate: passed after the Yjs rewrite.pnpm --filter @platejs/yjs typecheck in /Users/zbeyens/git/plate: passed after the Yjs rewrite.BaseYjsPlugin, YjsPlugin, api.yjs.init, connect, disconnect, destroy, UnifiedProvider, HocuspocusProviderConfig, WebRTCProviderConfig, registerProviderType, sync timeout, initial-value seeding, and empty-provider error verified.collaboration-demo and remote-cursor-overlay registry entries verified; no yjs-kit exists./docs/components/remote-cursor-overlay resolves through the registry UI item.content/docs/(plugins)/(elements)/basic-blocks.mdx: source-backed against apps/www/src/registry/components/editor/plugins/{basic-blocks-kit,basic-blocks-base-kit}.tsx, packages/basic-nodes/src/{react,lib}/**, apps/www/src/registry/registry-{kits,examples,ui}.ts, and sibling element docs for routing boundaries.pnpm --filter www check:docs in /Users/zbeyens/git/plate: passed after the Basic Blocks rewrite.pnpm --filter @platejs/basic-nodes typecheck in /Users/zbeyens/git/plate: passed after the Basic Blocks rewrite.BasicBlocksKit, BaseBasicBlocksKit, ParagraphPlugin, H1Plugin through H6Plugin, BlockquotePlugin, HorizontalRulePlugin, BasicBlocksPlugin, BaseBasicBlocksPlugin, HeadingRules, BlockquoteRules, and HorizontalRuleRules verified.basic-blocks-demo, basic-blocks-kit, basic-blocks-base-kit, paragraph-node, heading-node, blockquote-node, and hr-node entries verified./docs/heading, /docs/blockquote, /docs/horizontal-rule, /docs/plugin-input-rules, and component routes resolve through content docs or registry UI items.content/docs/(plugins)/(elements)/blockquote.mdx: source-backed against packages/basic-nodes/src/lib/BaseBlockquotePlugin.ts, packages/basic-nodes/src/lib/BasicBlockRules.ts, blockquote input-rule/spec files, packages/basic-nodes/src/react/BlockquotePlugin.tsx, and apps/www/src/registry/ui/blockquote-node{,-static}.tsx.pnpm --filter www check:docs in /Users/zbeyens/git/plate: passed after the Blockquote rewrite.pnpm --filter @platejs/basic-nodes typecheck in /Users/zbeyens/git/plate: passed after the Blockquote rewrite.BaseBlockquotePlugin, BlockquotePlugin, BlockquoteRules.markdown(), tf.blockquote.toggle(), break.empty: lift, delete.start: lift, reverse-tab lift behavior, and flat-child normalization verified.basic-blocks-demo, basic-blocks-kit, and blockquote-node entries verified./docs/basic-blocks resolves through content docs and /docs/components/blockquote-node resolves through the registry UI item.content/docs/(plugins)/(elements)/callout.mdx: source-backed against packages/callout/src/lib/{BaseCalloutPlugin,transforms/insertCallout}.ts, packages/callout/src/react/{CalloutPlugin,hooks/useCalloutEmojiPicker}.ts, callout specs, packages/utils/src/lib/plate-types.ts, and registry callout kit/UI/example/pro files.pnpm --filter www check:docs in /Users/zbeyens/git/plate: passed after the Callout rewrite.pnpm --filter @platejs/callout typecheck in /Users/zbeyens/git/plate: passed after the Callout rewrite.BaseCalloutPlugin, CalloutPlugin, insertCallout, tf.insert.callout, CALLOUT_STORAGE_KEY, useCalloutEmojiPicker, TCalloutElement, break/delete rules, icon fallback, and emoji picker storage behavior verified.callout-demo, callout-kit, callout-base-kit, callout-node, and callout-pro entries verified./docs/components/callout-node resolves through the component route map; stale /docs/components/callout removed.content/docs/(plugins)/(elements)/code-block.mdx: source-backed against packages/code-block/src/lib/{BaseCodeBlockPlugin,CodeBlockRules,withCodeBlock,withNormalizeCodeBlock,setCodeBlockToDecorations,formatter,queries,transforms}.ts, packages/code-block/src/react/CodeBlockPlugin.tsx, and registry code-block kit/UI/example files.pnpm --filter www check:docs in /Users/zbeyens/git/plate: passed after the Code Block rewrite.pnpm --filter @platejs/code-block typecheck in /Users/zbeyens/git/plate: passed after the Code Block rewrite.BaseCodeBlockPlugin, BaseCodeLinePlugin, BaseCodeSyntaxPlugin, CodeBlockPlugin, CodeLinePlugin, CodeSyntaxPlugin, CodeBlockRules.markdown, lowlight options, decoration cache, editor overrides, transforms, queries, and formatCodeBlock verified.code-block-demo, code-block-kit, code-block-base-kit, and code-block-node entries verified; nonexistent code-block-pro was not kept./docs/components/code-block-node resolves through the component route map.content/docs/(plugins)/(elements)/code-drawing.mdx: source-backed against packages/code-drawing/src/lib/{BaseCodeDrawingPlugin,constants,types,transforms/insertCodeDrawing,utils/renderers,utils/download}.ts, packages/code-drawing/src/react/CodeDrawingPlugin.tsx, and registry code drawing kit/UI/example/value files.pnpm --filter www check:docs in /Users/zbeyens/git/plate: passed after the Code Drawing rewrite.pnpm --filter @platejs/code-drawing typecheck in /Users/zbeyens/git/plate: passed after the Code Drawing rewrite.BaseCodeDrawingPlugin, CodeDrawingPlugin, CODE_DRAWING_KEY, CODE_DRAWING_TYPE, VIEW_MODE, RENDER_DEBOUNCE_DELAY, DOWNLOAD_FILENAME, insertCodeDrawing, renderCodeDrawing, downloadImage, void node behavior, default insert data, and browser renderer behavior verified.code-drawing-demo, code-drawing-kit, code-drawing-base-kit, and code-drawing-node entries verified./docs/components/code-drawing-node resolves through component route map.content/docs/(plugins)/(elements)/column.mdx: source-backed against packages/layout/src/lib/{BaseColumnPlugin,withColumn,transforms,utils}.ts, packages/layout/src/react/{ColumnPlugin,hooks/useDebouncePopoverOpen}.ts, packages/markdown/src/lib/rules/columnRules.ts, and registry column kit/UI/example files.pnpm --filter www check:docs in /Users/zbeyens/git/plate: passed after the Column rewrite.pnpm --filter @platejs/layout typecheck in /Users/zbeyens/git/plate: passed after the Column rewrite.BaseColumnPlugin, BaseColumnItemPlugin, ColumnPlugin, ColumnItemPlugin, withColumn, insertColumnGroup, insertColumn, toggleColumnGroup, setColumns, resizeColumn, moveMiddleColumn, columnsToWidths, useDebouncePopoverOpen, TColumnGroupElement, TColumnElement, and columnRules verified.column-demo, column-kit, column-base-kit, column-node, insert toolbar action_three_columns, and turn-into toolbar routing verified./docs/components/column-node resolves through content/docs/meta.json; first audit script missed this generated route map and was corrected.content/docs/(plugins)/(elements)/date.mdx: source-backed against packages/date/src/lib/{BaseDatePlugin,transforms/insertDate,queries/isPointNextToNode,utils/dateValue}.ts, packages/date/src/react/DatePlugin.tsx, packages/markdown/src/lib/rules/defaultRules.ts, packages/markdown/src/lib/dateElement.spec.ts, and registry date kit/UI/example files.pnpm --filter www check:docs in /Users/zbeyens/git/plate: passed after the Date rewrite.pnpm --filter @platejs/date typecheck in /Users/zbeyens/git/plate: passed after the Date rewrite.BaseDatePlugin, DatePlugin, insertDate, editor.tf.insert.date, normalizeDateValue, formatDateValue, parseCanonicalDateValue, getDateDisplayLabel, isPointNextToNode, TDateElement, canonical date, fallback rawDate, and Markdown date serialization verified.date-demo, date-kit, date-base-kit, date-node, insert toolbar KEYS.date, and static date element verified./docs/components/date-node resolves through content/docs/meta.json.content/docs/(plugins)/(elements)/equation.mdx: source-backed against packages/math/src/lib/{BaseEquationPlugin,BaseInlineEquationPlugin,MathRules,transforms,utils/getEquationHtml}.ts, packages/math/src/react/{EquationPlugin,InlineEquationPlugin,hooks}.ts, packages/markdown/src/lib/rules/defaultRules.ts, packages/markdown/src/lib/mathSurface.spec.ts, and registry math kit/UI/example/pro files.pnpm --filter www check:docs in /Users/zbeyens/git/plate: passed after the Equation rewrite.pnpm --filter @platejs/math typecheck in /Users/zbeyens/git/plate: passed after the Equation rewrite.BaseEquationPlugin, BaseInlineEquationPlugin, EquationPlugin, InlineEquationPlugin, insertEquation, insertInlineEquation, bound editor.tf.insert.equation, bound editor.tf.insert.inlineEquation, MathRules.markdown, useEquationElement, useEquationInput, getEquationHtml, TEquationElement, texExpression, KaTeX options, and remark-math Markdown surface verified.equation-demo, math-kit, math-base-kit, equation-node, equation-toolbar-button, equation-pro, insert toolbar block action, and inline toolbar action verified./docs/components/equation-node and /docs/components/equation-toolbar-button resolve through content/docs/meta.json.content/docs/(plugins)/(elements)/excalidraw.mdx: source-backed against packages/excalidraw/src/lib/{BaseExcalidrawPlugin,types,transforms/insertExcalidraw}.ts, packages/excalidraw/src/react/{ExcalidrawPlugin,hooks/useExcalidrawElement,types}.ts, and registry Excalidraw kit/UI/example files.pnpm --filter www check:docs in /Users/zbeyens/git/plate: passed after the Excalidraw rewrite.pnpm --filter @platejs/excalidraw typecheck in /Users/zbeyens/git/plate: passed after the Excalidraw rewrite.BaseExcalidrawPlugin, ExcalidrawPlugin, insertExcalidraw, useExcalidrawElement, TExcalidrawElement, ExcalidrawDataState, KEYS.excalidraw, data.elements, data.state, dynamic @excalidraw/excalidraw import, deduplicated onChange, and viewModeEnabled verified.excalidraw-demo, excalidraw-kit, excalidraw-node, insert toolbar KEYS.excalidraw, and Excalidraw CSS import verified./docs/components/excalidraw-node resolves through content/docs/meta.json.content/docs/(plugins)/(functionality)/(combobox)/slash-command.mdx: source-backed against packages/slash-command/src/lib/BaseSlashPlugin.ts, packages/slash-command/src/react/SlashPlugin.tsx, packages/slash-command/src/lib/BaseSlashPlugin.spec.ts, apps/www/src/registry/components/editor/plugins/slash-kit.tsx, apps/www/src/registry/ui/slash-node.tsx, apps/www/src/registry/components/editor/transforms.ts, and registry kit/UI/example/pro files.pnpm --filter www check:docs in /Users/zbeyens/git/plate: passed after the Slash Command rewrite.pnpm --filter @platejs/slash-command typecheck in /Users/zbeyens/git/plate: passed after the Slash Command rewrite.pnpm --filter @platejs/combobox typecheck in /Users/zbeyens/git/plate: passed after the Slash Command rewrite.BaseSlashPlugin, BaseSlashInputPlugin, SlashPlugin, SlashInputPlugin, SlashConfig, triggerPreviousCharPattern, createComboboxInput, withTriggerCombobox, SlashInputElement, InlineComboboxItem, insertBlock, insertInlineElement, action_three_columns, and action_footnote verified.slash-kit, slash-node, slash-command-demo, and active slash-command-pro registry entries verified./docs/slash-command, /docs/components/slash-node, and /docs/examples/slash-command resolve through content/docs/meta.json.content/docs/(plugins)/(functionality)/(utils)/exit-break.mdx: source-backed against packages/utils/src/lib/plugins/ExitBreakPlugin.ts, packages/utils/src/lib/plugins/ExitBreakPlugin.spec.ts, packages/core/src/lib/plugins/slate-extension/transforms/insertExitBreak.ts, packages/core/src/lib/plugins/slate-extension/transforms/insertExitBreak.spec.tsx, packages/core/src/lib/plugins/override/withBreakRules.ts, apps/www/src/registry/components/editor/plugins/exit-break-kit.tsx, and registry example/value files.pnpm --filter www check:docs in /Users/zbeyens/git/plate: passed after the Exit Break rewrite.pnpm --filter @platejs/utils typecheck in /Users/zbeyens/git/plate: passed after the Exit Break rewrite.pnpm --filter @platejs/core typecheck in /Users/zbeyens/git/plate: passed after the Exit Break rewrite.ExitBreakPlugin, editor.tf.exitBreak.insert, editor.tf.exitBreak.insertBefore, editor.tf.insertExitBreak, InsertExitBreakOptions, match, reverse, node.isStrictSiblings, rules.break, 'exit', and 'deleteExit' verified.exit-break-kit, exit-break-demo, and exitBreakValue verified./docs/exit-break, /docs/examples/exit-break, /docs/plugin-shortcuts, /docs/plugin-rules, and /docs/api/core/plate-plugin resolve through content/docs/meta.json.content/docs/(plugins)/(functionality)/(utils)/forced-layout.mdx: source-backed against packages/utils/src/lib/plugins/normalize-types/NormalizeTypesPlugin.ts, packages/utils/src/lib/plugins/normalize-types/withNormalizeTypes.ts, packages/utils/src/lib/plugins/normalize-types/NormalizeTypesPlugin.spec.tsx, packages/utils/src/lib/plugins/normalize-types/withNormalizeTypes.spec.tsx, packages/utils/src/lib/plate-keys.ts, and apps/www/src/registry/examples/playground-demo.tsx.pnpm --filter www check:docs in /Users/zbeyens/git/plate: passed after the Forced Layout rewrite.pnpm --filter @platejs/utils typecheck in /Users/zbeyens/git/plate: passed after the Forced Layout rewrite.NormalizeTypesPlugin, NormalizeTypesConfig, withNormalizeTypes, rules, strictType, type, onError, NodeApi.get, ElementApi.isElement, editor.api.create.block, root normalizeNode, KEYS.h1, and KEYS.p verified.apps/www/src/registry/examples/playground-demo.tsx enables NormalizeTypesPlugin only when id === 'forced-layout'; no forced-layout-kit or standalone preview exists./docs/trailing-block, /docs/single-block, and /docs/plugin-rules resolve through content/docs/meta.json; the forced-layout page is an unlisted source doc and has no generated meta route.content/docs/(plugins)/(functionality)/(utils)/single-block.mdx: source-backed against packages/utils/src/lib/plugins/single-block/SingleBlockPlugin.ts, packages/utils/src/lib/plugins/single-block/SingleLinePlugin.ts, packages/utils/src/lib/plugins/single-block/SingleBlockPlugin.spec.tsx, packages/utils/src/lib/plugins/single-block/SingleLinePlugin.spec.tsx, packages/utils/src/lib/plate-keys.ts, apps/www/src/registry/examples/single-block-demo.tsx, and apps/www/src/registry/registry-examples.ts.pnpm --filter www check:docs in /Users/zbeyens/git/plate: passed after the Single Block rewrite.pnpm --filter @platejs/utils typecheck in /Users/zbeyens/git/plate: passed after the Single Block rewrite.SingleBlockPlugin, SingleLinePlugin, KEYS.singleBlock, KEYS.singleLine, override.enabled.trailingBlock, insertBreak, insertSoftBreak, normalizeNode, TextApi.isText, root block merging, and line separator filtering verified.single-block-demo, SingleBlockDemo, checkbox mode toggle, SingleBlockPlugin, and SingleLinePlugin verified./docs/single-block, /docs/examples/single-block, and /docs/trailing-block resolve through content/docs/meta.json.content/docs/(plugins)/(functionality)/(utils)/trailing-block.mdx: source-backed against packages/utils/src/lib/plugins/trailing-block/TrailingBlockPlugin.ts, packages/utils/src/lib/plugins/trailing-block/withTrailingBlock.ts, packages/utils/src/lib/plugins/trailing-block/TrailingBlockPlugin.spec.tsx, packages/utils/src/lib/plugins/trailing-block/withTrailingBlock.spec.tsx, packages/utils/src/lib/plate-keys.ts, apps/www/src/registry/components/editor/editor-kit.tsx, and apps/www/src/registry/components/editor/plugins/suggestion-kit.tsx.pnpm --filter www check:docs in /Users/zbeyens/git/plate: passed after the Trailing Block rewrite.pnpm --filter @platejs/utils typecheck in /Users/zbeyens/git/plate: passed after the Trailing Block rewrite.pnpm --filter @platejs/suggestion typecheck in /Users/zbeyens/git/plate: passed after the Trailing Block rewrite.TrailingBlockPlugin, TrailingBlockConfig, TrailingBlockInsertOptions, withTrailingBlock, editor.api.last, queryNode, allow, exclude, filter, maxLevel, PathApi.next, editor.api.create.block, insert, KEYS.p, and KEYS.trailingBlock verified.EditorKit includes TrailingBlockPlugin; SuggestionKit wraps TrailingBlockPlugin insertion in suggestion.withoutSuggestions; no dedicated trailing-block preview exists./docs/trailing-block and /docs/single-block resolve through content/docs/meta.json; /docs/forced-layout is present as a source MDX doc but has no generated meta route.content/docs/(plugins)/(functionality)/autoformat.mdx: source-backed against apps/www/src/registry/components/editor/plugins/autoformat-kit.tsx, apps/www/src/registry/components/editor/plugins/autoformat-classic-kit.tsx, feature kit input-rule registrations, packages/autoformat/src/plugin.ts, packages/core/src/internal/plugin/resolvePlugins.ts, packages/core/src/internal/plugin/resolvePlugins.spec.tsx, and registry kit/example files.pnpm --filter www check:docs in /Users/zbeyens/git/plate: passed after the Autoformat rewrite and wording trim.pnpm --filter @platejs/autoformat typecheck in /Users/zbeyens/git/plate: passed after the Autoformat rewrite.pnpm --filter @platejs/core typecheck in /Users/zbeyens/git/plate: passed after the Autoformat rewrite.AutoformatKit, AutoformatShortcutsPlugin, autoformatShortcuts, createTextSubstitutionInputRule, code-block enabled guard, feature-owned inputRules, AutoformatPlugin, and core hasAutoformatPlugin validation verified.autoformat-kit, autoformat-classic-kit, autoformat-demo, and autoformat-value verified./docs/autoformat, /docs/examples/autoformat, /docs/plugin-input-rules, /docs/basic-blocks, /docs/basic-marks, /docs/code-block, and /docs/list resolve through content/docs/meta.json.content/docs/(plugins)/(functionality)/block-menu.mdx: source-backed against packages/selection/src/react/BlockMenuPlugin.tsx, packages/selection/src/react/BlockSelectionPlugin.tsx, packages/selection/src/react/hooks/useBlockSelectable.ts, apps/www/src/registry/components/editor/plugins/block-menu-kit.tsx, apps/www/src/registry/components/editor/plugins/block-selection-kit.tsx, apps/www/src/registry/ui/block-context-menu.tsx, and registry kit/example/UI/pro files.pnpm --filter www check:docs in /Users/zbeyens/git/plate: passed after the Block Menu rewrite.pnpm --filter @platejs/selection typecheck in /Users/zbeyens/git/plate: passed after the Block Menu rewrite.pnpm --filter @platejs/ai typecheck in /Users/zbeyens/git/plate: passed after the Block Menu rewrite.BlockMenuPlugin, BLOCK_CONTEXT_MENU_ID, openId, position, api.blockMenu.hide, api.blockMenu.show, api.blockMenu.showContextMenu, BlockSelectionPlugin.options.enableContextMenu, api.blockSelection.addOnContextMenu, selection transforms, and data-plate-open-context-menu guards verified.block-menu-kit, block-selection-kit, block-context-menu, block-menu-demo, and block-menu-pro verified./docs/block-menu, /docs/block-selection, /docs/components/block-context-menu, and /docs/examples/block-menu resolve through content/docs/meta.json.content/docs/(plugins)/(functionality)/block-placeholder.mdx: source-backed against packages/utils/src/react/plugins/BlockPlaceholderPlugin.tsx, packages/utils/src/react/plugins/BlockPlaceholderPlugin.spec.tsx, packages/core/src/lib/types/EditableProps.ts, apps/www/src/registry/components/editor/plugins/block-placeholder-kit.tsx, apps/www/src/registry/examples/values/placeholder-value.tsx, apps/www/src/registry/ui/editor.tsx, and registry kit/example files.pnpm --filter www check:docs in /Users/zbeyens/git/plate: passed after the Block Placeholder rewrite.pnpm --filter @platejs/utils typecheck in /Users/zbeyens/git/plate: passed after the Block Placeholder rewrite.pnpm --filter @platejs/core typecheck in /Users/zbeyens/git/plate: passed after the Block Placeholder rewrite.BlockPlaceholderPlugin, _target, placeholders, query, className, selectors.placeholder(node), injected placeholder/className node props, focused/collapsed/read-only/composition guards, and editor-level placeholder prop verified.block-placeholder-kit, block-placeholder-demo, blockPlaceholderValue, and EditorKit inclusion verified./docs/block-placeholder and /docs/examples/block-placeholder resolve through content/docs/meta.json.content/docs/(plugins)/(functionality)/block-selection.mdx: source-backed against packages/selection/src/react/BlockSelectionPlugin.tsx, packages/selection/src/react/components/BlockSelectionAfterEditable.tsx, packages/selection/src/react/hooks/{useSelectionArea,useBlockSelectable,useBlockSelected,useBlockSelectionNodes,useIsSelecting}.ts, block-selection API/transform files, packages/selection/src/internal/SelectionArea.ts, packages/selection/src/internal/types.ts, apps/www/src/registry/components/editor/plugins/block-selection-kit.tsx, apps/www/src/registry/ui/block-selection.tsx, and registry example/UI/pro files.pnpm --filter www check:docs in /Users/zbeyens/git/plate: passed after the Block Selection rewrite.pnpm --filter @platejs/selection typecheck in /Users/zbeyens/git/plate: passed after the Block Selection rewrite.pnpm --filter @platejs/dnd typecheck in /Users/zbeyens/git/plate: passed after the Block Selection rewrite.pnpm --filter @platejs/ai typecheck in /Users/zbeyens/git/plate: passed after the Block Selection rewrite.BlockSelectionPlugin, SelectionArea, useBlockSelectable, BlockSelectionAfterEditable, shadow input copy/cut/paste/key handling, selectedIds, anchorId, areaOptions, enableContextMenu, disableSelectAll, isSelectable, onKeyDownSelecting, APIs, transforms, and hooks verified.block-selection-kit, block-selection, block-selection-demo, block-selection-pro, BlockSelectionKit Cmd+J wiring, DnD hide state, and EditorKit inclusion verified./docs/block-selection, /docs/block-menu, /docs/components/block-selection, and /docs/examples/block-selection resolve through content/docs/meta.json.content/docs/(plugins)/(functionality)/caption.mdx: source-backed against packages/caption/src/lib/{BaseCaptionPlugin,withCaption}.ts, packages/caption/src/lib/withCaption.spec.tsx, packages/caption/src/react/{CaptionPlugin,components/Caption,components/CaptionTextarea,components/CaptionButton,hooks/useCaptionString,utils/showCaption}.tsx, packages/utils/src/lib/plate-types.ts, apps/www/src/registry/components/editor/plugins/{media-kit,media-base-kit}.tsx, apps/www/src/registry/ui/{caption,media-image-node,media-video-node,media-audio-node,media-file-node,media-embed-node}.tsx, and registry UI/kit/example files.pnpm --filter www check:docs in /Users/zbeyens/git/plate: passed after the Caption rewrite.pnpm --filter @platejs/caption typecheck in /Users/zbeyens/git/plate: passed after the Caption rewrite.pnpm --filter @platejs/media typecheck in /Users/zbeyens/git/plate: passed after the Caption rewrite.pnpm --filter @platejs/utils typecheck in /Users/zbeyens/git/plate: passed after the Caption rewrite.BaseCaptionPlugin, CaptionPlugin, withCaption, query.allow, visibleId, focusEndPath, focusStartPath, selectors.isVisible, Caption, CaptionTextarea, CaptionButton, useCaptionString, showCaption, TCaptionProps, and TCaptionElement verified.media-kit, media-base-kit, caption, media-demo, media node caption placements, and static figcaption rendering verified./docs/caption, /docs/media, and /docs/components/caption resolve through content/docs/meta.json.content/docs/(plugins)/(functionality)/cursor-overlay.mdx: source-backed against packages/selection/src/react/CursorOverlayPlugin.tsx, packages/selection/src/react/hooks/useCursorOverlay.ts, packages/selection/src/react/queries/{getCursorOverlayState,getSelectionRects}.ts, packages/selection/src/react/types.ts, cursor-overlay query/hook specs, apps/www/src/registry/components/editor/plugins/cursor-overlay-kit.tsx, apps/www/src/registry/ui/cursor-overlay.tsx, registry kit/UI/example files, and content/docs/(plugins)/(collaboration)/yjs.mdx.pnpm --filter www check:docs in /Users/zbeyens/git/plate: passed after the Cursor Overlay rewrite.pnpm --filter @platejs/selection typecheck in /Users/zbeyens/git/plate: passed after the Cursor Overlay rewrite.pnpm --filter @platejs/ai typecheck in /Users/zbeyens/git/plate: passed after the Cursor Overlay rewrite.pnpm --filter @platejs/table typecheck in /Users/zbeyens/git/plate: passed after the Cursor Overlay rewrite.pnpm --filter @platejs/dnd typecheck in /Users/zbeyens/git/plate: passed after the Cursor Overlay rewrite.CursorOverlayPlugin, options.cursors, api.cursorOverlay.addCursor, api.cursorOverlay.removeCursor, blur/focus/drag/setSelection handlers, useCursorOverlay, minSelectionWidth, refreshOnResize, CursorState, CursorOverlayState, CursorData, and local-vs-remote cursor boundary verified.cursor-overlay-kit, cursor-overlay, cursor-overlay-demo, CursorOverlay AI streaming guard, DnD drag guard, and table multi-cell guard verified./docs/cursor-overlay, /docs/components/editor, /docs/block-selection, /docs/ai, and /docs/yjs resolve through content/docs/meta.json; stale /docs/components/cursor-overlay removed.content/docs/(plugins)/(functionality)/dnd.mdx: source-backed against packages/dnd/src/{DndPlugin,hooks/useDndNode,hooks/useDragNode,hooks/useDropNode,components/useDraggable,components/useDropLine,components/Scroller/DndScroller,transforms/onDropNode,transforms/onHoverNode,queries/getBlocksWithId,transforms/focusBlockStartById,transforms/selectBlockById,types}.tsx, DnD specs, apps/www/src/registry/components/editor/plugins/dnd-kit.tsx, apps/www/src/registry/ui/block-draggable.tsx, and registry UI/kit/example/pro files.pnpm --filter www check:docs in /Users/zbeyens/git/plate: passed after the Drag & Drop rewrite.pnpm --filter @platejs/dnd typecheck in /Users/zbeyens/git/plate: passed after the Drag & Drop rewrite.pnpm --filter @platejs/media typecheck in /Users/zbeyens/git/plate: passed after the Drag & Drop rewrite.pnpm --filter @platejs/selection typecheck in /Users/zbeyens/git/plate: passed after the Drag & Drop rewrite.pnpm --filter @platejs/list typecheck in /Users/zbeyens/git/plate: passed after the Drag & Drop rewrite.DndPlugin, DRAG_ITEM_BLOCK, draggingId, dropTarget, enableScroller, scrollerProps, onDropFiles, useDraggable, useDndNode, useDragNode, useDropNode, useDropLine, onDropNode, onHoverNode, getBlocksWithId, focusBlockStartById, selectBlockById, and DropLineDirection verified.dnd-kit, block-draggable, dnd-demo, dnd-pro, BlockDraggable path enablement, multi-block preview, list expansion, block-selection bridge, context-menu bridge, and media file-drop behavior verified./docs/dnd, /docs/components/block-draggable, /docs/block-selection, /docs/block-menu, and /docs/media resolve through content/docs/meta.json.content/docs/(plugins)/(functionality)/find-replace.mdx: source-backed against packages/find-replace/src/lib/{FindReplacePlugin,decorateFindReplace}.ts, packages/find-replace/src/lib/decorateFindReplace.spec.ts, apps/www/src/registry/examples/find-replace-demo.tsx, apps/www/src/registry/examples/values/find-replace-value.tsx, apps/www/src/registry/ui/search-highlight-node.tsx, and registry example/UI metadata.pnpm --filter www check:docs in /Users/zbeyens/git/plate: passed after the Find rewrite.pnpm --filter @platejs/find-replace typecheck in /Users/zbeyens/git/plate: passed after the Find rewrite.FindReplacePlugin, options.search, decorateFindReplace, empty-search behavior, case-insensitive matching, text-leaf splitting, range payload, and explicit app-owned replacement boundary verified.find-replace-demo, findReplaceValue, FindToolbar, SearchHighlightLeaf, fixed-toolbar, @shadcn/input, and search-highlight-node dependency verified./docs/components/search-highlight-node and /docs/examples/find-replace resolve through content/docs/meta.json.content/docs/(plugins)/(functionality)/multi-select.mdx: source-backed against packages/tag/src/lib/{BaseTagPlugin,isEqualTags}.ts, packages/tag/src/lib/*.spec.tsx, packages/tag/src/react/{TagPlugin,useSelectedItems,useSelectableItems,useSelectEditorCombobox}.ts*, apps/www/src/registry/ui/{select-editor,tag-node}.tsx, apps/www/src/registry/examples/select-editor-demo.tsx, and registry example/UI metadata.pnpm --filter www check:docs in /Users/zbeyens/git/plate: passed after the Multi Select rewrite.pnpm --filter @platejs/tag typecheck in /Users/zbeyens/git/plate: passed after the Multi Select rewrite.BaseTagPlugin, TagPlugin, MultiSelectPlugin, tf.insert.tag, getSelectedItems, useSelectedItems, useSelectableItems, useSelectEditorCombobox, isEqualTags, duplicate normalization, loose-text cleanup, search trimming, and default new-item filter verified.select-editor, tag-node, select-editor-demo, SelectEditor, SelectEditorContent, SelectEditorInput, SelectEditorCombobox, cmdk/fzf/popover wiring, read-only demo behavior, and form integration verified./docs/multi-select, /docs/components/tag-node, and /docs/components/select-editor resolve through content/docs/meta.json; registry select-editor-demo is linked to /docs/multi-select.otherPlugins, stale inline comment, open task marker, or FIXME matches.content/docs/(plugins)/(functionality)/navigation-feedback.mdx: source-backed against packages/core/src/lib/plugins/navigation-feedback/{NavigationFeedbackPlugin,types}.ts, packages/core/src/lib/plugins/navigation-feedback/transforms/{flashTarget,navigate}.ts, core navigation feedback specs, packages/core/src/react/plugins/navigation-feedback/{NavigationFeedbackPlugin,useNavigationHighlight}.ts*, packages/core/src/react/editor/getPlateCorePlugins.ts, packages/toc/src/react/hooks/useContentController.ts, packages/footnote/src/lib/transforms/{focusFootnoteReference,focusFootnoteDefinition}.ts, and registry toc-demo/toc-node metadata.pnpm --filter www check:docs in /Users/zbeyens/git/plate: passed after the Navigation Feedback rewrite.pnpm --filter @platejs/core typecheck in /Users/zbeyens/git/plate: passed after the Navigation Feedback rewrite.pnpm --filter @platejs/toc typecheck in /Users/zbeyens/git/plate: passed after the Navigation Feedback rewrite.pnpm --filter @platejs/footnote typecheck in /Users/zbeyens/git/plate: passed after the Navigation Feedback rewrite.NavigationFeedbackPlugin, navigationFeedback, activeTarget, clear, isTarget, flashTarget, navigate, useNavigationHighlight, path refs, pulse/cycle attributes, duration fallback, and scroll-target fallback order verified.toc-demo, toc-node, useContentController flashTarget, footnote navigate transforms, and default core-plugin inclusion verified./docs/navigation-feedback, /docs/toc, /docs/footnote, and /docs/editor resolve through content/docs/meta.json.content/docs/(plugins)/(functionality)/tabbable.mdx: source-backed against packages/tabbable/src/lib/{BaseTabbablePlugin,findTabDestination,types}.ts, tabbable specs, packages/tabbable/src/react/{TabbablePlugin,TabbableEffects}.tsx, apps/www/src/registry/components/editor/plugins/tabbable-kit.tsx, apps/www/src/registry/examples/tabbable-demo.tsx, apps/www/src/registry/examples/values/tabbable-value.tsx, and registry example/kit metadata.pnpm --filter www check:docs in /Users/zbeyens/git/plate: passed after the Tabbable rewrite.pnpm --filter @platejs/tabbable typecheck in /Users/zbeyens/git/plate: passed after the Tabbable rewrite.BaseTabbablePlugin, TabbablePlugin, TabbableEffects, findTabDestination, options.query, globalEventListener, insertTabbableEntries, isTabbable, read-only listener guard, default void filtering, path sorting, and no-destination tabindex="-1" fallback verified.tabbable-kit, tabbable-demo, tabbableValue, kit conflict query, override.enabled.indent=false, demo void element, and corrected non-spread plugins: [TabbableKit] usage verified./docs/tabbable resolves through content/docs/meta.json.otherPlugins, stale ...TabbableKit, open task marker, or FIXME matches.content/docs/(plugins)/(functionality)/toolbar.mdx: source-backed against apps/www/src/registry/components/editor/plugins/{fixed-toolbar-kit,floating-toolbar-kit}.tsx, apps/www/src/registry/ui/{toolbar,fixed-toolbar,floating-toolbar,fixed-toolbar-buttons,floating-toolbar-buttons,mark-toolbar-button,turn-into-toolbar-button,insert-toolbar-button}.tsx, apps/www/src/registry/registry-{kits,ui,examples}.ts, packages/floating/src/hooks, and route metadata.pnpm --filter www check:docs in /Users/zbeyens/git/plate: passed after the Toolbar rewrite.pnpm --filter @platejs/floating typecheck in /Users/zbeyens/git/plate: passed after the Toolbar rewrite.FixedToolbarKit, FloatingToolbarKit, FixedToolbar, FloatingToolbar, Toolbar, ToolbarButton, ToolbarSplitButton, ToolbarGroup, ToolbarMenuGroup, FixedToolbarButtons, FloatingToolbarButtons, MarkToolbarButton, TurnIntoToolbarButton, and InsertToolbarButton verified./docs/toolbar, /docs/components/toolbar, /docs/components/fixed-toolbar, /docs/components/floating-toolbar, /docs/components/mark-toolbar-button, and /docs/examples/floating-toolbar resolve through content/docs/meta.json.otherPlugins, "Custom action", "existing items", open task marker, or FIXME matches.content/docs/(plugins)/(marks)/basic-marks.mdx: source-backed against packages/basic-nodes/src/lib/{BaseBasicMarksPlugin,BaseBoldPlugin,BaseItalicPlugin,BaseUnderlinePlugin,BaseStrikethroughPlugin,BaseCodePlugin,BaseSubscriptPlugin,BaseSuperscriptPlugin,BaseHighlightPlugin,BaseKbdPlugin,BasicMarkRules}.ts, mark input-rule specs, packages/basic-nodes/src/react/BasicMarksPlugin.tsx, apps/www/src/registry/components/editor/plugins/{basic-marks-kit,basic-marks-base-kit}.tsx, apps/www/src/registry/ui/{mark-toolbar-button,code-node,highlight-node,kbd-node}.tsx, and registry example/route metadata.pnpm --filter www check:docs in /Users/zbeyens/git/plate: passed after the Basic Marks rewrite.pnpm --filter @platejs/basic-nodes typecheck in /Users/zbeyens/git/plate: passed after the Basic Marks rewrite.BasicMarksPlugin, BaseBasicMarksPlugin, individual mark plugins, mark keys, render tags, HTML deserializers, mark toggle transforms, sub/sup mutual removal, selection affinity, BasicMarksKit, BaseBasicMarksKit, and input-rule registrations verified.basic-marks-kit, basic-marks-base-kit, basic-marks-demo, basicMarksValue, CodeLeaf, HighlightLeaf, KbdLeaf, MarkToolbarButton, and mark component routes verified./docs/basic-marks, /docs/bold, /docs/italic, /docs/underline, /docs/strikethrough, /docs/code, /docs/subscript, /docs/superscript, /docs/kbd, /docs/highlight, /docs/components/mark-toolbar-button, and /docs/toolbar resolve through content/docs/meta.json.otherPlugins, open task marker, or FIXME matches.content/docs/(plugins)/(marks)/bold.mdx: source-backed against packages/basic-nodes/src/lib/{BaseBoldPlugin,BasicMarkRules}.ts, packages/basic-nodes/src/react/BoldPlugin.tsx, packages/basic-nodes/src/lib/BaseMarkInputRules.spec.tsx, apps/www/src/registry/components/editor/plugins/basic-marks-kit.tsx, apps/www/src/registry/ui/{fixed-toolbar-buttons,floating-toolbar-buttons,mark-toolbar-button}.tsx, and route metadata.pnpm --filter www check:docs in /Users/zbeyens/git/plate: passed after the Bold rewrite.pnpm --filter @platejs/basic-nodes typecheck in /Users/zbeyens/git/plate: passed after the Bold rewrite.BaseBoldPlugin, BoldPlugin, BoldRules.markdown, KEYS.bold, node.isLeaf, render.as='strong', tf.bold.toggle, mod+b, HTML strong/b/font-weight parsing, and normal-weight guard verified.BasicMarksKit, basic-marks-demo, MarkToolbarButton nodeType={KEYS.bold}, fixed/floating toolbar bold buttons, and component routes verified./docs/bold, /docs/basic-marks, /docs/components/mark-toolbar-button, and /docs/plugin-shortcuts resolve through content/docs/meta.json.otherPlugins, stale shortcut config, open task marker, or FIXME matches.content/docs/(plugins)/(marks)/code.mdx: source-backed against packages/basic-nodes/src/lib/{BaseCodePlugin,BasicMarkRules}.ts, packages/basic-nodes/src/react/CodePlugin.tsx, packages/basic-nodes/src/lib/BaseMarkInputRules.spec.tsx, apps/www/src/registry/components/editor/plugins/{basic-marks-kit,basic-marks-base-kit}.tsx, apps/www/src/registry/ui/{code-node,code-node-static,fixed-toolbar-buttons,floating-toolbar-buttons,mark-toolbar-button}.tsx, and route metadata.pnpm --filter www check:docs in /Users/zbeyens/git/plate: passed after the Code rewrite.pnpm --filter @platejs/basic-nodes typecheck in /Users/zbeyens/git/plate: passed after the Code rewrite.BaseCodePlugin, CodePlugin, CodeRules.markdown, KEYS.code, node.isLeaf, render.as='code', hard selection affinity, tf.code.toggle, HTML code/Consolas parsing, pre/paragraph Consolas guards, and kit mod+e shortcut verified.BasicMarksKit, BaseBasicMarksKit, CodeLeaf, CodeLeafStatic, basic-marks-demo, fixed/floating toolbar code buttons, and component routes verified./docs/code, /docs/code-block, /docs/basic-marks, /docs/components/code-node, and /docs/components/mark-toolbar-button resolve through content/docs/meta.json.otherPlugins, stale shortcut ownership, open task marker, or FIXME matches.content/docs/(plugins)/(marks)/highlight.mdx: source-backed against packages/basic-nodes/src/lib/{BaseHighlightPlugin,BasicMarkRules}.ts, packages/basic-nodes/src/react/HighlightPlugin.tsx, packages/basic-nodes/src/lib/BaseMarkInputRules.spec.tsx, apps/www/src/registry/components/editor/plugins/{basic-marks-kit,basic-marks-base-kit}.tsx, apps/www/src/registry/ui/{highlight-node,highlight-node-static,fixed-toolbar-buttons,mark-toolbar-button}.tsx, and route metadata.pnpm --filter www check:docs in /Users/zbeyens/git/plate: passed after the Highlight rewrite.pnpm --filter @platejs/basic-nodes typecheck in /Users/zbeyens/git/plate: passed after the Highlight rewrite.BaseHighlightPlugin, HighlightPlugin, HighlightRules.markdown, KEYS.highlight, node.isLeaf, render.as='mark', directional selection affinity, tf.highlight.toggle, HTML mark parsing, kit == and ≡ input rules, and kit mod+shift+h shortcut verified.BasicMarksKit, BaseBasicMarksKit, HighlightLeaf, HighlightLeafStatic, basic-marks-demo, fixed toolbar highlight button, and distinction from SearchHighlightLeaf verified./docs/highlight, /docs/basic-marks, /docs/components/highlight-node, /docs/components/mark-toolbar-button, and /docs/examples/find-replace resolve through content/docs/meta.json.otherPlugins, open task marker, or FIXME matches.content/docs/(plugins)/(marks)/italic.mdx: source-backed against packages/basic-nodes/src/lib/{BaseItalicPlugin,BasicMarkRules}.ts, packages/basic-nodes/src/react/ItalicPlugin.tsx, packages/basic-nodes/src/lib/BaseMarkInputRules.spec.tsx, apps/www/src/registry/components/editor/plugins/{basic-marks-kit,basic-marks-base-kit}.tsx, apps/www/src/registry/ui/{fixed-toolbar-buttons,floating-toolbar-buttons,mark-toolbar-button}.tsx, and route metadata.pnpm --filter www check:docs in /Users/zbeyens/git/plate: passed after the Italic rewrite.pnpm --filter @platejs/basic-nodes typecheck in /Users/zbeyens/git/plate: passed after the Italic rewrite.BaseItalicPlugin, ItalicPlugin, ItalicRules.markdown, KEYS.italic, node.isLeaf, render.as='em', tf.italic.toggle, mod+i, HTML em/i/font-style parsing, and normal-style guard verified.BasicMarksKit, BaseBasicMarksKit, basic-marks-demo, MarkToolbarButton nodeType={KEYS.italic}, fixed/floating toolbar italic buttons, and component routes verified./docs/italic, /docs/basic-marks, /docs/components/mark-toolbar-button, and /docs/plugin-shortcuts resolve through content/docs/meta.json.otherPlugins, open task marker, or FIXME matches.content/docs/(plugins)/(marks)/kbd.mdx: source-backed against packages/basic-nodes/src/lib/BaseKbdPlugin.ts, packages/basic-nodes/src/react/KbdPlugin.tsx, apps/www/src/registry/components/editor/plugins/{basic-marks-kit,basic-marks-base-kit}.tsx, apps/www/src/registry/ui/{kbd-node,kbd-node-static,more-toolbar-button}.tsx, and route metadata.pnpm --filter www check:docs in /Users/zbeyens/git/plate: passed after the Keyboard Input rewrite.pnpm --filter @platejs/basic-nodes typecheck in /Users/zbeyens/git/plate: passed after the Keyboard Input rewrite.BaseKbdPlugin, KbdPlugin, KEYS.kbd, node.isLeaf, render.as='kbd', hard selection affinity, tf.kbd.toggle, and HTML kbd parsing verified.BasicMarksKit, BaseBasicMarksKit, KbdLeaf, KbdLeafStatic, basic-marks-demo, and MoreToolbarButton direct KEYS.kbd toggle verified./docs/kbd, /docs/basic-marks, /docs/components/kbd-node, and /docs/components/more-toolbar-button resolve through content/docs/meta.json.otherPlugins, open task marker, or FIXME matches.content/docs/(plugins)/(marks)/strikethrough.mdx: source-backed against packages/basic-nodes/src/lib/{BaseStrikethroughPlugin,BasicMarkRules}.ts, packages/basic-nodes/src/react/StrikethroughPlugin.tsx, packages/basic-nodes/src/lib/BaseMarkInputRules.spec.tsx, apps/www/src/registry/components/editor/plugins/{basic-marks-kit,basic-marks-base-kit}.tsx, apps/www/src/registry/ui/{fixed-toolbar-buttons,floating-toolbar-buttons,mark-toolbar-button}.tsx, and route metadata.pnpm --filter www check:docs in /Users/zbeyens/git/plate: passed after the Strikethrough rewrite.pnpm --filter @platejs/basic-nodes typecheck in /Users/zbeyens/git/plate: passed after the Strikethrough rewrite.BaseStrikethroughPlugin, StrikethroughPlugin, StrikethroughRules.markdown, KEYS.strikethrough, node.isLeaf, render.as='s', directional selection affinity, tf.strikethrough.toggle, HTML s/del/strike/line-through parsing, and text-decoration guard verified.BasicMarksKit, BaseBasicMarksKit, basic-marks-demo, MarkToolbarButton nodeType={KEYS.strikethrough}, fixed/floating toolbar strikethrough buttons, kit input rule, and kit mod+shift+x shortcut verified./docs/strikethrough, /docs/basic-marks, /docs/components/mark-toolbar-button, and /docs/plugin-shortcuts resolve through content/docs/meta.json.otherPlugins, open task marker, or FIXME matches.content/docs/(plugins)/(marks)/subscript.mdx: source-backed against packages/basic-nodes/src/lib/{BaseSubscriptPlugin,BasicMarkRules}.ts, packages/basic-nodes/src/react/SubscriptPlugin.tsx, packages/basic-nodes/src/lib/BaseMarkInputRules.spec.tsx, apps/www/src/registry/components/editor/plugins/{basic-marks-kit,basic-marks-base-kit}.tsx, apps/www/src/registry/ui/more-toolbar-button.tsx, and route metadata.pnpm --filter www check:docs in /Users/zbeyens/git/plate: passed after the Subscript rewrite.pnpm --filter @platejs/basic-nodes typecheck in /Users/zbeyens/git/plate: passed after the Subscript rewrite.BaseSubscriptPlugin, SubscriptPlugin, SubscriptRules.markdown, KEYS.sub, node.isLeaf, render.as='sub', directional selection affinity, tf.subscript.toggle, KEYS.sup removal, HTML sub/vertical-align: sub parsing, kit input rule, and kit mod+comma shortcut verified.BasicMarksKit, BaseBasicMarksKit, basic-marks-demo, and MoreToolbarButton direct KEYS.sub toggle with KEYS.sup removal verified./docs/subscript, /docs/superscript, /docs/basic-marks, /docs/components/more-toolbar-button, and /docs/plugin-shortcuts resolve through content/docs/meta.json.otherPlugins, open task marker, or FIXME matches.content/docs/(plugins)/(marks)/superscript.mdx: source-backed against packages/basic-nodes/src/lib/{BaseSuperscriptPlugin,BasicMarkRules}.ts, packages/basic-nodes/src/react/SuperscriptPlugin.tsx, packages/basic-nodes/src/lib/BaseMarkInputRules.spec.tsx, apps/www/src/registry/components/editor/plugins/{basic-marks-kit,basic-marks-base-kit}.tsx, apps/www/src/registry/ui/more-toolbar-button.tsx, and route metadata.pnpm --filter www check:docs in /Users/zbeyens/git/plate: passed after the Superscript rewrite.pnpm --filter @platejs/basic-nodes typecheck in /Users/zbeyens/git/plate: passed after the Superscript rewrite.BaseSuperscriptPlugin, SuperscriptPlugin, SuperscriptRules.markdown, KEYS.sup, node.isLeaf, render.as='sup', directional selection affinity, tf.superscript.toggle, KEYS.sub removal, HTML sup/vertical-align: super parsing, kit input rule, and kit mod+period shortcut verified.BasicMarksKit, BaseBasicMarksKit, basic-marks-demo, and MoreToolbarButton direct KEYS.sup toggle with KEYS.sub removal verified./docs/superscript, /docs/subscript, /docs/basic-marks, /docs/components/more-toolbar-button, and /docs/plugin-shortcuts resolve through content/docs/meta.json.otherPlugins, open task marker, or FIXME matches.content/docs/(plugins)/(marks)/underline.mdx: source-backed against packages/basic-nodes/src/lib/{BaseUnderlinePlugin,BasicMarkRules}.ts, packages/basic-nodes/src/react/UnderlinePlugin.tsx, packages/basic-nodes/src/lib/BaseMarkInputRules.spec.tsx, apps/www/src/registry/components/editor/plugins/{basic-marks-kit,basic-marks-base-kit}.tsx, apps/www/src/registry/ui/{fixed-toolbar-buttons,floating-toolbar-buttons,mark-toolbar-button}.tsx, and route metadata.pnpm --filter www check:docs in /Users/zbeyens/git/plate: passed after the Underline rewrite.pnpm --filter @platejs/basic-nodes typecheck in /Users/zbeyens/git/plate: passed after the Underline rewrite.BaseUnderlinePlugin, UnderlinePlugin, UnderlineRules.markdown, KEYS.underline, node.isLeaf, render.as='u', tf.underline.toggle, mod+u, HTML u/text-decoration underline parsing, text-decoration guard, and kit input rule verified.BasicMarksKit, BaseBasicMarksKit, basic-marks-demo, MarkToolbarButton nodeType={KEYS.underline}, and fixed/floating toolbar underline buttons verified./docs/underline, /docs/basic-marks, /docs/components/mark-toolbar-button, and /docs/plugin-shortcuts resolve through content/docs/meta.json.otherPlugins, open task marker, or FIXME matches.content/docs/(plugins)/(serializing)/csv.mdx: source-backed against packages/csv/src/lib/{CsvPlugin,deserializer/utils/deserializeCsv}.ts, packages/csv/src/lib/{CsvPlugin,deserializer/utils/deserializeCsv}.spec.ts, packages/table/src/lib/withSetFragmentDataTable.ts, apps/www/src/registry/registry-examples.ts, apps/www/src/registry/examples/values/deserialize-csv-value.tsx, and route metadata.pnpm --filter www check:docs in /Users/zbeyens/git/plate: passed after the CSV rewrite.pnpm --filter @platejs/csv typecheck in /Users/zbeyens/git/plate: passed after the CSV rewrite.pnpm --filter @platejs/table typecheck in /Users/zbeyens/git/plate: passed after the CSV rewrite.CsvPlugin, CsvPlugin.configure({ options }), editor.api.csv.deserialize({ data, ...parseOptions }), deserializeCsv, KEYS.csv, parser.format='text/plain', default errorTolerance=0.25, default parseOptions.header=true, call-site PapaParse override behavior, invalid-CSV undefined return, and negative tolerance clamp verified.th, array-mode rows become td, output is wrapped with empty paragraphs, table rendering is owned by table plugins, and table selection text/csv clipboard output is owned by @platejs/table.csv-demo, deserialize-csv-value, and TableKit usage path verified./docs/csv, /docs/examples/csv, and /docs/table resolve through content/docs/meta.json.errorTolerance, stale serialize API, stale otherPlugins, open task marker, or FIXME matches.content/docs/(plugins)/(serializing)/docx-io.mdx: source-backed against packages/docx-io/src/lib/{importDocx,types,preprocessMammothHtml,docx-export-plugin,html-to-docx}.ts, packages/docx-io/src/lib/{importDocx,html-to-docx}.spec.ts, packages/docx/src/lib/docx-cleaner/cleanDocx.ts, apps/www/src/registry/components/editor/plugins/{docx-export-kit,docx-kit}.tsx, apps/www/src/registry/ui/{import-toolbar-button,export-toolbar-button}.tsx, registry metadata, and route metadata.pnpm --filter www check:docs in /Users/zbeyens/git/plate: passed after the DOCX Import/Export rewrite.pnpm --filter @platejs/docx-io typecheck in /Users/zbeyens/git/plate: passed after the DOCX Import/Export rewrite.pnpm --filter @platejs/docx typecheck in /Users/zbeyens/git/plate: passed after the DOCX Import/Export rewrite.importDocx, Mammoth convertToHtml, comment preprocessing/extraction, cleanDocx(preprocessedHtml, rtf), editor.api.html.deserialize, ImportDocxResult, ImportDocxOptions.rtf, warnings return, and HTML-parse failure fallback verified.exportToDocx, downloadDocx, exportEditorToDocx, DocxExportPlugin, htmlToDocxBlob, DOCX_EXPORT_STYLES, DEFAULT_DOCX_MARGINS, DocxExportOperationOptions, plugin options, component override extraction, serializeHtml, juice CSS inlining, Word MIME blob generation, and filename extension behavior verified.DocxExportKit, DocxKit, ImportToolbarButton, ExportToolbarButton, BaseEditorKit, docx-specific code block/column/equation/callout/TOC static components, and registry dependencies verified./docs/docx-io, /docs/docx, /docs/components/import-toolbar-button, and /docs/components/export-toolbar-button resolve through content/docs/meta.json.@platejs/docx-export, unsupported broad support claims, mobile limitation boilerplate, stale otherPlugins, open task marker, or FIXME matches.content/docs/(plugins)/(serializing)/docx.mdx: source-backed against packages/docx/src/lib/DocxPlugin.ts, packages/docx/src/lib/DocxPlugin.spec.ts, packages/docx/src/lib/docx-cleaner/{cleanDocx,cleanDocx.spec}.ts, packages/docx/src/lib/docx-cleaner/utils/*, packages/juice/src/lib/JuicePlugin.ts, apps/www/src/registry/components/editor/plugins/docx-kit.tsx, apps/www/src/registry/registry-examples.ts, apps/www/src/registry/examples/values/deserialize-docx-value.tsx, and route metadata.pnpm --filter www check:docs in /Users/zbeyens/git/plate: passed after the DOCX paste rewrite.pnpm --filter @platejs/docx typecheck in /Users/zbeyens/git/plate: passed after the DOCX paste rewrite.pnpm --filter @platejs/juice typecheck in /Users/zbeyens/git/plate: passed after the DOCX paste rewrite.DocxPlugin, KEYS.docx, editOnly, HTML parser transformData, cleanDocx(data, text/rtf), isDocxContent, getDocxListIndent, getTextListStyleType, getDocxIndent, getDocxTextIndent, image parser query gating, RTF image recovery, footnote cleanup, whitespace wrapper, and plain-HTML guard verified.DocxKit, DocxPlugin, JuicePlugin, docx-demo, and deserialize-docx-value verified./docs/docx, /docs/docx-io, and /docs/examples/docx resolve through content/docs/meta.json.otherPlugins, open task marker, or FIXME matches.content/docs/(plugins)/(serializing)/html.mdx: source-backed against packages/core/src/static/{serializeHtml,serializeHtml.node-props.spec}.tsx, packages/core/src/static/deserialize/{htmlStringToEditorDOM,htmlStringToEditorDOM.spec}.ts, packages/core/src/static/utils/{stripHtmlClassNames,stripSlateDataAttributes}.ts, packages/core/src/lib/plugins/html/{HtmlPlugin,HtmlPlugin.spec}.ts, packages/core/src/lib/plugins/html/utils/deserializeHtml.ts, apps/www/src/registry/{components/editor/slate-to-html,blocks/slate-to-html/page,lib/create-html-document}.tsx, registry example metadata, and route metadata.pnpm --filter www check:docs in /Users/zbeyens/git/plate: passed after the HTML rewrite.pnpm --filter @platejs/core typecheck in /Users/zbeyens/git/plate: passed after the HTML rewrite.serializeHtml, createStaticEditor, PlateStatic, EditorStatic, ReactDOMServer.renderToStaticMarkup, default stripClassNames=false, default stripDataAttributes=false, class-preserve prefix behavior, plugin node props, and full-document wrapper path verified.HtmlPlugin, parser.format='text/html', parser body handoff, editor.api.html.deserialize, string-to-DOM input, collapseWhiteSpace=true, defaultElementPlugin, normalized fragment output, and getEditorDOMFromHtmlString exported-editor extraction verified.html-demo, deserialize-html-value, slate-to-html, BaseEditorKit, EditorStatic, iframe preview, and export download path verified./docs/html, /docs/static, /docs/examples/slate-to-html, and /docs/examples/html resolve through content/docs/meta.json.stripClassNames defaults, stale stripWhitespace, fake SerializeHtmlOptions.value, broken custom plugin snippet, stale otherPlugins, open task marker, or FIXME matches.content/docs/(plugins)/(serializing)/markdown.mdx: source-backed against packages/markdown/src/lib/{MarkdownPlugin,MarkdownPlugin.spec}.ts, packages/markdown/src/lib/deserializer/{deserializeMd,utils/deserializeInlineMd,utils/parseMarkdownBlocks,utils/getMergedOptionsDeserialize}.ts, packages/markdown/src/lib/serializer/{serializeMd,serializeInlineMd,wrapWithBlockId,utils/getMergedOptionsSerialize}.ts, packages/markdown/src/lib/{rules/defaultRules,utils/getRemarkPluginsWithoutMdx,mdx.spec,mdxMarks.spec}.tsx, apps/www/src/registry/components/editor/plugins/markdown-kit.tsx, apps/www/src/registry/examples/markdown-to-slate-demo.tsx, registry example metadata, and route metadata.pnpm --filter www check:docs in /Users/zbeyens/git/plate: passed after the Markdown rewrite.pnpm --filter @platejs/markdown typecheck in /Users/zbeyens/git/plate: passed after the Markdown rewrite.pnpm --filter @platejs/footnote typecheck in /Users/zbeyens/git/plate: passed after the Markdown rewrite.MarkdownPlugin, KEYS.markdown, default options, markdown.deserialize, markdown.deserializeInline, markdown.serialize, text/plain parser, HTML clipboard skip, URL-only skip, file clipboard exception, option merge precedence, plainMarks, and call-site override behavior verified.deserializeMd, markdownToAstProcessor, markdownToSlateNodes, remarkParse, remarkPlugins, htmlToJsx, withoutMdx, memoize _memo, parseMarkdownBlocks, splitLineBreaks, onError, safe fallback, inline deserialization whitespace preservation, and top-level text paragraph wrapping verified.serializeMd, serializeInlineMd, remarkStringify, emphasis='_', resourceLink=false, remarkStringifyOptions, value defaulting to editor.children, withBlockId, and wrapWithBlockId MDX output verified.MarkdownKit, footnote base plugins, remarkMath, remarkGfm, remarkEmoji, remarkMdx, remarkMention, plainMarks for suggestion/comment, markdown-to-slate-demo, markdown-demo, and preview-markdown-demo verified./docs/markdown, /docs/examples/markdown, /docs/examples/preview-markdown, /docs/footnote, /docs/code-block, /docs/equation, /docs/mention, /docs/column, and /docs/toc resolve through content/docs/meta.json.otherPlugins, open task marker, or FIXME matches.content/docs/(plugins)/(styles)/font.mdx: source-backed against packages/basic-styles/src/lib/{BaseFontColorPlugin,BaseFontBackgroundColorPlugin,BaseFontFamilyPlugin,BaseFontSizePlugin,BaseFontWeightPlugin}.ts, packages/basic-styles/src/react/FontPlugin.tsx, packages/basic-styles/src/lib/utils/toUnitLess.ts, packages/markdown/src/lib/rules/fontRules.ts, apps/www/src/registry/components/editor/plugins/{font-kit,font-base-kit}.tsx, apps/www/src/registry/ui/{font-color-toolbar-button,font-size-toolbar-button}.tsx, registry example metadata, and route metadata.pnpm --filter www check:docs in /Users/zbeyens/git/plate: passed after the Font rewrite.pnpm --filter @platejs/basic-styles typecheck in /Users/zbeyens/git/plate: passed after the Font rewrite.pnpm --filter @platejs/markdown typecheck in /Users/zbeyens/git/plate: passed after the Font rewrite.FontColorPlugin, FontBackgroundColorPlugin, FontFamilyPlugin, FontSizePlugin, FontWeightPlugin, base plugin variants, KEYS.color, KEYS.backgroundColor, KEYS.fontFamily, KEYS.fontSize, KEYS.fontWeight, injected node props, HTML style deserializers, and bound addMark transforms verified.FontKit, BaseFontKit, font-demo, font-value, FontColorToolbarButton, FontSizeToolbarButton, fixed toolbar usage, nodeType switching, custom color queue behavior, font-size fallback map, and toUnitLess usage verified.fontRules serializes font marks as MDX span styles and deserializes span styles for color, background-color, font-family, font-size, and font-weight./docs/font, /docs/examples/font, /docs/components/font-color-toolbar-button, and /docs/components/font-size-toolbar-button resolve through content/docs/meta.json.FontWeightPlugin kit inclusion, stale otherPlugins, open task marker, or FIXME matches.content/docs/(plugins)/(styles)/indent.mdx: source-backed against packages/indent/src/lib/{BaseIndentPlugin,withIndent,BaseIndentPlugin.spec,withIndent.spec}.ts(x), packages/indent/src/lib/transforms/{indent,outdent,setIndent,setIndent.spec}.ts, packages/indent/src/react/{IndentPlugin,hooks/useIndentButton,hooks/useOutdentButton}.ts(x), apps/www/src/registry/components/editor/plugins/{indent-kit,indent-base-kit}.tsx, apps/www/src/registry/ui/indent-toolbar-button.tsx, registry example metadata, and route metadata.pnpm --filter www check:docs in /Users/zbeyens/git/plate: passed after the Indent rewrite.pnpm --filter @platejs/indent typecheck in /Users/zbeyens/git/plate: passed after the Indent rewrite.pnpm --filter @platejs/list typecheck in /Users/zbeyens/git/plate: passed after the Indent rewrite.BaseIndentPlugin, IndentPlugin, KEYS.indent, nodeKey='indent', styleKey='marginLeft', default [KEYS.p] target, default offset=24, default unit='px', indentMax, indent, outdent, setIndent, setNodesProps, unsetNodesProps, and getNodesOptions verified.withIndent caps excess indent, unsets indent on non-target blocks, claims Tab for matching blocks, outdents before fallback, preserves editor ownership for reverse Tab on unindented paragraphs, and lets blockquote lifting handle Shift+Tab when no block indent remains.IndentKit, BaseIndentKit, React image target difference, indent-demo, indent-value, IndentToolbarButton, and OutdentToolbarButton verified./docs/indent, /docs/examples/indent, /docs/components/indent-toolbar-button, and /docs/list resolve through content/docs/meta.json.otherPlugins, stale target list, fake default indentMax, open task marker, or FIXME matches.content/docs/(plugins)/(styles)/line-height.mdx: source-backed against packages/basic-styles/src/lib/{BaseLineHeightPlugin,BaseLineHeightPlugin.spec}.ts, packages/basic-styles/src/lib/transforms/{setLineHeight,setLineHeight.spec}.ts(x), packages/basic-styles/src/react/LineHeightPlugin.tsx, apps/www/src/registry/components/editor/plugins/{line-height-kit,line-height-base-kit}.tsx, apps/www/src/registry/ui/line-height-toolbar-button.tsx, registry example metadata, and route metadata.pnpm --filter www check:docs in /Users/zbeyens/git/plate: passed after the Line Height rewrite.pnpm --filter @platejs/basic-styles typecheck in /Users/zbeyens/git/plate: passed after the Line Height rewrite.BaseLineHeightPlugin, LineHeightPlugin, KEYS.lineHeight, lineHeight node prop, default [KEYS.p] target, default defaultNodeValue=1.5, HTML lineHeight parser injection, setLineHeight, and bound tf.lineHeight.setNodes verified.lineHeight, setting the default value unsets lineHeight, and non-target blocks are ignored by setLineHeight.LineHeightKit, BaseLineHeightKit, target [...KEYS.heading, KEYS.p], valid values [1, 1.2, 1.5, 2, 3], line-height-demo, line-height-value, and LineHeightToolbarButton verified./docs/line-height, /docs/examples/line-height, and /docs/components/line-height-toolbar-button resolve through content/docs/meta.json.otherPlugins, bad KEYS import, fake API, open task marker, or FIXME matches.content/docs/(plugins)/(styles)/list.mdx: source-backed against packages/list/src/lib/{BaseListPlugin,withList,withNormalizeList,types}.ts(x), packages/list/src/lib/transforms/{toggleList,indentList,outdentList,setListNode}.ts, packages/list/src/lib/{BulletedListRules,OrderedListRules,TaskListRules}.ts, packages/list/src/lib/normalizers/{normalizeListNotIndented,normalizeListStart,withInsertBreakList}.ts, packages/list/src/lib/queries/{someList,someTaskList,isOrderedList}.ts, packages/list/src/react/{ListPlugin,hooks/useListToolbarButton,hooks/useTaskListToolbarButton}.ts(x), apps/www/src/registry/components/editor/plugins/{list-kit,list-base-kit}.tsx, apps/www/src/registry/ui/{block-list,block-list-static,list-toolbar-button}.tsx, registry example metadata, and route metadata.pnpm --filter www check:docs in /Users/zbeyens/git/plate: passed after the List rewrite.pnpm --filter @platejs/list typecheck in /Users/zbeyens/git/plate: passed after the List rewrite.pnpm --filter @platejs/indent typecheck in /Users/zbeyens/git/plate: passed after the List rewrite.BaseListPlugin, ListPlugin, KEYS.list, KEYS.listType=listStyleType, KEYS.listChecked=checked, KEYS.listStart, KEYS.listRestart, KEYS.listRestartPolite, ListStyleType, toggleList, indentList, outdentList, someList, someTaskList, and isOrderedList verified.listStart cleanup, ordered-list listStart normalization, reset-block outdent behavior, and lower/upper roman continuity branch verified.ListKit, BaseListKit, IndentKit dependency, BaseIndentKit dependency, BlockList, BlockListStatic, BulletedListToolbarButton, NumberedListToolbarButton, TaskListToolbarButton, list-demo, and list-value verified./docs/list, /docs/examples/list, /docs/indent, /docs/list-classic, /docs/components/block-list, and /docs/components/list-toolbar-button resolve through content/docs/meta.json.otherPlugins, generic flexible/simplified marketing claims, fake API, open task marker, or FIXME matches.content/docs/(plugins)/(styles)/text-align.mdx: source-backed against packages/basic-styles/src/lib/{BaseTextAlignPlugin,BaseTextAlignPlugin.spec}.ts, packages/basic-styles/src/lib/transforms/{setAlign,setAlign.spec}.ts(x), packages/basic-styles/src/react/TextAlignPlugin.tsx, apps/www/src/registry/components/editor/plugins/{align-kit,align-base-kit}.tsx, apps/www/src/registry/ui/align-toolbar-button.tsx, registry example metadata, and route metadata.pnpm --filter www check:docs in /Users/zbeyens/git/plate: passed after the Text Align rewrite.pnpm --filter @platejs/basic-styles typecheck in /Users/zbeyens/git/plate: passed after the Text Align rewrite.BaseTextAlignPlugin, TextAlignPlugin, KEYS.textAlign, stored align prop, styleKey='textAlign', default [KEYS.p] target, default start, valid values, HTML textAlign parser injection, setAlign, and bound tf.textAlign.setNodes verified.align, setting start unsets align, and non-target blocks are ignored by setAlign.AlignKit, BaseAlignKit, target [...KEYS.heading, KEYS.p, KEYS.img, KEYS.mediaEmbed], align-demo, align-value, and AlignToolbarButton verified./docs/text-align, /docs/examples/align, and /docs/components/align-toolbar-button resolve through content/docs/meta.json.otherPlugins, fake API, open task marker, or FIXME matches.content/docs/api/cn.mdx: source-backed against packages/udecode/cn/src/{cn,withCn,withProps,withVariants,index}.ts(x), packages/udecode/cn/package.json, packages/udecode/react-utils/src/index.ts, and route metadata.pnpm --filter www check:docs in /Users/zbeyens/git/plate: passed after the @udecode/cn API rewrite.pnpm --filter @udecode/cn typecheck in /Users/zbeyens/git/plate: passed after the @udecode/cn API rewrite.pnpm --filter @udecode/react-utils typecheck in /Users/zbeyens/git/plate: passed after the @udecode/cn API rewrite.cn, withCn, withProps, withVariants, root @udecode/react-utils re-export, package dependencies, peer dependencies, cx, twMerge, default-prop merge order, class-name merge behavior, forwardRef, cva variant props, and onlyVariantsProps prop stripping verified./docs/api/cn resolves through content/docs/meta.json.withCn, open task marker, or FIXME matches.content/docs/api/core.mdx: source-backed against packages/core/src/react/editor/{withPlate,usePlateEditor,usePlateViewEditor,getPlateCorePlugins}.ts, packages/core/src/lib/editor/withSlate.ts, packages/core/src/lib/plugins/getCorePlugins.ts, packages/core/src/static/editor/withStatic.tsx, packages/core/src/react/plugin/{createPlatePlugin,toPlatePlugin}.ts, packages/core/src/react/components/{Plate,PlateContent,PlateView,plate-nodes,index}.tsx, packages/core/src/react/stores/plate/*, packages/core/src/react/stores/plate-controller/*, packages/core/src/{index,react/index,static/index}.ts, packages/{core,plate}/package.json, packages/plate/src/{index,react/index,static/index}.tsx, and route metadata.pnpm --filter www check:docs in /Users/zbeyens/git/plate: passed after the Plate Core rewrite.pnpm --filter @platejs/core typecheck in /Users/zbeyens/git/plate: passed after the Plate Core rewrite.createPlateEditor, withPlate, usePlateEditor, usePlateViewEditor, createStaticEditor, withSlate, memo dependency behavior, disabled null return, async onReady force-render path, root plugin hook, and value/selection/normalization options verified.createPlatePlugin, createTPlatePlugin, toPlatePlugin, toTPlatePlugin, Slate-to-Plate conversion, method wrapping for chained plugin methods, and typed conversion surfaces verified.Plate, PlateContent, PlateView, PlateElement, PlateLeaf, PlateText, useEditorRef, useEditorSelector, useEditorPlugin, usePluginOption, usePluginOptions, usePlateStore, PlateController, and usePlateControllerStore verified./docs/api/core, /docs/api/core/plate-components, /docs/api/core/plate-editor, /docs/api/core/plate-plugin, /docs/api/core/plate-store, and /docs/api/core/plate-controller resolve through content/docs/meta.json.otherPlugins, open task marker, or FIXME matches.content/docs/api/core/plate-components.mdx: source-backed against packages/core/src/react/components/{Plate,PlateContent,PlateView,PlateContainer,PlateSlate,ContentVisibilityChunk,EditorHotkeysEffect,EditorMethodsEffect,EditorRefEffect,PlateControllerEffect,PlateTest,plate-nodes,withHOC,index}.ts(x), packages/core/src/react/hooks/{useEditableProps,useSlateProps}.ts, packages/core/src/react/stores/plate/{PlateStore,createPlateStore}.ts, packages/core/src/react/utils/{pipeRenderElement,pipeRenderLeaf,pipeRenderText,pluginRenderElement,pluginRenderLeaf,pluginRenderText,getRenderNodeProps,pipeHandler,dom-attributes}.ts(x), packages/core/src/react/plugin/{PlatePlugin,DOMHandlers}.ts, packages/core/src/static/components/PlateStatic.tsx, and route metadata.pnpm --filter www check:docs in /Users/zbeyens/git/plate: passed after the Plate Components rewrite.pnpm --filter @platejs/core typecheck in /Users/zbeyens/git/plate: passed after the Plate Components rewrite.Plate props, PlateStoreProvider scope, editor-null behavior, readOnly fallback to editor.dom.readOnly, primary, callbacks, suppressInstanceWarning, and UID assignment verified.PlateContent provider requirement, disabled/readOnly store sync, async empty-children null render, renderEditable, useEditableProps, DOM handler pipeline, chunk rendering, Slate extension callback sync, hotkey/editor/controller effects, and editable slot order verified.PlateView default copy handler and prop override order, PlateContainer before/main/after container slots, PlateSlate aboveSlate wrapper, PlateTest helper behavior, ContentVisibilityChunk, and withHOC verified.PlateElement, PlateLeaf, PlateText, useNodeAttributes, block ID behavior, class/style/ref merging, directional and hard affinity spacers, and default as elements verified./docs/api/core/plate-components resolves through content/docs/meta.json.otherPlugins, open task marker, or FIXME matches; placeholder occurrences are legitimate PlateContent prop examples.content/docs/api/core/plate-controller.mdx: source-backed against packages/core/src/react/stores/plate-controller/{plateControllerStore,index}.ts, packages/core/src/react/components/{PlateControllerEffect,PlateContent,Plate}.ts(x), packages/core/src/react/stores/plate/{createPlateStore,PlateStore}.ts, packages/core/src/react/utils/createPlateFallbackEditor.ts, packages/core/src/react/stores/plate-controller/plateControllerStore.spec.tsx, packages/core/src/react/components/PlateControllerEffect.spec.tsx, and route metadata.pnpm --filter www check:docs in /Users/zbeyens/git/plate: passed after the Plate Controller rewrite.pnpm --filter @platejs/core typecheck in /Users/zbeyens/git/plate: passed after the Plate Controller rewrite.PlateController, plateControllerStore, usePlateControllerLocalStore, usePlateControllerExists, usePlateControllerStore, activeId, editorStores, primaryEditorIds, direct ID lookup, active lookup, primary fallback lookup, and null result behavior verified.PlateControllerEffect registration, unmount cleanup, primary-editor append/remove behavior, active ID focus behavior, and no-controller no-throw behavior verified.usePlateStore controller fallback path, createPlateFallbackEditor, editor.meta.isFallback, immutable apply error, and useEditorMounted guard verified./docs/api/core/plate-controller resolves through content/docs/meta.json; stale /docs/api/core/store, withHoc, and primary inside createPlateEditor patterns removed.otherPlugins, open task marker, or FIXME matches.Verification evidence:
Doc: rows and 124 checked .cn.mdx translation inventory rows.pnpm --filter www build:source in /Users/zbeyens/git/plate passed.pnpm --filter www check:docs in /Users/zbeyens/git/plate passed.pnpm --filter www typecheck in /Users/zbeyens/git/plate passed.pnpm lint:fix in /Users/zbeyens/git/plate passed with no fixes applied.PLUGIN_NODE_TYPE to content/docs/(guides)/debugging.mdx, clarified @platejs/autoformat compatibility-package ownership in content/docs/(guides)/plugin-input-rules.mdx, and corrected full editor kit install paths in content/docs/(guides)/feature-kits.mdx..agents/skills/autoreview/scripts/autoreview --mode local --engine claude --prompt "<docs-restyle scope>" passed with no accepted/actionable findings. The default Codex engine was attempted first and failed due a local usage limit, so Claude was used as the helper-supported review engine.node .agents/skills/autogoal/scripts/check-complete.mjs docs/plans/2026-05-31-restyle-docs-one-by-one.md passed after Closeout and fresh final evidence were recorded.Final handoff contract:
pnpm --filter www build:source, check:docs, and typecheck passed..cn.mdx translation surfaces inventoried/deferred.Final handoff / sync:
Timeline:
content/docs/index.mdx after rewrite and focused verification.content/docs/installation.mdx after rewrite and focused verification.content/docs/installation/docs.mdx after rewrite and focused verification.content/docs/installation/manual.mdx after rewrite and focused verification.content/docs/installation/mcp.mdx after rewrite and focused verification.content/docs/installation/next.mdx after rewrite and focused verification.content/docs/installation/node.mdx after rewrite and focused verification.content/docs/installation/plate-ui.mdx after rewrite and focused verification.content/docs/installation/react.mdx after rewrite and focused verification.content/docs/installation/rsc.mdx after rewrite and focused verification.content/docs/(guides)/controlled.mdx after rewrite and focused verification.content/docs/(guides)/debugging.mdx after rewrite and focused verification.content/docs/(guides)/editor-methods.mdx after rewrite and focused verification.content/docs/(guides)/editor.mdx after rewrite and focused verification.content/docs/(guides)/feature-kits.mdx after rewrite and focused verification.content/docs/(guides)/form.mdx after rewrite and focused verification.content/docs/(guides)/playwright.mdx after rewrite and focused verification.content/docs/(guides)/plugin-components.mdx after rewrite and focused verification.content/docs/(guides)/plugin-context.mdx after rewrite and focused verification.content/docs/(guides)/plugin-input-rules.mdx after focused cleanup and verification.content/docs/(guides)/plugin-methods.mdx after rewrite and focused verification.content/docs/(guides)/plugin-rules.mdx after rewrite and focused verification.content/docs/(guides)/plugin-shortcuts.mdx after rewrite and focused verification.content/docs/(guides)/plugin.mdx after rewrite and focused verification.content/docs/(guides)/static.mdx after rewrite and focused verification.content/docs/(guides)/troubleshooting.mdx after rewrite and focused verification.content/docs/(guides)/typescript.mdx after rewrite and focused verification.content/docs/(guides)/unit-testing.mdx after rewrite and focused verification.content/docs/(plugins)/(ai)/ai.mdx after rewrite and focused verification; live HTTP proof blocked by local dev-server nonresponse.content/docs/(plugins)/(ai)/copilot.mdx after rewrite and focused verification.content/docs/(plugins)/(collaboration)/comment.mdx after rewrite and focused verification.content/docs/(plugins)/(collaboration)/discussion.mdx after rewrite and focused verification.content/docs/(plugins)/(collaboration)/suggestion.mdx after rewrite and focused verification.content/docs/(plugins)/(collaboration)/yjs.mdx after rewrite and focused verification.content/docs/(plugins)/(elements)/basic-blocks.mdx after rewrite and focused verification.content/docs/(plugins)/(elements)/blockquote.mdx after rewrite and focused verification.content/docs/(plugins)/(elements)/callout.mdx after rewrite and focused verification.content/docs/(plugins)/(elements)/code-block.mdx after rewrite and focused verification.content/docs/(plugins)/(elements)/code-drawing.mdx after rewrite and focused verification.content/docs/(plugins)/(elements)/column.mdx after rewrite and focused verification.content/docs/(plugins)/(elements)/date.mdx after rewrite and focused verification.content/docs/(plugins)/(elements)/equation.mdx after rewrite and focused verification.content/docs/(plugins)/(elements)/excalidraw.mdx after rewrite and focused verification.content/docs/(plugins)/(elements)/footnote.mdx after rewrite and focused verification.content/docs/(plugins)/(elements)/heading.mdx after rewrite and focused verification.content/docs/(plugins)/(elements)/horizontal-rule.mdx after rewrite and focused verification.content/docs/(plugins)/(elements)/link.mdx after rewrite and focused verification.content/docs/(plugins)/(elements)/list-classic.mdx after rewrite and focused verification.content/docs/(plugins)/(elements)/media.mdx after rewrite and focused verification.content/docs/(plugins)/(elements)/mention.mdx after rewrite and focused verification.content/docs/(plugins)/(elements)/table.mdx after rewrite and focused verification.content/docs/(plugins)/(elements)/toc.mdx after rewrite and focused verification.content/docs/(plugins)/(elements)/toggle.mdx after rewrite and focused verification.content/docs/(plugins)/(functionality)/(combobox)/combobox.mdx after rewrite and focused verification.content/docs/(plugins)/(functionality)/(combobox)/emoji.mdx after rewrite and focused verification.content/docs/(plugins)/(functionality)/(combobox)/slash-command.mdx after rewrite and focused verification.content/docs/(plugins)/(functionality)/(utils)/exit-break.mdx after rewrite and focused verification.content/docs/(plugins)/(functionality)/(utils)/forced-layout.mdx after rewrite and focused verification.content/docs/(plugins)/(functionality)/(utils)/single-block.mdx after rewrite and focused verification.content/docs/(plugins)/(functionality)/(utils)/trailing-block.mdx after rewrite and focused verification.content/docs/(plugins)/(functionality)/autoformat.mdx after rewrite and focused verification.content/docs/(plugins)/(functionality)/block-menu.mdx after rewrite and focused verification.content/docs/(plugins)/(functionality)/block-placeholder.mdx after rewrite and focused verification.content/docs/(plugins)/(functionality)/block-selection.mdx after rewrite and focused verification.content/docs/(plugins)/(functionality)/caption.mdx after rewrite and focused verification.content/docs/(plugins)/(functionality)/cursor-overlay.mdx after rewrite and focused verification.content/docs/(plugins)/(functionality)/dnd.mdx after rewrite and focused verification.content/docs/(plugins)/(functionality)/find-replace.mdx after rewrite and focused verification.content/docs/(plugins)/(functionality)/multi-select.mdx after rewrite and focused verification.content/docs/(plugins)/(functionality)/navigation-feedback.mdx after rewrite and focused verification.content/docs/(plugins)/(functionality)/tabbable.mdx after rewrite and focused verification.content/docs/(plugins)/(functionality)/toolbar.mdx after rewrite and focused verification.content/docs/(plugins)/(marks)/basic-marks.mdx after rewrite and focused verification.content/docs/(plugins)/(marks)/bold.mdx after rewrite and focused verification.content/docs/(plugins)/(marks)/code.mdx after rewrite and focused verification.content/docs/(plugins)/(marks)/highlight.mdx after rewrite and focused verification.content/docs/(plugins)/(marks)/italic.mdx after rewrite and focused verification.content/docs/(plugins)/(marks)/kbd.mdx after rewrite and focused verification.content/docs/(plugins)/(marks)/strikethrough.mdx after rewrite and focused verification.content/docs/(plugins)/(marks)/subscript.mdx after rewrite and focused verification.content/docs/(plugins)/(marks)/superscript.mdx after rewrite and focused verification.content/docs/(plugins)/(marks)/underline.mdx after rewrite and focused verification.content/docs/(plugins)/(serializing)/csv.mdx after rewrite and focused verification.content/docs/(plugins)/(serializing)/docx-io.mdx after rewrite and focused verification.content/docs/(plugins)/(serializing)/docx.mdx after rewrite and focused verification.content/docs/(plugins)/(serializing)/html.mdx after rewrite and focused verification.content/docs/(plugins)/(serializing)/markdown.mdx after rewrite and focused verification.content/docs/(plugins)/(styles)/font.mdx after rewrite and focused verification.content/docs/(plugins)/(styles)/indent.mdx after rewrite and focused verification.content/docs/(plugins)/(styles)/line-height.mdx after rewrite and focused verification.content/docs/(plugins)/(styles)/list.mdx after rewrite and focused verification.content/docs/(plugins)/(styles)/text-align.mdx after rewrite and focused verification.content/docs/api/cn.mdx after rewrite and focused verification.content/docs/api/core.mdx after rewrite and focused verification.content/docs/api/core/plate-components.mdx after rewrite and focused verification.content/docs/api/core/plate-controller.mdx after rewrite and focused verification.Reboot status:
| Question | Answer |
|---|---|
| Where am I? | Closeout; all 127 canonical English docs are checked and all 124 translation files are inventoried. |
| Where am I going? | Run the final mechanical autogoal check, then close the active goal. |
| What is the goal? | Restyle canonical Plate English docs one doc at a time to match docs-creator style, with per-doc checks and translation inventory. |
| What have I learned? | The rewritten corpus needs tight ownership boundaries: package-owned APIs, registry-owned UI, app-owned persistence/storage/routes, and translation surfaces deferred instead of half-rewritten. |
| What have I done? | Rewrote or accepted every canonical English doc with per-doc evidence, fixed autoreview findings in debugging, input rules, and feature kits, and kept translation parity as an explicit inventory. |
Open risks:
.cn.mdx file is inventoried and deferred.