initial commit
This commit is contained in:
@@ -0,0 +1,132 @@
|
||||
# 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/`.
|
||||
|
||||
```bash
|
||||
cd /path/to/cli-tools
|
||||
uv run cli-tools --help
|
||||
```
|
||||
|
||||
```bash
|
||||
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
|
||||
|
||||
```bash
|
||||
cli-tools docker build # build python-dev image
|
||||
cli-tools docker build --tag v1.2 --push # build and push with tag
|
||||
```
|
||||
|
||||
## Credentials
|
||||
|
||||
```bash
|
||||
cli-tools credentials encrypt-env # .env → .env.gpg
|
||||
cli-tools credentials decrypt-env # .env.gpg → .env
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Installed Tools
|
||||
|
||||
### [eza](https://github.com/eza-community/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](https://github.com/junegunn/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](https://github.com/jesseduffield/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](https://github.com/ajeetdsouza/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 |
|
||||
Reference in New Issue
Block a user