Skip to content

Repository files navigation

Mason Gallery

banner

Masonry layout Image Viewer — desktop, web, and CLI.

繁体中文

Monorepo Structure

packages/
├── core/       — Shared UI components, stores, types, i18n
├── desktop/    — Tauri desktop app (Windows, macOS, Linux)
├── web/        — Astro static site + React browser app (Chromium browsers)
└── cli/        — npm CLI that serves the web build locally

Development

Prerequisites

bun install

Desktop

task dev:desktop

Web

task dev:web

CLI

task build:cli

Linting & Type Checking

task check     # biome ci + tsc --build
task format    # biome format --write
task test      # core + web behavior tests

Updater Signing Key Setup (Desktop)

The auto-updater requires a signing key pair. Generate one with:

bunx @tauri-apps/cli signer generate -w ~/.tauri/mason-gallery.key

This creates:

  • Private key: ~/.tauri/mason-gallery.key (keep secret)
  • Public key: printed to stdout

Configure the project:

  1. Copy the public key into packages/desktop/src-tauri/tauri.conf.json under plugins.updater.pubkey
  2. Add the following GitHub repository secrets for the release workflow:
    • TAURI_SIGNING_PRIVATE_KEY — contents of the private key file
    • TAURI_SIGNING_PRIVATE_KEY_PASSWORD — password entered during generation (if any)

Publish

git checkout master

git pull origin master

# compress `dev` into a single commit merge.
git merge --squash dev --allow-unrelated-histories

git checkout --theirs .

git commit -m "release: vX.X.X"

git push origin master
git checkout master
git pull

git tag v2.2.0
git push origin v2.2.0

About

Masonry layouts Picture Viewer

Topics

Resources

Stars

362 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages