runner
Universal project task runner. Auto-detects toolchain, provides unified CLI.
runner runner 0.7.0 Package Managers bun, pnpm Task Runners turbo, just Node 22 (.nvmrc), current v22.11.0 (ok) Monorepo yes package.json build compile the thing package.json test run tests package.json dev start dev server justfile ci, fmt, release justfile (aliases) b → build, t → test run test › bun test
Drop one line in your shell rc. Now <TAB> hits the binary and asks this project what tasks it knows about — grouped by
source, with descriptions. Same line registers both runner and run.
cd ~/some-project runner <TAB> -- package.json -- build compile the thing test run tests dev start dev server -- justfile -- ci lint + tests fmt format release cut a release -- justfile (aliases) -- b → build t → test -- Commands -- list list tasks info show detected project clean clean build artefacts
Package managers · 12
- npm
- yarn
- pnpm
- bun
- cargo
- deno
- uv
- poetry
- pipenv
- go
- bundler
- composer
Task runners · 6
- turbo
- nx
- make
- just
- go-task
- mise
Task sources · 6
- package.json
- turbo.json
- Makefile
- justfile
- Taskfile
- deno.json
- Auto-detection picks the right tool from your lockfiles. No flags, no config.
- One CLI across npm, yarn, pnpm, bun, cargo, deno, uv, poetry, pipenv, go, bundler, composer.
-
Aggregates tasks from package.json, turbo.json, Makefile, justfile, Taskfile, deno.json — qualified syntax (
run package.json:test) when names collide. - Monorepo-aware: turbo, nx, pnpm, npm/yarn workspaces, Cargo workspaces.
-
No task by that name? Falls through to the package manager's exec primitive —
npx,bunx,pnpm exec,uv run, etc.