Skip to main content

Crate limb

Crate limb 

Source
Expand description

limb. A polished CLI + TUI for working with git worktrees.

The crate is organised as a thin command dispatcher on top of a handful of focused modules:

  • cli. Clap argument definitions for every subcommand.
  • cmd. One submodule per subcommand; each exposes run(ctx, args).
  • worktree. The worktree::Worktree data model and the git-worktree wrappers every subcommand builds on.
  • config. TOML loading for per-repo .limb.toml and ~/.config/limb/config.toml.
  • context. Runtime state (repo, config, flags) passed to every subcommand.
  • discover, hooks, shell. Cross-repo scanning, user-hook execution, and shell-integration emission respectively.
  • tui. The interactive picker (limb pick), backed by ratatui.

Errors bubble up via anyhow::Result; error::Canceled is the one structural error, used to signal Ctrl-C without an error message.

Modules§

cancel
Cooperative cancellation via Ctrl-C / SIGTERM / SIGHUP.
cli
Clap argument definitions for every subcommand.
cmd
One submodule per subcommand, each exposing pub fn run(ctx, args).
config
TOML configuration loading.
context
Runtime state threaded through every subcommand.
discover
Cross-repo discovery used by --all and limb pick.
error
Structural error types.
fmt
Tiny formatting helpers shared by the table-printing subcommands.
fuzzy
Picker filter backed by nucleo_matcher.
git
Minimal git CLI wrappers.
hooks
User-defined hook scripts.
shell
Shell integration emitted by limb init <shell>.
style
Semantic ANSI styles used by the non-TUI output path.
tui
Interactive TUI picker used by limb pick.
worktree
Worktree data model and git-worktree CLI wrappers.

Functions§

run
Runs the limb CLI to completion.