Features

From a local project to web and desktop

Create a project with the Shellui command-line interface (CLI), then build the shell for the web. Host the static files yourself, share a preview on shellui.app, or package the same shell as a desktop app with Tauri 2.

Start with your preferred framework

Run shellui init to create a project with your chosen framework. The JavaScript starters include theme and language integration. During development, shellui start runs the shell and your configured app development server.

Configure navigation, appearance, and connected services in shellui.config.json. The CLI validates this file before starting or building the shell.

Create and run a project

Install the CLI, then create a React project with the commands below. You can also choose Vue, Angular, Next, Nuxt, Svelte, Alpine, or an empty shell.

terminal
npm install -g @shellui/cli
shellui init react ./my-app
cd my-app
shellui start

Explore framework starters · CLI reference

One config file

Use shellui.config.json to list your app URLs, choose a layout, and connect authentication and storage. The same file defines the shell's theme, languages, and hosting settings. Keep service credentials on your backend: the shell configuration is public.

See an example configuration · CLI configuration

Static files you can host anywhere

Run shellui build to generate the shell's HTML, CSS, and JavaScript in dist/web/. Deploy that directory to a static web host. Your embedded apps and connected backend services keep their own build and hosting requirements.

terminal
shellui build

Optional preview on shellui.app

Configure hosting.url for your hosting-service instance, then sign in and deploy with the commands below. The shellui.app service gives you a preview address to share. Previews expire after seven days unless you redeploy the same preview name.

terminal
shellui login
shellui deploy

Open shellui.app · hosting-service source

Desktop app with Tauri

Package the shell as a desktop app using Tauri 2, which displays your web interface in a native window. Web and desktop use the same Shellui configuration. The CLI generates desktop project files and build output under dist/app/.

Build commands

  • shellui dev --app opens a native window in development
  • shellui build --app emits dist/web/ plus a platform bundle under dist/app/
  • Pass --bundles for formats such as app,dmg on macOS
terminal
shellui build --app

Desktop build requirements

  • Rust and the Tauri platform prerequisites
  • Optional root tauri.conf.json for product name, identifier, and icons
  • port and title from shellui.config.json sync into the wrapper