An interesting question came up in a discussion with my team, about quality assurance on a big project we're starting.
I suggested mandating Php Storm on all team members, so that everyone will be held to the same quality standards, e.g. checking our inspection settings into source control, to make sure that we don't end up in situations where one team member checks in code that passed inspections in one IDE, and then comes up with failed inspections in another member's IDE.
What we would really like, is to be able to run the same inspections offline - e.g. on a CI server, sending out notifications if somebody checks in code that doesn't pass inspections.
Which component performs the inspections in Php Storm? Are they available for use outside of the IDE in any way, or are they an IDE only feature?
PHPMD, CodeSniffer, linters, etc. might provide basic static analysis, but don't (as far as I'm aware?) implement things like inference and static type-checking based on php-doc annotations - which, even if they did, most likely would not be consistent with Php Storm.
Short of mandating an IDE (which doesn't guarantee accountability, since it's each member's reponsibility not to check in code that doesn't pass inspections), how do other teams ensure that everyone is held to the same high quality standards?