README
ΒΆ
π¦ Scout
A lightning-fast TUI file explorer and fuzzy finder for developers. Navigate, search, and preview files with ease.
Features
Core File Management
- π Full File Operations - Delete, rename, create files/directories with confirmation dialogs
- βοΈ Copy/Cut/Paste - Clipboard operations for files and directories (c, x, p)
- π Undo - Restore last deleted file from trash (press u)
- ποΈ Safe Deletion - Move to trash when possible, with confirmation dialogs
- π Smart Sorting - Cycle through sort modes: Name, Size, Date, Type (press s)
- π File Info Display - Shows file sizes, git status, and symlink indicators
Advanced Search
- β‘ Advanced Fuzzy Search - Lightning-fast fuzzy matching with result highlighting
- π Recursive Search - Search across entire project tree (toggle with Tab in search mode)
- π Content Search - Search inside files with ripgrep integration (Ctrl+G)
- π¨ Search Highlighting - Matched characters highlighted in search results
- β¨οΈ Intuitive Navigation - Arrow keys to navigate results, ESC clears then exits
Git Integration
- π Enhanced Git Status - Shows modified files and current branch in your repository
- π Git Awareness - Modified files marked with [M] indicator
Navigation & UI
- ποΈ Live Preview - See file contents without opening, with scrollable preview
- π Smart Navigation - Keyboard-driven interface with vim-like controls
- π·οΈ File Icons - Visual file type indicators for quick recognition
- π Smart Bookmarks - Save and manage frequently accessed directories with frecency ranking
- π― Frecency Tracking - Bookmarks sorted by frequency and recency of visits
- π Advanced Navigation - Half-page (Ctrl+D/U) and full-page (Ctrl+F/B) scrolling
- βοΈ Configurable Root - Set navigation boundaries with configurable root directory
Integration & Productivity
- π» VS Code Integration - Open files/directories as VS Code workspaces with 'o' key
- βοΈ Configurable Editor - Set your preferred editor in config file
- π Cross-platform Clipboard - Reliable copy-to-clipboard on all platforms
- π Responsive Design - Automatically fits terminal size with scrollable windows
Installation
Quick Install (Recommended)
One-liner install script - automatically detects your OS and architecture:
curl -sSL https://raw.githubusercontent.com/LFroesch/scout/main/install.sh | sh
This downloads the latest pre-compiled binary and installs it to your PATH. No Go required!
Pre-compiled Binaries
Download the latest release for your platform from GitHub Releases:
- Linux (amd64, arm64)
- macOS (Intel, Apple Silicon)
- Windows (amd64)
Extract and add to your PATH.
Build from Source
If you have Go installed:
go install github.com/LFroesch/scout@latest
Make sure $GOPATH/bin (usually ~/go/bin) is in your PATH:
echo 'export PATH="$HOME/go/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
Usage
# Open Scout in current directory
scout
# Open Scout in specific directory
scout /path/to/directory
Keyboard Shortcuts
Press ? at any time to view the in-app help screen with all keyboard shortcuts!
Navigation
β/βorj/k- Move cursor up/downctrl+d- Half-page downctrl+u- Half-page upctrl+f- Full-page downctrl+b- Full-page upg- Jump to first itemG- Jump to last itementer/l/β- Open directory or fileesc/h/β- Go to parent directory (respects root path limit)~- Go to home directory
Search & Filter
/- Enter search mode (starts with current directory file search)Tab- Cycle search modes (Current Dir β Recursive β Content Search)β/β- Navigate search results (while in search mode)esc- Clear search input first, then exit search modeS- Cycle sort mode (Name β Size β Date β Type).- Toggle hidden files
File Operations
e- Edit file in default editoro- Open file/directory (files: default app, directories: VS Code workspace)y- Copy file path to clipboardD- Delete file/directory (with confirmation)u- Undo last deletion (restore from trash)R- Rename file/directoryN- Create new fileM- Create new directoryc- Copy current file to clipboardx- Cut current file to clipboardp- Paste file from clipboard
Sorting & Display
S- Cycle sort mode (Name β Size β Date β Type)r- Refresh current directory
Bookmarks
b- Open bookmarks viewB- Add highlighted directory to bookmarks- In bookmarks view:
β/β- Navigate bookmarksenter- Go to selected bookmarko- Open bookmark in VS Coded- Delete bookmark (with confirmation)esc- Exit bookmarks view
View Options
.- Toggle hidden filesalt+up/alt+down- Scroll preview up/down
General
?- Show help screen with all keyboard shortcutsq/ctrl+c- Quit Scout
Configuration
Scout stores its configuration in ~/.config/scout/scout-config.json:
{
"root_path": "/home/user",
"bookmarks": [
"/home/user",
"/home/user/projects",
"/etc"
],
"show_hidden": false,
"preview_enabled": true,
"editor": "nvim",
"frecency": {
"/home/user/projects": 25,
"/home/user": 10
},
"last_visited": {
"/home/user/projects": "2025-11-15T20:00:00Z",
"/home/user": "2025-11-15T19:30:00Z"
}
}
Configuration Options
root_path- Sets the highest directory you can navigate to (default: your home directory)bookmarks- Array of bookmarked directory paths (root_path is auto-added if missing)show_hidden- Whether to show hidden files by defaultpreview_enabled- Whether to show the preview pane by defaulteditor- Your preferred text editor (e.g., "nvim", "vim", "nano") - used for the 'e' commandfrecency- Automatically tracked visit counts for directories (used to sort bookmarks)last_visited- Automatically tracked timestamps of last visits (for frecency calculation)
File Preview
Scout intelligently categorizes and previews files:
- Text & Code files - Full content with syntax-aware detection and scrolling support
- Directories - Lists contents with file count and icons
- Media files (images, video, audio) - Shows file metadata and type
- Documents (PDF, Office files) - Indicates external viewer required
- Archives (zip, tar, etc.) - Shows archive type and size
- Databases (sqlite, db files) - Identifies as binary database
- Fonts - Detects font files (.ttf, .woff, etc.)
- Executables - Identifies compiled binaries and bytecode
Large files (>1MB) are not previewed for performance. Preview content is cached (LRU, 50 files) for instant re-display.
Preview Navigation
- Use
]and[to scroll through long file contents - Preview automatically wraps text to fit the terminal width
- Scroll indicators show when more content is available above/below
Bookmarks System
- Frecency-based sorting: Bookmarks automatically sorted by frequency and recency of visits
- Smart tracking: Scout learns which directories you visit most and surfaces them first
- Auto-bookmark root: Your configured root path is automatically bookmarked
- Easy access: Press
bto view all bookmarks in a full-screen overlay - Visit counts: See how many times you've visited each bookmarked directory
- VS Code integration: Press
oon any bookmark to open it as a VS Code workspace - Safe deletion: Confirmation dialog prevents accidental bookmark removal
- Status bar info: See full path of highlighted bookmark in status bar
Git Integration
- Branch display: Current git branch shown in header when in a repository
- Modified files: Files with changes marked with
[M]indicator - Auto-detection: Scout automatically detects when you're in a git repository
File Type Icons
Scout uses intuitive icons for different file types:
- πΉ Go files (
.go) - π JavaScript/TypeScript (
.js,.ts,.jsx,.tsx) - π Python (
.py) - π Ruby (
.rb) - β Java (
.java) - π¦ Rust (
.rs) - βοΈ C/C++ (
.c,.cpp,.h) - π HTML (
.html,.htm) - π¨ CSS (
.css,.scss,.sass) - π Config files (
.json,.yaml,.toml) - π Markdown (
.md) - πΌοΈ Images (
.png,.jpg,.gif,.svg) - π¦ Archives (
.zip,.tar,.gz) - π₯οΈ Scripts (
.sh,.bash) - π Directories
- And many more...
Smart Filteringβ¬
Scout automatically hides common development artifacts:
node_modules.gitdirectories__pycache__- Build directories (
dist,build,target) - IDE configs (
.vscode,.idea) - System files (
.DS_Store,Thumbs.db)
Toggle hidden files with H to see everything.
Performance
Scout is designed to be fast:
- Advanced fuzzy matching using optimized algorithms for better results
- Instant search within current directory
- Recursive search with intelligent filtering and caching
- Efficient file system traversal using Go's stdlib optimizations
- Minimal memory footprint - lightweight and fast even on older hardware
- Responsive even in large directories (thousands of files)
- Smart caching - LRU preview cache (50 files) and git status cache (5s TTL)
- Optimized binary detection - extension-based categorization with content fallback
- Automatic terminal size adaptation for any screen size
Examples
Workflow Examples
Recursive Project Search:
Launch Scout β / to search β Tab for recursive mode β type filename β β/β to navigate β enter to open
Content Search (grep):
/ β Tab twice for content search β type query (e.g., "func main") β β/β navigate β o to open at line
File Operations:
Copy workflow: c to copy β navigate to destination β p to paste
Delete with undo: D to delete β y confirm β u to undo if needed
Smart Bookmarks:
B to bookmark current dir β b to view bookmarks (sorted by frecency) β enter to navigate or o for VS Code
Requirements
Optional Dependencies
-
ripgrep (rg) - Required for content search feature (accessible via
/thenTabtwice). Install with:# Ubuntu/Debian sudo apt install ripgrep # macOS brew install ripgrep # Arch Linux sudo pacman -S ripgrep -
gio or trash-put - Optional, for moving files to trash instead of permanent deletion:
# Ubuntu/Debian (gio is usually pre-installed with GNOME) sudo apt install gvfs # Or use trash-cli sudo apt install trash-cli
Tips
- Content search: Install ripgrep (
rg) for content search feature (search text inside files) - Safe deletion: Install
gioortrash-putfor trash support - enables undo withukey - Frecency magic: Bookmarks auto-sort by usage frequency - most-visited directories appear first
- Custom editor: Set preferred editor in config:
"editor": "nvim"(used forekey) - Root boundary: Configure
root_pathto limit navigation above your work directory - Mouse support: Click to select files, scroll with mouse wheel in all views
Documentation
ΒΆ
There is no documentation for this package.