cmdscope

A fast, keyboard-first Rust TUI for Atuin-style SQLite shell history. Search, inspect, compose, and return commands without executing them.

Fast search

Incremental candidate narrowing, cached query layers, and bounded top-K ranking keep large histories responsive.

Configurable workspace

Control columns, responsive priorities, menus, nested submenus, lifecycle hooks, windows, and command-wrapping templates from TOML.

Shell-safe

Selected commands are emitted as text only. Use --null when exact trailing-newline preservation matters.

Start here

  1. Build and run your first search.
  2. Learn the four history scopes.
  3. Customize columns, keys, menus, windows, and wraps.
  4. Build a nested action workflow.

0.3.0 highlights

Columns

date, pwd, exit, and duration have independent order, width, alignment, truncation, and responsive priority.

Menus + windows

Named menus can open other menus or inspection windows. Local bindings take precedence and text input is suspended while modal UI is active.

Live refresh

SQLite changes are reloaded from complete snapshots and preserve the active query and selected identity whenever possible.