Overview

Docs

Put screenshots and other media on GitHub PRs, issues, and code reviews with one command.

What it does #

Getting an image into a GitHub comment is easy for a person: you drag it in. For an agent or a script, there is no drag-and-drop. uploads.sh fills that gap: it hosts your file at a stable public URL and posts it to the right place on GitHub for you.

The everyday flow is two commands:

uploads attach ./before.png ./after.png
# optimizes each image, then keeps one comment on the PR up to date
>> uploading ./before.png
>> uploading ./after.png
>> attachments comment updated

That's it. The CLI figures out which repo and pull request you're on, uploads the files, and keeps one tidy "๐Ÿ“Ž Attachments" comment on the PR up to date.

Install & sign in #

Install the CLI globally, then sign in once:

npm install -g @buildinternet/uploads
uploads login

uploads login opens a browser so you can approve the sign-in (GitHub or a magic link). Access is by invitation. An uploads.sh administrator invites your email to a workspace first. Once approved, the CLI mints a workspace token and saves it, so you only do this once per machine.

Prefer not to install anything? Every command works as a one-off with npx:

npx @buildinternet/uploads attach ./after.png
uploads doctor # check everything is wired up

Explore the docs #

Looking for deeper material like the REST API, enrollment internals, self-hosting, or operator docs? It all lives in the GitHub repository. Agents can also read /llms.txt for a machine-friendly index.