Download the PHP package givanov95/laravel-git-hooks without Composer
On this page you can find all versions of the php package givanov95/laravel-git-hooks. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download givanov95/laravel-git-hooks
More information about givanov95/laravel-git-hooks
Files in givanov95/laravel-git-hooks
Package laravel-git-hooks
Short Description Composer plugin that installs a pre-commit git hook into Laravel + Vite projects — runs php-cs-fixer, a debug-statement guard, the Vite build (on frontend changes) and the test suite before each commit. Bypass with --no-verify.
License MIT
Informations about the package laravel-git-hooks
laravel-git-hooks
A tiny Composer plugin that wires a pre-commit git hook into your Laravel + Vite
projects. On every commit it runs your quality gate; if any step fails, the commit is
aborted.
It is intentionally small and self-contained — one bash hook plus a few lines of PHP to install it. The hook is the authoritative source of truth, versioned in this package, so every project that requires it stays in sync.
Heads-up: a local git hook is a fast-feedback gate, not a security boundary — it is trivially bypassed (
--no-verify) and only runs for people who have it installed. Pair it with CI (GitHub Actions) for the real, enforced gate.
What the hook runs
Each step is skipped gracefully when its tooling isn't present, so the same hook works across projects with different setups:
- php-cs-fixer — formats staged
*.phpfiles (needsvendor/bin/php-cs-fixer+ a.php-cs-fixer.php/.php-cs-fixer.dist.phpconfig), then re-stages them. - Debug-statement guard — blocks the commit if staged
*.php/*.vue/*.js/*.tsfiles containconsole.log(,dd(ordump(. - Vite build — runs
npm run buildonly when frontend files are staged and abuildscript exists inpackage.json. - Tests — runs
php artisan test(orvendor/bin/phpunit).
Installation
That's it. The plugin installs the hook into .git/hooks/pre-commit after install/update.
Because it's a plugin, Composer will ask you to trust it the first time (or add it to
allow-plugins in your project's composer.json):
If a hand-written pre-commit already exists, it is backed up to pre-commit.local.bak.
Manual install (plugins disabled)
Bypassing & skipping
| Goal | How |
|---|---|
| Skip everything for one commit | git commit --no-verify |
| Skip every step (keep the hook) | SKIP_HOOK=1 git commit ... |
| Skip just the build | SKIP_BUILD=1 git commit ... |
| Skip just the tests | SKIP_TESTS=1 git commit ... |
| Skip php-cs-fixer | SKIP_CSFIXER=1 git commit ... |
Requirements
- PHP
^8.3 - Composer
^2.0 - Git, and (per step)
bash,npm, your project'sphp artisan/phpunit
License
MIT © Georgi Ivanov
All versions of laravel-git-hooks with dependencies
composer-plugin-api Version ^2.0