helpme 0.1.0

A minimal TUI for storing and running shell commands
# helpme

A minimal terminal UI for storing, searching, and running shell commands you don't want to forget.

## Features

- Fuzzy search across commands and descriptions
- Execute commands directly from the TUI
- Copy commands to clipboard (`wl-copy`, `xclip`, `pbcopy`, or `xsel`)
- Placeholder support — `<name>` tokens prompt for input before running
- Notes panel for inline documentation (lines starting with `# `)
- Confirmation prompt before any command runs

## Installation

```bash
cargo install helpme
```

Requires Rust 1.75+. The binary is placed in `~/.cargo/bin/helpme`.

## Usage

```bash
helpme
```

By default, commands are read from `~/.config/helpme/commands`. Override with:

```bash
CMDS_FILE=~/my-commands helpme
```

If no file is found, a default command to create the directory is shown.

## Commands file format

One command per line. Add a description with ` # `:

```
# Docker
docker ps -a                           # list all containers
docker exec -it <container> bash       # open shell in container
docker system prune -f                 # remove unused data

# Files
ls -lah <dir>                          # list directory contents
tar -czf <archive>.tar.gz <dir>        # compress a directory
```

Lines beginning with `# ` are treated as notes and shown in a separate panel.
Use `<placeholder>` syntax to mark values that should be filled in at runtime.

## Keybindings

| Key | Action |
|-----|--------|
| `` / `` or `Ctrl+k` / `Ctrl+j` | Navigate |
| Type anything | Filter commands |
| `Backspace` | Clear filter |
| `Enter` | Execute selected command |
| `y` | Copy selected command to clipboard |
| `y` / `Enter` at confirm prompt | Confirm and run |
| `n` / `Esc` at confirm prompt | Cancel |
| `Esc` | Quit |

## License

MIT