---
name: "@ai-elements"
slug: "ai-elements"
description: "Official Vercel AI SDK component registry (also distributed as ai-elements CLI) for building AI-native Next.js applications. Components span: Chatbot, Conversation, Message, Prompt Input, Model Selector, Reasoning/Chain-of-Thought display, Inline Citation, Confirmation, Checkpoint, Context, Suggestion, Task, Queue, Tool display, Code Block, Commit, File Tree, JSX Preview, Package Info, Sandbox, Schema Display, Snippet, Stack Trace, Terminal, Test Results, Web Preview, Audio Player, Mic Selector, and more. Requires Vercel AI SDK + shadcn/ui + Tailwind CSS. Free, open-source. Use for: AI-first Next.js apps that need a full suite of streaming-ready chat and agentic display components wired to the Vercel AI SDK out of the box."
category: "AI/chat UI"
tags: ["accessibility", "ai", "audio", "blocks", "cards", "developer-tools", "forms", "loaders", "media", "overlays", "retro"]
framework: "react"
license: null
author: "vercel"
website: "https://ai-sdk.dev/elements"
github: "https://github.com/vercel/ai-elements"
registry: "https://ai-sdk.dev/elements/api/registry/registry.json"
pro: false
pro_url: null
github_stars: 2192
component_count: 136
generated_at: "2026-07-28T08:00:50.948Z"
---

# @ai-elements

Official Vercel AI SDK component registry (also distributed as ai-elements CLI) for building AI-native Next.js applications. Components span: Chatbot, Conversation, Message, Prompt Input, Model Selector, Reasoning/Chain-of-Thought display, Inline Citation, Confirmation, Checkpoint, Context, Suggestion, Task, Queue, Tool display, Code Block, Commit, File Tree, JSX Preview, Package Info, Sandbox, Schema Display, Snippet, Stack Trace, Terminal, Test Results, Web Preview, Audio Player, Mic Selector, and more. Requires Vercel AI SDK + shadcn/ui + Tailwind CSS. Free, open-source. Use for: AI-first Next.js apps that need a full suite of streaming-ready chat and agentic display components wired to the Vercel AI SDK out of the box.

## Links

- Website: https://ai-sdk.dev/elements
- GitHub: https://github.com/vercel/ai-elements
- Registry JSON: https://ai-sdk.dev/elements/api/registry/registry.json
- Directory page: https://sh4dcn.vercel.app/registry/ai-elements
- This file: https://sh4dcn.vercel.app/md/ai-elements.md

## Install

```sh
# add the whole registry (shadcn CLI)
npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/registry.json
pnpm dlx shadcn@latest add https://ai-sdk.dev/elements/api/registry/registry.json
bunx shadcn@latest add https://ai-sdk.dev/elements/api/registry/registry.json
# clone the source repo
git clone https://github.com/vercel/ai-elements.git
# fetch the raw registry index
curl -s https://ai-sdk.dev/elements/api/registry/registry.json
```

## Components (136)

