CommandBuddy
One-click scripts in VS Code. Stop retyping npm run build for the 47th time today.
Create buttons for your favorite commands—build, test, deploy, whatever. Click. Done. Your fingers will thank you.
What you get
- Custom buttons — Name them, pick icons, choose colors. They’re yours.
- Status bar — Your top commands right in the status bar. No digging through menus.
- Sidebar panel — See and manage everything in one place. Drag to reorder.
- Import / export — Move your setup between machines or share with the team.
- Real terminals — Each button runs in its own terminal. No surprises.
Get going in 30 seconds
- Open the CommandBuddy sidebar (rocket icon in the left bar).
- Hit Add and give your button a name + the command (e.g.
npm run dev).
- Click the button (or use the status bar) to run it.
That’s it. You’re automating.
Using CommandBuddy
Add → fill in:
| Field |
What it does |
| Name |
What shows on the button |
| Script |
The actual command (npm test, git push, etc.) |
| Icon |
30+ VS Code icons to choose from |
| Color |
Make it easy to spot |
| Working directory |
Optional; where the command runs |
| Show in status bar |
On/off for the status bar shortcut |
- Run — Play icon or status bar click.
- Edit — Pencil icon.
- Duplicate — Copy an existing button.
- Delete — Trash icon (you can always add it back).
- Reorder — Drag and drop in the sidebar.
Command Palette
Cmd/Ctrl + Shift + P and type CommandBuddy to see everything:
| Command |
What it does |
| Open Button Manager |
Opens the sidebar |
| Create New Button |
Quick add via prompts |
| Edit Button |
Pick one, edit it |
| Delete Button |
Pick one, remove it |
| Run Button |
Pick one, run it |
| Export Buttons |
Save to JSON |
| Import Buttons |
Load from JSON |
Settings
In VS Code: Settings → search for commandbuddy, or drop this in your settings.json:
{
"commandbuddy.showInStatusBar": true,
"commandbuddy.maxStatusBarButtons": 5,
"commandbuddy.defaultShell": "",
"commandbuddy.scriptTimeout": 30000
}
| Setting |
Default |
Meaning |
showInStatusBar |
true |
Show buttons in the status bar |
maxStatusBarButtons |
5 |
How many show there |
defaultShell |
"" |
Shell to use (empty = system default) |
scriptTimeout |
30000 |
Timeout in ms |
Ideas to steal
Some button ideas so you don’t start from a blank page:
| Use case |
Name |
Script |
Icon |
| Build |
Build |
npm run build |
package |
| Tests |
Test |
npm test |
beaker |
| Dev server |
Dev Server |
npm run dev |
rocket |
| Git push |
Push |
git push origin HEAD |
cloud-upload |
| Docker |
Docker Up |
docker-compose up -d |
server |
Tweak the names and commands to fit your project.
Under the hood
CommandBuddy is structured with clear separation: extension entry, types, models, services, UI (webview + status bar), commands, and utils. If you’re into that kind of thing, the code is ready for you to poke around.
Bugs & ideas
Contributions are welcome. So is feedback.
License: MIT — see the LICENSE file.