muffintui-0.1.1 is not a library.
Visit the last successful build:
muffintui-0.1.14
muffintui
muffintui is a Rust terminal workspace for working inside a project directory with four panes:
- Files
- Editor
- Terminal
- Codex
It starts in the current working directory and uses that directory as:
- the root of the file tree
- the working directory for shell commands
- the working directory for the embedded
codexsession
Requirements
- Rust and Cargo
codexinstalled and available onPATH
Install
Install from crates.io:
Install from the local checkout:
Run
Launch in the current directory:
Launch against another project:
Run without installing during local development:
What It Does
- Shows a navigable file tree rooted at the current directory
- Opens the selected file in a read-only editor pane
- Toggles an editor diff mode against
HEAD~1 - Runs shell commands inside the built-in terminal pane with
sh -lc - Embeds a live
codexterminal session in the right pane - Cycles between three built-in themes
Notes:
.gitandtargetare intentionally hidden from the file tree- Diff mode falls back to a message when the repository has no
HEAD~1 - If the initial
codexlaunch fails, pressingEnterin the Codex pane retries the session
Keybindings
Global
Tab: move focus to the next paneShift+Tab: cycle the themeEsc: quitCtrl+C: quit when focus is not in the Codex pane
Files Pane
Upork: move selection upDownorj: move selection downEnteron a directory: expand or collapse itEnteron a file: open it in the editor pane
Editor Pane
Ctrl+D: toggle normal view and diff viewPageUp: scroll upPageDown: scroll down
Terminal Pane
- Type directly into the prompt
Enter: run the current commandBackspace: delete one characterPageUp: scroll backPageDown: scroll forwardHome: jump to the oldest visible terminal historyEnd: jump back to the live prompt
Codex Pane
- Regular typing: send input to the embedded
codexsession Enter: submit input, or retry the session if startup failedCtrl+C: send interrupt tocodexArrow keys,PageUp,PageDown,Home,End,Tab,Backspace: forwarded to the embedded session
Publish
Before publishing:
Then publish: