DEV Community

Cover image for A Procedurally Generated GitHub CLI Roguelike Where Every Dungeon Is Built from Your Code
Lee Reilly
Lee Reilly

Posted on

A Procedurally Generated GitHub CLI Roguelike Where Every Dungeon Is Built from Your Code

GitHub Copilot CLI Challenge Submission

This is a submission for the GitHub Copilot CLI Challenge

What I Built

GitHub Dungeons is my love letter to classic roguelike games, terminal nerdery, procedural generation, and my favorite Git client... with a healthy dose of "just one more try" energy.

It’s a GitHub CLI extension that turns any repository into a playable roguelike dungeon. Every run is procedurally generated. Every dungeon is unique. And every dungeon is built from your actual codebase.

You control the hero (@, obviously) using:

  • WASD
  • Arrow keys
  • Or Vim keys (because of course)

Permadeath included. YASD guaranteed.

Demo

Instructions are at https://github.com/leereilly/gh-dungeons, but the short version is that if you have GitHub CLI already installed, just run:

gh extension install leereilly/gh-dungeons
Enter fullscreen mode Exit fullscreen mode

Then running gh dungeons in any repo will generate a unique dungeon for you to conquer.

GIF of GH Dungeons in action

My Experience with GitHub Copilot CLI

GitHub Copilot CLI felt like having a party of NPCs in my terminal... except instead of saying "I used to be an adventurer like you," and asking me to deliver a message to their Uncle in Whiterun, they actually helped!

The biggest win: /delegate

The /delegate commands were a game-changer (pun intended obviously). It let me treat Copilot like a mini guild of specialists. I’d describe the problem, send it off, and keep building while Copilot handled the details.

Some real examples:

/delegate Make the level progressively harder.  On level 2 
there are extra baddies, but also more health potions.
Enter fullscreen mode Exit fullscreen mode

» Resulting pull request

/delegate Resizing the terminal should redraw the dungeon, 
but the dungeon layout must remain the same.
Enter fullscreen mode Exit fullscreen mode

» Resulting pull request

/delegate If the Konami code is entered, the player becomes 
invulnerable and monsters do no damage.
Enter fullscreen mode Exit fullscreen mode

» Resulting pull request

What Worked Well

  • Copilot handled the complex, fiddly logic (input handling, redraws, edge cases)
  • I stayed focused on game feel, pacing, and dumb roguelike jokes
  • Iteration was fast enough to encourage experimentation ("what if…?")

Instead of fighting the implementation, I got to explore ideas, which is how side projects should feel.

Overall

This started as a short challenge project and turned into something I genuinely want to keep building.

GitHub Copilot CLI took care of a lot of the heavy lifting, which let me stay in the fun part of the problem space. That alone made it a win.

If hacking on a terminal roguelike that eats code for breakfast sounds fun...

Adventurers sought. Contributions welcome. 🧙‍♂️⚔️

Top comments (0)