If you have ever asked Claude Code, Cursor, or Copilot to "add an endpoint" to a Spring Boot project, you already know the result: a @RestController with field injection, business logic crammed into the controller method, no @Transactional , no validation, a stack trace leaking back to the client, and a test that boots the entire @SpringBootTest context just to assert a 200. That output is not the AI's fault. The training data is fifteen years of Spring tutorials — most of them written for Spring 3.x or 4.x, when field injection was idiomatic and WebSecurityConfigurerAdapter was the only path. The AI is doing exactly what you would do if you had only read 2014 blog posts. The fix is a CLAUDE.md file at the root of your repo. AI coding assistants read it before they write a line, and the rules act as a house style that overrides whatever Stack Overflow answer the model is about to regurgitate.…