Hello all,
BenchBar is for Frappe developers on a Mac. It sets up a local bench, keeps it running in the background, and tells you what is wrong when it breaks.
Most Frappe setup guides still assume Linux, and a lot of us build on Macs now. This is meant to close that gap.
What it does:
benchbar installsets up a bench, a site and all dependencies via Homebrew. No Docker.- The bench runs under launchd. It stays up after you close Terminal, comes back after a reboot, restarts after a crash.
benchbar doctornames what is broken and the fix.benchbar repairapplies it with a backup first. It knows about CleanMyMac and Mole deletingenv/andnode_modules.benchbar adoptfor a bench you already have. v15 and v16 side by side.- Menu bar app: start, stop, logs, health, sites and apps per bench.
A few things I wanted for myself:
benchbar pull host:sitecopies a production site to a local one, with email muted and the scheduler paused.- Team profiles, so a new teammate gets the same bench on day one.
benchbar mcplets Claude Code or Cursor see and drive your benches. It can read, start, stop and add apps. It cannot repair, install or run anything with sudo.benchbar reportmakes a diagnostics zip with secrets and paths stripped, for bug reports.- The menu bar icon is a little runner. It sleeps when the bench is stopped, jogs when it is up, runs faster under load, and trips when it crashes. You can draw your own.
Install: brew install askysh/tap/benchbar askysh/tap/benchbar-app
Docs: https://benchbar.akashmishra.com
Code: GitHub - askysh/benchbar: Local Frappe and ERPNext dev benches on macOS: a CLI that runs them under launchd and a menu bar app to watch them · GitHub
Why Mac only: it is built on launchd and a native menu bar app. Linux already has a good bench setup, and for Windows there is my WSL setup at askysh/frappe_wsl_dev_server. Local development only, not servers.
Thanks to @aa_prashant for the port planning across benches and the folder scan that finds existing benches. I myself used Claude Code for much of the code generation, and the decisions (or future bugs) file logs why things are the way they are.
It wraps the current bench. If the new Bench Pilot becomes the default, I want BenchBar to run on top of it.
Apple Silicon only for the app. Try it and post issues here or on GitHub.
