Skip to main content

devtools-react

React adapter for the json-render devtools inspector. Use whenever the user wants to add, configure, or troubleshoot @json-render/devtools-react in a React json-render app, including spec inspection, state editing, action and stream timelines, catalog browsing, or DOM picking.

Jump to install

Source facts

Repository
vercel-labs/json-render
Last source activity
September 18, 2026 at 18:44
Detected SKILL.md language
English
Stars
18,340
Forks
971

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
devtools-react
description
React adapter for the json-render devtools inspector. Use whenever the user wants to add, configure, or troubleshoot @json-render/devtools-react in a React json-render app, including spec inspection, state editing, action and stream timelines, catalog browsing, or DOM picking.
# @json-render/devtools-react React adapter for the json-render devtools panel. Read `skills/devtools/SKILL.md` for the shared panel capabilities, props, docking behavior, and server-side stream taps. ## Install ```bash npm install @json-render/devtools @json-render/devtools-react ``` ## Mount the panel Mount `JsonRenderDevtools` inside the existing React json-render provider so it can observe the renderer's state, actions, and streams: ```tsx import { JsonRenderDevtools } from "@json-render/devtools-react"; <JSONUIProvider registry={registry} handlers={handlers}> <Renderer spec={spec} registry={registry} /> <JsonRenderDevtools spec={spec} catalog={catalog} messages={messages} /> </JSONUIProvider>; ``` The component renders nothing in production builds. The panel provides the shared devtools controls, including the `Ctrl`/`Cmd` + `Shift` + `J` shortcut. ## Imperative controls Use `useJsonRenderDevtools` from any mounted React descendant: ```tsx import { useJsonRenderDevtools } from "@json-render/devtools-react"; const devtools = useJsonRenderDevtools(); devtools?.open(); devtools?.toggle(); devtools?.recordEvent({ kind: "stream-text", at: Date.now(), text: "hi" }); ``` The hook returns `null` in production or before the component has mounted. Keep server-side stream instrumentation in `@json-render/devtools`.
View on GitHub