Skip to content

feat: Native macOS menu bar app (replace terminal launcher with full management UI) #9

Description

@heptau

Summary

Replace the current macOS app (which launches a terminal window with PgArachne)
with a proper native menu bar application providing full server management without
requiring terminal knowledge.

Motivation

The current macOS app lowers the installation barrier but still exposes the terminal,
which is not suitable for non-developer users and does not reflect the quality of
the project.

Proposed feature set

Core:

  • Menu bar icon with server status indicator (running / stopped / error)
  • Start / stop / restart PgArachne server directly from menu bar
  • Multiple configuration profiles (e.g. dev, staging, production) with quick switching

Configuration:

  • Built-in configuration editor (all .env variables with descriptions and validation)
  • Profile manager — create, duplicate, delete, import/export profiles

Visibility:

  • Embedded web view showing PgArachne Explorer (/api/{database}/explorer)
  • Live log viewer (tail of PgArachne output)
  • Metrics dashboard (Prometheus data visualised — requests/sec, active connections, errors)

System integration:

  • Launch at login option
  • macOS notifications on server errors or restarts

Implementation notes

  • SwiftUI preferred for native look and feel
  • Alternatively: Tauri or Electron if cross-platform (Linux tray app) is desired later
  • Existing Homebrew Cask (pgarachne-app) should continue to be the distribution channel

Open questions

  • SwiftUI native vs. cross-platform framework (Tauri/Electron)?
  • Should the app bundle PgArachne binary, or expect it installed separately via Homebrew CLI?

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions