🤖 Letting GitHub Copilot drive #889
FH-Inway
started this conversation in
Show and tell
Replies: 1 comment
-
Thanks for taking the time to share the journey - things are changing fast these days |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
The idea
@TrudAX recently wrote a nice article about how the wait time for IIS after a x++ compilation can be reduced: Enable IIS Preload to Speed Up Restart After X++ Compile.
Reading such articles, there is usually the thought: Can this be scripted? Can we add it to d365fo.tools?
This time, I got inspired by Cloudlflare builds OAuth with Claude and publishes all the prompts to do something similar, but with GitHub Copilot in agent mode.
First day
First, I created FH-Inway#145 with a copy of the article plus some additional requirements stating the names of the new cmdlets. From the issue, I started the development with "Code with Copilot Agent Mode".
This resulted in the first commit after a few minutes 0500372
From there, I switched to a cloud hosted environment so I could test the cmdlets. I spent about 1,5 hours more chatting with Copilot and having it add some functionality. But the first commit already provided the basic functionality, although with several issues. No code had been written by me so far, the most I did was add the prompts to the commit messages (which were also generated by Copilot) and sometimes make minor changes to the message.
Second day
The next day, I spent about 4 hours adding the backup functionality. This led me down a rabbit hole with the initializationPage setting. Eventually, I abandonded the "prompt only" approach and made some code changes directly (although GitHub Copilot was still involved with ghost text suggestions). I couldn't get the setting to work and left it at that, a bit frustrated.
Third day
As often, a good nights sleep helps a lot and the next day, I did some digging how others did similar stuff and from there got on the right track. Took about 4 more hours to get to the current status. The commits again were a mix of "prompt only" and "manual coding with Copilot auto complete". This was mostly due to VSCode crashes after/while the agent was making changes.
In case you are wondering about the timestamps in the screenshots, I did a rebase on all commits at the end and added the 🤖 emoji to all commits that were created only by GitHub Copilot. Those are the push timestamps, the original commit timestamps are still available in the git log.
Details
#888 has the details about the changes and is also a good place to inspect the prompts I used that are part of the commit messages.
Conclusion
GitHub Copilot, especially with agent mode, is new tech and has some hard edges. Microsoft is iterating very fast on the functionality and this may look very different in one or two years from now. Like probably everyone, I'm amazed what these large language models can do and how they are integrated into the software we use daily. Exercises like this also show what some of the current limitations and risks are that come with this new tech.
Beta Was this translation helpful? Give feedback.
All reactions