JustDoIt is a fast Bun CLI for browsing and running package.json scripts across a repo.
It gives you:
- root commands first
- workspace commands below a divider
- alphabet hotkeys
- nested
:script menus - optional descriptions from
package.doit.json
bunx @justgains/doitFor local development:
git clone <repo>
cd justdoit
bun run ./src/index.ts --helpRun in the repo you want to inspect:
bunx @justgains/doitPoint it at a specific folder:
bunx @justgains/doit --root ./appsScan deeper than the default 3 directories:
bunx @justgains/doit --depth 5Initialize package.doit.json files:
bunx @justgains/doit --initJustDoIt scans for package.json files, skips common generated folders like node_modules and .git, and builds a menu from each package's scripts.
Scripts with : become nested menus with no depth limit. For example:
build:ios:dev
becomes:
build -> ios -> dev
If a package.doit.json file exists next to a package, JustDoIt shows package and script descriptions in the menu.
[a-z]orEnter: selectUp/Down: move0,Left,Backspace: backx: quit
JustDoIt can read extra metadata from a file named package.doit.json next to package.json.
Example:
{
"description": "Workspace commands for local development and deployment.",
"instructions": "Fill in short user-facing descriptions.",
"scripts": {
"build": {
"description": "Create the production build."
},
"build:ios:dev": {
"description": "Build the iOS development app."
}
}
}Running bunx @justgains/doit --init creates or refreshes these files and prints a short prompt you can give to an agent to fill in the descriptions.

