|
3 | 3 | * Interactive "what should I read" wizard for the Getting Started guide. |
4 | 4 | * |
5 | 5 | * Every question is a grid of selectable cards (multiple answers allowed per |
6 | | - * question, since a real devtool usually spans more than one answer - e.g. |
7 | | - * it reads from both the node side and the user's web app). Selections |
| 6 | + * question, since a real devtool usually spans more than one answer: for |
| 7 | + * example, it reads from both the node side and the user's web app). Selections |
8 | 8 | * persist to `localStorage` so a reader can leave the page and pick up where |
9 | 9 | * they left off; the recommended reading list at the bottom recomputes from |
10 | 10 | * whatever is currently checked. |
@@ -126,22 +126,22 @@ const DOC_CATALOG: Record<string, DocEntry> = { |
126 | 126 | '/guide/rpc': { title: 'RPC', description: 'Type-safe, bidirectional calls between the node side and the browser side.', icon: 'i-lucide-cable' }, |
127 | 127 | '/guide/shared-state': { title: 'Shared State', description: 'Observable state synced between the node side and every RPC client.', icon: 'i-lucide-refresh-cw' }, |
128 | 128 | '/guide/streaming': { title: 'Streaming', description: 'Push chunk-style data from the node side to the browser side.', icon: 'i-lucide-radio' }, |
129 | | - '/guide/client-assets': { title: 'Client Assets', description: 'Where a devframe\'s built SPA lives - a local directory or an npm package.', icon: 'i-lucide-folder-tree' }, |
| 129 | + '/guide/client-assets': { title: 'Client Assets', description: 'Where a devframe\'s built SPA lives: a local directory or an npm package.', icon: 'i-lucide-folder-tree' }, |
130 | 130 | '/guide/client': { title: 'Client', description: 'Connects any surface to a devframe\'s node side with RPC and shared state.', icon: 'i-lucide-plug' }, |
131 | 131 | '/guide/transports': { title: 'Transports', description: 'Live RPC over WebSocket or SSE, transparent to your RPC code.', icon: 'i-lucide-waypoints' }, |
132 | 132 | '/guide/security': { title: 'Security', description: 'Localhost binding and a trust handshake before a browser can call RPC.', icon: 'i-lucide-shield-check' }, |
133 | 133 | '/guide/agent-native': { title: 'Agent-Native Devframe', description: 'Expose RPC functions, resources, and shared state to coding agents over MCP.', icon: 'i-lucide-bot' }, |
134 | | - '/guide/hub': { title: 'Hub', description: 'Orchestrate many devtools sharing one UI - docks, terminals, messages, commands.', icon: 'i-lucide-layout-dashboard' }, |
| 134 | + '/guide/hub': { title: 'Hub', description: 'Orchestrate many devtools sharing one UI: docks, terminals, messages, commands.', icon: 'i-lucide-layout-dashboard' }, |
135 | 135 | '/guide/client-context': { title: 'Client Scripts & Client Context', description: 'How a dock client script runs a devframe\'s code inside the host page.', icon: 'i-lucide-code' }, |
136 | 136 | '/guide/hub-initiate': { title: 'Serve a Hub Anywhere', description: 'initHub() serves a whole multi-devframe install from one handler.', icon: 'i-lucide-server-cog' }, |
137 | 137 | '/guide/services': { title: 'Cross-Devframe Services', description: 'Expose a typed, namespaced capability to every devframe in a hub.', icon: 'i-lucide-share-2' }, |
138 | 138 | '/guide/deep-linking': { title: 'Deep Linking', description: 'Send a user to a specific view inside a devframe from a URL or an agent.', icon: 'i-lucide-link' }, |
139 | | - '/guide/json-render': { title: 'JSON-Render', description: 'Describe a UI as data - a serializable component spec any frontend renders.', icon: 'i-lucide-braces' }, |
| 139 | + '/guide/json-render': { title: 'JSON-Render', description: 'Describe a UI as data: a serializable component spec any frontend renders.', icon: 'i-lucide-braces' }, |
140 | 140 | '/guide/build-your-own-json-render-frontend': { title: 'Build Your Own JSON-Render Frontend', description: 'Implement the renderer contract in your own framework instead of the reference one.', icon: 'i-lucide-component' }, |
141 | | - '/guide/build-your-own-hub-ui': { title: 'Build Your Own Hub UI', description: 'The two contracts a hub UI provider implements - node side and browser side.', icon: 'i-lucide-layout-panel-left' }, |
| 141 | + '/guide/build-your-own-hub-ui': { title: 'Build Your Own Hub UI', description: 'The two contracts a hub UI provider implements: node side and browser side.', icon: 'i-lucide-layout-panel-left' }, |
142 | 142 | '/guide/standalone-cli': { title: 'Standalone CLI with Devframe', description: 'npx my-tool starts a dev server serving your SPA over type-safe RPC.', icon: 'i-lucide-terminal' }, |
143 | 143 | '/references/interactive-auth': { title: 'Interactive Auth', description: 'An OTP auth layer over devframe\'s node-side primitives.', icon: 'i-lucide-key-round' }, |
144 | | - '/references/utilities': { title: 'Utilities', description: 'Small, stable helpers bundled into devframe - no npm install.', icon: 'i-lucide-wrench' }, |
| 144 | + '/references/utilities': { title: 'Utilities', description: 'Small, stable helpers bundled into devframe, no npm install.', icon: 'i-lucide-wrench' }, |
145 | 145 | '/adapters': { title: 'Adapters', description: 'Every path from a DevframeDefinition to a running devframe.', icon: 'i-lucide-shuffle' }, |
146 | 146 | '/adapters/initiate': { title: 'The Standard Handler', description: 'initDevframe() turns a definition into a Web Standard Request → Response handler.', icon: 'i-lucide-server' }, |
147 | 147 | '/adapters/cac': { title: 'CLI (cac)', description: 'A cac CLI around a DevframeDefinition with dev, build, and mcp commands.', icon: 'i-lucide-square-terminal' }, |
|
0 commit comments