Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Terminal UI (TUI)

mxcli includes a terminal-based interactive UI for browsing, inspecting, and modifying Mendix projects. Built with Bubble Tea, it provides a ranger/yazi-style Miller column interface directly in the terminal.

Quick Start

# Launch with a project file
mxcli tui -p app.mpr

# Resume a previous session
mxcli tui -c

# Launch without a project (opens file picker)
mxcli tui

The TUI opens in full-screen alternate screen mode with mouse support enabled.

Feature Summary

FeatureDescription
Miller column navigationThree-panel layout: modules, documents, preview
Vim-style keybindingsh/j/k/l navigation, / to filter, : for commands
Syntax highlightingReal-time MDL, SQL, and NDSL highlighting via Chroma
Command paletteVS Code-style : command bar with tab completion
MDL executionType or paste MDL scripts and execute them in-place
mx check integrationValidate projects with grouped errors, navigation, and filtering
Mouse supportClick to select, scroll wheel, clickable breadcrumbs
Session restore-c flag restores previous tabs, selections, and navigation state
File watcherAuto-detects MPR changes and refreshes the tree
Fullscreen previewPress Enter or Z to expand any panel to full screen
Tab supportMultiple project tabs in a single session
Contextual helpPress ? for keybinding reference

Architecture

The TUI delegates all heavy lifting to existing mxcli logic. The project tree is built by calling buildProjectTree() directly, while commands like describe, callers, check, and exec run mxcli as a subprocess. Diagrams open in the system browser via xdg-open or open.

Flags

FlagDescription
-p, --projectPath to the .mpr project file
-c, --continueRestore the previous TUI session (tabs, navigation, preview mode)

When launched without -p, the TUI presents a file picker that shows recently opened projects and allows browsing the filesystem for .mpr files.

Keyboard Reference

KeyAction
h / LeftMove focus left
l / Right / EnterMove focus right / open
j / DownMove down
k / UpMove up
TabCycle panel focus
/Filter current column
:Open command palette
xOpen MDL execution view
z / ZToggle fullscreen zoom on current panel
?Show contextual help
qQuit