VS Code & VSCodium extension

Your projectcommands,one clickaway.

Buttons finds the scripts already in your project (package.json, Cargo.toml, go.mod, shell, Python, and more) and turns them into a command launcher inside VS Code and VSCodium.

Project commands such as pnpm dev, cargo build, go test, make build, and python app.py.

001 Discover

Automatic discovery

Use the scripts you already have.

Buttons scans the project root plus any directories you add. Manifest scripts, Rust and Go toolchains, shell scripts, Python entry files, virtual environments. Pick what belongs in your launcher and get back to work.

How script scanning works

002 Surfaces

One launcher.Two surfaces.

The same project configuration, available as a compact sidebar or a full-width panel.

Buttons in VS Code switching between the Buttons command list with variants and the Project scripts tab.
01 / Two viewsSidebar and editor, same commands.
Buttons in the compact Activity Bar view, with pnpm dev expanded to an args variant, plus, newline insert, Duplicate, and a global docker ps command.
02 / Activity BarCompact. Always nearby.
Buttons opened as a full-width editor panel showing project commands, an args variant, plus and newline insert, Duplicate, and a global docker ps command.
03 / Editor panelMore room when you need it.
The Project scripts tab with scan directories, grouped package.json scripts, a shell file, and venv actions.
04 / Project scriptsChoose what belongs in the launcher.
VS Code with the Buttons sidebar showing command variants and the Project scripts panel open, plus a Buttons: dev terminal.
05 / In the editorSidebar, panel, and terminal together.
The Buttons sidebar with Run, New Terminal, plus, newline insert, and Copy next to the Project scripts panel in a workspace.
06 / Full workspaceCommands stay in reach while you work.

003 Run

Run it. Copy it. Keep moving.

Run in the current terminal, open a fresh one, or send it to your OS terminal with the command already on the prompt. Copy the exact command. + drops it on the current line.↵ starts a new one. System, plus, and newline wait until you press Enter.

pnpm devpackage.json

Development server

$
watching for file changes…

004 Scope

Project + global

Scoped whereyou want it.

Keep commands with the project they belong to, or make them available across every workspace.

Project buttons

Commands for the current workspace, stored in.buttons.json at the project root.

Global buttons

Commands available across every workspace, stored in~/.buttons.json.

005 Nested

Nested project?No problem.

Add your package roots as scan directories. Nestedpackage.json, Cargo.toml, go.mod, and composer.json files get discovered automatically. Each command runs in its own directory.

Monorepo scanning
project/
│
├── apps/
│   └── web/package.json        → pnpm dev
│
├── crates/
│   └── cli/Cargo.toml          → cargo run
│
├── packages/
│   └── api/package.json        → pnpm start
│
└── plugin/
    └── composer.json           → composer test

006 Start

Three steps.

  1. 01

    Install

  2. 02

    Generate

    Generate.buttons.json
  3. 03

    Run

    pnpm dev Run

007 Docs

Small extension.Proper documentation.

Installation, configuration, script discovery, .buttons.json, monorepos, commands, development. Written as Markdown and kept with the project.

Explore the documentation
Open sourceMIT LicenseVS CodeVSCodiumGitHub

Scripts are alreadyyour interface.

Make them clickable.

MIT licensed · Open source · CurbSoftware