Previewing GitHub Copilot Workspaces

First, my current stance on generative AI, LLMs, and programming:

I signed up for the GitHub Copilot Workspace Preview and this morning I was given (very brief) access.

I won't give you the sales pitch, but it works in the browser in certain contexts on GitHub.


So I found a personal project with a small repo and a feature request I've been meaning to add: header-timers should have a utility to merge existing Server-Timing headers with generated values.


I opened the issue in Copilot Workspace and the AI continued by summarizing the current state of the library and the proposed state for closing the feature request:



Not bad! It mostly understood what this library does and how. Plus: update the README and tests; yes, please. Then, I'm able to alter that proposal:



The plan:



Go for it:




After the code mods are made, I can even open a terminal in the workspace and run the tests. I knew they'd fail because they didn't account for the rounding implemented in header-timers, but still nice to try it out:



Then I could even create a Draft PR complete with a description of what was changed. You can even view my session in the Copilot Workspace.


In the end, it was a fairly close approximation of what I would have done to implement this feature. However, had I written the changes myself, they would have been more accurate and completed in less time. I will go back and alter the generated branch so that the code is cleaner, add the missing JSDoc bits, and fix the tests. 🤷‍♂️


My verdict: it's impressive and even promising but won't fit into my daily workflow as-is. I could have been more deliberate about the planning phase by expressing exactly what I wanted to change, but I'd rather just write the code than the words.


Shortly after this experiment I got this email from GitHub Next:


A few minutes ago, we accidentally onboarded far more users to the GitHub Copilot Workspace technical preview than we intended to. Unfortunately, we have to revert that to keep Copilot Workspace running as we scale up gradually.


Oopsie.

from DynamoDB (9.3ms) to HTML (2.8ms) in 12ms