Main image of article What Happened When I Let Cursor Code for Me

In previous articles, I have explored AI that generates code. To do that, AIs need direction through one or more prompts. But what if you could tell an AI to build something and it worked by itself with no further input? That is agentic AI. Agentic comes from agency and means the system can achieve an outcome independently.

Artificial general intelligence (AGI) would be the ultimate agentic AI, but we are a long way from a system that simply does what it wants. Today's agentic AI still needs instructions; another term is agent mode. GitHub Copilot, for example, introduced agent mode a few months ago.

What Agent Mode Can Do

  • Analyze your codebase

  • Run commands or tests

  • Use external tools for specialized tasks

  • Suggest architectural improvements

  • Work through a loop of planning, applying changes, testing, and iterating

Other tools such as Cursor, Replit, and Claude Code offer similar capabilities. I am comfortable with Claude and Copilot, so I decided to try Cursor. I had a Flutter project with a couple of bugs and wanted to see how Cursor handled it.

After signing up and installing the Cursor app, I opened the project and asked Cursor to fix all problems, and it did. Cursor is based on VS Code, so if you know VS Code you will feel at home; it even uses the same icons, although arranged horizontally. I am on the free tier, but the first two weeks are a free Pro‑level trial.

I asked Cursor to add a configuration in tasks.json to run the Flutter app. It complied but tried to connect to a local web service that did not exist. Normally I develop Flutter apps in Android Studio and do not have to worry about such details. With VS Code and Cursor you must specify configurations, so I asked it to add one to run Chrome. It added two: one for debug and one for release.

Cursor not only writes the configuration but also installs it in VS Code. That is the biggest difference between an AI and an agentic AI. Editing configurations can waste time, so having them done for me is amazing. The same help would be welcome when, for instance, adding SDL2 to a Visual Studio project, where you must specify paths to .h and .lib files and list the libraries to link.

Cursor provides a running commentary while it works and asks before making changes.

I asked Cursor to upgrade Flutter, which it did. These small tasks are as much a part of development as writing code.

To push Cursor further, I asked it to create a calculator in Flutter from scratch with this prompt:

Please create a Flutter/Dart calculator app in this project. It should handle four functions, ln, exp, 10^x, and m+, m-, mc, and mr with numbers up to 15 digits.

Cursor produced the app in one pass. It defaulted to a Windows desktop application, but Flutter can also target macOS, Linux, the web, and of course iOS and Android.

I had no input on the user interface; Cursor chose the colors and layout. The resulting main.dart file is 303 lines long and was generated in less than two minutes.

The app compiled and ran, and the four functions worked, but 10^x struggled, and clicking mr returned 15 when I had stored 90 and 60 with m+. Time to iron out a few kinks. I suspected the prompt needed more detail for buttons like 10^x.

I debugged the memory buttons and discovered the bug was not in addition but in the _formatResult() function. An incorrect regex on line 138 chops off the zero in 150: first it removes .00000 and then the zero from 150. D’oh!

Generating code is impressive, but watching an agentic AI create an app in a single pass without help is awesome. A new protocol, MCP (Model Context Protocol), defines how large language models can access external data, tools, and services. It acts as a bridge that lets AIs search the web when they cannot answer directly and lets Cursor interact with editors.

Creating an app with an agentic AI is certainly faster than doing it by hand, but does the extra time spent testing, debugging, and fixing issues offset that speed?