Choose between No-build (importmap) and Build mode
mainRails UI supports two JavaScript build modes via the build_mode setting in config/railsui.yml.
No-build mode (nobuild)
Default for Rails UI v3.3+.
- Best for: Simple apps, prototypes, or apps without complex JS requirements.
- Setup: Run
rails railsui:install. - Characteristics: Zero JS build step, no Node.js required, uses importmaps via CDN. Requires internet for CDN dependencies in dev mode.
- Dev Server:
bin/devruns only the Rails server and Tailwind CSS watcher.
Build Mode (build)
- Best for: Production apps, TypeScript projects, or complex JS requirements.
- Setup: Run
rails railsui:install --build. - Characteristics: Full control over JS bundling, supports TypeScript/JSX, works offline, requires Node.js and a package manager. Supports Bun, esbuild, Rollup, and Webpack.
- Dev Server:
bin/devruns the Rails server, Tailwind CSS watcher, and a JS bundler watcher.
# Example for Build Mode
build_mode: build