Wait, have you been using Cursor? This is exaclty what it does fairly well.