scout

command module
v1.0.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 9, 2026 License: GPL-2.0 Imports: 18 Imported by: 0

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 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

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
  • ↑/↓ or j/k - Move cursor up/down
  • ctrl+d - Half-page down
  • ctrl+u - Half-page up
  • ctrl+f - Full-page down
  • ctrl+b - Full-page up
  • g - Jump to first item
  • G - Jump to last item
  • enter/l/β†’ - Open directory or file
  • esc/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 mode
  • S - Cycle sort mode (Name β†’ Size β†’ Date β†’ Type)
  • . - Toggle hidden files
File Operations
  • e - Edit file in default editor
  • o - Open file/directory (files: default app, directories: VS Code workspace)
  • y - Copy file path to clipboard
  • D - Delete file/directory (with confirmation)
  • u - Undo last deletion (restore from trash)
  • R - Rename file/directory
  • N - Create new file
  • M - Create new directory
  • c - Copy current file to clipboard
  • x - Cut current file to clipboard
  • p - Paste file from clipboard
Sorting & Display
  • S - Cycle sort mode (Name β†’ Size β†’ Date β†’ Type)
  • r - Refresh current directory
Bookmarks
  • b - Open bookmarks view
  • B - Add highlighted directory to bookmarks
  • In bookmarks view:
    • ↑/↓ - Navigate bookmarks
    • enter - Go to selected bookmark
    • o - Open bookmark in VS Code
    • d - Delete bookmark (with confirmation)
    • esc - Exit bookmarks view
View Options
  • . - Toggle hidden files
  • alt+up/alt+down - Scroll preview up/down
General
  • ? - Show help screen with all keyboard shortcuts
  • q/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 default
  • preview_enabled - Whether to show the preview pane by default
  • editor - Your preferred text editor (e.g., "nvim", "vim", "nano") - used for the 'e' command
  • frecency - Automatically tracked visit counts for directories (used to sort bookmarks)
  • last_visited - Automatically tracked timestamps of last visits (for frecency calculation)

File Preview

Scout automatically previews:

  • Text files - Full content with text wrapping and scrolling support
  • Directories - Lists contents with file count and icons
  • Images - Shows file info (no image preview)
  • Binary files - Shows file size and type only

Large files (>1MB) and binary files are not previewed for performance.

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 b to view all bookmarks in a full-screen overlay
  • Visit counts: See how many times you've visited each bookmarked directory
  • VS Code integration: Press o on 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
  • .git directories
  • __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 of file metadata and git status
  • 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 / then Tab twice). 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 gio or trash-put for trash support - enables undo with u key
  • Frecency magic: Bookmarks auto-sort by usage frequency - most-visited directories appear first
  • Custom editor: Set preferred editor in config: "editor": "nvim" (used for e key)
  • Root boundary: Configure root_path to limit navigation above your work directory
  • Mouse support: Click to select files, scroll with mouse wheel in all views

Documentation ΒΆ

The Go Gopher

There is no documentation for this package.

Directories ΒΆ

Path Synopsis
internal
git

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL