project remotecs
Remote Coding Standards Validation for PHP
ktamas77/remotecs
Remote Coding Standards Validation for PHP
- Sunday, May 29, 2016
- by ktamas77
- Repository
- 0 Watchers
- 0 Stars
- 7 Installations
- PHP
- 0 Dependents
- 0 Suggesters
- 0 Forks
- 0 Open issues
- 2 Versions
- 0 % Grown
RemoteCS
Convenient Coding Standards Validation for GitHub
RemoteCS is a remote Coding Standard Validator for Github repositories. Unlike regular CS Validators, it doesn't requires any changes on the client side (no IDE plugin required neither pre-commit-hook setup for GIT).
No need to set up on every developer's machine, just in one central place., (*1)
Features:
-
RemoteCS
is a GitHub WebHook
- Activated after each commit
- Scans the newly added and the modified files after each commit (not the entire repository) on the committed branch
- Currently supports
PHP
: PHP lint
for Syntax Checking and PHPCS
for Coding Standards Validation
- Sends E-mail to the committer after commits about the results (if there is any result)
Future directions:
- Scan for ignore list file in each repository (example:
/.remotecs-ignore
)
- Send coding standard validation messages as inline comments into the commit to GitHub
- Multiple language support (
Java
, Ruby
, Python
, etc)
- Give points to the developers based on their code cleaniness & send weekly summary / toplist
- Web interface
Prerequisites
PHP
GIT
-
PHPCS
(PEAR/PHP_CodeSniffer)
- A webserver with sufficient rights to run all of the above
- Credentials for
Amazon Simple Email Service
to receive E-mails
Quick Install
- Copy the
remotecs
files to your webserver's directory or use composer to install:
composer require ktamas77/remotecs
- Add the script's HTTP URL to
Github -> Your Project -> Settings -> Service Hooks -> WebHook URLs
- Make sure the path's are correct in the
Payload.class.php
file & your webserver has sufficient rights
- Copy the
config.sample.php
into config.php
and set up your Amazon Simple Email Service
credentials to receive E-mails
- Press
Test Hook
or Commit & Push files
- If in trouble, enable debugging by
$payload->debug(true);
in index.php
and check the debug.log
file in the log directory
- Enjoy! =)
References:
- PHP CodeSniffer: http://pear.php.net/package/PHP_CodeSniffer/
Author