A desktop app for macOS & Windows · Free and open source
Know what a repo needs before you run it.
Paste a public GitHub or GitLab link. Reporun reads the project's manifest files, compares them with what's installed on your computer, and gives you a plain list of what's missing — with the exact commands to fix it, shown to you before anything runs.
Version 0.1.0 · macOS (Apple silicon & Intel) and Windows (x64 & ARM64)
Reporun showing a sample check of acme/studio: Git and Node.js compatible, pnpm and Docker not installed, Python version mismatch, and an install plan for Python waiting for confirmation.
01 The problem
"Just run npm install."
Most READMEs assume your computer is set up like the author's. When it isn't, you find out one error at a time: the wrong package manager, a runtime that's too new, a tool you never installed.
Each fix takes a search, and each search turns up the next problem. In the example on the right, it takes four commands to discover three issues — and nothing works yet.
02 How it works
Four steps, in this order.
You approve the last one.
-
01
Paste a link
Any public repository on github.com or gitlab.com. Reporun checks the current default branch and pins the result to that exact commit, so the check and the download always match.
https://github.com/acme/studio→ pinned toa1b2c3d -
02
Read the manifests
It fetches only the files that describe requirements —
package.json,pyproject.toml,Cargo.toml,go.mod, Dockerfiles and so on. Nothing is cloned at this point.Up to 35 files · 5 folders deep · 150 KB each -
03
Compare with your computer
Installed versions are checked against the ranges the project declares. Anything missing, too old or too new is listed with the file it came from and a short explanation.
Python 3.13.2needs>=3.10 <3.13→ mismatch -
04
Review, then run
Every install, download and launch is shown as the exact command first. Output streams live, you can stop a job at any time, and an unused plan expires after five minutes.
brew install python@3.10waiting for you
03 What it reads
Eight languages, plus Docker
and environment files.
The full list. If a file or version format isn't supported, Reporun says so in the report instead of guessing.
| Ecosystem | Files it reads | What it can set up or launch |
|---|---|---|
| JavaScript / TypeScript | package.json (engines, packageManager), Volta, .nvmrc, .node-version, lockfile names | npm, pnpm, Yarn or Bun install; any script in package.json |
| Python | pyproject.toml, requirements.txt, .python-version, Pipfile | uv, Poetry, or an isolated .venv with pip; launch follows the README |
| Rust | Cargo.toml, rust-toolchain.toml | cargo fetch, cargo run |
| Go | go.mod | go mod download, go run . |
| Java | pom.xml, build.gradle(.kts) | Maven dependencies or Gradle build; launch follows the README |
| Ruby | Gemfile, .ruby-version | bundle install; launch follows the README |
| PHP | composer.json | composer install; launch follows the README |
| .NET | global.json, .csproj | dotnet restore, dotnet run |
| Containers | Dockerfile, Compose service names | Checks the Docker CLI and daemon; you start containers yourself |
| Environment | .tool-versions, .env.example, .env.sample | Variable names only — never values |
Missing tools are installed through Homebrew on macOS or winget on Windows, from a curated list. Package-manager versions are installed with npm, with lifecycle scripts turned off.
04 Who it's for
Anyone setting up
code they didn't write.
Students and new developers
Get a course or tutorial repo running without a day lost to setup.
Developers trying a tool
See what a project will change on your computer before you clone it.
Maintainers and teachers
See your project the way a fresh computer sees it, and catch setup gaps before your users do.
Teams onboarding people
New laptop, new hire, old service. Compare what the repo expects with what's installed.
05 Safety
It reads first,
and asks before it runs.
Reporun was built around one rule: you should see every command before it touches your computer.
- No GitHub or GitLab loginChecks use public APIs, so no credentials are sent.
- Plans run once, then expireCommands are prepared by the app itself, tied to your session, and expire after five minutes. The interface can't submit its own commands.
- Careful downloadsRepositories are fetched over HTTPS with inherited Git hooks and config turned off. Git LFS files and submodules aren't fetched automatically.
- No install scriptsPackage managers installed through npm use
--ignore-scripts. - Secrets stay localSign-in tokens use your operating system's secure storage. Environment values, local paths and logs are never uploaded.
06 Limits
What it won't do
(at least not yet).
- Check private repositories. Public github.com and gitlab.com only, using the default branch.
- Promise a project will run. It reads manifests. It can't check credentials, external services or setup steps that only live in someone's head.
- Install anything on its own. Every change waits for your click.
- Take keyboard input in running jobs. Commands that ask questions mid-run aren't supported yet.
- Always win the PATH. An older runtime earlier on your PATH can still take priority. Reporun rechecks after installing so you'll know.
- Run on Linux. macOS and Windows for now.
07 Build status
Where things stand.
Tested
- 46 engine tests pass: URLs, manifests, versions, platform rules, command plans and history
- 4 interface tests pass, including keyboard use and narrow windows
- A live check of
expressjs/expressat7ef9844detected its Node.js requirement - Packaged Apple silicon app launches and reads real installed versions
- Dependency audit: zero known vulnerabilities
Still being verified
- Signed and notarized macOS installer
- Windows signing and a full run on real Windows hardware
- Google sign-in and history sync, end to end
- Installing and launching real third-party projects, end to end
08 Download
Get Reporun.
Pick your platform below.
macOS Your system
Apple silicon or Intel · .dmg
Windows Your system
x64 or ARM64 · .exe installer
You don't need Node.js or anything else installed to use the app. Linux isn't supported yet.
09 FAQ
Questions people ask.
Is it free?
Yes. Reporun is free and open source under the MIT license.
Do I need Node.js or other tools installed first?
No. The app runs on its own. It tells you which tools a particular repository needs, and can install them through Homebrew (macOS) or winget (Windows) if you have those.
Which repositories can it check?
Public repositories on github.com and gitlab.com, on their default branch. Requests don't use your GitHub or GitLab account, so the providers' public rate limits apply.
Will it install or run anything without asking?
No. Every action is shown as a command preview first. A plan can only run once and expires after five minutes.
Do I have to sign in?
Sign-in is with Google and keeps your 100 most recent checks across devices. What syncs: repository details, the requirements found, the relevant installed versions, and your OS name and architecture. Full tool lists, local paths, environment values and logs stay on your computer.
Can I trust a "ready" result completely?
Treat it as a strong starting point. Reporun reads what a project declares. Undocumented steps, credentials and external services are outside what it can see, and the report tells you when a file couldn't be read or a version format isn't supported.