Transcription
As a developer, the first thing I need to do is get an environment in which to code. Normally, this would be a tedious process of installing frameworks, libraries, services, and packages. But with Codespaces, I'm literally a couple of clicks away from a fully configured environment. Everything I need is defined in the dev container JSON file and automatically loaded up. In fact, I can even use a version of VS Code right here in my browser. But if I prefer the desktop version, that's also just a couple of clicks away.
With my environment set up, the next step is to figure out what to work on and what to delegate. Through the use of GitHub's MCP server, I can ask Copilot to prioritize the backlog on the repository. Looks like there's a couple of issues looking for new features, accessibility tests, and migrations. Copilot highlighted the new feature as having the biggest impact on customers. So, I want to turn my attention to that. Accessibility is important though, so I don't want that to sit in the backlog. Let me assign that to C-Pilot, then turn my attention to writing code.
Let me get the full details of the issue so I can gather some additional context. Looks like we need to add filtering by category and publisher to our website. Seems straightforward enough. There's even an empty file for publishers, which I guess someone forgot to actually start. I can fix that. I ask Copilot to generate the code to return all publishers. I do this in line with Copilot by hitting command I, then making my request. I've got the initial code created by Copilot. I'll accept those changes, then add in the code to get publisher by ID. I barely get to the route function when Copilot detects what I was trying to write and generates a suggestion. Looking over the code, I can see everything is built out just fine. Let's accept it. And that's done.
But there's lots more to do. I've got the categories route to create the app to update interface to modify test to generate. Okay, this is going to take a lot more work than I originally thought. Let's see what copilot agent mode can do. I explain everything to copilot and it gets to work. It reads through my project and creates the necessary files. It's got the back end, the front end, and all the tests covered. Most importantly though, it's actually going to run the tests for me and I can see just like me, it's made a couple of mistakes. Fortunately, Copilot agent mode is self-healing. It reads the error messages, makes the correction, and updates the code to fix the various bugs. Finally, all of the tests pass. It turns its attention to running the end-to-end tests in Playright. And I'm going to skip ahead a little bit to another problem that Copilot discovered. Turns out that someone didn't list Playright in the requirements for my image. Normally, this would involve me having to track down what needs to be done. But fortunately, Copilot got me covered. It installs the libraries and the underlying dependencies before running the tests again, which all now pass.
With the code generated and tests passing, let's take a look at one of the core components which ensured everything followed the guidelines I set forth, instructions files. Our team has one for the project all up describing global standards in the app we're building. And we've even got ones for more specific scenarios like creating endpoints and unit tests. Copilot chat used all of these when it did its work. Instruction files are so important in fact that copilot coding agent can even suggest the creation of one if you don't have any in your repository so you don't have to create it manually.
Now to my least favorite part of being a developer describing what I just built. Fortunately, Copilot can help me there as well. I can use the sparkles to generate the commit message. Then after I create and publish a new branch right here from in VS Code, I can create the PR. Again, Copilot's there to generate the description for that PR. And if I return to my repo, I can see it right there, as well as another one. And that's the one from Copilot for the work that I assigned to it earlier. Let's check out what it's done. There's a new branch right here with the changes that Copilot generated. I'll copy that for use in a couple of minutes. I can see the PR contains a great description of what Copilot did and how it did it. I can even see screenshots of the interface. Digging a little deeper by opening the session, I can review everything that it did and how it did it. But at the end of the day, the biggest thing I want to know is do all these new Playright tests pass. Let's check out the branch on my local system and run those tests. And everything looks good. From here, I can continue my review, run the workflows required for the repository, and even make comments to request changes. We've seen how GitHub, Copilot, and VS Code were there from start to finish, allowing me to quickly generate the necessary changes and get on top of the backlog. [Music]