| .. | ||
| public | ||
| src | ||
| tests | ||
| deno.json | 3.4K | |
| deno.lock | 120.0K | |
| README.md | 2.8K | |
| tsconfig.json | 217B |
lofi reference application
This application proves the author-facing lofi workflow against the public @nzip/ runtime.
Framework implementation stays package-owned while the application retains its product source.
Author-owned files
src/— application data modelschema.ts src/— application access policypermissions.ts src/— named application configurationapp.ts src/— product pages and shell contentpages/ src/— product interaction and renderingislands/ src/— product stylingstyles/ tests/— product behavior and author-boundary tests
Package-owned framework
@nzip/— storage, identity, synchronization, lifecycle, diagnostics, and framework adapterlofi @nzip/— private, direct-share, and fixed-role group templates and operationslofi/ access @nzip/— optional framework UI such aslofi/ preact DeviceStatusandPwaActions.lofi/— ignored Astro/Jazz integration materialized by framework commandsdist/— service worker generated bysw.js deno task build
Application work imports supported package APIs and does not carry framework implementation files.
public/, public/, src/, and src/ remain
application-owned integration and branding surfaces.
The exact generated-project map lists every generated
source-controlled path and separates it from regenerated .lofi/ tooling and dist/ output.
Browser journeys import readiness, offline, two-client, and sanitized failure-artifact helpers from
@nzip/. tests/ is a worked example: two clients add a task
offline and converge after reconnecting. The normal deno task test skips it (and never launches
Chromium); run it against a synced deployment with
LOFI_E2E_BASE_URL=http:/.
deno task build produces a self-contained static PWA in dist/ (the Preact islands compile to
dist/); deno task preview serves it locally.
deno task deploy:create --org <org> --app <app> hosts it on Deno Deploy as a static site and
deno task deploy pushes updates — both push the built dist/ as the deploy root (nothing to build
remotely, and no src/ misdetection). These are generic, org/app-free scaffolding; releasing
the @nzip/ package itself is a separate JSR publish (repo root), not a site deploy.
When sync is configured, the author-owned AccountGate demonstrates opt-in backup, recoverable
passkeys, recovery-phrase fallback, explicit account replacement, and app-scoped sharing identities
using only public package APIs. Passkey availability remains browser-, provider-, origin-, and
RP-ID-dependent; the UI does not imply universal portability.