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.
mon — zsh — 92×24
➜ ~/dev
// 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.