DEV Community

Cover image for Running the Copilot CLI in a WebGL-powered retro CRT terminal implemented by the Copilot CLI 🤯
Remo H. Jansen
Remo H. Jansen

Posted on

Running the Copilot CLI in a WebGL-powered retro CRT terminal implemented by the Copilot CLI 🤯

GitHub Copilot CLI Challenge Submission

This is a submission for the GitHub Copilot CLI Challenge

What I Built

A port of Swordfish90/cool-retro-term (Qt and OpenGL) to WebGL, React, and Electron, and use to make my website look like a cool retro monochrome CRT monitor with an OS from 1977.

Demo

https://remojansen.github.io/

Please note: The site is meant to be used with a keyboard (no mouse or touch controls).

My Experience with GitHub Copilot CLI

I first had the idea of building a website that looks like an old-style monochrome CRT monitor when I discovered Swordfish90/cool-retro-term. I loved it, but the problem is that cool-retro-term is a native application that uses Qt & OpenGL. I wondered if it would be possible to port the code to WebGL, but because I have no experience with Qt or OpenGL, answering this question would have taken me many hours.

In the past, I wouldn't have pursued this project because I didn't have much time outside of work, but now, thanks to GitHub Copilot and its CLI, I was able to get a good understanding of how cool-retro-term works and put together a migration plan in minutes.

Then, over a couple of evenings, I started to migrate the OpenGL shaders to WebGL one at a time, and soon I had a working port 🎉

https://remojansen.github.io/

The original project (cool-retro-term) implemented an OpenGL frontend for an OS terminal. My website runs in a browser, so I had to implement a basic terminal emulator, and Copilot was able to do so without any problems.

Because the rendering was decoupled from the terminal, I thought others could be interested in this as a library, so I released it as cool-retro-term-webgl, and I also thought that the most likely next usage would be an Electron-based version of cool-retro-term so I also added that to cool-retro-term-webgl.

Now I can run the Copilot CLI in a WebGL-powered retro CRT terminal implemented by the Copilot CLI 🤯

GitHub Copilot CLI in cool-retro-term-electron

I was very happy with everything that I was able to accomplish in just a couple of days, and quite impressed by the power of the GitHub Copilot Agents together with Claude Opus 4.5. It was then that the fan really started. I started to add all sorts of cool and fun "programs" to my terminal emulator, and honestly, I have not had so much fun coding in a very long time.

Games in https://remojansen.github.io

There are a couple of fun easter eggs and nerdy references. I hope you enjoy them (maybe you can "hack" my cluster 😉).

Top comments (0)