Skip to content

Global Install and CLI

BrendanP edited this page Jun 26, 2026 · 1 revision

Global Install and CLI

Install once, then run scotty (or bead-me-up-scotty) from any directory. The CLI starts the production server on a free port (default 3000) and opens your browser.

  • Run it from a folder that has a .beads repo to jump straight to that project.
  • Run it from anywhere else and you get the project picker.
  • Requires Node 20+.

Flags

Flag Effect
-p, --port <n> Start on a specific port (default 3000, or the next free one).
--no-open Don't open the browser automatically.
--help Show usage.

Option A — npm link (recommended; keep the clone)

git clone https://github.com/brendan-appstart/bead-me-up-scotty.git bead-me-up-scotty
cd bead-me-up-scotty
npm install
npm run build
npm link
scotty                 # from anywhere

The global command is a symlink to the clone, so keep the clone on disk. After pulling changes, re-run npm run build.

Uninstall:

npm rm -g bead-me-up-scotty

Option B — global copy (clone is deletable)

git clone https://github.com/brendan-appstart/bead-me-up-scotty.git bead-me-up-scotty
cd bead-me-up-scotty
npm install
rm -rf .next           # ensure a clean build (only the prod build is shipped)
npm run build
npm install -g .
scotty                 # from anywhere; the clone can now be deleted

To update: rebuild and re-run npm install -g ..

Permissions gotcha

If npm install -g . hits a permissions error, switch to a user-owned npm prefix:

npm config set prefix ~/.npm-global
# then add ~/.npm-global/bin to your PATH

What the CLI ships

package.json declares two bin names — bead-me-up-scotty and the short alias scotty — both pointing at bin/bead-me-up-scotty.mjs. The published files list is intentionally minimal (bin, .next, public, next.config.ts): only the production build is shipped, which is why a clean .next matters for Option B.

Clone this wiki locally