Skip to content

jun7680/Storefront

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Storefront — Modern SQLite and SwiftData viewer for macOS

Latest release Build status MIT License macOS 26+ Swift 6 GitHub stars

Modern SQLite & SwiftData viewer for macOS.
Native SwiftUI · Live reload · Built for iOS developers

🚧 Pre-alpha — v0.1.0 is under active development.


✨ Features

📂 Open any SQLite store Drag & drop or ⌘O for .sqlite, .db, .store files.

🗂 Browse tables and rows 3-column split view — sortable, resizable, dynamic.

🔄 Live reload Auto-refresh on file change, fully WAL-aware.

🔒 Read-only by design Your databases are never written to.

📱 Simulator auto-discovery One click to open any installed iOS simulator app's DB.

🍂 SwiftData native Automatic Z_ prefix normalization + metadata awareness.

🎨 Native macOS feel Sky Blue × Sunset Orange palette, dark mode first-class.

⚡ Built in SwiftUI + TCA Modern reactive stack — snappy, testable, observable.

Requirements

Version Needed for
macOS 26 Tahoe or later Running the app
Xcode 26 or later Building from source (B, C)
Homebrew latest Installing xcodegen, create-dmg (B, C)
GitHub CLI (gh) optional Auto-star after make install (C)

Install

Three paths depending on who you are. End users go with A. Developers who want to build from source pick B (Xcode GUI) or C (command line).

Prerequisites — one-time tool setup

Skip this block if you only plan to use path A.

1. Install Homebrew (macOS package manager):

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

2. Install Xcode 26+ — from the Mac App Store or Apple Developer portal. After installing, register the command-line tools:

sudo xcode-select -s /Applications/Xcode.app
xcodebuild -license accept   # accept the SDK license

3. Install build helpers:

brew install xcodegen create-dmg

4. (Optional) Install GitHub CLI — enables the one-click star prompt at the end of make install / make dmg:

brew install gh
gh auth login

A. Download the DMG (end users) ⭐ Recommended

  1. Grab Storefront-*.dmg from the Releases page

  2. Double-click the DMG → drag Storefront.app into Applications

  3. First launch — bypass Gatekeeper (pick whichever is easiest):

    Option 1: Finder (simplest)

    • In Applications, right-click Storefront.app → Open → Open
    • On macOS 15+ you may also see a button under System Settings › Privacy & Security › "Open Anyway" — click it once.

    Option 2: One-liner in Terminal

    xattr -cr /Applications/Storefront.app

    Afterwards the app opens on regular double-click forever.

    Option 3: Strip the quarantine attribute from the DMG before mounting

    xattr -d com.apple.quarantine ~/Downloads/Storefront-*.dmg

Why the warning? Storefront ships without Apple notarization because it is a pure open-source side project — no Apple Developer Program ($99/year) is involved. The source on GitHub is exactly what you run.

B. Clone & run in Xcode (fastest for developers)

Requires the prerequisites above (Homebrew, Xcode, xcodegen).

git clone https://github.com/jun7680/Storefront.git
cd Storefront

xcodegen generate              # regenerate the .xcodeproj (it is gitignored)
open Storefront.xcodeproj      # then press ⌘R in Xcode

First build only: Xcode will prompt "Trust & Enable" for the TCA macro plugins (ComposableArchitectureMacros, CasePathsMacros, DependenciesMacros, PerceptionMacros). Click Trust & Enable for each — this is a one-time security prompt.

If Xcode blocks every build with a macro error, disable macro fingerprint validation globally (then restart Xcode):

defaults write com.apple.dt.Xcode IDESkipMacroFingerprintValidation -bool YES
defaults write com.apple.dt.Xcode IDESkipPackagePluginFingerprintValidatation -bool YES

C. Build from the command line

Requires the prerequisites above.

git clone https://github.com/jun7680/Storefront.git
cd Storefront

make build                                          # Debug build
open build/Build/Products/Debug/Storefront.app      # launch it

Or copy the Debug build directly into /Applications:

make install                   # builds and copies to /Applications/Storefront.app

Want the distributable DMG locally?

make dmg                        # → build/Storefront-0.1.0.dmg
open build/Storefront-0.1.0.dmg # mount and verify

Both make install and make dmg finish with an opt-in star prompt — if you answer y and have gh authenticated, Storefront will be starred on your behalf; otherwise it opens the repo in your browser.


Makefile targets

Command What it does
make setup Install xcodegen and create-dmg via Homebrew
make generate Regenerate Storefront.xcodeproj from project.yml
make build Debug build
make install Debug build → copy to /Applications/Storefront.app
make test Run unit tests
make archive Release archive with ad-hoc codesign
make dmg Full archive + package build/Storefront-<version>.dmg
make icon Regenerate AppIcon.appiconset (SF Symbol placeholder)
make star Opt-in GitHub star prompt (uses gh if logged in, else opens browser)
make clean Remove build/ and derived data

🏛 Architecture

Built with The Composable Architecture (TCA). Every feature is a @Reducer + @ObservableState pair composed into the root AppFeature via Scope. Side effects — DB reads, file watching, simulator scanning — are isolated behind @Dependency clients and unit-tested with TestStore.

Storefront/
├── App/              # Entry point (StorefrontApp)
├── Features/         # TCA features — App, Welcome, Browser, SimulatorPicker
├── Dependencies/     # DatabaseClient, FileWatcherClient, SimulatorClient
├── Core/             # UI-agnostic domain — GRDB SQLite + SwiftData parsing
└── Resources/        # Assets, entitlements, Info.plist

See Docs/PLAN.md for the full design doc and Docs/PROGRESS.md for phase status.

🗺 Roadmap

  • v0.1.0 — core viewer MVP (SQLite + SwiftData + live reload + simulator scan)
  • v0.2.0 — custom app icon, SQL read-only console, Homebrew Cask
  • v0.3.0 — export to CSV/JSON, BLOB image preview, column filters

🤝 Contributing

Issues and PRs are welcome. This is my first open-source project, so please be gentle 🙏. For substantial changes, open an issue first so we can align on direction.

📜 License

MIT © 2026 Injun


Built with 💙 and ☀️ on macOS
If Storefront saves you a few minutes, give it a ⭐ — it really helps.