excsn/snapfire

Write apps in TypeScript, run it in Rust. File routes, loaders, actions, typed OpenAPI and gRPC clients, sessions, streaming and island hydration, with no Node in the build or on the request path. Plus snapfirec, TypeScript to browser ESM and the original Tera and Actix live-reload library.

2

stars

173

commits

Rust

primary language

Sep 7, 2026

updated

crates.io/crates/snapfire
actix-web
reload
templating-engine
tera

README

SnapFire

Project Status: Active License: MPL 2.0

Write the application in TypeScript. Run it in Rust.

SnapFire started as SnapFire Web, a Tera templating library with live reload. It is now a stack built around SnapFire FSR, a runtime where routes, data loading, actions, service clients, sessions, identity, caching, streaming and client navigation are primitives rather than features owned by a UI framework. Beside it sit a compiler that turns TypeScript into browser-native ES modules with no Node and a typechecker that fetches and pins its own tsc. SnapFire Web is still here and is now one renderer among several.

Nothing in the chain needs Node, at build time or on the request path. There is no node_modules.

The pieces

Each one installs and is used from its own README.

What you wantWhere it is
A full-stack application: file routes, loaders and actions in TypeScript, rendered by RustSnapFire FSR, the fsr executable
TypeScript and CSS to browser ES modules, one binary, no package.jsonSnapFire Compiler, the snapfirec executable
Types checked against a pinned TypeScript, fetched and verified rather than found installedSnapFire Typecheck, the snapfiretc executable
Tera templates with live reload inside an Actix applicationSnapFire Web, the snapfire crate
Seven applications in reading order, each carrying what the ones before it do not reachThe SnapFire FSR examples
One question per chapter, with a lab on the running exampleThe SnapFire FSR guide

Layout

DirectoryWhat it holds
fsr/SnapFire FSR: the runtime crates, the client library, the CLI, the guide and the examples
compiler/SnapFire Compiler, snapfirec, with its own example
typecheck/SnapFire Typecheck, snapfiretc
web/SnapFire Web, the snapfire crate: Tera and Actix, with its own example
www/the project's site, built with SnapFire FSR

Every crate carries a README.md to skim, a README.USAGE.md to work from and an API_REFERENCE.md for the surface.

License

Mozilla Public License 2.0. See LICENSE.

Excerion Sun LLC

Contributors

normano

171 commits

normano-cloud

2 commits

excsn/snapfire

Write apps in TypeScript, run it in Rust. File routes, loaders, actions, typed OpenAPI and gRPC clients, sessions, streaming and island hydration, with no Node in the build or on the request path. Plus snapfirec, TypeScript to browser ESM and the original Tera and Actix live-reload library.

2

stars

173

commits

Rust

primary language

Sep 7, 2026

updated

crates.io/crates/snapfire
actix-web
reload
templating-engine
tera

README

SnapFire

Project Status: Active License: MPL 2.0

Write the application in TypeScript. Run it in Rust.

SnapFire started as SnapFire Web, a Tera templating library with live reload. It is now a stack built around SnapFire FSR, a runtime where routes, data loading, actions, service clients, sessions, identity, caching, streaming and client navigation are primitives rather than features owned by a UI framework. Beside it sit a compiler that turns TypeScript into browser-native ES modules with no Node and a typechecker that fetches and pins its own tsc. SnapFire Web is still here and is now one renderer among several.

Nothing in the chain needs Node, at build time or on the request path. There is no node_modules.

The pieces

Each one installs and is used from its own README.

What you wantWhere it is
A full-stack application: file routes, loaders and actions in TypeScript, rendered by RustSnapFire FSR, the fsr executable
TypeScript and CSS to browser ES modules, one binary, no package.jsonSnapFire Compiler, the snapfirec executable
Types checked against a pinned TypeScript, fetched and verified rather than found installedSnapFire Typecheck, the snapfiretc executable
Tera templates with live reload inside an Actix applicationSnapFire Web, the snapfire crate
Seven applications in reading order, each carrying what the ones before it do not reachThe SnapFire FSR examples
One question per chapter, with a lab on the running exampleThe SnapFire FSR guide

Layout

DirectoryWhat it holds
fsr/SnapFire FSR: the runtime crates, the client library, the CLI, the guide and the examples
compiler/SnapFire Compiler, snapfirec, with its own example
typecheck/SnapFire Typecheck, snapfiretc
web/SnapFire Web, the snapfire crate: Tera and Actix, with its own example
www/the project's site, built with SnapFire FSR

Every crate carries a README.md to skim, a README.USAGE.md to work from and an API_REFERENCE.md for the surface.

License

Mozilla Public License 2.0. See LICENSE.

Excerion Sun LLC

Contributors

normano

171 commits

normano-cloud

2 commits

Languages

Rust

83.7%

TypeScript

13.1%

CSS

2.3%