MCPcopy
hub / github.com/nraiden/openv0

github.com/nraiden/openv0 @main sqlite

repository ↗ · DeepWiki ↗
139 symbols 454 edges 145 files 0 documented · 0%
README

Note :

openv0 is no longer maintained , the new project is Cofounder


openv0

project website - openv0.com

openv0 is a generative UI component framework

It allows you to AI generate and iterate on UI components, with live preview.

  • openv0 makes use of open source component libraries and icons to build a library of assets for the generative pipeline.
  • openv0 is highly modular, and structured for elaborate generative processes
  • Component generation is a multipass pipeline - where every pass is a fully independent plugin

(say hi @n_raidenai 👋)

image


Currently Supported

  • Frontend frameworks
  • React
  • Next.js
  • Svelte
  • UI libraries
  • NextUI
  • Flowbite
  • Shadcn
  • Icons libraries
  • Lucide

The latest openv0 update makes it easier to integrate new frameworks, libraries and plugins.

Docs & guides on how to do so will be soon posted.

Next updates : - public explore+share web app on openv0.com (you can use the openv0 share API already) - multimodal UIray vision model (more details soon) - better validation passes, more integrations & plugins


Demos

Current version

https://github.com/raidendotai/openv0/assets/127366981/a249cf0d-ae44-4155-a5c1-fc2528bf05b5

Previous version

openv0_demo.webm


Install

  • Open your terminal and run
npx openv0@latest

It will download openv0, configure it based on your choices & install dependencies. Then :

  • Start the local server + webapp
  • start server cd server && node api.js
  • start webapp cd webapp && npm run dev
  • Open you web browser, go to http://localhost:5173/

That is all. Have fun 🎉


Alternatively - you can also clone this repo and install manually

To do so : * Clone repo, run npm i in server/ * Unzip server/library/icons/lucide/vectordb/index.zip into that same folder * Configure your OpenAI key in server/.env * Web apps starter templates are in webapps-starters/ * run npm i in the web app starter of your choice * make sure that WEBAPP_ROOT variable server/.env matches your webapp folder path * Start the server with node api.js and the web app with npm run dev


Try openv0

You can try openv0 (using React as a framework) with minimal configuration below

Replit

Run on Repl.it

StackBlitz

Run on StackBlitz


How It Works

Multipass Workflow

A simple explanation is the following image

openv0_process

Codebase

Youtube video by user @elie2222 explains parts of the previous openv0 code base

@elie2222

Extension points exported contracts — how you extend this code

Props (Interface)
(no doc)
webapps-starters/react/shadcn/src/components/Fallback.tsx
CommandDialogProps (Interface)
(no doc)
webapps-starters/react/shadcn/src/components/ui/command.tsx
TextareaProps (Interface)
(no doc)
webapps-starters/react/shadcn/src/components/ui/textarea.tsx
InputProps (Interface)
(no doc)
webapps-starters/react/shadcn/src/components/ui/input.tsx
SheetContentProps (Interface)
(no doc)
webapps-starters/react/shadcn/src/components/ui/sheet.tsx

Core symbols most depended-on inside this repo

cn
called by 132
webapps-starters/react/shadcn/src/lib/utils.ts
_titleCase
called by 10
server/modules/multipass/passes/generate-component-iteration/index.js
_titleCase
called by 10
server/modules/multipass/passes/generate-component-new/index.js
dispatch
called by 5
webapps-starters/react/shadcn/src/components/ui/use-toast.tsx
useFormField
called by 4
webapps-starters/react/shadcn/src/components/ui/form.tsx
render
called by 3
webapps-starters/react/shadcn/src/components/ErrorBoundary.tsx
scaleConversion
called by 3
webapps-starters/svelte/shadcn/src/lib/utils.ts
_titleCase
called by 3
server/modules/multipass/passes/design-component-iteration-from-description/index.js

Shape

Function 126
Interface 8
Method 3
Class 2

Languages

TypeScript100%

Modules by API surface

webapps-starters/react/shadcn/src/components/ui/use-toast.tsx9 symbols
server/modules/multipass/passes/validate-check-generated-component/index.js8 symbols
webapps-starters/react/shadcn/src/components/ErrorBoundary.tsx5 symbols
server/modules/multipass/passes/validate-fix-generated-component/index.js5 symbols
webapps-starters/svelte/shadcn/src/lib/utils.ts4 symbols
webapps-starters/react/shadcn/src/views/view.tsx4 symbols
webapps-starters/react/shadcn/src/components/views/component-view.tsx4 symbols
webapps-starters/react/shadcn/src/components/ui/sheet.tsx4 symbols
webapps-starters/react/nextui/src/views/view.tsx4 symbols
webapps-starters/react/flowbite/src/views/view.tsx4 symbols
server/db.js4 symbols
server/_test.build.js4 symbols

Dependencies from manifests, versioned

@babel/generator7.23.0 · 1×
@babel/parser7.23.0 · 1×
@babel/traverse7.23.0 · 1×
@dqbd/tiktoken1.0.7 · 1×
@hookform/resolvers3.3.1 · 1×
@nextui-org/react2.1.13 · 1×
@nextui-org/system2.0.10 · 1×
@nextui-org/theme2.1.9 · 1×
@paciolan/remote-component2.13.0 · 1×
@radix-ui/react-accordion1.1.2 · 1×
@radix-ui/react-alert-dialog1.0.4 · 1×
@radix-ui/react-aspect-ratio1.0.3 · 1×

For agents

$ claude mcp add openv0 \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact