macOS Menu Bar App

Your services,
one click away.

A macOS menu bar app that manages all your local development services. Start, stop, monitor without leaving your workflow.

Download for macOS
brew install --cask cmdhub

Requires macOS 14 Sonoma or later

CMD Hub
Service manager
4 running·7 stopped11 total
Search projects & services...
MeshCrashed·1 service
Desktop0%·0MB
⚠Process exited with error (exit 1)
QBRRunning·3 services
Frontend0%·163MB:3000qbr.testdefault
Backend13%·83MB:3001
CPUMemory
Postgres0%·23MB
PulseStopped·2 services
6 projects
··
FEATURES

Features

·········· ··· ·····
······· ··· ······

Built for developers who manage multiple services daily. No bloat, no config files, no overhead.

Service Lifecycle

Start, stop, and restart services with a single click. Dependencies are resolved automatically - your database starts before your API, every time.

CPU 13%MEM 83MB

Real-time Monitoring

Live CPU usage, memory consumption, and port detection for every service. See resource metrics at a glance without opening Activity Monitor.

HTTP 200TCP OK

Health Checks

Configure HTTP, TCP, or shell-based health checks. CMDHub monitors your services continuously and alerts you the moment something goes wrong.

*.testProxy:3000SSL:8080DNS:5432

Reverse Proxy

Access services via clean local domains like frontend.myapp.test instead of remembering port numbers. SSL certificates are generated and trusted automatically.

DNSCMDHub:15353127.0.0.1

Zero-Config DNS

Built-in DNS responder resolves *.test domains to localhost automatically. No /etc/hosts editing. No dnsmasq installation. It just works.

Log Viewer

Per-service log viewer with ring buffer storage. See exactly what each service is outputting without switching between terminal windows.

CHAOS

The Problem

······ ··· ····· ········
· ····· ······ ·· ·····

Your frontend, backend, database, cache, worker queues - each in its own terminal tab. You lose track. Something crashes. You don't notice until your app breaks.

Terminal Tab Hell

8 terminal tabs. Which one is postgres? Which one crashed 20 minutes ago? Time to play detective.

Silent Failures

A background service crashes. No notification. You spend 30 minutes debugging your code before realizing the API server died.

Port Confusion

"Is it :3000 or :3001? Wait, something else is already using that port." Every. Single. Day.

Startup Ritual

Every morning: open terminal, cd here, run this, cd there, run that, wait, check, repeat. It's 2026 - why is this still manual?

The Solution

··· ···· ·· ···· ···· ····
········ ········

1

Click to start all services

Dependencies resolved automatically. Your database starts before your API, every time.

0

Config files needed

Visual wizard, not YAML. Point and click to set up projects, services, and health checks.

24/7

Health monitoring

Know the instant something breaks. HTTP, TCP, and shell-based health checks run continuously.

SIMPLE

How it works

····· ····· ·· ·······

01
+ Add

Configure

Add your projects and services with the visual wizard. Set commands, working directories, environment variables, and health checks - no YAML, no config files.

02

Launch

Start everything with one click. CMDHub resolves dependencies automatically - your database starts before your API, every time. No scripts needed.

03

Monitor

Live CPU, memory, health status - always one glance away in your menu bar. Get notified when services crash or become unhealthy.

POWER

Under the hood

····· ··········

Local Domains

Built-in Reverse Proxy

Access services via human-readable domains. frontend.myapp.test instead of localhost:3000. Auto-generated SSL certificates trusted by your system. No nginx config needed.
// Before — memorize port numbers
http://localhost:3000
http://localhost:8080
http://localhost:5432
// After — human-readable domains
https://frontend.myapp.test
https://api.myapp.test
https://db.myapp.test
SSL certificates auto-generated & trusted
DNS Resolution Flow
1
Browserapp.test
2
CMDHub DNS:15353
3
127.0.0.1resolved
4
Proxyroutes
5
:3000service

Automatic Routing

Zero-Config DNS

Built-in lightweight DNS responder resolves *.test domains to localhost. No /etc/hosts editing. No dnsmasq. No manual resolver setup. CMDHub handles everything automatically.

Smart Discovery

Automatic Port Detection

CMDHub watches what ports your services bind to - no manual config needed. See all listening ports at a glance with real-time CPU and memory metrics for every service.
Auto-detected ports
Next.js2.1%48MB
:3000:3001
API Server0.8%32MB
:8080
PostgreSQL1.2%96MB
:5432
Redis0.1%12MB
:6379

Ready to simplify
your workflow?

Free and open source. Built with Swift. Zero dependencies. macOS 14+.

Download CMDHub
brew install --cask cmdhub