Bashguy banner
mattn mattn

Bashguy

Development community

Description

A shell widget that generates bash commands from natural language using Claude

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

README

bashguy

A shell widget that generates bash commands from natural language using Claude.

https://github.com/user-attachments/assets/f7d73d76-d7c5-437c-9ac9-8633795f8e3a

Type what you want to do in plain English, and Claude generates the command and inserts it into your command line. If there's already partial input, it inserts a completion at the cursor position.

Requirements

Installation

Add the following to your `.bashrc`:

source /path/to/bashguy.sh

Key Binding

No key binding is set by default. Add a `bind` command after sourcing the script in your `.bashrc`:

source /path/to/bashguy.sh
bind -x '"\C-g": _bashguy_widget'

Examples

Key bind command
Ctrl+G bind -x '"\C-g": _bashguy_widget'
Ctrl+J bind -x '"\C-j": _bashguy_widget'
Ctrl+X Ctrl+G bind -x '"\C-x\C-g": _bashguy_widget'

Usage

  1. Press your bound key to get a [bashguy] prompt
  2. Describe what you want to do (e.g., count the number of files in the current directory)
  3. Claude generates the command and inserts it into your command line

If you press the key with partial input on the command line, it inserts a completion at the cursor position.

Changing the Model

Set the `BASHGUY_MODEL` environment variable to use a different model. The default is `claude-sonnet-4-20250514`.

export BASHGUY_MODEL=claude-haiku-4-5-20251001

License

MIT

Author

Yasuhiro Matsumoto (a.k.a. mattn)