http-nu
by
ndyg
Nushell-scriptable, cross.stream-powered, Datastar-ready HTTP server that fits in your back pocket
Pitch
Script HTTP handlers in Nushell with zero boilerplate — closures become endpoints.
Built-in:
- SSE & Datastar SDK
- Jinja2 templates & HTML DSL
- Reverse proxy & static files
- Embedded event store (cross.stream)
- TLS/HTTP2, hot-reload, UNIX sockets
Written in Rust. 🐘💫🚀💜
Description
http-nu
A Rust HTTP server where Nushell closures are your request handlers. No framework, no config files — just pipe data through endpoints.
http-nu :3001 -c '{|req| "Hello world"}'
Why http-nu
- Nushell-native: Closures become endpoints.
$instreams request bodies. Pipeline metadata sets status codes and headers. - Real-time first: Built-in SSE via
to sse, Datastar SDK for hypermedia, and streaming responses viagenerate. - Embedded event store: Optional cross.stream integration (
--store) for append-only state, content-addressed storage, and live-reload handlers from store topics. - Batteries included: Jinja2 templates (
.mj), HTML DSL, reverse proxy, static file serving, cookie management, syntax highlighting, Markdown rendering. - Production-ready: TLS/HTTP2, UNIX domain sockets, trusted proxy support, structured JSONL logging, hot-reload with
--watch.
Quick start
# Install
brew install cablehead/tap/http-nu # macOS
cargo binstall http-nu # or via cargo
nix-shell -p http-nu # or Nix
# Run
http-nu :3001 ./serve.nu
# With embedded store + Datastar
http-nu --datastar --store ./store :3001 ./serve.nu
Who it's for
Developers who want to ship HTTP services in Nushell without reaching for a full web framework. Quickly expose shell scripts as HTTP endpoints, build real-time dashboards with SSE and Datastar, or ship internal tools and hypermedia UIs — all without leaving the shell.
0 comments
No comments yet.
Sign in to be the first to comment.