npm.io
0.1.0 • Published 3d agoCLI

onmymachine

Licence
MIT
Version
0.1.0
Deps
0
Size
17 kB
Vulns
0
Weekly
0
Stars
1

onmymachine

Kill "works on my machine" in 10 seconds.

demo

The problem

Your code runs fine. Your teammate pulls it and it crashes. Now you're playing 20 questions on Slack: "What Node version? What's in your PATH? Do you even have Docker?"

Stop asking. Diff the machines.

Quick start

You (the person it works for):

npx onmymachine

This writes onmymachine.json — a fingerprint of your dev environment. Send that file to your teammate (Slack, email, carrier pigeon).

Your teammate (the person it's broken for):

npx onmymachine diff onmymachine.json
Tools
  ✖ node           snapshot: 20.11.0   this machine: 22.3.0
  ● docker         in snapshot (27.1.1) — missing here

Env values
  ✖ JAVA_HOME      snapshot: ~/jdk-21   this machine: ~/jdk-17

✓ 24 tools match
3 differences found — one of these might be your "works on my machine".

Done. No more guessing.

What it captures

  • Tool versions — node, npm, python, git, docker, java, go, rustc, and ~20 more
  • System — OS, release, architecture, shell
  • Env vars — all names; values only for dev-relevant vars (JAVA_HOME, GOPATH, ...)
  • PATH — every entry, so "it's not even on my PATH" gets caught too

Privacy

Built to be safe to share:

  • No hostname, no username — never collected
  • Paths under your home directory become ~
  • Anything that looks like a secret (*_TOKEN, *_KEY, *PASSWORD*, ...) is [redacted]
  • Zero network calls, zero telemetry, zero dependencies — read the entire source over coffee

More

onmymachine --label "sree-laptop"   # name your snapshot
onmymachine diff snap.json --all    # also show what matches
onmymachine diff snap.json --json   # machine-readable diff

CI drift guard: commit a golden snapshot of your build box; onmymachine diff golden.json exits 1 when the runner drifts.

FAQ

Why not just use Docker? Because the bug report says "works on my machine", not "works in my container". Real development happens on hosts — with host Node, host PATH, host env vars.

Windows? First-class. Windows, macOS, and Linux.

Does it upload my snapshot anywhere? Never. It writes a local file. You choose who sees it.

Contributing

Issues and PRs welcome. The whole tool is ~400 lines of dependency-free Node — npm test runs everything.

License

MIT

Keywords