ghimg
v0.1.0
Published
Upload images to GitHub from the command line and print markdown references.
Maintainers
Readme
ghimg
Upload images to GitHub's user-attachments CDN from the command line and get a
markdown reference back. Replicates GitHub's web UI upload flow, so the resulting
URLs are scoped to the repository they're uploaded to (private-repo images stay
private).
Setup
npx ghimg initThe wizard asks for your github.com user_session cookie value — copy it from
devtools (Application -> Cookies -> https://github.com -> user_session). It's
saved to .env as GH_SESSION_TOKEN and validated against GitHub.
Usage
# repo inferred from the current git remote
npx ghimg upload screenshot.png
# target a repo explicitly, multiple files at once
npx ghimg upload --repo owner/repo a.png b.png
# verify the saved token
npx ghimg checkEach upload prints .
Commands
| Command | Description |
| -------- | ---------------------------------------------------------------- |
| init | Setup wizard for your GitHub session token |
| upload | Upload one or more images and print markdown references |
| check | Verify the saved token and print the authenticated username |
All commands accept --config <path> to point at a specific .env file
(defaults to .env in the current directory). upload also takes
--repo owner/repo.
Requirements
- Node 22+ — uses global
fetch,FormData, andBlob. ghCLI, authenticated — used to resolve the numeric repository ID (works for private repos).
Security
This tool uses your user_session cookie, which is your full authenticated GitHub
web session — more powerful than a scoped token. It is only ever sent to
github.com and to the presigned S3 URL GitHub returns. The token is stored in
.env (gitignored); don't commit it.
License
MIT
