DEV Community

Apoorv Darshan
Apoorv Darshan

Posted on

Distributing a native macOS app over npm (and why)

TetherShot is a native Swift 6 / SwiftUI macOS app. Its install command is:

npm install -g tethershot

That surprises people, so here's the reasoning. npm is already on most developer machines, gives you a clean global install/uninstall story, and makes versioning and updates trivial to wire up. For a dev-focused tool, 'paste one command' beats 'download a .dmg, drag to Applications, deal with quarantine.'

It's not the only path, there's a website download too, but npm is the real, supported install method and the one the self-update flow builds on.

The app itself is fully native (not an Electron wrapper), open source under MIT, macOS 14+, built and tested on macOS 26 Tahoe with iOS 26. Read the packaging in the repo:

https://github.com/apoorvdarshan/TetherShot

Top comments (0)