Your codebase is part of the prompt
Agents follow the patterns in the surrounding code more reliably than they follow your rules, so every inconsistent naming scheme and half-migrated architecture is a lesson you're teaching them. The fix isn't another rule file. It's deleting the bad example.