tsb (Terminal Spring Boot) is a modern, Terminal User Interface (TUI) application inspired by k9s, designed specifically for Spring Boot developers. It aims to streamline the process of bootstrapping new Spring Boot applications and managing/monitoring running Spring Boot instances via their Actuator endpoints directly from the terminal.
- Project Generation - Interactive TUI wizard to bootstrap new Spring Boot projects (like start.spring.io).
- Auto-Discovery & Manual Addition - Automatically scan local ports or manually add running Spring Boot apps.
- Applications View - A main dashboard listing all discovered/added Spring Boot apps and their health status.
- Beans Explorer - Browse the Spring application context to see all loaded beans and their dependencies.
- Endpoints & Mappings - View exposed Actuator endpoints and HTTP request mappings.
- Environment Properties - Inspect active environment variables, properties, and configuration details.
- Logger Management - View and dynamically update logger levels on the fly without restarting.
- Thread Dumps - Generate and view live thread dumps directly in the terminal.
- Heap Dumps - Download heap dumps locally for further analysis or profiling.
- Keyboard-Driven - Vim-like navigation (
j,k,gg,G), search (/,n,N), and command palette (:).
brew install huseyinbabal/tap/tsbscoop bucket add huseyinbabal https://github.com/huseyinbabal/scoop-bucket
scoop install tsbDownload the latest release from the Releases page.
| Platform | Architecture | Download |
|---|---|---|
| macOS | Apple Silicon (M1/M2/M3) | tsb-aarch64-apple-darwin.tar.gz |
| macOS | Intel | tsb-x86_64-apple-darwin.tar.gz |
| Linux | x86_64 (musl) | tsb-x86_64-unknown-linux-musl.tar.gz |
| Linux | ARM64 (musl) | tsb-aarch64-unknown-linux-musl.tar.gz |
| Windows | x86_64 | tsb-x86_64-pc-windows-msvc.zip |
# macOS Apple Silicon
curl -sL https://github.com/huseyinbabal/tsb/releases/latest/download/tsb-aarch64-apple-darwin.tar.gz | tar xz
sudo mv tsb /usr/local/bin/
# macOS Intel
curl -sL https://github.com/huseyinbabal/tsb/releases/latest/download/tsb-x86_64-apple-darwin.tar.gz | tar xz
sudo mv tsb /usr/local/bin/
# Linux x86_64 (musl - works on Alpine, Void, etc.)
curl -sL https://github.com/huseyinbabal/tsb/releases/latest/download/tsb-x86_64-unknown-linux-musl.tar.gz | tar xz
sudo mv tsb /usr/local/bin/
# Linux ARM64 (musl - works on Alpine, Void, etc.)
curl -sL https://github.com/huseyinbabal/tsb/releases/latest/download/tsb-aarch64-unknown-linux-musl.tar.gz | tar xz
sudo mv tsb /usr/local/bin/- Download
tsb-x86_64-pc-windows-msvc.zipfrom the Releases page - Extract the zip file
- Add the extracted folder to your PATH, or move
tsb.exeto a directory in your PATH
cargo install tspring# Run interactively
docker run --rm -it huseyinbabal/tsb
# Build locally
docker build -t tsb .
docker run --rm -it tsbNote: Use
-itflags for interactive terminal support (required for TUI).
tsb is built with Rust. Make sure you have Rust 1.70+ installed, along with a C compiler and linker.
# Clone the repository
git clone https://github.com/huseyinbabal/tsb.git
cd tsb
# Build and run
cargo build --release
./target/release/tsb# Launch tsb (will prompt to discover or add an app if none configured)
tsbWhen you first launch tsb, you can start discovering local apps. If auto-discovery fails or you want to connect to a remote instance, you can manually add an application. You will need to provide:
- Name: A friendly name for the server (e.g., "auth-service", "local-payment")
- URL: The Spring Boot Actuator base URL (e.g.,
http://localhost:8080/actuator)
Note: Make sure your Spring Boot application has
spring-boot-starter-actuatorin its dependencies and the necessary endpoints are exposed (e.g.management.endpoints.web.exposure.include=*).
Application configurations are stored in:
| Platform | Path |
|---|---|
| Linux | ~/.config/tsb/config.yaml |
| macOS | ~/.config/tsb/config.yaml |
| Windows | %APPDATA%\tsb\config.yaml |
| Action | Key | Description |
|---|---|---|
| Navigation | ||
| Move up | k / ↑ |
Move selection up |
| Move down | j / ↓ |
Move selection down |
| Top | gg |
Jump to first item |
| Bottom | G |
Jump to last item |
| Pagination | ||
| Next page | ] |
Load next page of results |
| Previous page | [ |
Load previous page of results |
| Views | ||
| Resources | : |
Open resource selector (command palette) |
| Describe | Enter / d |
View detailed properties/JSON for the selected item |
| Back | Esc / Backspace |
Go back to previous view |
| Actions | ||
| Refresh | R |
Refresh current view |
| Search / Filter | / |
Filter lists or search in describe view |
| Add App | a |
Add a new Spring Boot application |
| Edit | e |
Edit properties (e.g. log levels) |
| Delete | Ctrl-d |
Delete selected application |
| New Project | N |
Open Spring Initializr wizard to bootstrap a new app |
| Select | Space |
Toggle selection |
| Quit | Ctrl-c / q |
Exit tsb |
| Search Search | ||
| Next match | n |
Jump to next match |
| Previous match | N |
Jump to previous match |
| Clear search | Esc |
Clear search and highlights |
Press : to open the resource picker. Available resources:
| Resource | Description |
|---|---|
apps |
Manage and view Spring Boot applications |
beans |
Browse Spring application context beans |
env |
View environment properties and configuration |
endpoints |
View exposed Actuator endpoints |
loggers |
View and edit logger levels |
mappings |
View HTTP request mappings |
threaddump |
Generate and view thread dumps |
heapdump |
Download and manage heap dumps |
Contributions are welcome! Please feel free to submit a Pull Request.
- Inspired by k9s - the awesome Kubernetes CLI
- Inspired by tredis - Terminal UI for Redis
- Built with Ratatui - Rust TUI library
This project is licensed under the MIT License - see the LICENSE file for details.
Made with ❤️ for the Spring Boot community
