Skip to main content

Webstir Docs

Webstir is a server-first, HTML-first framework for low-JS apps. It is not a broad React replacement or an architecture menu. The core model is:

  • render documents on the server
  • treat forms, links, redirects, auth, and document navigation as the baseline
  • add JavaScript only when fragment updates or navigation polish materially improve the experience

The active implementation lives in the Bun orchestrator plus the canonical TypeScript packages under packages/**.

Start Here

Default User Path

  • Install the packaged CLI in a small tool root with bun add @webstir-io/webstir.
  • Scaffold a server-first workspace outside the monorepo with webstir init.
  • Build the baseline app around working server routes, forms, redirects, and auth before opting into client-nav or other enhancements.
  • Run watch, test, and publish against that workspace with the installed CLI.
  • Use the repo-local bun run webstir -- ... form only when you are contributing inside this monorepo.

Proof Apps

  • examples/demos/auth-crud proves sessions, auth gates, validation recovery, redirect-after-post, and fragment-enhanced CRUD forms.
  • examples/demos/dashboard proves deliberate shell-level and panel-level refreshes without making SPA architecture the default.

Docs Index

Current Framing

  • The Bun orchestrator is the active workflow surface.
  • The main product lane is server-first HTML delivery with low-JS enhancement on top.
  • SSG is supported, but it is one delivery mode inside that lane, not the main identity of the product.
  • The canonical package/runtime story lives in packages/tooling/webstir-frontend and packages/tooling/webstir-backend.

Community & Support