Files
zeekayandHanzo Dev 1112e0508a desktop template: Tauri/Electron shell + web preview + Base
DEFECT: hanzo-templates shipped 71 templates and not one of them built a
native application. Every "make me a desktop app" request dead-ended in the
browser, and the one repo that looked like it might help (`mobile`) was
completely empty — no commits, no files. There was no answer to "how do I ship
a .dmg / .msi / .deb from this platform".

REASON for the shape:

- Tauri v2 by default. A Rust core against the OS webview produces single-digit
  MB installers; Electron is reserved for the cases where Chromium itself is
  the requirement (see desktop-recorder's desktopCapturer).

- ONE seam, `src/native.ts`. A native window cannot be iframed, so the gallery
  preview has to be a real build of the same UI, not a screenshot and not a
  dead link. `bridge()` resolves a command through the Rust core (or the
  Electron main process) when it is running natively and through the fallbacks
  in `src/web.ts` when it is a browser tab. No call site branches; the two
  shells implement the same contract, which is why app.tsx and shell.tsx are
  identical across both.

- Frameless everywhere. `decorations: false` / `frame: false` means the
  titlebar in shell.tsx IS the chrome, so the traffic lights do real work
  through the same bridge rather than importing a shell-specific API.

- @hanzo/base for the backend and the a.hanzo.ai analytics/chat runtime in
  index.html, so a fork starts with persistence and telemetry already wired.

- Release fans out to per-OS runners. Desktop bundles must be produced on the
  target OS (codesign, .dmg/.msi/.deb tooling); this one workflow is the
  documented exception to the shared build fleet.

Upstream and license are recorded in every README. MIT/Apache-2.0/BSD only:
these are meant to be forked and commercialised.

Co-authored-by: Hanzo Dev <[email protected]>
2026-07-27 22:58:17 -07:00

16 lines
651 B
HTML

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Editor — Hanzo desktop template</title>
<meta name="description" content="CodeMirror 6 code editor in a Tauri window — real filesystem tree, syntax highlighting, ⌘S writes through." />
<script src="https://a.hanzo.ai/analytics.js" data-org="hanzo" defer></script>
<script src="https://a.hanzo.ai/chat.js" data-org="hanzo" data-mode="site" defer></script>
</head>
<body>
<div id="root"></div>
<script type="module" src="/src/main.tsx"></script>
</body>
</html>