brixpackager
v0.1.0
Published
Brix is a lightweight CLI tool that packages web apps into standalone Windows executables using native WebView2. Features include custom protocol asset serving, embedded backend support, SHA-256 verification, and installer generation.
Maintainers
Readme
🚀 Overview
Brix is a high-performance CLI designed to transform modern web projects into lightweight, standalone Windows applications. By leveraging the native WebView2 runtime, Brix eliminates the overhead of Electron while providing a professional, branded host for your code.
Features include:
- Custom protocol asset serving
- Embedded backend support
- SHA-256 verification
- Installer generation
🪟 Platform
Brix is a Windows-only runtime — the native host is built on the system WebView2 engine and Win32 APIs, and the crate refuses to compile on any other OS (#![cfg(not(windows))] compile_error!). This is a deliberate stance, not a gap:
- Build from anywhere. The
brixCLI is plain Node, and Brix ships a prebuiltstub.exe, so you can produce Windows.exefiles from Windows, macOS, or Linux CI — only the resulting app runs on Windows. - Run on Windows 10/11. The evergreen WebView2 runtime is already present on consumer Windows; for offline/locked-down machines pin it with
webview2.fixedRuntimePath.
📁 File Directories & Project Information
When using Brix, your app's structure revolves around a .brix configuration file. After building, the compiled executable lands in a designated output folder.
Runtime files
| Location | Contents |
|---|---|
| %LOCALAPPDATA%\brix_<name> | WebView2 user data, backend.log + backend-error.log (sidecar output) |
| %LOCALAPPDATA%\brix\brix-crash.log | Startup failures (also logged with --verbose) |
| %TEMP%\brix_<name> | Server-mode extraction + backend working directory |
| next to the exe | nothing — works when installed to read-only locations like Program Files |
🛠️ Quick Start
Just two commands — Brix stages, bundles, brands, and stitches everything for you.
1. Install (once)
npm install -g brixpackager2. Build
From anywhere, point Brix at your project (the folder containing .brix — or pass the .brix file directly):
brixpack build my-projectYour branded, standalone .exe lands in my-project\Brix_Works\ — your source folder stays completely untouched (no staging folders, no stray files).
| Command | What it does |
|---|---|
| brixpack init [project] | Scan a project and write a .brix config. |
| brixpack build [project] | Bundle project into a standalone exe. |
| brixpack build [project] --out <dir> | Write the exe to <dir>. |
| brixpack build [project] --list | Dry run: print every file that would be bundled. |
| brixpack init installer [project] | Interactive wizard: pick an installer type. |
| brixpack make [zip\|inno\|nsis\|msi] | Build the installer. |
💡 Both
brixpackandbrixcommand names work.
📘 Documentation & References
Explore the full potential of Brix, including window customization and deep framework integration.
- 👉 JSON Syntax Reference — every key of
.brixandinstaller/installer.json. - 👉 Features & Use Cases — scenarios, comparisons (Electron/Tauri), and testing results.
💎 Built by HaadiAli
Brix is created by a solo developer, HaadiAli, building this for fun and optimized for the modern web.