| name | type | description | install |
| --- | --- | --- | --- |
| agent | registry:component | AI-powered agent component. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/agent.json` |
| artifact | registry:component | AI-powered artifact component. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/artifact.json` |
| attachments | registry:component | AI-powered attachments component. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/attachments.json` |
| audio-player | registry:component | AI-powered audio player component. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/audio-player.json` |
| canvas | registry:component | AI-powered canvas component. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/canvas.json` |
| chain-of-thought | registry:component | AI-powered chain of-thought component. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/chain-of-thought.json` |
| checkpoint | registry:component | AI-powered checkpoint component. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/checkpoint.json` |
| code-block | registry:component | AI-powered code block component. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/code-block.json` |
| commit | registry:component | AI-powered commit component. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/commit.json` |
| confirmation | registry:component | AI-powered confirmation component. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/confirmation.json` |
| connection | registry:component | AI-powered connection component. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/connection.json` |
| context | registry:component | AI-powered context component. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/context.json` |
| controls | registry:component | AI-powered controls component. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/controls.json` |
| conversation | registry:component | AI-powered conversation component. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/conversation.json` |
| edge | registry:component | AI-powered edge component. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/edge.json` |
| environment-variables | registry:component | AI-powered environment variables component. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/environment-variables.json` |
| file-tree | registry:component | AI-powered file tree component. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/file-tree.json` |
| image | registry:component | AI-powered image component. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/image.json` |
| inline-citation | registry:component | AI-powered inline citation component. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/inline-citation.json` |
| jsx-preview | registry:component | AI-powered jsx preview component. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/jsx-preview.json` |
| message | registry:component | AI-powered message component. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/message.json` |
| mic-selector | registry:component | AI-powered mic selector component. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/mic-selector.json` |
| model-selector | registry:component | AI-powered model selector component. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/model-selector.json` |
| node | registry:component | AI-powered node component. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/node.json` |
| open-in-chat | registry:component | AI-powered open in-chat component. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/open-in-chat.json` |
| package-info | registry:component | AI-powered package info component. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/package-info.json` |
| panel | registry:component | AI-powered panel component. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/panel.json` |
| persona | registry:component | AI-powered persona component. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/persona.json` |
| plan | registry:component | AI-powered plan component. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/plan.json` |
| prompt-input | registry:component | AI-powered prompt input component. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/prompt-input.json` |
| queue | registry:component | AI-powered queue component. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/queue.json` |
| reasoning | registry:component | AI-powered reasoning component. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/reasoning.json` |
| sandbox | registry:component | AI-powered sandbox component. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/sandbox.json` |
| schema-display | registry:component | AI-powered schema display component. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/schema-display.json` |
| shimmer | registry:component | AI-powered shimmer component. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/shimmer.json` |
| snippet | registry:component | AI-powered snippet component. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/snippet.json` |
| sources | registry:component | AI-powered sources component. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/sources.json` |
| speech-input | registry:component | AI-powered speech input component. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/speech-input.json` |
| stack-trace | registry:component | AI-powered stack trace component. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/stack-trace.json` |
| suggestion | registry:component | AI-powered suggestion component. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/suggestion.json` |
| task | registry:component | AI-powered task component. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/task.json` |
| terminal | registry:component | AI-powered terminal component. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/terminal.json` |
| test-results | registry:component | AI-powered test results component. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/test-results.json` |
| tool | registry:component | AI-powered tool component. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/tool.json` |
| toolbar | registry:component | AI-powered toolbar component. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/toolbar.json` |
| transcription | registry:component | AI-powered transcription component. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/transcription.json` |
| voice-selector | registry:component | AI-powered voice selector component. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/voice-selector.json` |
| web-preview | registry:component | AI-powered web preview component. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/web-preview.json` |
| example-agent | registry:block | Example implementation of agent. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-agent.json` |
| example-artifact | registry:block | Example implementation of artifact. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-artifact.json` |
| example-attachments-inline | registry:block | Example implementation of attachments inline. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-attachments-inline.json` |
| example-attachments-list | registry:block | Example implementation of attachments list. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-attachments-list.json` |
| example-attachments | registry:block | Example implementation of attachments. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-attachments.json` |
| example-audio-player-remote | registry:block | Example implementation of audio player-remote. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-audio-player-remote.json` |
| example-audio-player | registry:block | Example implementation of audio player. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-audio-player.json` |
| example-chain-of-thought | registry:block | Example implementation of chain of-thought. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-chain-of-thought.json` |
| example-chatbot | registry:block | Example implementation of chatbot. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-chatbot.json` |
| example-checkpoint | registry:block | Example implementation of checkpoint. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-checkpoint.json` |
| example-code-block-dark | registry:block | Example implementation of code block-dark. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-code-block-dark.json` |
| example-code-block | registry:block | Example implementation of code block. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-code-block.json` |
| example-commit | registry:block | Example implementation of commit. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-commit.json` |
| example-confirmation-accepted | registry:block | Example implementation of confirmation accepted. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-confirmation-accepted.json` |
| example-confirmation-rejected | registry:block | Example implementation of confirmation rejected. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-confirmation-rejected.json` |
| example-confirmation-request | registry:block | Example implementation of confirmation request. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-confirmation-request.json` |
| example-confirmation | registry:block | Example implementation of confirmation. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-confirmation.json` |
| example-context | registry:block | Example implementation of context. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-context.json` |
| example-conversation | registry:block | Example implementation of conversation. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-conversation.json` |
| example-demo-chatgpt | registry:block | Example implementation of demo chatgpt. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-demo-chatgpt.json` |
| example-demo-claude | registry:block | Example implementation of demo claude. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-demo-claude.json` |
| example-demo-cursor | registry:block | Example implementation of demo cursor. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-demo-cursor.json` |
| example-demo-grok | registry:block | Example implementation of demo grok. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-demo-grok.json` |
| example-demo-workflow | registry:block | Example implementation of demo workflow. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-demo-workflow.json` |
| example-environment-variables | registry:block | Example implementation of environment variables. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-environment-variables.json` |
| example-file-tree-basic | registry:block | Example implementation of file tree-basic. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-file-tree-basic.json` |
| example-file-tree-expanded | registry:block | Example implementation of file tree-expanded. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-file-tree-expanded.json` |
| example-file-tree-selection | registry:block | Example implementation of file tree-selection. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-file-tree-selection.json` |
| example-file-tree | registry:block | Example implementation of file tree. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-file-tree.json` |
| example-image | registry:block | Example implementation of image. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-image.json` |
| example-inline-citation | registry:block | Example implementation of inline citation. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-inline-citation.json` |
| example-jsx-preview | registry:block | Example implementation of jsx preview. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-jsx-preview.json` |
| example-message | registry:block | Example implementation of message. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-message.json` |
| example-mic-selector | registry:block | Example implementation of mic selector. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-mic-selector.json` |
| example-model-selector | registry:block | Example implementation of model selector. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-model-selector.json` |
| example-open-in-chat | registry:block | Example implementation of open in-chat. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-open-in-chat.json` |
| example-package-info | registry:block | Example implementation of package info. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-package-info.json` |
| example-persona-command | registry:block | Example implementation of persona command. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-persona-command.json` |
| example-persona-glint | registry:block | Example implementation of persona glint. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-persona-glint.json` |
| example-persona-halo | registry:block | Example implementation of persona halo. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-persona-halo.json` |
| example-persona-mana | registry:block | Example implementation of persona mana. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-persona-mana.json` |
| example-persona-obsidian | registry:block | Example implementation of persona obsidian. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-persona-obsidian.json` |
| example-persona-opal | registry:block | Example implementation of persona opal. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-persona-opal.json` |
| example-plan | registry:block | Example implementation of plan. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-plan.json` |
| example-prompt-input-cursor | registry:block | Example implementation of prompt input-cursor. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-prompt-input-cursor.json` |
| example-prompt-input-tooltip | registry:block | Example implementation of prompt input-tooltip. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-prompt-input-tooltip.json` |
| example-prompt-input | registry:block | Example implementation of prompt input. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-prompt-input.json` |
| example-queue-prompt-input | registry:block | Example implementation of queue prompt-input. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-queue-prompt-input.json` |
| example-queue | registry:block | Example implementation of queue. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-queue.json` |
| example-reasoning | registry:block | Example implementation of reasoning. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-reasoning.json` |
| example-sandbox | registry:block | Example implementation of sandbox. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-sandbox.json` |
| example-schema-display-basic | registry:block | Example implementation of schema display-basic. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-schema-display-basic.json` |
| example-schema-display-body | registry:block | Example implementation of schema display-body. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-schema-display-body.json` |
| example-schema-display-nested | registry:block | Example implementation of schema display-nested. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-schema-display-nested.json` |
| example-schema-display-params | registry:block | Example implementation of schema display-params. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-schema-display-params.json` |
| example-schema-display | registry:block | Example implementation of schema display. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-schema-display.json` |
| example-shimmer-duration | registry:block | Example implementation of shimmer duration. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-shimmer-duration.json` |
| example-shimmer-elements | registry:block | Example implementation of shimmer elements. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-shimmer-elements.json` |
| example-shimmer | registry:block | Example implementation of shimmer. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-shimmer.json` |
| example-snippet-plain | registry:block | Example implementation of snippet plain. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-snippet-plain.json` |
| example-snippet | registry:block | Example implementation of snippet. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-snippet.json` |
| example-sources-custom | registry:block | Example implementation of sources custom. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-sources-custom.json` |
| example-sources | registry:block | Example implementation of sources. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-sources.json` |
| example-speech-input | registry:block | Example implementation of speech input. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-speech-input.json` |
| example-stack-trace-collapsed | registry:block | Example implementation of stack trace-collapsed. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-stack-trace-collapsed.json` |
| example-stack-trace-no-internal | registry:block | Example implementation of stack trace-no-internal. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-stack-trace-no-internal.json` |
| example-stack-trace | registry:block | Example implementation of stack trace. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-stack-trace.json` |
| example-suggestion-input | registry:block | Example implementation of suggestion input. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-suggestion-input.json` |
| example-suggestion | registry:block | Example implementation of suggestion. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-suggestion.json` |
| example-task | registry:block | Example implementation of task. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-task.json` |
| example-terminal-basic | registry:block | Example implementation of terminal basic. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-terminal-basic.json` |
| example-terminal-clear | registry:block | Example implementation of terminal clear. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-terminal-clear.json` |
| example-terminal-streaming | registry:block | Example implementation of terminal streaming. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-terminal-streaming.json` |
| example-terminal | registry:block | Example implementation of terminal. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-terminal.json` |
| example-test-results-basic | registry:block | Example implementation of test results-basic. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-test-results-basic.json` |
| example-test-results-errors | registry:block | Example implementation of test results-errors. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-test-results-errors.json` |
| example-test-results-suites | registry:block | Example implementation of test results-suites. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-test-results-suites.json` |
| example-test-results | registry:block | Example implementation of test results. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-test-results.json` |
| example-tool-input-available | registry:block | Example implementation of tool input-available. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-tool-input-available.json` |
| example-tool-input-streaming | registry:block | Example implementation of tool input-streaming. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-tool-input-streaming.json` |
| example-tool-output-available | registry:block | Example implementation of tool output-available. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-tool-output-available.json` |
| example-tool-output-error | registry:block | Example implementation of tool output-error. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-tool-output-error.json` |
| example-tool | registry:block | Example implementation of tool. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-tool.json` |
| example-transcription | registry:block | Example implementation of transcription. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-transcription.json` |
| example-v0-clone | registry:block | Example implementation of v0 clone. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-v0-clone.json` |
| example-voice-selector | registry:block | Example implementation of voice selector. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-voice-selector.json` |
| example-web-preview | registry:block | Example implementation of web preview. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-web-preview.json` |
| example-workflow | registry:block | Example implementation of workflow. | `npx shadcn@latest add https://ai-sdk.dev/elements/api/registry/example-workflow.json` |

## For AI agents

```text
You are adding components from @ai-elements to a shadcn-compatible project.
1. Read this file (https://sh4dcn.vercel.app/md/ai-elements.md) for the component list.
2. Fetch the machine-readable index: https://ai-sdk.dev/elements/api/registry/registry.json
3. Install a single component with its install command from the table above.
4. Full structured record: https://sh4dcn.vercel.app/json (library slug: ai-elements).
```
