Actually, only today I noticed that Cursor's Agent Composer now can properly respond to linting errors.
In my typescript codebase case, it solves a lot of problems, it probably helps that I use tRPC type rather aggressively (i.e. using UUID types, separate dates and datetimes etc).
A few weeks ago it wasn't working nearly as well in my experience.