GitHub Spring Clean

GitHub Spring Clean

Introduction

I’ve been meaning to clean up my GitHub for a while now. Over the years I’ve accumulated a mess of old repositories — game jam entries scattered across individual repos, abandoned projects gathering dust, and a general lack of organisation that was starting to bug me. I finally sat down and did something about it.

The short version: I consolidated all my game jam games into a single GameJams repository, sent a heap of old repos to the graveyard, cleaned up all my itch.io pages, and updated the Game Jams section of this site to match. Claude Code did most of the heavy lifting.

Consolidating Game Jam Repos

I had game jam entries spread across a bunch of individual repositories. Each one had its own repo with source code, and the downloadable builds were scattered across various places — some on itch.io, some in old OneDrive folders, some attached to the original repos. It was a mess.

The plan was simple: one GameJams repository with everything in it. All the source code moved into subdirectories, and all the downloadable builds attached as releases. Having everything in one place makes it so much easier to manage and it cleans up my GitHub profile considerably.

Git Timelapse of the GameJams repo YouTube
Git Timelapse of the GameJams repo

The Graveyard Grows

I wrote about the GitHub Project Graveyard process a while back. This time I put it to serious use and sent a heap of old repos I don’t use anymore into wiltaylor/.graveyard. Same process as before — merge the history in, move it to a subdirectory, delete the original repo.

Graveyard cleanup timelapse YouTube
Graveyard cleanup timelapse

Claude Code Made This Practical

Doing all of this manually would have been painful. Moving dozens of repos through the graveyard process, pulling release files from multiple sources, updating itch.io pages — each one individually isn’t hard but doing it at scale is tedious. Claude Code turned what would have been days of repetitive work into something I could knock out in a fraction of the time.

Skills for Bulk Operations

I created a Claude Code skill for the graveyard process. Instead of manually running through the steps for each repo, I just pointed it at the repos I wanted to archive and it handled them en masse — cloning, running git-filter-repo, merging into the graveyard, cleaning up. Same process every time, no mistakes, no forgetting steps.

I did something similar for the game jam consolidation but that was more involved. I got Claude Code to pull all the release files from old repos, grab builds from other locations like itch.io and OneDrive, and attach them as releases on the new GameJams repo. Each game jam entry had slightly different sources and file formats but the pattern was consistent enough that Claude could handle it once I showed it how.

Playwright for itch.io

The itch.io pages needed updating too — descriptions, links, screenshots, and even the theme for each game page individually. If you’ve ever changed themes on itch.io you’ll know it involves a lot of clicking through menus and options per page. Multiply that across dozens of games and it’s a serious time sink. The problem is itch.io doesn’t have a good API for changing most of that stuff. So I got Claude Code to use playwright-cli to automate the browser and make the changes directly through the web interface. What impressed me was how intelligent it was about the process — it would figure out how to do one page, then create a script to automate the rest. It was a lot faster than if I’d done it all by hand.

The 1M Context Window

The surprise bonus in all of this was Opus with its 1M context window. Since I was doing the same kind of operation over and over — archive this repo, move that game, update this page — keeping it all in one session made the whole thing incredibly smooth. I wasn’t re-explaining the process each time. Claude just knew what I wanted and got on with it.

I expected the usual degradation you see when context gets long — the model losing track of earlier instructions, getting confused about what’s already been done, generally getting worse as the conversation grows. None of that happened. I suspect the combination of sub-agents keeping individual tasks contained and the repetitive nature of the work helped — the model was doing similar things over and over so the repetition probably reinforced the pattern rather than cluttering the context.

Future Game Jams

Going forward all my game jam entries will be created directly in the GameJams repository. But beyond just organising things, I’m planning on getting Claude Code to convert some of the older Unity games over to Godot and making them buildable via CI/CD so they can all be playable in the browser.

Some of the older games — even the ones that had web versions — haven’t aged well with Unity. Web builds from a few years ago just don’t work reliably anymore. On top of that, the Unity runtime fee debacle left a bad taste. They walked most of it back but the trust damage was done and I’d rather not have my projects tied to an engine with that kind of track record. I also wouldn’t be surprised if Unity runs into financial trouble in the future as AI development tools become the norm and the value proposition of a big proprietary engine shifts.

Godot is a much better fit for these small jam games anyway. Open source, lightweight, and the web export story is solid. Getting Claude Code to handle the conversion is an interesting challenge too — these are simple games so it should be feasible, and it’s exactly the kind of repetitive-but-slightly-different task that AI tools handle well.

Results

My GitHub profile is a lot cleaner now. Game jam games are all in one place with proper releases. Dead projects are archived in the graveyard where they belong. Itch.io pages are updated and consistent. And the Game Jams section of this site has all the correct links and download information.

Sometimes the most satisfying work isn’t building something new — it’s finally tidying up the mess you’ve been ignoring.

═══════════════════════════════════