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?
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:
Configuration:
.envvariables with descriptions and validation)Visibility:
/api/{database}/explorer)System integration:
Implementation notes
pgarachne-app) should continue to be the distribution channelOpen questions