runpalette
v1.0.3
Published
A searchable list of every command in your project.
Maintainers
Readme
Runpalette
A searchable list of every command in your project.
Runpalette reads the commands a project already has (package.json scripts,
justfile, Taskfile, Makefile, Cargo aliases and Gradle tasks), puts them
in one list, and lets you type to find and run one. It doesn't add a new task
format. Your package manager or task runner still runs the command.
Why
Every project keeps its commands somewhere different. One has twenty scripts in
package.json, another has a Makefile and a justfile, a monorepo has
scripts spread over ten packages. I kept opening those files just to remember
what a command was called. Now I type runpalette, start typing, and press
Enter.
Install
You need Node.js 22+. Try it without installing anything:
npx runpaletteOr add it to the project so the whole team has it:
npm install --save-dev runpalette{
"scripts": {
"what": "runpalette"
}
}Then npm run what opens the palette. pnpm, Yarn and Bun work the same way.
Usage
runpalette # open the palette
runpalette list # print every command
runpalette run test -- --watch # run one, pass extra arguments
runpalette run build --dry-run # show exactly what would run
runpalette run dev --workspace @acme/web
runpalette doctor # check what's missingIn the palette, type to search, use the arrow keys to move, Tab to jump between groups and Enter to run. Monorepos (npm, pnpm, Yarn and Bun workspaces) work without any configuration.
If you want nicer names, descriptions, aliases or a confirmation before
deploy, run runpalette config init and edit the runpalette.json it
creates. See configuration.
For coding agents and CI
runpalette list --json
runpalette run test --json --timeout 2m
runpalette mcp--json gives you one versioned JSON result on stdout and never prompts.
runpalette mcp starts an MCP server, so an agent can see which commands
exist instead of guessing from the README. By default it can only list and
plan commands. It can run them only if you start it with --allow-execution.
More in MCP and agents.
What it won't do
- It doesn't run your command through a shell. It calls the executable with the arguments directly.
- It doesn't replace npm, pnpm,
just,makeor anything else. They still run the command. - It doesn't hide install hooks like
postinstall. It just keeps them out of the default list.
Docs
runpalette --help lists every command and option.
License
MIT. Changelog · Contributing · Security
