SkillAgentSearch skills...

Lla

blazing fast `ls` replacement with superpowers

Install / Use

/learn @chaqchase/Lla
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

<h1> <p align="center"> <img src="https://github.com/user-attachments/assets/f7d26ac0-6d4c-4d66-9a4c-046158b20d24" alt="Logo" width="128"> <br>lla </h1> <p align="center"> Modern, customizable, feature-rich and extensible `ls` replacement. <br /> <a href="https://lla.chaqchase.com">Documentation</a> · <a href="#features">Features</a> · <a href="#installation">Installation</a> · <a href="#display-formats">Display Formats</a> · <a href="#command-reference">Command Reference</a> </p> </p>

Overview

lla is a modern ls replacement that transforms how developers interact with their filesystem. Built with Rust's performance capabilities and designed with user experience in mind, lla combines the familiarity of ls with powerful features like specialized views, Git integration, and a robust plugin system with an extensible list of plugins to add more functionality.

Features

  • Multiple Views: Default clean view, long format, tree structure, table layout, grid display
  • Diff Command: Human-friendly directory or file comparisons (local ↔ local or git) with size/line deltas and unified diff output
  • Git Integration: Built-in status visualization and repository insights
  • Advanced Organization: Timeline view, storage analysis, recursive exploration
  • Smart Navigation: Interactive directory jumper with bookmarks and history
  • Smart Search: complex filtering patterns (OR, AND, NOT, XOR), regex support, content search
  • Customization: Plugin system, theme manager, custom shortcuts, configurable display
  • High Performance: Built with Rust, modern UI, clean listings
  • Smart Sorting: Multiple criteria, directory-first option, natural sorting
  • Flexible Config: Easy initialization, plugin management, configuration tools
  • Rich Plugin Ecosystem: File ops and metadata enhancements, code analysis, git tools, and more
  • Smart Filters: Range-based size/time filters, reusable presets, cache-aware refinements
  • Git-aware Filtering: Optional .gitignore support via --respect-gitignore or config defaults

Installation

Using Installation Script

The easiest way to install lla is using our installation script:

curl -sSL https://raw.githubusercontent.com/chaqchase/lla/main/install.sh | bash

This script will automatically:

  • Detect your OS and architecture
  • Download the appropriate binary
  • Verify the checksum
  • Install lla to /usr/local/bin

Using Package Manager

| Package Manager / Platform | Command | | -------------------------- | ------------------- | | Cargo | cargo install lla | | macOS (Homebrew) | brew install lla | | Arch Linux (paru) | paru -S lla | | NetBSD (pkgin) | pkgin install lla | | X-CMD | x install lla |

Manual Installation

# Manual - Example is for amd64 GNU, replaces the file names if downloading for a different arch.
wget -c https://github.com/chaqchase/lla/releases/download/<version>/<lla-<os>-<arch>> -O lla # Example /v0.3.9/lla-linux-amd64
sudo chmod +x lla
sudo chown root:root lla
sudo mv lla /usr/local/bin/lla

Upgrading

Upgrade to the latest (or a specific) release without leaving the terminal:

# Upgrade to the latest release (auto-detects OS/arch, verifies checksums)
lla upgrade

# Target a specific tag or custom installation path
lla upgrade --version v0.5.1 --path /usr/local/bin/lla

The upgrade command reuses the official install script logic, renders animated progress indicators, verifies the SHA256SUMS manifest, and atomically swaps the lla binary in place (defaults to the path of the running executable—override with --path if needed).

Post Installation

After installation, initialize your setup:

# Guided setup with theme/format wizard (default)
lla init

# Write the default config without prompts
lla init --default

# View your config
lla config

The revamped wizard (now the default) walks you through:

  • Look & feel choices (icons, theme, default view, permission format)
  • Listing defaults (sort order, directory inclusion, depth limits)
  • Sorting & filtering toggles (dirs-first, natural sort, dotfile visibility, case sensitivity)
  • Long-view behavior (relative dates, hide group column, column selection)
  • Plugin directory selection, plugin enablement, and recursion safety limits

Display Formats

Core Views

Default View

Clean, distraction-free listing for quick directory scans:

lla
<img src="https://github.com/user-attachments/assets/3517c63c-f4ec-4a51-ab6d-46a0ed7918f8" className="rounded-2xl" alt="default" />

Long Format

Rich metadata display for detailed file analysis:

lla -l
<img src="https://github.com/user-attachments/assets/2a8d95e4-efd2-4bff-a905-9d9a892dc794" className="rounded-2xl" alt="long" />

Options and tweaks:

  • Hide the group column (useful on single-user systems):

    lla -l --hide-group
    
  • Show relative dates (e.g., "2h ago"):

    lla -l --relative-dates
    

