grumphp - A PHP code-quality tool

  •        21

Sick and tired of defending code quality over and over again? GrumPHP will do it for you! This composer plugin will register some git hooks in your package repository. When somebody commits changes, GrumPHP will run some tests on the committed code. If the tests fail, you won't be able to commit your changes. This handy tool will not only improve your codebase, it will also teach your co-workers to write better code following the best practices you've determined as a team. GrumPHP has a set of common tasks built-in. You will be able to use GrumPHP with a minimum of configuration.

https://github.com/phpro/grumphp

Tags
Implementation
License
Platform

   




Related Projects

puppet-git-hooks - Git client and server side hooks for puppet development

  •    Shell

Git hooks to assist puppet module development. Client side hooks allow for various checks before commits are staged. Server side hooks are provided for infrastructural reinforcement of various standardization compliances. In your git repository you can symlink the pre-commit file from this repository to the .git/hooks/pre-commit of your repository you want to implement this feature.

overcommit - A fully configurable and extendable Git hook manager

  •    Ruby

overcommit is a tool to manage and configure Git hooks. In addition to supporting a wide variety of hooks that can be used across multiple repositories, you can also define hooks specific to a repository which are stored in source control. You can also easily add your existing hook scripts without writing any Ruby code.

Code Quality Plugin

  •    Java

Code Quality Plugin (CQP) is an Eclipse plug-in, built on top of existing tools such as Checkstyle, Findbugs, JDepend to help realize code quality standards. CQP gives a snapshot of the quality of code during development.

idea-composer-plugin - PhpStorm plugin that adds code completion in composer.json file

  •    Scala

Adds code completion, inspections and more to composer.json file. There you can find plugin homepage.


composer-merge-plugin - Merge one or more additional composer.json files at Composer runtime

  •    PHP

Merge multiple composer.json files at Composer runtime.Composer Merge Plugin is intended to allow easier dependency management for applications which ship a composer.json file and expect some deployments to install additional Composer managed libraries. It does this by allowing the application's top level composer.json file to provide a list of optional additional configuration files. When Composer is run it will parse these files and merge their configuration settings into the base configuration. This combined configuration will then be used when downloading additional libraries and generating the autoloader.

gitlab-shell - Replacement for gitolite

  •    Ruby

GitLab Shell handles git commands for GitLab and modifies the list of authorized keys. GitLab Shell is not a Unix shell nor a replacement for Bash or Zsh. Maybe you wonder why in the case of git push over http(s) the Rails app doesn't handle authentication before delegating to GitLab Shell. This is because GitLab Rails doesn't have the logic to interpret git push commands. The idea is to have these interpretation code in only one place and this is GitLab Shell so we can reuse it for ssh access. Actually GitLab Shell executes all git push commands without checking authorizations and relies on the pre-receive hooks to check authorizations. When you do a git pull command the authorizations are checked before executing the commands (either in GitLab Rails or GitLab Shell with an API call to GitLab Rails). The authorization checks for git pull are much simpler since you only have to check if a user can access the repo (no need to check branch permissions).

git-hooks - A tool to manage project, user, and global Git hooks

  •    Shell

A tool to manage project, user, and global Git hooks

git-hooks - [ABANDONED] git-hooks

  •    Shell

[ABANDONED] git-hooks

fit-commit - A Git hook to validate your commit messages based on community standards.

  •    Ruby

A Git hook to validate your commit messages based on community standards. This creates a .git/hooks/commit-msg script which will automatically check your Git commit messages.

pre-commit - Automatically installs a git pre-commit script in your git repository which runs your `npm test` on pre-commit

  •    Javascript

pre-commit is a pre-commit hook installer for git. It will ensure that your npm test (or other specified scripts) passes before you can commit your changes. This all conveniently configured in your package.json. But don't worry, you can still force a commit by telling git to skip the pre-commit hooks by simply committing using --no-verify.

composer-changelogs - :notebook: Display better summary after Composer update

  •    PHP

composer-changelogs is a plugin for Composer. It displays some texts after each Composer update to nicely summarize the modified packages with links to release and compare urls. Just copy it in your commit body and you get a nice description.

phpstorm-stubs - PHP runtime & extensions header files for PhpStorm

  •    PHP

IDE needs them for completion, code inspection, type inference, doc popups, etc. Quality of most of this services depend on quality of the stubs (basically their PHPDOC @annotations).TBD: Have a full copy of .git repo within IDE and add it as an external library "PHP Runtime" to the project. It should then be easilly updatable both way via normal git methods.

composer-asset-plugin - NPM/Bower Dependency Manager for Composer

  •    PHP

The Composer Asset Plugin allows you to manage project assets (css, js, etc.) in your composer.json without installing NPM or Bower. This plugin works by transposing package information from NPM or Bower to a compatible version for Composer. This allows you to manage asset dependencies in a PHP based project very easily.

lint-staged - 🚫💩 — Run linters on git staged files

  •    Javascript

Linting makes more sense when running before committing your code. By doing that you can ensure no errors are going into repository and enforce code style. But running a lint process on a whole project is slow and linting results can be irrelevant. Ultimately you only want to lint files that will be committed. This project contains a script that will run arbitrary npm and shell tasks with a list of staged files as an argument, filtered by a specified glob pattern.

composer-patches - Simple patches plugin for Composer

  •    PHP

Simple patches plugin for Composer. Applies a patch from a local or remote file to any package required with composer. Instead of a patches key in your root composer.json, use a patches-file key.

GitCommitMsg - Sublime Text plugin "git_commit_msg plugin": shows the git commit history for one or more lines of code

  •    Python

Shows the git commit history for one or more lines of code. Essentially it performs a git blame on the selected line(s) of code, and then performs a git show on the resulting commit(s). The easiest way to install this is with Package Control.

husky - :dog: Git hooks made easy

  •    Javascript

By default, husky expects your project's package.json and your .git directory to be at the same level. It can be configured to support monorepos or sub-directories.Check documentation for more.