acidwroc/grumphp

一个Composer插件,它使源代码质量检查成为可能。

维护者

详细信息

github.com/acidwroc/grumphp

来源

安装: 11

依赖项: 0

建议者: 0

安全: 0

星标: 0

关注者: 0

分支: 430

类型:composer-plugin

v0.17.2 2020-01-10 06:32 UTC

README

Travis AppVeyor Installs Packagist

Twitter Join the chat at https://gitter.im/phpro/grumphp

GrumPHP

厌倦了反复捍卫代码质量?GrumPHP会为你做这件事!这个Composer插件会在你的包仓库中注册一些git钩子。当有人提交更改时,GrumPHP将对提交的代码运行一些测试。如果测试失败,你将无法提交你的更改。这个实用的工具不仅会提高你的代码库,还会教会你的同事按照你作为团队确定的最佳实践编写更好的代码。

GrumPHP内置了一组常见任务。你将能够以最少的配置使用GrumPHP。

我们不想让你感到无聊,所以快速说明:自己安装它,释放GrumPHP的力量!

演示

demo

安装

为了让这个包正常工作,你必须确保以下工具在命令行上可被发现

  • php
  • composer
  • git

这个包是一个Composer插件,应该使用Composer将其安装到你的项目的开发依赖项中

无依赖项地安装GrumPHP phar

composer require --dev phpro/grumphp-shim

带有依赖项安装GrumPHP

composer require --dev phpro/grumphp

通过phive安装无依赖项的GrumPHP和自动化的git钩子

phive install grumphp

当包安装完成后,GrumPHP将附着到你的项目的git钩子上。你将在composer日志中看到以下消息

小心!GrumPHP正在检查你的提交!

GrumPHP永远不会强迫你使用特定的任务。你可以选择符合你需求的任务,并且可以随时激活或停用任何任务!请参阅composer.json中的suggest部分。

注意:除非你使用composer install并带有--no-plugins--no-scripts,否则GrumPHP会覆盖现有的钩子。我们确实创建了你的git钩子的备份,但在尝试安装GrumPHP之前,最好确保你也有自定义钩子的备份。

安装GrumPHP时遇到麻烦?了解如何

配置

GrumPHP中的一些设置可以在项目的根目录(运行grumphp命令的目录)中的grumphp.ymlgrumphp.yml.dist文件中进行配置。你可以在composer.json中指定自定义配置文件名和位置,或者在控制台命令的--config选项中。

# grumphp.yml
grumphp:
    hooks_dir: ~
    hooks_preset: local
    git_hook_variables:
         VAGRANT_HOST_DIR: .
         VAGRANT_PROJECT_DIR: /var/www
         EXEC_GRUMPHP_COMMAND: exec
         ENV: {}
    stop_on_failure: false
    ignore_unstaged_changes: false
    hide_circumvention_tip: false
    process_timeout: 60
    ascii:
        failed: grumphp-grumpy.txt
        succeeded: grumphp-happy.txt
    parallel:
        enabled: true
        max_workers: 32
    fixer:
        enabled: true
        fix_by_default: false
    environment:
        files: []
        variables: {}
        paths: []
    tasks: {}
    testsuites: []
    extensions: []

配置的详细内容分为以下部分。

命令

由于GrumPHP只是一个CLI工具,因此可以触发以下命令

兼容性

GrumPHP与PHP 5.6或更高版本兼容。

此包已与以下git客户端进行了测试

  • CLI Unix
  • CLI Mac
  • CLI Windows
  • PhpStorm Git
  • Atlassian SourceTree
  • Syntevo SmartGit

Roadmap

已经有很多任务可用,以确保你的团队能够编写出优秀的代码。我们一直在寻找支持新任务。请随意记录问题或为我们忘记的任务创建一个pull request。

您缺少某个功能或者发现了bug吗?请在问题跟踪器中记录!想要帮忙?随时联系我们!

常见问题解答(FAQ)

关于

提交bug和功能请求

bug和功能请求在GitHub上跟踪。请在贡献代码之前查看我们的规则。

许可协议

GrumPHP遵循MIT 许可协议