# Tool Ui

> The primary purpose of this project is to provide developers with a robust, reusable set of UI components for displaying and interacting with AI-generated outputs — particularly those resulting from tool calls. It empowers users to build rich, interactive interfaces without writing boilerplate code, by auto-generating component code from JSON schemas. The Builder tool further simplifies development by enabling real-time previewing and editing, while maintaining accessibility, performance, and maintainability through structured architecture and TypeScript typing.

**Remember:**
- AI Tool UI Components
- Schema-Driven UI Generation
- Builder Tool for Auto-Generation
- Radix UI & shadcn/ui Integration
- TypeScript Typed Components
- Responsive & Accessible Design

## Docs
- [Content](https://github.com/assistant-ui/tool-ui/blob/main/app/docs/overview/content.mdx): install & quickstart.
- [Component Registry](https://github.com/assistant-ui/tool-ui/blob/main/lib/docs/component-registry.ts): docs page.
- [Content](https://github.com/assistant-ui/tool-ui/blob/main/app/docs/advanced/content.mdx): docs page.
- [Content](https://github.com/assistant-ui/tool-ui/blob/main/app/docs/audio/content.mdx): docs page.
- [Content](https://github.com/assistant-ui/tool-ui/blob/main/app/docs/chart/content.mdx): docs page.
- [Content](https://github.com/assistant-ui/tool-ui/blob/main/app/docs/code-block/content.mdx): docs page.
- [Content](https://github.com/assistant-ui/tool-ui/blob/main/app/docs/contributing/content.mdx): docs page.
- [Content](https://github.com/assistant-ui/tool-ui/blob/main/app/docs/data-table/content.mdx): docs page.
- [Content](https://github.com/assistant-ui/tool-ui/blob/main/app/docs/design-guidelines/content.mdx): docs page.
- [Content](https://github.com/assistant-ui/tool-ui/blob/main/app/docs/image/content.mdx): docs page.

## API
- [Route](https://github.com/assistant-ui/tool-ui/blob/main/app/api/chat/route.ts): API reference.
- [Route](https://github.com/assistant-ui/tool-ui/blob/main/app/api/mcp-tools/route.ts): API reference.
- [Route](https://github.com/assistant-ui/tool-ui/blob/main/app/api/builder/chat/route.ts): API reference.
- [Route](https://github.com/assistant-ui/tool-ui/blob/main/app/api/builder/create-freestyle/route.ts): API reference.
- [Route](https://github.com/assistant-ui/tool-ui/blob/main/app/api/playground/chat/route.ts): API reference.

## Concepts
- [Design](https://github.com/assistant-ui/tool-ui/blob/main/lib/playground/prototypes/waymo-v2/DESIGN.md): docs page.

## Optional
- [License](https://github.com/assistant-ui/tool-ui/blob/main/LICENSE.md): usage terms.
- [README](https://github.com/assistant-ui/tool-ui/blob/main/README.md): docs page.
- [Eslint.Config](https://github.com/assistant-ui/tool-ui/blob/main/eslint.config.ts): docs page.
- [Next.Config](https://github.com/assistant-ui/tool-ui/blob/main/next.config.ts): docs page.
- [Vitest.Config](https://github.com/assistant-ui/tool-ui/blob/main/vitest.config.ts): docs page.

## App
- [README](https://github.com/assistant-ui/tool-ui/blob/main/app/workbench/lib/README.md): install & quickstart.
- [File Store](https://github.com/assistant-ui/tool-ui/blob/main/app/workbench/lib/file-store.ts): docs page.
- [Index](https://github.com/assistant-ui/tool-ui/blob/main/app/workbench/components/index.ts): docs page.
- [Index](https://github.com/assistant-ui/tool-ui/blob/main/app/workbench/lib/index.ts): docs page.
- [Mock Responses](https://github.com/assistant-ui/tool-ui/blob/main/app/workbench/lib/mock-responses.ts): docs page.
- [Openai Bridge](https://github.com/assistant-ui/tool-ui/blob/main/app/workbench/lib/openai-bridge.ts): docs page.
- [Store](https://github.com/assistant-ui/tool-ui/blob/main/app/workbench/lib/store.ts): docs page.
- [Store.Test](https://github.com/assistant-ui/tool-ui/blob/main/app/workbench/lib/store.test.ts): docs page.
- [Styles](https://github.com/assistant-ui/tool-ui/blob/main/app/workbench/components/styles.ts): docs page.
- [Transition Config](https://github.com/assistant-ui/tool-ui/blob/main/app/workbench/lib/transition-config.ts): docs page.

## Components
- [Actions Config](https://github.com/assistant-ui/tool-ui/blob/main/components/tool-ui/shared/actions-config.ts): docs page.
- [Index](https://github.com/assistant-ui/tool-ui/blob/main/components/tool-ui/audio/index.ts): docs page.
- [Index](https://github.com/assistant-ui/tool-ui/blob/main/components/tool-ui/image/index.ts): docs page.
- [Index](https://github.com/assistant-ui/tool-ui/blob/main/components/tool-ui/instagram-post/index.ts): docs page.
- [Index](https://github.com/assistant-ui/tool-ui/blob/main/components/tool-ui/link-preview/index.ts): docs page.
- [Index](https://github.com/assistant-ui/tool-ui/blob/main/components/tool-ui/linkedin-post/index.ts): docs page.
- [Index](https://github.com/assistant-ui/tool-ui/blob/main/components/tool-ui/shared/index.ts): docs page.
- [Index](https://github.com/assistant-ui/tool-ui/blob/main/components/tool-ui/video/index.ts): docs page.
- [Index](https://github.com/assistant-ui/tool-ui/blob/main/components/tool-ui/x-post/index.ts): docs page.
- [Parse](https://github.com/assistant-ui/tool-ui/blob/main/components/tool-ui/shared/parse.ts): docs page.

## Hooks
- [Use Mobile](https://github.com/assistant-ui/tool-ui/blob/main/hooks/use-mobile.ts): docs page.
- [Use Preset Param](https://github.com/assistant-ui/tool-ui/blob/main/hooks/use-preset-param.ts): docs page.
- [Use Reduced Motion](https://github.com/assistant-ui/tool-ui/blob/main/hooks/use-reduced-motion.ts): docs page.
- [Use Responsive Preview](https://github.com/assistant-ui/tool-ui/blob/main/hooks/use-responsive-preview.ts): docs page.
- [Use Tab Search Param](https://github.com/assistant-ui/tool-ui/blob/main/hooks/use-tab-search-param.ts): docs page.

## Lib
- [README](https://github.com/assistant-ui/tool-ui/blob/main/lib/playground/prototypes/waymo/README.md): install & quickstart.
- [README](https://github.com/assistant-ui/tool-ui/blob/main/lib/playground/prototypes/waymo/wip-tool-uis/README.md): install & quickstart.
- [Audio](https://github.com/assistant-ui/tool-ui/blob/main/lib/presets/audio.ts): docs page.
- [Chart](https://github.com/assistant-ui/tool-ui/blob/main/lib/presets/chart.ts): docs page.
- [Chat Showcase Data](https://github.com/assistant-ui/tool-ui/blob/main/lib/mocks/chat-showcase-data.ts): docs page.
- [Cn](https://github.com/assistant-ui/tool-ui/blob/main/lib/ui/cn.ts): docs page.
- [Code Block](https://github.com/assistant-ui/tool-ui/blob/main/lib/presets/code-block.ts): docs page.
- [Constants](https://github.com/assistant-ui/tool-ui/blob/main/lib/playground/constants.ts): docs page.
- [Data Table](https://github.com/assistant-ui/tool-ui/blob/main/lib/presets/data-table.ts): docs page.
- [Image](https://github.com/assistant-ui/tool-ui/blob/main/lib/presets/image.ts): docs page.
