one command, zero setup

Stop retyping the same cd, the same pnpm dev.

runit is a full-screen, fuzzy-searchable project picker for your terminal — it finds your projects, previews them live, and launches your dev server and editor for you.

$ npm install -g @mouhinou/runit-cli
npm version zero dependencies MIT license

you@your-machine: ~

you@your-machine ~$
~/Projects/portfolio-site | git:main | next
~/Work/api-gateway | git:main | next
~/Work/mobile-app | no-git | react
~/Projects/cli-experiments | git:main | vite
~/Work/internal-tools | git:chore/cleanup | next
→ opening portfolio-site

Everything between "I want to code" and coding

Six small conveniences that add up to one big one: you never think about the plumbing.

zero deps

Nothing else to install

The picker, banner, and preview are built natively in Node — no fzf, gum, or figlet required on your system.

any terminal

Auto-detects your terminal

Alacritty, kitty, gnome-terminal, konsole, Windows Terminal, Terminal.app — finds one and spawns your dev server there. None found? Runs in the background and logs to a file instead.

self-healing

Upgrades fix themselves

The shell hook that lets runit cd your terminal repairs itself automatically on every upgrade — no dotfile editing when the internals change.

dive in

Full-screen, like an app

Takes over the terminal in an alternate screen buffer, the same trick btop and vim use. Your scrollback comes back untouched when you're done.

preview

See before you leap

Fuzzy-filter the list and watch a live directory listing update in the pane beside it, before you commit to opening anything.

roots

Scan wherever you want

runit --add-dir ~/Freelance adds a folder on the spot. --remove-dir takes one back out, with a confirmation so a typo can't wipe your list.

Four system packages became one runtime

runit started as a bash function shelling out to fzf, gum, alacritty, and figlet. It's now a self-contained Node CLI.

before

✕fzf
✕gum
✕alacritty
✕figlet

now

✓Node.js ≥ 18

One command. That's the whole install.

npm install -g @mouhinou/runit-cli

This detects your shell (bash, zsh, or fish) and writes the one line it needs into your rc file automatically — safe to re-run, and it self-heals on every future upgrade. Open a new terminal and runit is ready.

Shell not auto-detected, or installing in CI? Add it yourself →
eval "$(command runit --init bash)"   # or: zsh
command runit --init fish | source     # fish