
What "AI-first" actually means when you have 5 years of legacy code
Every software company wants to be AI-first now.
For teams starting fresh, this sounds logical and doable.
The more interesting question is different. What does it mean for a product that's 5 years old, has 200 microservices, thousands of pages of docs, and decisions made by people who left two years ago?
Why greenfield teams have it easier
Teams starting from scratch don't have accumulated context they need to put somewhere. They can agree from day one on how they write specs, how they keep ADRs, what the rules are for agents.
Legacy teams have a different reality. Services nobody wants to touch because nobody remembers why they're built that way. Processes that work "because that's how it ended up." Integrations held together by one person. Decisions made on calls in 2022 with no written trace.
This accumulated context is exactly what AI tools are missing the most.
Cursor and Claude Code don't solve this on their own
You can plug Cursor or Claude Code into a legacy repo and they will work. They will suggest reasonable changes, generate tests, refactor functions.
The problem isn't the tool. Without context, the tool doesn't know that this endpoint can't be changed because of an external contract, that this seemingly duplicated logic actually does different things, that this service is being deprecated, that this database structure looks odd because of an old migration.
None of this is written in the code. It lives in people's heads, in old Jira tickets, in Confluence pages last updated in 2023. The result is code that compiles fine but breaks something three services away.
Where the context went
If you look at a typical legacy team honestly, the context is scattered across maybe ten places. Calls nobody transcribes. Slack threads you can't find a month later. Tech leads' personal notes. PR comments that aren't indexed. Old docs that are partially accurate, partially not.
Someone who's been on the team for three years holds this picture in their head. A new developer assembles it over months. An AI agent doesn't assemble it at all.
What usually doesn't work
The standard response is "let's write good documentation for AI." Six months in, it's clear that keeping docs current at the actual rate of product change is essentially impossible by hand, that whatever is written is always a couple of sprints behind reality, and that developers don't enjoy writing docs.
Documentation as a separate activity almost never catches up with the product.
What seems to work better
Treat context not as an artifact you maintain separately, but as a byproduct of what the team already does.
The team discusses a feature, and the discussion turns into a draft spec automatically. An architectural decision gets made, and an ADR gets captured without a separate ritual. What used to require a disciplined tech writer can now be partially automated, because LLMs are finally good enough to do this work at acceptable quality.
That's the bet behind what we're building at replys.ai. Product discussions get turned into specs, updated tasks, and synced docs automatically, so context lives where the work happens, not in someone's head.
Fix this part, and any AI tool starts working much better on the same legacy codebase. Don't fix it, and you can buy ten different tools each one runs into the same wall.


