This is a Svelte 5 renderer for the json-render library that lets you build UIs from JSON specs. You define a component catalog with Zod schemas, register your Svelte components, and the renderer turns JSON into live component trees. It includes state management via JSON Pointers, event handling through an action system, conditional visibility, and two-way binding helpers. The streaming UI support is clever: you can pipe specs from an API and render them progressively while they're still generating. Most useful when you're building AI-generated interfaces, component previews, or any system where you need to dynamically render Svelte UIs from declarative specs without hardcoding the structure.

skills.sh installs
1.2K
GitHub stars
19.5K
last updated
Aug 21, 2026

Install

$ npx -y skills add vercel-labs/json-render --skill svelte --agent claude-code

Installs into .claude/skills of the current project.

Files

@json-render/svelte

Svelte 5 renderer that converts json-render specs into Svelte component trees.

Quick Start

<script lang="ts">
  import { Renderer, JsonUIProvider } from "@json-render/svelte";
  import type { Spec } from "@json-render/svelte";
  import Card from "./components/Card.svelte";
  import Button from "./components/Button.svelte";

  interface Props {
    spec: Spec | null;
  }

  let { spec }: Props = $props();
  const registry = { Card, Button };
</script>

<JsonUIProvider>
  <Renderer {spec} {registry} />
</JsonUIProvider>

Creating a Catalog

import { defineCatalog } from "@json-render/core";
import { schema } from "@json-render/svelte";
import { z } from "zod";

export const catalog = defineCatalog(schema, {
  components: {
    Button: {
      props: z.object({
        label: z.string(),
        variant: z.enum(["primary", "secondary"]).nullable(),
      }),
      description: "Clickable button",
    },
    Card: {
      props: z.object({ title: z.string() }),
      description: "Card container with title",
    },
  },
});

Defining Components

Components should accept BaseComponentProps<TProps>:

Sponsors

Details

Repository
github.com/vercel-labs/json-render
Categories
Frontend Development, AI & Agent Building, Cloud & Infrastructure
First seen
May 16, 2026

More from vercel-labs/json-render

All 31
1zarazhangrui avatarfrontend-slideszarazhangrui/frontend-slidesCreate stunning, animation-rich HTML presentations from scratch or by converting PowerPoint files. Use when the user wants to build a presentation, convert a PP1.2Kskills.sh installs
2pixel-process-ug avatarui-ux-pro-maxpixel-process-ug/superkit-agentsUse when the user needs full UI/UX design intelligence — styles, palettes, fonts, UX guidelines, chart selection, and accessible, performant implementation acro1.2Kskills.sh installs
3am-will avatarvercel-react-best-practicesam-will/codex-skillsReact and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js c1.2Kskills.sh installs
4aj-geddes avatarresponsive-web-designaj-geddes/useful-ai-promptsCreate responsive layouts using CSS Grid, Flexbox, media queries, and mobile-first design. Use when building adaptive interfaces that work across all devices.1.1Kskills.sh installs
5adobe avatarcreate-componentadobe/skillsCreates complete AEM components with dialog, HTL template, Sling Model, unit tests, and clientlibs. Supports extending Core Components and project components. W1.1Kskills.sh installs
6cap-go avatartailwind-capacitorcap-go/capgo-skillsGuide to using Tailwind CSS in Capacitor mobile apps. Covers mobile-first design, touch targets, safe areas, dark mode, and performance optimization. Use this s1Kskills.sh installs