haspadar/piqule

Quality checks for PHP projects

Maintainers

Package info

github.com/haspadar/piqule

pkg:composer/haspadar/piqule

Statistics

Installs: 3 351

Dependents: 0

Suggesters: 0

Stars: 1

Open Issues: 1

v0.19.1 2026-04-03 03:36 UTC

This package is auto-updated.

Last update: 2026-04-03 03:37:10 UTC


README

CI Coverage Mutation testing badge PHPStan Level Psalm CodeRabbit Pull Request Reviews

Quality checks for PHP projects.

Installed via Composer.
Executed locally, in Git hooks, or in CI.

Installation

composer require --dev haspadar/piqule
vendor/bin/piqule sync

Configure

Customization is optional. If needed, create .piqule.yaml in the project root.

Use append to add values to default lists — changes to php.src cascade to all PHP analysis tools, changes to exclude cascade to all tools:

append:
    php.src:
        - lib
    exclude:
        - legacy

Use override to replace individual keys:

override:
    phpstan.level: 8
    php.versions: ["8.3", "8.4", "8.5"]
    ci.pr.max_lines_changed: 400

The full list of available keys and their defaults is generated to .piqule/config.yaml on every piqule sync.

.piqule/ and .github/ are generated by piqule sync and may be safely deleted.

Workflow

To change configuration:

  1. Edit .piqule.yaml
  2. Run vendor/bin/piqule sync

Do not edit .piqule/ or the GitHub workflow file .github/workflows/piqule.yml directly — they are generated and will be overwritten.

Commands

  • piqule sync — generate configuration from templates
  • piqule check — run all checks
  • piqule check <tool> — run specific tool
  • piqule fix — run auto-fixable tools
  • piqule fix <tool> — run specific fixer

Checks

  • PHPStan — level 9 with strict rules extension
  • Psalm
  • PHPUnit
  • Infection
  • PHPMD
  • PHP Metrics
  • PHP_CodeSniffer — with Slevomat Coding Standard rules (class structure, doc comments, attributes)
  • PHP-CS-Fixer
  • actionlint
  • hadolint
  • shellcheck
  • markdownlint-cli2
  • jsonlint
  • yamllint
  • typos
  • SonarQube
  • Pull request size limit
  • Code coverage (Codecov)

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Ensure all checks pass
  4. Open a pull request

All pull requests must pass CI before merging.

License

MIT