gitwtfhub

wtf is dotslash?

zbowling/dotslash — explained in plain English

Analysis updated 2026-07-18 · repo last pushed 2026-06-06

Audience · developerComplexity · 2/5MaintainedLicenseSetup · easy

TL;DR

DotSlash lets you vendor tools like Node.js or Python into your repo as one tiny text file that auto-downloads the right binary per platform.

Mindmap

mindmap
  root((repo))
    What it does
      Fetches right binary
      Caches locally
      Verifies integrity
    Tech stack
      Meta
      MIT license
      Apache 2.0
    Use cases
      Toolchain management
      CI CD pipelines
      Polyglot projects
    Audience
      Developers
      DevOps teams

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Vendor a tool like Node.js or a compiler into your repo without storing large binaries for every platform.

REASON 2

Ensure every teammate runs the exact same tool version, eliminating 'works on my machine' problems.

REASON 3

Simplify CI/CD pipelines that need different tools across polyglot projects with varying platform requirements.

REASON 4

Replace hand-written shell scripts that detect OS and pick the right binary to run.

What's in the stack?

Meta

How it stacks up

zbowling/dotslash0verflowme/alarm-clock0verflowme/seclists
LanguageCSS
Last pushed2026-06-062022-10-032020-05-03
MaintenanceMaintainedDormantDormant
Setup difficultyeasyeasyeasy
Complexity2/52/51/5
Audiencedevelopervibe coderops devops

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · easy Time to first run · 5min

First run on a new machine takes a moment to fetch and verify the binary, later runs use the cache.

Wtf does this do

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.

Yoink these prompts

Prompt 1
Show me how to write a DotSlash file that fetches the right Node.js binary for each platform.
Prompt 2
Help me convert my existing shell script that picks a binary by OS into a DotSlash file.
Prompt 3
Explain how DotSlash verifies the integrity of a downloaded binary using a hash.
Prompt 4
Walk me through adding a DotSlash-managed tool to a CI/CD pipeline.

Frequently asked questions

wtf is dotslash?

DotSlash lets you vendor tools like Node.js or Python into your repo as one tiny text file that auto-downloads the right binary per platform.

Is dotslash actively maintained?

Maintained — commit in last 6 months (last push 2026-06-06).

How hard is dotslash to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is dotslash for?

Mainly developer.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.