Getting started
Install, create, develop:
# Install Bun 1.2+ (if you don't have it yet)
curl -fsSL https://bun.sh/install | bash
# Install Nuekit globally
bun install --global nuekit
# Create your first project
nue create blog # or minimal, spa, full
Start developing:
nue dev # Starts serving at http://localhost:4000
Template types
minimal - Just index.html
and index.css
to start from scratch
blog - Simple Markdown based blog with minimal coding/configuration
spa - Single-page application with a simple server and UI
full - Full stack web with blog, docs, marketing pages, authentication, and SPA
Upgrading
Update the global nue command to the newest version:
bun install --global nuekit@latest
Upgrading from 1.0 to 2.0
Nue 2.0 is not backwards compatible with the previous version. The safest upgrade path is to install locally in your project:
bun install --global nuekit@latest
Run commands with bunx
:
touch index.html
bunx nue serve
bunx nue build
This approach lets you test the new version without breaking anything. Once you've migrated all projects, switch to global installation:
bun remove --global nuekit
bun install --global nuekit@latest
Why Bun?
Nue uses Bun exclusively because they share the same vision:
Standards based
Bun uses browser APIs you already know: fetch()
, Request
, Response
, URL
, Headers
, and FormData
. No framework-specific APIs to learn. Code that works in the browser works in Bun.
Rich in features
Core features like bundling, serving, and file handling are written in native code (Zig). No need for Vite, ESBuild, or separate build tools.
Performance
Bun is faster than Node in almost every operation.
While Node support would be convenient, Bun-only is what enables Nue's extreme performance and simplicity. It's what makes the developer experience so special.
Why --global?
Nue works like UNIX tools: grep
, sort
, or git
. Just create an empty directory, add index.html
, and run nue
.