Pre-alpha
Blitsen
Write an app in HTML, CSS and TypeScript. Ship a native executable. No browser included.
Keep your framework and build tool. Blitsen opens their static output in a native window and packages it with its own renderer and JavaScript runtime.
Point Blitsen at built web output
Add one object to package.json. The build command stays yours;
Blitsen consumes the directory it leaves behind.
{
"blitsen": {
"build": "vite build",
"output": "dist",
"name": "My App"
}
}
Plain HTML needs no configuration: blitsen . opens the directory
containing index.html.
Use the same output from first window to release
blitsen # build and open a native window
blitsen doctor dist # check the built application
blitsen build # create a desktop executable
During development, point Blitsen at a running server such as
http://localhost:5173 to keep its transforms and hot reload.
Before release, run doctor against static output and test the exported
artifact on every target platform.
A native runtime, not a general-purpose browser
-
Use built output
Blitsen does not transpile source files or resolve bare npm imports. Vite, webpack or your existing tool must do that first.
-
Check compatibility
The runtime implements a deliberate subset of browser APIs. Missing features are absent so feature detection works, and
doctorreports what it can see. -
Treat it as native software
There is no browser sandbox, same-origin policy or permission prompt. Run only application code and content you trust.
Use native capabilities when the web has no answer
Package imports expose window controls, dialogs, clipboard formats, application directories and live operating-system readings.
import windowApi from "blitsen/window";
addEventListener("load", () => {
windowApi.setSize?.(1024, 720);
});Support varies by version and target, so native members are optional and feature detection is part of the API. Browse native APIs →
Build for Windows, macOS and Linux
Desktop exports embed reachable assets in one executable by default. Add platform metadata, connect your signing command, or cross-build for any of the six desktop targets. Every export includes Bun and the native renderer. Mobile support is deferred.
Find the task you need
Choose a task to get from static web output to a tested native artifact. Each guide is maintained in the repository.
Start here
Get an application running, then learn the runtime model.
Build your app
Configure a project and connect it to native capabilities.
Ship
Package, test and distribute for the platforms you support.
- Packaging and distributionBuild desktop executables, add metadata, sign and prepare a release.
- Testing an applicationDrive packaged applications headlessly from Node or Bun and capture interaction failures.
- Platform supportDesktop targets, operating-system requirements, mobile deferral and important limitations.
- Licensing Blitsen and exported applicationsNotices, source availability and the additional obligations of native-addon exports.
Reference
Look up commands, supported APIs and fixes for common failures.
- CLI referenceRun, doctor and build commands, every option, target spelling and environment variable.
- Web API supportSupported areas, important absences, feature detection and how to interpret doctor.
- TroubleshootingFix entrypoint, build-output, asset, runtime, platform, native API and signing failures.