Experimental: The Thunderous stack packages are experimental and may not be suitable for
production use. They are subject to bugs and breaking changes.
The Thunderous Stack is a collection of packages that work together to provide a complete
full-stack development experience. While the core thunderous library focuses on web components,
these additional packages enable server-side rendering, static site generation, and client-side navigation.
Stack Components
The full Thunderous stack consists of three complementary packages:
thunderous
— The core library for building web components with a simplified functional API.
thunderous-csr
— Client-side navigation that brings SPA-like UX to traditional multi-page apps. Intercepts navigation and
selectively updates content using the modern Navigation API.
thunderous-server
— A static site generator and development server that enhances plain HTML with server-side rendering, TypeScript
compilation, and NPM dependency management via import maps.
Quick Start
The easiest way to get started with the full stack is using the project scaffolding tool:
npm init thunderous
This creates a complete project with TypeScript, a development server, and all three stack packages configured and
ready to use.
Philosophy
The Thunderous stack embraces a "HTML-first" philosophy. Unlike frameworks that require you to
learn new syntax or file formats, everything in the Thunderous stack is built around standard web platform
features:
Your pages are HTML files, not JavaScript components
Routing is file-based, not configured in code
Layouts use standard slot elements, not framework-specific templates
Dependencies load via native import maps, not bundled JavaScript
Navigation uses the native Navigation API, not a custom router
This approach means your knowledge transfers directly to and from the broader web platform. You're not learning
"Thunderous-specific" patterns—you're learning modern web development patterns that work everywhere.