lla 0.6.4

Blazing Fast and highly customizable ls Replacement with Superpowers
<div align="center">
  <img src="https://github.com/user-attachments/assets/f7d26ac0-6d4c-4d66-9a4c-046158b20d24" alt="lla logo" width="128" />
  <h1>lla CLI</h1>
  <p>Blazing-fast and highly customizable <code>ls</code> replacement with an extensible plugin platform.</p>
  <p>
    <a href="https://github.com/chaqchase/lla">Repository</a> ·
    <a href="https://github.com/chaqchase/lla/tree/main/docs">Documentation</a> ·
    <a href="https://lla.chaqchase.com">Website</a>
  </p>
</div>

This directory contains the executable `lla` crate in the workspace. It owns
the command-line interface, configuration loading, filesystem listing pipeline,
formatters, search and navigation commands, theme management, upgrades, and the
native and WebAssembly plugin host.

<div align="center">
  <img src="https://github.com/user-attachments/assets/ba5fa273-c2c4-4143-b199-ab5bff1bb608" alt="lla default view" />
</div>

## Install

Install the published crate with Cargo:

```bash
cargo install lla
```

For the installation script, prebuilt binaries, package-manager commands, musl
notes, and upgrades, see the repository's
[installation guide](https://github.com/chaqchase/lla/blob/main/docs/getting-started.md).

## Try it

```bash
lla                     # compact default listing
lla -l                  # detailed metadata
lla -t -d 3             # tree view with a depth limit
lla -G                   # Git-aware view
lla --search "TODO"     # content search
lla --json --pretty     # machine-readable listing
```

## Capabilities

- Default, long, tree, table, grid, Git, timeline, sizemap, recursive, and fuzzy
  views, plus archive and single-file listings
- Name, glob, regular-expression, type, size, time, visibility, and Git-aware
  filtering with configurable sorting
- Ripgrep-backed content search with human and machine output modes
- Directory jumping, bookmarks, visit history, themes, project profiles,
  shortcuts, completion generation, diffing, and in-place upgrades
- JSON, NDJSON, and CSV listing output
- Native dynamic plugins and WebAssembly Component Model plugins with typed
  fields, actions, manifests, integrity checks, and permissions

## Documentation

The repository documentation is canonical:

- [Documentation index]https://github.com/chaqchase/lla/blob/main/docs/README.md
- [Views and display]https://github.com/chaqchase/lla/blob/main/docs/views.md
- [Filtering and search]https://github.com/chaqchase/lla/blob/main/docs/filtering-and-search.md
- [Navigation]https://github.com/chaqchase/lla/blob/main/docs/navigation.md
- [Configuration]https://github.com/chaqchase/lla/blob/main/docs/configuration.md
- [Machine output]https://github.com/chaqchase/lla/blob/main/docs/machine-output.md
- [Command reference]https://github.com/chaqchase/lla/blob/main/docs/command-reference.md
- [Plugin user guide]https://github.com/chaqchase/lla/blob/main/docs/plugins/README.md
- [Architecture and Plugin Platform handbook]https://github.com/chaqchase/lla/blob/main/docs/handbook.md

## Workspace development

From the repository root:

```bash
cargo build -p lla
cargo test -p lla
cargo run -p lla -- --help
```

The default feature set enables native dynamic plugins without embedding
Wasmtime. Enable WebAssembly Component Model plugins explicitly; this feature
also enables `dynamic-plugins`:

```bash
cargo build -p lla --features wasm-plugins
```

Official Linux and macOS release binaries enable `wasm-plugins`. The official
NetBSD amd64 binary uses the default native-plugin feature set and omits
Wasmtime. Builds without `dynamic-plugins` retain the core CLI but do not load
or manage dynamic plugins:

```bash
cargo build -p lla --no-default-features
```

## License

Licensed under the workspace's
[MIT license](https://github.com/chaqchase/lla/blob/main/LICENSE).