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.
- 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
.envfiles 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
- macOS 26.0 (Tahoe) or later
- Xcode 26+ (to build from source)
xcodebuild -scheme CMDHub -configuration Debug buildOr open CMDHub.xcodeproj in Xcode and press Cmd+B.
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.
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.test→localhost:3000) - SSL support with locally-trusted certificates
The helper installs once via System Settings > Login Items - no repeated admin prompts.
Services are stored in ~/.cmdhub/config.json. You can edit them through the project wizard UI or directly in the JSON file.
