Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/app/app.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -84,11 +84,11 @@ export default defineAppConfig({
'/guide/devframe-definition',
'/guide/rpc',
'/guide/shared-state',
'/guide/streaming',
'/guide/client-assets',
'/guide/scoped-context',
'/guide/json-render',
'/guide/diagnostics',
'/guide/streaming',
],
},
{
Expand Down
2 changes: 2 additions & 0 deletions docs/content/1.guide/0.getting-started.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: 'Getting Started'
navigation:
icon: i-lucide-rocket
description: 'Answer a few questions about the devtool you want to build and get a reading list tailored to it.'
---

Expand Down
2 changes: 2 additions & 0 deletions docs/content/1.guide/1.tutorial-server-data-inspector.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: 'Tutorial: Build a Server Data Inspector'
navigation:
icon: i-lucide-graduation-cap
description: 'Build a devtool that displays and queries live server-side data, then ship it as a hub dock entry, a static build, a standalone dev server, and a CLI.'
---

Expand Down
2 changes: 2 additions & 0 deletions docs/content/1.guide/10.standalone-cli.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: 'Standalone CLI with Devframe'
navigation:
icon: i-lucide-terminal
description: 'npx my-tool starts a dev server serving a Vue/Nuxt/React SPA over type-safe RPC, plus build/mcp.'
---

Expand Down
2 changes: 2 additions & 0 deletions docs/content/1.guide/11.client.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: 'Client'
navigation:
icon: i-lucide-globe
description: 'The RPC client connects any surface — dock iframe, remote page, standalone SPA — to a devframe''s node side with type-safe RPC, shared state, and a trust handshake.'
---

Expand Down
2 changes: 2 additions & 0 deletions docs/content/1.guide/12.in-page-channel.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: 'In-Page Channel'
navigation:
icon: i-lucide-message-square-code
description: 'The in-page channel connects a devframe''s page script to its panels entirely in the browser — typed events, calls, and page-script-authoritative shared state, with no server involved.'
---

Expand Down
2 changes: 2 additions & 0 deletions docs/content/1.guide/13.transports.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: 'Transports'
navigation:
icon: i-lucide-cable
description: 'Devframe serves live RPC over two interchangeable transports — WebSocket and SSE — so an RPC client connects even where the WebSocket upgrade is unavailable (serverless, buffering proxies). Both speak the identical birpc wire protocol, transparent to your RPC code.'
---

Expand Down
2 changes: 2 additions & 0 deletions docs/content/1.guide/14.security.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: 'Security'
navigation:
icon: i-lucide-shield-check
description: 'Devframe tools are secure by default: connections bind to localhost, and dev-mode RPC requires a trust handshake before accepting a browser.'
---

Expand Down
2 changes: 2 additions & 0 deletions docs/content/1.guide/15.agent-native.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: 'Agent-Native Devframe'
navigation:
icon: i-lucide-bot
description: 'Devframe exposes its browser-side API — RPC functions, resources, shared state — to coding agents over MCP, opt-in per function.'
---

Expand Down
2 changes: 2 additions & 0 deletions docs/content/1.guide/16.hub.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: 'Hub'
navigation:
icon: i-lucide-layout-dashboard
description: '@devframes/hub orchestrates many devtools sharing a UI: a dock registry, terminal aggregation, message/toast queue, and command palette. It ships no UI — hub UI providers provide their own atop the hub''s RPC + shared-state protocol.'
---

Expand Down
2 changes: 2 additions & 0 deletions docs/content/1.guide/17.client-context.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: 'Client Scripts & Client Context'
navigation:
icon: i-lucide-square-code
description: 'A dock client script runs a devframe''s code inside the host page; the client context is how client scripts reach the hub.'
---

Expand Down
2 changes: 2 additions & 0 deletions docs/content/1.guide/18.hub-initiate.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: 'Serve a Hub Anywhere'
navigation:
icon: i-lucide-server
description: 'initHub() from @devframes/hub/initiate serves a whole multi-devframe devtools install from one web-standard handler on a catch-all route.'
---

Expand Down
2 changes: 2 additions & 0 deletions docs/content/1.guide/19.services.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: 'Cross-Devframe Services'
navigation:
icon: i-lucide-share-2
description: 'ctx.services lets one devframe expose a typed, namespaced capability visible to every devframe. Two tiers: in-process services (provide/get) share live objects between devframes; wire services also register RPC and advertise to RPC clients.'
---

Expand Down
2 changes: 2 additions & 0 deletions docs/content/1.guide/2.devframe-definition.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: 'Devframe Definition'
navigation:
icon: i-lucide-file-code
description: 'One defineDevframe call returns a portable DevframeDefinition any adapter consumes.'
---

Expand Down
2 changes: 2 additions & 0 deletions docs/content/1.guide/20.deep-linking.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: 'Deep Linking'
navigation:
icon: i-lucide-link
description: 'Send a user to a view inside a devframe — from another dock, a coding agent, or a copied URL — two ways: the hub relays a dock activation to focus a dock in place; a standalone SPA reads its URL hash to restore the view.'
---

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: 'Build Your Own JSON-Render Frontend'
navigation:
icon: i-lucide-paintbrush
description: '@devframes/json-render-ui is the reference frontend, not the protocol; any implementation of the renderer contract replaces it. The Next hub witness ships a React one at src/client/json-render/.'
---

Expand Down
2 changes: 2 additions & 0 deletions docs/content/1.guide/22.build-your-own-hub-ui.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: 'Build Your Own Hub UI'
navigation:
icon: i-lucide-palette
description: 'A hub UI provider implements two contracts — the node-side ui slot and the browser-side context. @devframes/hub-ui is the reference.'
---

Expand Down
2 changes: 2 additions & 0 deletions docs/content/1.guide/23.built-with.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: 'Built with Devframe'
navigation:
icon: i-lucide-blocks
description: 'Real-world devtools and hub UI providers built on devframe — from Vite DevTools to ESLint Config Inspector.'
---

Expand Down
2 changes: 2 additions & 0 deletions docs/content/1.guide/3.rpc.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: 'RPC'
navigation:
icon: i-lucide-repeat
description: 'Type-safe, bidirectional RPC built on birpc, validated against any Standard Schema validator. Dev runs over WebSocket; build/SPA serves a pre-computed static dump.'
---

Expand Down
2 changes: 2 additions & 0 deletions docs/content/1.guide/4.shared-state.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: 'Shared State'
navigation:
icon: i-lucide-database-zap
description: 'Shared state is observable, immutable-by-default state synced between the node side and every RPC client, surviving reconnects — a new RPC client gets the snapshot.'
---

Expand Down
2 changes: 2 additions & 0 deletions docs/content/1.guide/5.streaming.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: 'Streaming'
navigation:
icon: i-lucide-radio
description: 'Streaming channels push chunk-style data from the node side to the browser side over the RPC socket.'
---

Expand Down
2 changes: 2 additions & 0 deletions docs/content/1.guide/6.client-assets.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: 'Client Assets'
navigation:
icon: i-lucide-folder
description: 'A devframe''s UI is a built SPA; clientAssets says where it lives — a local directory or published npm package.'
---

Expand Down
2 changes: 2 additions & 0 deletions docs/content/1.guide/7.scoped-context.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: 'Scoped Context'
navigation:
icon: i-lucide-box
description: 'A scoped context is a namespaced view of the context: it auto-prefixes every RPC id, shared-state key, and streaming channel with your tool''s id, and adds a typed, persisted settings store, used from a single tool''s code.'
---

Expand Down
2 changes: 2 additions & 0 deletions docs/content/1.guide/8.json-render.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: 'JSON-Render'
navigation:
icon: i-lucide-braces
description: 'JSON-render describes a UI as data — a serializable component spec any frontend renders. Opt-in: a plain devframe pulls zero JSON-render dependencies. Two packages:'
---

Expand Down
2 changes: 2 additions & 0 deletions docs/content/1.guide/9.diagnostics.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: 'Structured Diagnostics'
navigation:
icon: i-lucide-stethoscope
description: 'ctx.diagnostics is a thin layer over nostics for author-defined coded diagnostics, each with a stable code, docs URL, and structured payload.'
---

Expand Down
2 changes: 2 additions & 0 deletions docs/content/1.guide/index.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: 'Introduction'
navigation:
icon: i-lucide-book-open
description: 'Devframe is a framework-neutral foundation for building a devtool once and running it everywhere - inside any host framework, as a standalone tool, or through a coding agent.'
---

Expand Down
2 changes: 2 additions & 0 deletions docs/content/2.adapters/1.initiate.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: 'The Standard Handler'
navigation:
icon: i-lucide-webhook
description: 'initDevframe() turns a DevframeDefinition into a running devframe whose .handler — a Web Standard (request: Request) => Promise<Response> — carries everything a devframe serves (SPA, __connection.json discovery, RPC socket, auth gate, MCP route) under one mount base. Every other serving path — adapters,…'
---

Expand Down
2 changes: 2 additions & 0 deletions docs/content/2.adapters/2.cac.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: 'CLI (cac)'
navigation:
icon: i-lucide-terminal
description: 'A cac CLI around a DevframeDefinition with dev, build, and mcp commands. cac is an optional peer:'
---

Expand Down
2 changes: 2 additions & 0 deletions docs/content/2.adapters/3.dev.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: 'Dev'
navigation:
icon: i-lucide-server-cog
description: 'createCac''s building block: h3 + WebSocket RPC + the SPA at the resolved base path.'
---

Expand Down
2 changes: 2 additions & 0 deletions docs/content/2.adapters/4.build.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: 'Build'
navigation:
icon: i-lucide-package
description: 'Produces a static deploy:'
---

Expand Down
2 changes: 2 additions & 0 deletions docs/content/2.adapters/5.vite.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: 'Vite'
navigation:
icon: i-simple-icons-vite
description: 'Wraps a DevframeDefinition so Vite DevTools'' kit plugin-scan picks it up. The factory lives in @vitejs/devtools-kit/node, keeping devframe Vite-free.'
---

Expand Down
2 changes: 2 additions & 0 deletions docs/content/2.adapters/6.embedded.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: 'Embedded'
navigation:
icon: i-lucide-box
description: 'Register a devframe into an already-running context at runtime — dynamic, post-startup registration (unlike vite''s plugin-scan). Inherits the hosted /__<id>/ default.'
---

Expand Down
2 changes: 2 additions & 0 deletions docs/content/2.adapters/7.mcp.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: 'MCP'
navigation:
icon: i-lucide-bot
description: 'Exposes a devframe''s agent-facing API as a Model Context Protocol server: coding agents call flagged RPCs and read resources.'
---

Expand Down
2 changes: 2 additions & 0 deletions docs/content/2.adapters/index.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: 'Adapters'
navigation:
icon: i-lucide-plug
description: 'The lowest-level path is the standard handler, initDevframe(def, { base }) — a Web Standard (request: Request) => Promise<Response> for any catch-all route. Every path below builds on it.'
---

Expand Down
2 changes: 2 additions & 0 deletions docs/content/3.frameworks/1.vite.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: 'Vite'
navigation:
icon: i-simple-icons-vite
description: '@devframes/vite splits into @devframes/vite/single (dev-serve one devframe''s SPA) and @devframes/vite/hub (mount a hub); the bare import throws.'
---

Expand Down
2 changes: 2 additions & 0 deletions docs/content/3.frameworks/2.nuxt.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: 'Nuxt'
navigation:
icon: i-simple-icons-nuxtdotjs
description: '@devframes/nuxt splits into @devframes/nuxt/single (author one devframe) and @devframes/nuxt/hub (mount a hub); the bare import throws.'
---

Expand Down
2 changes: 2 additions & 0 deletions docs/content/3.frameworks/3.next.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: 'Next'
navigation:
icon: i-simple-icons-nextdotjs
description: '@devframes/next hosts devframes from a Next.js App Router app via a route handler: one fetch handler serves each SPA and its __connection.json via serveStaticHandler.'
---

Expand Down
2 changes: 2 additions & 0 deletions docs/content/3.frameworks/index.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: 'Frameworks'
navigation:
icon: i-lucide-layers
description: 'The framework kits — @devframes/vite, @devframes/nuxt, @devframes/next — integrate devframe with a meta-framework''s dev server. Two subpaths:'
---

Expand Down
2 changes: 2 additions & 0 deletions docs/content/4.helpers/1.utilities.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: 'Utilities'
navigation:
icon: i-lucide-wrench
description: 'Small, stable helpers under devframe/utils/* — bundled in, no npm install.'
---

Expand Down
2 changes: 2 additions & 0 deletions docs/content/4.helpers/2.common-rpc-functions.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: 'Common RPC Functions'
navigation:
icon: i-lucide-repeat
description: 'Prebuilt RPC actions: open a file in an editor, reveal a path in the OS.'
---

Expand Down
2 changes: 2 additions & 0 deletions docs/content/4.helpers/3.interactive-auth.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: 'Interactive Auth'
navigation:
icon: i-lucide-key-round
description: 'An OTP auth layer over devframe''s node-side primitives (exchangeTempAuthCode / verifyAuthToken / revokeAuthToken), so a host framework needn''t re-implement the protocol.'
---

Expand Down
2 changes: 2 additions & 0 deletions docs/content/4.helpers/index.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: 'Helpers'
navigation:
icon: i-lucide-wrench
description: 'Helpers are the optional layer around defineDevframe: prebuilt RPC recipes and low-level utilities from the devframe package.'
---

Expand Down
2 changes: 2 additions & 0 deletions docs/content/5.plugins/1.data-inspector.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: 'Data Inspector'
navigation:
icon: i-ph:crosshair-duotone
description: 'A Vue query workbench for live server-side objects: register data sources, then compose jora queries in the owning process.'
---

Expand Down
2 changes: 2 additions & 0 deletions docs/content/5.plugins/2.inspect.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: 'Devframe Inspector'
navigation:
icon: i-ph:stethoscope-duotone
description: 'A self-inspector for any devframe connection, including the host framework''s — a Vue SPA.'
---

Expand Down
2 changes: 2 additions & 0 deletions docs/content/5.plugins/3.og.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: 'Open Graph Viewer'
navigation:
icon: i-ph:image-square-duotone
description: 'Inspect a page''s Open Graph / Twitter metadata and social cards, built as a Vue + Vite SPA.'
---

Expand Down
2 changes: 2 additions & 0 deletions docs/content/5.plugins/4.a11y.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: 'Accessibility Inspector'
navigation:
icon: i-ph:person-simple-circle-duotone
description: 'Runs axe-core against the user app, lists WCAG A/AA violations in a Solid panel, and highlights the element on hover.'
---

Expand Down
2 changes: 2 additions & 0 deletions docs/content/5.plugins/5.git.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: 'Git'
navigation:
icon: i-ph:git-branch-duotone
description: 'A repository dashboard — a Next.js + shadcn/ui SPA that shells out to git. The same bundle runs live or static.'
---

Expand Down
2 changes: 2 additions & 0 deletions docs/content/5.plugins/6.terminals.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: 'Terminals'
navigation:
icon: i-ph:terminal-window-duotone
description: 'A terminal panel — a Svelte SPA on xterm.js.'
---

Expand Down
2 changes: 2 additions & 0 deletions docs/content/5.plugins/7.code-server.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: 'Code Server'
navigation:
icon: i-ph:code-duotone
description: 'Run VS Code in the browser as a devframe panel: detect a local editor, launch on demand, embed in an auto-authenticated iframe.'
---

Expand Down
Loading
Loading