To make these defaults, add to your config (~/.config/lla/config.toml):

[formatters.long]
hide_group = true
relative_dates = true
columns = ["permissions", "size", "modified", "user", "group", "name", "field:git_status", "field:tags"]

The columns array lets you control the precise column order. Use built-in keys (permissions, size, modified, user, group, name, path, plugins) or reference any plugin-provided field with the field:<name> prefix (e.g., field:git_status, field:complexity_score).

Tree Structure

Hierarchical exploration of directory relationships:

lla -t -d 3  # Navigate up to 3 levels deep
<img src="https://github.com/user-attachments/assets/cb32bfbb-eeb1-4701-889d-f3d42c7d4896" className="rounded-2xl" alt="tree" />

Archive Introspection

List archive contents as a virtual directory (no extraction). Supported: .zip, .tar, .tar.gz, .tgz.

lla my_archive.zip -t    # tree view
lla project.tar.gz -l    # long view
lla my_archive.tgz --json
lla my_archive.zip -l -f ".rs"  # filter by extension on internal paths

Single-file Listing

You can pass a single file path to list it directly with any view or machine output:

lla README.md          # default view
lla Cargo.toml -l      # long view
lla src/main.rs --json # machine output

Enhanced Organization

Table Layout

Structured view optimized for data comparison:

lla -T
<img src="https://github.com/user-attachments/assets/9f1d6d97-4074-4480-b242-a6a2eace4b38" className="rounded-2xl" alt="table" />

The [formatters.table].columns setting mirrors the long-view syntax, so you can mix built-in fields with plugin-provided metadata:

[formatters.table]
columns = ["permissions", "size", "modified", "name", "field:git_branch", "field:git_commit"]

Diff View (Files & Directories)

Compare directories or individual files (including against git references) with compact, colorized summaries. Directory comparisons still show the status table with size deltas, while file comparisons add a unified diff plus size/line-change stats:

lla diff src ../backup/src
lla diff apps/api --git              # compare working tree vs HEAD
lla diff src --git --git-ref HEAD~1  # compare against another commit
lla diff Cargo.lock ../backup/Cargo.lock
lla diff Cargo.lock --git --git-ref HEAD~1

For directories, the diff view groups entries by status, colors the change indicator, and shows left/right sizes plus the net delta so you can spot growth at a glance. For files, lla prints a size summary, line-count delta, and a git-style unified diff (with automatic binary detection so unreadable data isn’t dumped to your terminal).

Grid Display

Space-efficient layout for dense directories:

lla -g                  # Basic grid view
lla -g --grid-ignore    # Grid view ignoring terminal width (Warning: may extend beyond screen)
<img src="https://github.com/user-attachments/assets/b81d01ea-b830-4833-8791-7b62ff9137df" className="rounded-2xl" alt="grid" />

Note: Grid output no longer appends a trailing blank newline.

Specialized Views

Git Integration

Smart repository insights:

lla -G
<img src="https://github.com/user-attachments/assets/b0654b20-c37d-45c2-9fd0-f3399fce385e" className="rounded-2xl" alt="git" />

Timeline Organization

Chronological file tracking:

lla --timeline
<img src="https://github.com/user-attachments/assets/06a156a7-628a-4948-b75c-a0da584c9224" className="rounded-2xl" alt="timeline" />

Storage Analysis

Visual disk usage insights:

lla -S # use --include-dirs to calculate directories sizes
<img src="https://github.com/user-attachments/assets/dad703ec-ef23-460b-9b9c-b5c5d6595300" className="rounded-2xl" alt="sizemap" />

Advanced Navigation

Jump-to-Directory (Interactive Directory Jumper)

Quickly navigate to bookmarked or recently visited directories with an interactive keyboard-driven prompt:

# One-time setup for seamless directory jumping
lla jump --setup

# Interactive directory selection
lla jump

# Add directory to bookmarks
lla jump --add ~/projects/my-app

# Remove bookmark
lla jump --remove ~/projects/my-app

# List all bookmarks and recent history
lla jump --list

# Clear history
lla jump --clear-history

Features:

  • Interactive Selection: Arrow keys and Enter to select from bookmarked and recent directories
  • Smart History: Automatically records directory visits (respects exclude_paths)
  • Bookmarks: Add favorite directories for quick access
  • Deduplication: No duplicate entries in history
  • Shell Integration: Works seamlessly with shell commands like cd

How it works:

  1. Bookmarks (marked with ★) appear first in the selection list
  2. Recent directories follow, showing dir
View on GitHub
GitHub Stars1.2k
CategoryDevelopment
Updated1d ago
Forks24

Languages

Rust

Security Score

100/100

Audited on Apr 6, 2026

No findings