Warning: Experimental project. Do not use in production.
A dual-pane terminal file manager with a retrowave aesthetic, inspired by Norton Commander and Midnight Commander. Features AWS S3 and Cloudflare R2 cloud support. Built with Bubble Tea.
╔═══════════════════════════════════════════════════════════════════════╗
║ ╔╦╗╔═╗╔╗╔╔╦╗╔═╗ ████████████ ║
║ ║║║╠═╣║║║ ║║║ ║ N A V I G A T O R ██▓▓▓▓▓▓▓▓██ ║
║ ╩ ╩╩ ╩╝╚╝═╩╝╚═╝ // v1.0.0 [retrowave] █▓▓▓▓▓▓▓▓▓▓▓▓█ ║
╠═══════════════════════════════╦═══════════════════════════════════════╣
║ ~/projects ║ ☁ s3://my-bucket ║
║────────── 4 items ────────────║────────── 3 items ────────────────────║
║▌▸ src/ <DIR> ║ ▸ backups/ <DIR> ║
║ ▸ docs/ <DIR> ║ data.json 1.2K ║
║ main.go 4.5K ║ config.yaml 820B ║
║ README.md 2.1K ║ ║
╠═══════════════════════════════╩═══════════════════════════════════════╣
║ goto ║ view ║ edit ║ copy ║ move ║ new ║ del ║ s3/r2 ║ theme ║ help ║
╚═══════════════════════════════════════════════════════════════════════╝
- Retrowave UI - Neon colors, synthwave aesthetic, double-line borders
- 7 Built-in Themes - retrowave, classic, nord, dracula, gruvbox, minimal, cyberpunk
- Custom Themes - Create your own color schemes
- Dual-pane Navigation - vim-style (j/k) or arrow keys
- Cloud Storage - AWS S3 and Cloudflare R2 support
- Cross-backend Transfers - local ↔ cloud, cloud ↔ cloud
- In-app Configuration - Cloud setup wizard, theme switching
- Built-in File Viewer - View files without leaving the app
- Editor Integration - Uses your
$EDITOR
go build -o mando .
./mando| Key | Alt | Action |
|---|---|---|
↑/↓ |
j/k |
Move cursor |
Enter |
Open directory | |
Tab |
Switch panel | |
g |
Go to path | |
v |
F3 |
View file |
e |
F4 |
Edit file (uses $EDITOR) |
c |
F5 |
Copy to other panel |
m |
F6 |
Move to other panel |
n |
F7 |
Create directory |
d |
F8 |
Delete |
s |
F9 |
Cloud storage menu |
t |
F10 |
Cycle themes |
. |
Toggle hidden files | |
? |
F1 |
Help |
q |
Quit |
MandoNavigator comes with 7 built-in themes:
| Theme | Description |
|---|---|
retrowave |
Synthwave aesthetic with neon pink/cyan (default) |
classic |
Traditional file manager colors |
nord |
Arctic, north-bluish palette |
dracula |
Dark theme with vibrant colors |
gruvbox |
Retro groove color scheme |
minimal |
Clean monochrome |
cyberpunk |
High-tech, low-life aesthetic |
Switch themes: Press t or F10 to cycle through themes.
Set default theme in ~/.config/mando/config.yaml:
theme_name: retrowave # or nord, dracula, gruvbox, etc.Create custom themes in ~/.config/mando/themes/:
# ~/.config/mando/themes/mytheme.yaml
name: My Theme
author: Your Name
description: A custom color scheme
colors:
primary: "#ff2d95" # Active borders, highlights
secondary: "#00fff5" # Selected items, accents
accent: "#b967ff" # Tertiary accent
warning: "#ffd319" # Warning/attention color
error: "#ff4757" # Error messages
success: "#00ff88" # Success indicators
background: "#0d0221" # Main background
background_dark: "#150533"
background_mid: "#1a1a3e"
selection: "#3d1a5c" # Selection background
text: "#8892b0" # Primary text
text_dim: "#6c5ce7" # Secondary text
text_muted: "#495670" # Muted text
border: "#ff2d95" # Active border
border_inactive: "#6c5ce7"
directory: "#ffd319" # Directory color
file: "#8892b0" # File color
executable: "#00ff88"
symlink: "#00fff5"
cloud: "#00fff5" # Cloud indicator
status_bg: "#150533" # Status bar background
status_key: "#ff2d95" # Status bar keysAn example.yaml template is created automatically in the themes directory.
Press s and select "Add new..." to configure cloud storage interactively.
Or edit ~/.config/mando/config.yaml:
clouds:
# AWS S3
my-s3:
type: s3
bucket: my-bucket
region: us-east-1
access_key_id: AKIA...
secret_access_key: ...
# Cloudflare R2
my-r2:
type: r2
bucket: my-bucket
account_id: <cloudflare-account-id>
access_key_id: ...
secret_access_key: ...
# Custom S3-compatible (MinIO, Backblaze, etc)
minio:
type: s3
bucket: data
endpoint: https://minio.example.com
access_key_id: minioadmin
secret_access_key: minioadmin# ~/.config/mando/config.yaml
theme_name: retrowave # Theme: retrowave, classic, nord, dracula, gruvbox, minimal, cyberpunk
editor: $EDITOR # or vim, nano, etc
show_hidden: false- Go 1.21+
- 256-color terminal (true color recommended for best results)