<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/project-maintenance-with-ai-assistance-bomten8tg" -->

---
title: Project Maintenance with AI Assistance | daily.dev
description: A developer describes using an AI coding agent (Claude Opus, via Cursor&#x27;s plan mode) to audit a 10+ year old Ruby on Rails application for dead code, security...
canonical: https://daily.dev/posts/project-maintenance-with-ai-assistance-bomten8tg
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Project Maintenance with AI Assistance | daily.dev
og:description: A developer describes using an AI coding agent (Claude Opus, via Cursor&#x27;s plan mode) to audit a 10+ year old Ruby on Rails application for dead code, security...
og:url: https://daily.dev/posts/project-maintenance-with-ai-assistance-bomten8tg
og:image: https://api.daily.dev/og/posts/bOMten8tg.png
og:image:alt: Project Maintenance with AI Assistance
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Project Maintenance with AI Assistance

**[Viget](https://daily.dev/sources/viget)** · 4 min read · 3 upvotes · 2 comments

## Summary

A developer describes using an AI coding agent (Claude Opus, via Cursor's plan mode) to audit a 10+ year old Ruby on Rails application for dead code, security gaps, outdated dependencies, and refactoring opportunities. The agent produced a categorized list (five security gaps, eight dead code instances, six dependency/tooling updates, ten refactor candidates) formatted as Markdown ready to paste into GitHub issues. The developer reviewed and filtered the suggestions before converting them into tickets, then tackled them as a maintenance backlog between feature work. The author plans to repeat this as an annual maintenance ritual rather than something done constantly.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://www.viget.com/articles/project-maintenance-with-ai-assistance>

## Questions this post answers

### How can I use an AI coding assistant to find dead code and security issues in an old codebase?

Point an AI agent like Claude, through an IDE such as Cursor in plan mode, at the repository and ask it to list security gaps, dead code, outdated dependencies, and refactoring opportunities without changing user-facing behavior. One audit of a 10-plus year old Rails app returned five security gaps, eight dead code instances, six dependency updates, and ten refactor candidates, formatted as ready-to-paste GitHub issue markdown.

_daily.dev surfaces practical workflows like this for developers maintaining aging codebases with AI help._

## Community discussion

Top comments from developers on daily.dev.

**@agustinbarrientos** · 0 upvotes

> I prefer running the dead-code shortlist against production route and template telemetry before opening deletion tickets. Dynamic Rails references can make grep look more confident than it should.

**@leonidbugaev** · 0 upvotes

> CampaignPromo only showing up in its own spec is the one that would have gotten me. Delete the component and CI goes red until you delete the spec too. I've left that kind of dead code around because the suite still counted it.

## Similar posts on daily.dev

- [Code Audits in the Days of AI](https://daily.dev/posts/code-audits-in-the-days-of-ai-wr9p0hjzm) · thoughbot · 0 upvotes · 0 comments
- [Human Maintainable Code in the Age of AI Agents](https://daily.dev/posts/human-maintainable-code-in-the-age-of-ai-agents-ilzajja2s) · Atomic Spin · 12 upvotes · 1 comments

---

Tags: [#ai-agents](https://daily.dev/tags/ai-agents), [#rails](https://daily.dev/tags/rails), [#claude](https://daily.dev/tags/claude)

[View this post on daily.dev](https://daily.dev/posts/project-maintenance-with-ai-assistance-bomten8tg)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Project Maintenance with AI Assistance","url":"https://daily.dev/posts/project-maintenance-with-ai-assistance-bomten8tg","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/project-maintenance-with-ai-assistance-bomten8tg"},"datePublished":"2026-09-01T18:59:34.903Z","dateModified":"2026-09-01T19:04:15.316Z","description":"A developer describes using an AI coding agent (Claude Opus, via Cursor's plan mode) to audit a 10+ year old Ruby on Rails application for dead code, security...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/d55bfea39e3c0cbb8dce75c471b07ebb?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/d55bfea39e3c0cbb8dce75c471b07ebb?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Viget","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Viget","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/bb75aa01968d4bdb91c583d939f83184","url":"https://daily.dev/sources/viget"},"commentCount":2,"discussionUrl":"https://daily.dev/posts/project-maintenance-with-ai-assistance-bomten8tg","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":3},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":2}],"keywords":"ai-agents,rails,claude","timeRequired":"PT4M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Viget","item":"https://daily.dev/sources/viget"},{"@type":"ListItem","position":3,"name":"Project Maintenance with AI Assistance"}]}
{"@context":"https://schema.org","@type":"WebPage","@id":"https://daily.dev/posts/project-maintenance-with-ai-assistance-bomten8tg","comment":[{"@type":"Comment","text":"I prefer running the dead-code shortlist against production route and template telemetry before opening deletion tickets. Dynamic Rails references can make grep look more confident than it should.","datePublished":"2026-09-03T20:04:30.332Z","url":"https://daily.dev/posts/bOMten8tg#c-KwdPj3Tdw","author":{"@type":"Person","name":"Agustin Barrientos","url":"https://daily.dev/agustinbarrientos","image":"https://media.daily.dev/image/upload/s--5ayxQnqn--/f_auto/v1788281802/avatars/avatar_wQYYVe5Tbj0NJ7C7qPoa8?_a=BAMAMicg0"}},{"@type":"Comment","text":"CampaignPromo only showing up in its own spec is the one that would have gotten me. Delete the component and CI goes red until you delete the spec too. I’ve left that kind of dead code around because the suite still counted it.","datePublished":"2026-09-02T10:59:09.127Z","url":"https://daily.dev/posts/bOMten8tg#c-x9bzRLXCi","author":{"@type":"Person","name":"Leonid Bugaev","url":"https://daily.dev/leonidbugaev","image":"https://lh3.googleusercontent.com/a/ACg8ocLhMgurwTmJElWaH9A8Ju8cHvZxgMCDt009jEYkmFCyUGAoaGSw=s96-c"}}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/project-maintenance-with-ai-assistance-bomten8tg#faq","mainEntity":[{"@type":"Question","name":"How can I use an AI coding assistant to find dead code and security issues in an old codebase?","acceptedAnswer":{"@type":"Answer","text":"Point an AI agent like Claude, through an IDE such as Cursor in plan mode, at the repository and ask it to list security gaps, dead code, outdated dependencies, and refactoring opportunities without changing user-facing behavior. One audit of a 10-plus year old Rails app returned five security gaps, eight dead code instances, six dependency updates, and ten refactor candidates, formatted as ready-to-paste GitHub issue markdown. daily.dev surfaces practical workflows like this for developers maintaining aging codebases with AI help."}}]}
```

