DotSlash solves a real problem: keeping tools like Node.js, Python, or compilers inside your project without bloating your repository. Instead of storing multiple large binary files for different operating systems, you write a single small text file that describes where to fetch the right version for each platform. When someone runs that file, DotSlash automatically downloads and caches the correct executable for their machine, macOS, Linux, Intel, ARM, and so on, then runs it. On subsequent runs, it uses the cached copy, so there's no repeated downloading. Think of it like a wrapper script that's smarter and more portable. Normally, if you want to vendor a tool into your repo, you'd write a shell script that checks whether the machine is Mac or Linux, then picks the right binary to run. DotSlash replaces both the script and the multiple binaries with one human-readable file that looks like a configuration. It lists each platform, points to a URL where that platform's binary lives, includes a hash to verify integrity, and specifies where inside the downloaded archive the actual executable is. That's it. The benefit is reproducible builds and reduced setup friction. Your team doesn't need to install Node.js, Go, or Rust separately, they clone the repo, run the tool, and it works. No "works on my machine" problems because everyone's running the exact version checked into version control. It's especially powerful for CI/CD pipelines and polyglot projects where different tools have different platform requirements. The first run on a new machine takes a moment to fetch and verify the binary, but after that it's instant. DotSlash is maintained by Meta and released under both MIT and Apache 2.0 licenses, so it's free to use. It's a practical tool for teams that want to simplify toolchain management and make their development experience more consistent across different operating systems and architectures.
← zbowling on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.