A terminal-based launcher for multimodule projects.
Granular control over what you start, how you start it, and when.
Launch Goblin is a TUI (text-based user interface) tool for developers working in monorepos or other multi-service environments.
Instead of juggling turbo run and npm/pnpm with endless --filter or --workspace sequences, shell scripts, or custom launchers, you get a single interface where you can:
- Inspect available modules
- Select what to launch
- Run targets interactively
- Keep both shared and private launch configurations
- Turborepo integration – browse and run
turbo runtargets per module. - npm and pnpm integration – run package.json scripts with
npmorpnpmdirectly from the interface. - docker compose - run all or a selection of services from your
docker-compose.yaml. - Granularity – pick specific modules or run multiple together.
- shared and private configs - Keep common launch configurations in VCS and temporary working sets in $HOME.
- Interactive TUI – keyboard-driven, curses-style UI with focus and navigation.
To install launch-goblin as a global command on your system, you typically use a package manager.
$ pnpm install -g launch-goblinThen run it from your repository/multi-module product root:
$ launch-goblinTo use launch-goblin in a NodeJS project, add it as a devDependency and create a package.json script:
$ pnpm add -D launch-goblinpackage.json
{
"scripts": {
"dev": "launch-goblin"
}
}By default, Launch Goblin attempts to run the dev target/script of your project or turborepo configuration.
| Argument | Command |
|---|---|
| (no-args) | Open the Launch Goblin TUI |
| Specify the default launch/target script, and open the Launch Goblin TUI | |
| --r, --relaunch | Bypasses the TUI component selection and immediately launches the most recently launched configuration |
| --i, --term-info | Outputs the information about the terminal environment you are running in |
When running the Launch Goblin TUI, you can use --color-mode <mode> to force a specific color mode.
This is helpful if the terminal misreports its capabilities, which can otherwise cause issues like
black text on a black background.
Valid Color Modes are: truecolor, 16, 8 and monochrome
Launch Goblin aims to be zero- or low-conf, and will automatically discover facets of projects - to a point.
In the early version that it is currently in, there is no way to configure Launch Goblin or provide hints.
The aim will always be to not force the user to configure or specify what could or should be inferred, dwim-style there may still be plenty of cases where one might tweak or inform the project setup, and this will be enabled as the project matures.
See CHANGELOG.md
Grouped key legends + Docker Compose fix
- Grouped footer keyboard legend into categories
- Fixed issue when docker compose failed to launch due to references to missing services in configs
- Config management:
- ✅ Create
- ✅ rename
- Edit
- ✅ Auto-keep “last launched” setup, even if not saved as config.
- CLI mode: run configs directly without opening the TUI.
- ✅ Allow different modules to be launched with different launch scripts.
- More control over process lifecycle for launcher strategies where it makes sense (restart/stop).
- Additional backends: Docker Compose, tmux, and more.
- ✅ Docker Compose
- Configurable keymaps and themes.
- ✅ Persisted state across sessions.
- Support for parallel vs sequential launch strategies.
© 2025-2026 Sven Johansson. MIT Licensed