CompSci 590
Spring 2026
Software Development Studio

Team Project: AI Code Assistant

Steps an AI Assistant follows

In teams, write a program that implements at least four code assistants that can be used to suggest improvements for given code to be implemented by an AI agent following these steps:

  1. Scan given code to locate issues (via AI or a standard tool)
  2. Generate suggestions for improvement (the format will depend on how you intend to apply them)
  3. Validate the suggestions (automatically apply all kinds of tests no matter how small the suggestion)
  4. Apply the suggestions (optionally, require human approval)

The program should be usable on the command-line and through a GUI of your choice.

Your grade will be determined primarily by your programming process rather than the exact functionality you choose to implement:

You are expected to build your own AI Agents rather than using pre-built ones or low-code tools to build one.

Submitting Your Work

Use GIT to push your team's implementation to the main branch of the provided, sharedai_assistant_teamNN repository hosted in the course's Gitlab group for each Phase:

You are responsible for ensuring that all files are correctly pushed to the repository on time.

Individual Responsibilities when Working as a Team

Although this is a team project, everyone has individual responsibilities to the team that can be summed up as follows:

Your team's project GIT repository should reflect this by with many small purposeful commits using commonly formatted commit messages from all team members rather than just one or two large "kitchen sink" commits and marathon merging or redesign sessions. Specifically, we will be looking for deliberate attempts to regularly:

Unfortunately conflicts are likely to occur, so please let the Teaching Team know as soon as possible — even if it has happened just once or twice since it is better to deal with the situation early rather than having a disaster at the end when little can be done to get back on track.

Plan your priorities (expressed as Gitlab Issues) to determine during which Phases the features should be implemented.

Specification

Implements at least four code assistants that can be used to suggest improvements for given code, such as:

Internally, each AI Agent needs to keep track of information specific to its purpose, such as:

In addition to allowing direct command-line access to your agents, you need to implement one of the following frontend options:

Start simply: accept entire code files, analyze with a tool or LLM prompt, apply the suggested changes, and return the updated code. Once you have that working for one tool, then consider how to enhance each step and generalize the process for a second tool. Each step of the process contains a range of issues for you to consider and tailor to your chosen frontend.

You will not be able to test your AI Agents precisely since each response may be unique, so instead focus on testing that the parts work together correctly, such as:

Test your backend in a Gitlab Pipeline, with coverage, but testing your chosen frontend is not required.

Resources

Follow these directions to acquire your Duke AI Gateway API Key, set up your Duke VCM Server, install Docker, and deploy your code to your Server.