Skip to content

Latest commit

 

History

History
71 lines (42 loc) · 2.01 KB

README.md

File metadata and controls

71 lines (42 loc) · 2.01 KB

AI Coding Comparison

How can we compare AI IDEs and their capabilities?

One way is to have a very simple application and compare how easy it is to extend the application with new features.

  • The idea is to have a very simple app and codebase that everyone can understand.

  • Then have a list of common tasks on how to change and extend the codebase with new features.

  • Record working on the common tasks with different AI IDEs and compare their capabilities.

Example

A short example of what an AI IDE (in this case Cursor) can do:

AI Example

Quick Start

Application

App Example

The application is a todo list application.

It is written in Go application with a simple REST API and a simple frontend in JavaScript. I have chosen Go because it is easy to understand, and I have chosen JavaScript because everyone knows it.

The frontend is in the internal/js folder and is a simple single page application that allows you to add todos to the todo list. The JavaScript application is delivered with a Golang embedded filesystem.

The frontend uses Alpine.js as the JavaScript framework.

The Go backend is in the internal/todo folder and contains the following:

  • db: The database models and the database access functions.
  • usecase: The use cases of the module.
  • web: The HTTP handlers of the module.
  • domain: The domain of the module.

The database is SQLite with GORM as the database access library.

The *_module.go files are the entry points for each module.

AI Test Tasks

1. Extend functionality

  • 1.1 Edit Todo
  • 1.2 Remove Todo
  • 1.3 Add Owner to Todo

2. Refactor functionality

3. Find Bugs

4. Explain Code

5. Optimize Code