Having been in the software industry for 14+ years now and having had a lot of interest in low level programming, it took me – and is still taking me – a while to adopt agentic AI coding. Most of the content, tutorials and examples I see about agentic coding is related to building new apps from scratch. Whether it’s building the classic TODO list application, or attempting to do what Anthropic did with building a C compiler, it’s all along the same theme, BUILDING AN APP FROM SCRATCH!! See more on the Anthropic C compiler project here: https://www.anthropic.com/engineering/building-c-compiler
Having worked with many different frameworks and programming languages you tend to gravitate towards appropriate dev tools like IDEs. Visual Studio on Windows is still the best IDE for dotnet development and I find it very difficult to find any serious competitor to it IMHO. With that in mind, attempting to use agentic coding within an IDE has proven to be “okay” but extremely far from “good” let alone “productive”. Having used the GitHub Copilot plugin on Visual Studio, Visual Studio Code and Dotnet Rider, I have experienced annoying circular build and test run failures that keeps me prompting and clicking continue to get the agent to fix the problem. The agent attempts to read the error from the console but it just does not work well most of the time. However, what I have found to be much better – but still with apps from scratch – would be using CLI tools for AI. I’ve tried GitHub Copilot CLI as well as Claude Code CLI and they both work pretty well with very little issues. I wish I had the time to do a deep dive into understanding the difference in LLM prompting between IDE plugins and CLI tools and why the experience would differ that much.
Using the GitHub Copilot CLI tool with PRODUCT.md and ARCHITECTURE.md files has been working well for me. Using a good markdown editor has been helpful for this too. On MacOs I’ve been using macdown (https://macdown.uranusjr.com/) that allows me to edit and preview the changes in real time. Using a separate editor has slowly shifted my mentality of IDE usage and purpose. I guess IDE’s are still going to be needed, however, their purpose will change to match the usage of AI tooling. Using the PRODUCT.md file, defining the problem I want to solve has allowed me to focus on that aspect on “planning” without jumping into any Code-and-Fix method until I’ve got decent results. With the ARCHITECTURE.md file, it would be useful if framework sites have base guidelines – written in markdown – that you got use with AI tools as the standard. Lacking such resources, I’ve used ChatGPT to generate a base ARCHITECTURE.md file with technical information regarding asp.net core web api and angular.
You can find the source code for my example above on GitHub: https://github.com/AdhirRamjiawan/payslip4all
Above, you might feel that I’m being critical of AI tooling especially around new apps vs existing apps. Generally I need a framework of thought around technical concepts before adopting it. I might just use an open source project to help learn how to support AI tooling in an existing code base.