v1.0.1 — built for tmux & docker

Run, monitor, and control
your local services.

montra is a CLI that wraps the services running on your machine — APIs, databases, workers — so you can start, stop, and watch them from one place. mon service start api does the same thing whether it lives in a tmux pane or a docker container.

MIT · runs on macOS & Linux · powered by node, tmux, docker
// features

What it actually does.

Register a service once — name, path, start command, runtime. From then on, montra is the one place you go to start it, stop it, restart it, or check on it.

$_
One CLI for every local service
Whether a service is a tmux pane or a docker container, you control it the same way: start, stop, restart, status.
Groups
Stick a few services in a group so you can start them together. mon group start backend instead of seven tmux commands.
Live overview
mon service overview paints a refreshing dashboard in your terminal — services grouped by type, status color-coded, updated every 30s.
Background watcher
A 5s poll on recently-started services. If one didn’t come up in time, you get an OS notification instead of finding out an hour later.
<>
Extend it in TypeScript
Drop a new file under src/commands/, rebuild, and it shows up in mon --help. It’s your CLI — add what you need.
Export / import
mon group export gives you a string. Send it to a teammate, they import, done.
tmux
docker
node ≥ .nvmrc
jq
// commands

The command surface.

mon <noun> <verb> — every command also accepts --help.

mon service add
Prompt the creation of a new service.
mon service list
List all configured services (alias: ls).
mon service overview
Live dashboard of every service, grouped by type, refreshed every 30s.
mon service start <name>
Start a service in the configured runtime.
mon service stop <name>
Stop a running service.
mon service restart <name>
Restart a service in place.
mon service status <name>
Print the current status of a service.
mon service update <name>
git pull → nvm install → nvm use → npm install.
mon service info <name>
Print full service configuration.
mon service modify <name>
Change the service configuration.
mon service vulnerabilities <name>
List image vulnerabilities from AWS Inspector (with filtering).
mon service export
Export services to share with someone else.
mon service import <data>
Import services from an export payload.
// install

Install.

Needs node, jq, and tmux. macOS and Linux. Windows works if you wire up npm link yourself.

~/dev — install
$git clone https://github.com/thomasboel/montra.git# grab the source
$cd montra
$nvm install && npm install# deps
$npm run build
$zsh install.sh# symlinks `mon` onto your $PATH

then run mon service add to register your first service.