Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Monorepo Script RunnerNew to Visual Studio Code? Get it now.
Monorepo Script Runner

Monorepo Script Runner

Yarden Porat

| (0) | Free
Discover, group, annotate and run package.json scripts across a monorepo. Config persists to a committable JSON file.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Monorepo Script Runner

Discover, group, annotate and run package.json scripts across a monorepo.

Features

  • Scans every package.json in the workspace (excluding node_modules by default) and lists all scripts in a dedicated activity-bar view.
  • Scripts without a custom group are shown in a hierarchic folder tree mirroring the monorepo layout (single-child folder chains are compacted, e.g. packages/tools).
  • Group scripts with free-form group names — groups appear at the top of the view; drag scripts between groups, onto other scripts, or back onto a folder to ungroup.
  • Add a comment to any script — shown next to it in the tree and in its tooltip.
  • Click a script to run it in a dedicated terminal (one terminal per script, reused across runs), with the package manager auto-detected from lockfiles (pnpm / yarn / bun / npm).
  • Groups and comments persist to a committable script-runner.config.json at the workspace root — edit it via the UI or directly in JSON; the view refreshes automatically.
  • Open in Editor opens the same script tree as a webview in the editor area — pin it as a tab, filter scripts, and run with a click. It stays in sync with the sidebar view and config.
  • Collapse the whole tree at once with the sidebar's collapse-all button.

Config file

{
  "groups": { "Build": 0, "Test": 1 },
  "scripts": {
    "packages/app#dev": { "group": "Build", "comment": "Starts the dev server on :3000" },
    "packages/lib#test": { "group": "Test" }
  }
}

Keys are <package-dir-relative-to-workspace-root>#<script-name> (root package uses #<script-name>). groups maps a group name to its sort index. (The legacy array form ["Build", "Test"] is still read and migrated automatically.)

Settings

Setting Default Description
scriptRunner.configFile script-runner.config.json Config file path, relative to the workspace root
scriptRunner.packageManager auto auto detects from lockfiles, or force npm/yarn/pnpm/bun
scriptRunner.exclude node_modules, dist, out, .git Globs excluded when scanning for package.json

Commands

  • Run Script — also on click / inline play button
  • Assign Group…, Edit Comment…, Remove from Group, Rename Group… — context menu
  • Refresh Scripts, Open in Editor, Open Config File — view title bar
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft