Postal Monitor is a read-only Ink dashboard that displays real-time task events published by independent Node processes over a Unix domain socket. The monitor runs as the UDS server; a launcher process spawns real monorepo commands and reports start/finish events as the UDS client.
The monitor calls listenOnSocket() to create a UDS server. Each connecting reporter
automatically registers a postal transport via the SYN/ACK handshake — envelopes flow across
the socket boundary without any manual wiring.
UDS transport (client side)
The reporter calls connectToSocket() and then getChannel("monitor").publish(). Three
lines of postal API — that’s the entire client integration. The reporter module is
intentionally thin to showcase this.
Wildcard subscriptions
The monitor subscribes to "task.#" — a single subscription that receives both
task.started and task.finished events. AMQP-style wildcards mean new event types work
without changing the subscriber.
Multi-process pub/sub
The launcher spawns real pnpm --filter commands concurrently with staggered starts. Events
flow from ephemeral task processes through the launcher’s reporter to the monitor’s TUI —
all via postal envelopes over a Unix socket.
The monitor is the long-running process (server). Reporters are ephemeral (clients). This maps naturally — the thing that waits listens; the things that come and go connect.
Requires Node.js 22+ and a completed pnpm install at the monorepo root (the launcher spawns real pnpm --filter commands). Press Ctrl+C in either terminal for clean shutdown.