Sitemap

ChatTDD VS Code

4 min readDec 7, 2023
Press enter or click to view image in full size

Continuing from the insights presented in “The AI-Driven Paradigm”, we now turn our attention to ChatTDD. Rather than being merely visionary, ChatTDD serves as a concrete example of how the gap between classical computer science and AI can be bridged in software development. As an extension for Visual Studio Code (VS Code), it illustrates the shift from traditional coding practices to an era where AI plays a central role in code creation and verification. Unlike assistance tools like GitHub Copilot, ChatTDD takes a low code or no code approach, suggesting a future where manual coding might become less prevalent.

ChatTDD stands as a proof of concept that extends the boundaries of AI’s role in software development. Moving beyond mere coding assistance, it ventures into direct code generation. This capability is a step towards realizing a future where AI’s role is integral to the coding process. ChatTDD exemplifies the potential synergy between AI capabilities and traditional software development, highlighting the importance of AI literacy and effective AI interaction for future developers.

Ask, code, test, fix and repeat

ChatTDD operates through a iterative chat process that captures user specifications for the project. Initiated by a targeted questions about the functionality, this process ensures that ChatTDD fully understands the developer’s requirements before proceeding. Once the requirements are clearly defined, the tool shifts into a dynamic mode of operation, where it generates both the code and the accompanying tests. Crucially, ChatTDD doesn’t just stop at code generation; it actively engages in testing this code, running the tests to verify that the generated code meets the specified criteria. This verification is enhanced by a feedback loop, where the terminal output from each function call is relayed back to the AI. This continuous feedback ensures that ChatTDD’s output remains aligned with the developer’s needs, effectively bridging the gap between AI-generated code and practical software development requirements.

Give it a try

You should have VS Code installed and updated. You also need an API key from OpenAI.

  1. Go to VS Code extension marketplace to install the ChatTDD VS Code or install directly from VS Code. Make sure to get the correct ChatTDD VSCode.
  2. Start a new project in VS Code.
  3. In the Command Palette, run command ChatTDD: Run

You will be prompted to enter your OpenAI key if it isn’t already found.

ChatTDD will start to prompt you questions about the tool you want to build. The tool will ask you to hit Enter quite often. This is to confirm a command it wants to run or that that the command it has started is completed. This is because ChatTDD needs the terminal window output as feedback. When you press enter after a command has completed, the tool will mark and copy the contents of the terminal.

Press enter or click to view image in full size

Confirm that the tool can run a command. You will have to confirm again once the command has completed execution.

Start simple with a hello world in your favorite language to explore the how the tool works.

Limitations

While ChatTDD stands as an innovative proof of concept, it’s important to acknowledge its limitations, particularly in its current stage of development. Primarily, ChatTDD is not designed as a production-ready tool but rather as an exploratory platform to understand and refine AI’s role in coding. Its effectiveness is most pronounced in small-scale projects that are initiated from scratch. One of the key limitations is its inability to incorporate or interact with preexisting code, confining its utility to projects that begin anew. Additionally, there are instances where ChatTDD may encounter obstacles, such as complex coding challenges or intricate project setup requirements. In such scenarios, the tool can enter a loop, struggling to find a path forward. This necessitates human intervention, where a developer’s expertise and decision-making are crucial for guiding the AI out of the loop and ensuring continued progress. This reliance on human interaction underscores the tool’s current role as an assistive technology, highlighting areas for future development and improvement.

A new chapter in the narrative of software development

ChatTDD is not the answer, but it encapsulates the trends and predictions discussed in earlier articles, marking a significant evolution in the software development narrative. It demonstrates a future where AI collaborates closely with developers, reshaping roles and coding practices. The transition from manual coding to AI-driven code generation and verification represents a critical stride towards a future where developers concentrate more on high-level tasks and strategic AI management.

Although it’s limited in several ways as an early concept, ChatTDD symbolizes the changing dynamics in software development, inviting developers to engage with a future where collaboration with AI is essential. As the field continues to evolve, tools like ChatTDD will increasingly influence how developers interact with code, highlighting the convergence of classical computer science principles and AI innovation in the digital age.

/Simen

#VSCode #SoftwareDevelopment #AI #Innovation #ChatTDD #TechnologyTrends #FutureOfWork #FutureOfProgramming

--

--

Simen Huuse
Simen Huuse

Written by Simen Huuse

ML & computer vision enthusiast, robocar racer, drone pilot, gadget lover. Curious about quantum computing. Fascinated by GANs. Trifork CSO.

No responses yet