‹ BACK TO COMMIT FORCE

COMMIT FORCE

What is this?

A fun little app that turns your GitHub history into a 16-bit side-scroller. Point it at any public repo and its issues, pull requests, and commits play out as a running gauntlet — issue-trucks to battle, commit-stars flying overhead, pull-request airplanes, a boss fight, and a final vault to crack.

Want to know what each thing on screen is — and how your repo decides when it appears and when it dies? See the Field Guide tab above: a live picture of every element with a plain-English note on what spawns it and what makes it go.

Why do I want this?

To amuse yourself, amaze your friends, and compare different teams. It's a weirdly satisfying way to see how a project moves — a sleepy repo and a firehose look nothing alike, and putting two teams over the same date range side by side tells you more than a chart ever will.

How to run this

Type a repo as owner/name, pick the branch where the work happened, choose a date range, and hit GO. That's the whole thing. (If that already felt like a lot, this is probably not the app for you — and that's okay.)

Sharing

The share button (top-right of the start screen) copies a link with your exact options baked in — repo, branch, and dates — so a friend can open it and get the same level you did. Share your masterpiece.

Saving and Loading

Building a level hits the GitHub API a fair bit (see Rate Limiting below), so once you've made one you like, hit ⤓ SAVE in the game to download it as a .json file. Later, use Load a .json file on the start screen to replay it instantly — no GitHub, no rate limit, no waiting. If you plan to watch a level more than once, save it.

Rate Limiting

Without a token, GitHub allows roughly 60 API requests per hour, per IP address — and that budget is shared by everyone behind your network. The catch: a single rendering can spend a big chunk of it. The app pages through the repo's issues, pull requests, commits, branches, and releases, which is easily dozens of requests for a busy repo. So just a few builds can use up your hour's goodwill. If you hit the wall the app tells you roughly how many minutes until it resets — or you can Save/Load instead of rebuilding, or run it locally for a much higher limit.

Running it Locally

The whole thing is static and fetches straight from your browser, so you can run your own copy and use your own GitHub token for 5000 requests/hour (and private repos too). In short: clone the repo, serve the folder, drop a read-only token into a small local-only file, and go. The token stays on your machine and only ever talks to api.github.com — there is deliberately no token field on the hosted site, so nothing can leak or be turned on in production by accident.

The full step-by-step (and how the local-token file works) lives in the repo:

Read it on GitHub ›