60710fab204e07c758da4aaa945351e02817f596
CLI Tools
Scripts and tools to set up and manage the terminal environment across systems.
Entry point: cli-tools
Install
Run this tool from the checked-out repo. Do not install it with uv tool install,
because cli-tools install helpers symlinks shell files from scripts/.
cd /path/to/cli-tools
uv run cli-tools --help
cli-tools install bootstrap # install everything (first-time setup)
cli-tools install apt-packages # git, curl, ripgrep, fd, btop, tldr, ...
cli-tools install uv # uv package manager
cli-tools install fzf # fzf + bat
cli-tools install zoxide # zoxide (z navigation)
cli-tools install eza # modern ls replacement
cli-tools install lazygit # terminal UI for git
cli-tools install docker # Docker + add user to group
cli-tools install claude # Claude Code
cli-tools install helpers # symlink bash_helpers.sh + aliases.sh into ~
Docker
cli-tools docker build # build python-dev image
cli-tools docker build --tag v1.2 --push # build and push with tag
Credentials
cli-tools credentials encrypt-env # .env → .env.gpg
cli-tools credentials decrypt-env # .env.gpg → .env
Installed Tools
eza — modern ls replacement
Fast, colorized file listing with Git integration and icons.
| Command | Description |
|---|---|
ls |
list files (aliased to eza) |
ll |
long list with git status (eza -la --git) |
eza --tree |
tree view of directory |
eza -la --sort=modified |
sort by modification time |
fzf — fuzzy finder
Interactive fuzzy search for files, history, and more. Integrates with shell key bindings.
| Shortcut / Command | Description |
|---|---|
Ctrl+R |
fuzzy search shell history |
Ctrl+T |
fuzzy find file and insert path |
Alt+C |
fuzzy cd into a directory |
fzf |
pipe any list into interactive selector |
vim $(fzf) |
open fuzzy-selected file in editor |
lazygit — terminal UI for Git
Full-featured Git UI in the terminal. Run lazygit in any repo.
| Key (inside lazygit) | Description |
|---|---|
space |
stage / unstage file |
c |
commit |
P (cap) |
push |
P |
pull |
? |
help / key bindings |
q |
quit |
zoxide — smarter cd
Tracks your most-visited directories and lets you jump to them with partial names.
| Command | Description |
|---|---|
z foo |
jump to the most frecent dir matching foo |
z foo bar |
match multiple terms |
zi |
interactive selection with fzf |
z - |
jump to previous directory |
Shell aliases (aliases.sh)
| Alias | Expands to |
|---|---|
reload |
source ~/.bashrc |
venv |
source .venv/bin/activate |
uvs |
uv sync --all-extras |
cat |
batcat (syntax-highlighted cat) |
bat |
batcat |
ls |
eza |
ll |
eza -la --git |
fd |
fdfind |
clip |
xclip -selection clipboard |
open_ports |
sudo ss -tulwn | grep LISTEN |
docker_stop_all |
stop all running containers |
claude-allow |
claude --dangerously-skip-permissions |
Shell functions (bash_helpers.sh)
| Function | Usage |
|---|---|
attach <name> |
exec into a running Docker container |
python-dev |
start/attach python-dev container (-p pull, -n fresh) |
mount_ssh <host> |
mount remote dir via SSHFS |
canview |
launch CAN bus viewer (uses $CAN_CHANNEL) |
repl |
connect to serial device via picocom (uses $AMPY_PORT) |
find_and_cat <file> |
find file by name and print contents |
record_window |
record a window to mp4 via ffmpeg |
Description
Languages
Python
44.8%
Shell
37.7%
Dockerfile
17.5%