Skip to content

Effeilo/browserux-starter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

EN | FR

logo BrowserUX Starter

BrowserUX Starter

Not just a template. A standards-first web foundation.

BrowserUX Starter is a collection of front-end starter templates built around native web standards: PWA, Web Components, semantic HTML, native CSS, browser APIs, and controlled service workers.

Project website | Documentation | Changelog

npm version License: MIT
HTML5 CSS3 JavaScript TypeScript Vite React Vue

πŸš€ Quick Start

npm create browserux@latest

Requirements

  • Node.js 20 or >=22

We recommend using an active LTS release.

The CLI asks for a project name, a template, and whether to use TypeScript. It then scaffolds the selected starter and prints the next commands.

πŸ’‘ What is BrowserUX Starter?

BrowserUX Starter is not trying to replace Next, Nuxt, Astro, Remix, or any full-stack application framework. It answers a different need: a standards-first front-end foundation for people who want to stay close to the browser platform, keep control of their architecture, and ship static sites or client-side apps without adopting a larger framework layer.

React and Vue are available as UI-layer templates, not as a shift away from the native web. They sit on top of the same foundation: PWA support, semantic HTML, native CSS, browser APIs, Web Components, and explicit service worker control.

Choose raw or vite-vanilla if you want to build without React or Vue while keeping the BrowserUX UI elements. Choose vite-react or vite-vue if you want a modern SPA with routing and tests while keeping the same standards-first base.

🧱 Standards-First Foundation

  • πŸ“± PWA: Web App Manifest, Service Worker, Cache API, offline fallback, install flow.
  • 🧩 Web Components: Custom Elements, Shadow DOM, slots, HTML attributes, native lifecycle.
  • 🎨 Native CSS: CSS variables, media queries, semantic HTML elements, native user interface patterns, user preferences such as color scheme.
  • 🌐 Browser APIs: Web Share API, beforeinstallprompt, View Transitions API, localStorage, and progressive enhancement.
  • πŸ“ Semantic HTML: native elements and browser behavior before proprietary abstractions.

πŸ“¦ Templates

Logo Template What it is for Stack
logo BrowserUX Starter raw raw Learning template for native PWA internals with pure HTML/CSS/JS, a hand-written service worker, and no build step. HTML, CSS, Vanilla JS, Cache API
logo BrowserUX Starter vanilla vite-vanilla Static multi-page app with Vite, Workbox, optimized assets, sitemap, and full SW control. Vanilla JS or TS, Vite, Workbox, MPA
logo BrowserUX Starter React vite-react React 19 SPA with React Router v7, data loaders, tests, and BrowserUX Web Components. React 19, React Router v7, Vite, Workbox, Vitest
logo BrowserUX Starter Vue vite-vue Vue 3 SPA with Vue Router 4, Composition API, tests, and BrowserUX Web Components. Vue 3, Vue Router 4, Vite, Workbox, Vitest

✨ Features

  • πŸ“΄ Offline-ready PWA: manifest, icons, service worker registration, offline.html, and install/update UI.
  • βš™οΈ Explicit service worker control: injectManifest, Workbox strategies, static asset injection through sw-assets.js.
  • 🧩 Native UX components: theme switcher, share button, and PWA UI built as Web Components.
  • ⚑ Vite production pipeline: image optimization, AVIF/WebP generation, preload hints, sitemap and robots generation.
  • 🎨 UX-first CSS base: browserux.css tokens, reset, accessibility utilities, native user interface patterns, dark mode variables, and project-level overrides.
  • πŸ› οΈ Developer experience: CLI scaffolding, optional TypeScript for Vite templates, tests for React/Vue templates and CLI utilities.

βœ… When should I use it?

Use BrowserUX Starter when you want to build a fast, accessible, installable front-end while staying close to the native browser platform.

  • Static websites and landing pages that need a clean production base.
  • Lightweight web apps that should work offline or be installable.
  • Front-end projects where you want explicit service worker and cache control.
  • Teams that want reusable UX primitives without adopting a full-stack framework.
  • Learning projects for PWA, service workers, Web Components, and native browser APIs.

🚫 When not to use it?

BrowserUX Starter is intentionally front-end first. It is not meant to provide server rendering, backend routing, database access, authentication flows, API handlers, or full-stack deployment conventions out of the box.

If your project depends on SSR, server components, complex backend workflows, or framework-managed data loading across server and client, a full-stack framework may be a better fit.

🧰 What gets generated?

Depending on the selected template, the CLI gives you a ready-to-edit project with:

  • PWA manifest, icons, service worker registration, and offline page.
  • BrowserUX CSS base and native UI components.
  • Web Components for theme switching, native sharing, and PWA install/update UI.
  • Vite configuration with Workbox, image optimization, preload hints, sitemap, and robots generation.
  • Optional TypeScript setup for Vite templates.
  • Tests for React/Vue templates and CLI utilities.

πŸ€” Which template should I choose?

  • Choose raw for learning native PWA internals with pure HTML/CSS/JS, no tooling, and direct Cache API usage.
  • Choose vite-vanilla for a static multi-page site with Vite and no React/Vue.
  • Choose vite-react for a React 19 SPA with React Router v7 and tests.
  • Choose vite-vue for a Vue 3 SPA with Vue Router 4 and tests.

πŸ“Š Template Comparison

Feature raw vite-vanilla vite-react vite-vue
Build tool - Vite Vite Vite
UI framework - - React 19 Vue 3
App model Learning/static pages MPA SPA SPA
Routing Static Static React Router v7 Vue Router 4
Service worker Manual Workbox injectManifest Workbox injectManifest Workbox injectManifest
PWA/offline Yes Yes Yes Yes
Image optimization - Yes Yes Yes
SEO files Manual Generated Generated Generated
Web Components BrowserUX components BrowserUX components BrowserUX components BrowserUX components
Tests - - Vitest Vitest
TypeScript option - Yes Yes Yes

πŸ“š Documentation

Guide

Templates

  • Overview: comparison table and selection criteria
  • raw: pure HTML, manual service worker, no build tool
  • vite-vanilla: static MPA, total service worker control
  • vite-react: React 19 SPA with React Router v7
  • vite-vue: Vue 3 SPA with Vue Router 4

Web Components

Vite Plugins

PWA

Testing

Deployment

CLI

Additional Reference

πŸ“„ License

MIT Β© 2026 Effeilo

About

A standards-first starter foundation for static sites, PWAs, and client-side apps. Choose raw, Vite Vanilla, React, or Vue without hiding HTML, CSS, service workers, or browser APIs.

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors