Skip to content

iCyberon/cmdhub

Repository files navigation

CMDHub

CMDHub

macOS menu bar native app for managing and monitoring local development services.
Define your projects and services in one place, start/stop them with a click,
and get live health checks, logs, and resource metrics - all from the menu bar.

macOS Swift SwiftUI License

CMDHub Screenshot

Features

  • Menu bar popover - Quick access to all your projects and services without leaving your workflow
  • Service lifecycle management - Start, stop, and restart services with dependency-aware ordering
  • Health monitoring - HTTP, TCP, and shell command health checks with automatic status updates
  • Live logs - Per-service log viewer with real-time streaming via pseudo-terminal (PTY)
  • Resource metrics - CPU and memory usage tracking with sparkline charts
  • Port discovery - Automatic detection of TCP ports opened by services
  • Environment loading - Reads .env files and merges environment variables for each service
  • Local domain proxy - Route *.test (or any TLD) domains to local services via a built-in reverse proxy with optional SSL
  • Shell-aware - Sources your shell profile (~/.zshrc, ~/.bashrc) so tools like nvm, Homebrew, etc. are available
  • Zero dependencies - Pure Swift/SwiftUI, Apple frameworks only

Requirements

  • macOS 26.0 (Tahoe) or later
  • Xcode 26+ (to build from source)

Build

xcodebuild -scheme CMDHub -configuration Debug build

Or open CMDHub.xcodeproj in Xcode and press Cmd+B.

How It Works

CMDHub lives in your menu bar. You define projects, each containing one or more services (commands to run). Services can declare dependencies on each other, health checks, environment variables, and working directories.

Local Domain Proxy

CMDHub includes a privileged helper daemon that provides:

  • Reverse proxy on ports 80/443 for routing local domains to services
  • DNS responder for resolving custom TLDs (e.g., myapp.testlocalhost:3000)
  • SSL support with locally-trusted certificates

The helper installs once via System Settings > Login Items - no repeated admin prompts.

Configuration

Services are stored in ~/.cmdhub/config.json. You can edit them through the project wizard UI or directly in the JSON file.

License

MIT

About

macOS native app for managing and monitoring local development services

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages