← ClaudeAtlas

openui-forge-rubylisted

OpenUI generative UI with a Ruby on Rails backend. SSE streaming via ActionController::Live, forwarding the OpenAI API stream with Net::HTTP.
OthmanAdi/openui-forge · ★ 22 · AI & Automation · score 79
Install: claude install-skill OthmanAdi/openui-forge
# OpenUI Forge — Ruby Build generative UI apps with a React frontend + Ruby on Rails backend. Streams OpenAI API responses directly via `ActionController::Live`, forwarding OpenAI's native SSE with `Net::HTTP`. ## Activation Triggers - "openui ruby", "openui rails", "openui ruby backend" - "generative ui ruby", "rails streaming ui backend" ## Prerequisites - Node.js >= 22 (24 LTS recommended) + React >= 18.3.1 (19+ recommended) (frontend) - Ruby >= 3.2 + Rails 8.1.x (backend; run on Puma — `ActionController::Live` needs a threaded server, not WEBrick) - `OPENAI_API_KEY` environment variable set ## Quick Start 1. Create the React frontend and install OpenUI deps: ```bash npm install @openuidev/react-ui @openuidev/react-headless @openuidev/react-lang lucide-react zod ``` 2. Generate the system prompt into the Rails app: ```bash npx @openuidev/cli generate ./src/lib/library.ts --out config/system-prompt.txt ``` 3. Create the Rails backend (see Full Code below) 4. Run: `bin/rails server -p 3001` on `:3001`, frontend on `:3000` ## Full Code ### Backend: `Gemfile` ```ruby source "https://rubygems.org" gem "rails", "~> 8.1" gem "puma", ">= 6.0" # Net::HTTP is in the standard library — no extra HTTP-client gem required. # Optional: load OPENAI_API_KEY etc. from a .env file in development. gem "dotenv-rails", groups: [:development, :test] ``` ### Backend: `app/controllers/chat_controller.rb` ```ruby require "net/http" require "json" require "uri" class ChatController < A