nd-cli
nd-cli is a terminal directory navigator written in Rust.
It displays subdirectories, lets you move using numeric choices, and prints the final selected path when you quit.
Installation
Enable shell integration (required to change directories from your current shell).
The project crate is nd-cli, and the binary/shell command is nd:
# zsh
# bash
# fish
# powershell
Use nd to navigate and update your current shell directory:
Without shell integration, you can still run the binary directly:
After shell integration, nd is a shell function that runs nd and then cds to the selected directory.
For local development:
Usage
Commands inside the TUI:
1..Nselect a directorybgo to parent directoryqquit and print selected path
Flags:
--show-hiddeninclude directories that start with.--start-dir <PATH>start browsing from a specific directory--no-colordisable ANSI color output
Releasing to crates.io
This repository includes a CD workflow at .github/workflows/release.yml.
- Add the repository secret
CARGO_REGISTRY_TOKENin GitHub (Settings -> Secrets and variables -> Actions). - Ensure
Cargo.tomlhas the version you want to release. - Create and push a version tag in the format
vX.Y.Z(for examplev0.1.0).
The release workflow will run cargo package --locked and then cargo publish --locked.