[PHP] Streamlining PHP CodeSniffer usage

I am a big fan of using tools the way they are intended, which in case of PHP CodeSniffer would be to have all the config in the config file. Currently there are options spread in composer.json, in bin/ scripts and the config file. And lots of files are not covered at all.

I did some experiments with that and made the config cover all exceptions required for concepts, hello-world and so on. But I got stuck with the bin/ scripts. What’s the use case for these? They are mentioned in the README, which is manual usage. Is there some automation using these? E.g. the Exercism online editor? Or am I free to change these scripts as long as they do what is required for the README?


While digging into the bin/ scripts, I found them used in GitHub actions. Which raises the question: How much in sync with other exercism scripts must those be? Is it enough to make them work in GitHub actions or are there more constraints?

As far as I can see there are no problems with the GitHub actions, but I haven’t touched the bin/ scripts, yet. See GitHub Pull-Request #591

I removed as much shell script code as I could and used composer for the manually executed testing for contributors. This seems to do all the tricks.