Lightweight TUI to run and manage ABP Framework microservice solutions from the CLI. Start containers and .NET applications, view logs, and control services from a single terminal.
- Lightweight — Single binary, no extra runtime; uses your existing Docker and .NET SDK.
- ABP-native — Reads run profiles from
etc/abp-studio/run-profiles/*.abprun.json(ABP Studio format). - CLI-first — Run from the project root (or with
-d), pick a profile, then use the TUI to start/stop services and view logs.
- An ABP solution with ABP Studio run profiles: directory
etc/abp-studioandetc/abp-studio/run-profiles/*.abprun.json. - Docker (for container services) and .NET SDK (for .NET applications), as defined in your profile.
-
Open the Releases page and download the binary that matches your Mac:
- Apple Silicon (M1/M2/M3):
abp-msx-darwin-arm64 - Intel:
abp-msx-darwin-amd64
- Apple Silicon (M1/M2/M3):
-
In Terminal, go to your download folder and make it executable:
cd ~/Downloads chmod +x abp-msx-darwin-arm64 # or abp-msx-darwin-amd64
-
Move it to a directory on your
PATHand name itabp-msx:sudo mv abp-msx-darwin-arm64 /usr/local/bin/abp-msx # on most macOS setups /usr/local/bin is already on PATH -
Test:
abp-msx -d /path/to/your/abp-solution
If you see
permission denied, you probably skipped thechmod +xstep.
If you seecommand not found, check that/usr/local/binis in yourPATH(echo $PATH).
-
From Releases, download the Linux binary (
abp-msx-linux-amd64orabp-msx-linux-arm64). -
Go to the download folder and make it executable:
cd ~/Downloads chmod +x abp-msx-linux-amd64 # or abp-msx-linux-arm64
-
Move it to a directory on your
PATH:sudo mv abp-msx-linux-amd64 /usr/local/bin/abp-msx # user-only example: # mkdir -p ~/.local/bin # mv abp-msx-linux-amd64 ~/.local/bin/abp-msx
-
Run:
abp-msx -d /path/to/your/abp-solution
If you installed into
~/.local/binand the command is not found, add this to your shell config:
export PATH=\"$HOME/.local/bin:$PATH\"
-
From Releases, download the Windows binary (e.g.
abp-msx-windows-amd64.exe). -
Optionally rename it to
abp-msx.exe. -
Move
abp-msx.exeinto a folder on your System PATH (for exampleC:\Tools\abp-msx\abp-msx.exe) and add that folder to PATH if needed. -
In PowerShell or CMD:
abp-msx -d C:\path\to\your\abp-solution
If you prefer to build yourself (requires Go 1.21+):
git clone https://github.com/paynion/abp-msx.git
cd abp-msx
go build -o abp-msx .
# then move abp-msx to a directory in your PATH (see above)Cross-build for all platforms (see Makefile):
make all # outputs to dist/From any directory, point to your ABP solution root:
abp-msx -d /path/to/your/abp-solutionIf you are already inside the ABP solution root (directory that contains etc/abp-studio), you can run:
abp-msx- If there is one run profile, it is used automatically.
- If there are several, you choose one at startup, then the TUI opens.
| Key | Action |
|---|---|
| ↑↓ | Move selection |
| Enter | Start / stop selected service (or section) |
| L | View logs for selected service |
| O | Open service URL in browser |
| K | Kill process on service port |
| F | Open service folder in file manager |
| S | Start all services |
| X | Stop all services (and cancel retries) |
| q | Quit |
Logs view: G or g to resume auto-scroll, q to go back.
- Finds project root (current dir or
-d) by looking foretc/abp-studio. - Discovers run profiles in
etc/abp-studio/run-profiles/*.abprun.json. - Loads the chosen profile and builds the service list (containers + applications from the config).
- TUI shows groups (e.g. Containers, Applications, Core Services). You start/stop per service, per section, or all.
- Logs are read from the project’s log directory; container logs come from
docker logs.
