idevlab/owlhooks
Composer 安装命令:
composer require idevlab/owlhooks
包简介
Gestionnaire modulaire et extensible des hooks Git pour projets PHP (Laravel, Symfony, etc.)
README 文档
README
🎯 OwlHooks est un gestionnaire de hooks Git modulaire, sécurisé, extensible et 100% configurable pour tous projets PHP (Laravel, Symfony, etc.)
✨ Objectifs
- ✅ Exécuter automatiquement vos outils de qualité, tests et sécurité à chaque commit/push
- ✅ Centraliser et versionner la configuration des hooks dans un seul fichier
owlhooks.json - ✅ Permettre un fonctionnement en solo ou en équipe, avec ou sans outils globaux
- ✅ Supporter l'exécution des hooks en local ou dans un conteneur Docker
🧩 Sommaire
- 🚀 Installation
- ⚙️ Configuration
- 🔧 Commandes disponibles
- 📦 Presets intégrés
- 🔒 Sécurité
- 🐳 Exécution dans Docker
- 🧪 Tests
- 📜 Changelog
- 📝 Licence
🚀 Installation
composer require idevlab/owlhooks --dev
Puis initialisez les hooks :
vendor/bin/owlhooks install --preset=all
⚙️ Configuration
Le fichier owlhooks.json est la seule source de vérité. Exemple :
{
"meta": {
"version": 1,
"preset": "all"
},
"tools": {
"fallback_to_global": true
},
"execution": {
"mode": "local",
"docker": {
"container_name": "php-app"
}
},
"hooks": {
"pre-commit": {
"enabled": true,
"sequence": [
{ "tool": "phpcs", "options": { "standard": "PSR12" } },
{ "tool": "phpstan", "options": { "level": "max" } }
]
}
}
}
💡 Vous pouvez également lancer
vendor/bin/owlhooks initpour générer un fichier interactif.
🔧 Commandes disponibles
vendor/bin/owlhooks help
vendor/bin/owlhooks install [--preset=all|light|auto] [--force] [--ignore-existing]
vendor/bin/owlhooks uninstall
vendor/bin/owlhooks run <hook> [options]
vendor/bin/owlhooks validate [--fix]
vendor/bin/owlhooks init
vendor/bin/owlhooks status
vendor/bin/owlhooks update
vendor/bin/owlhooks audit
vendor/bin/owlhooks preset:list
Options de la commande run :
--only=tool: Exécute uniquement un outil spécifique (ex :phpstan)--dry-run: Simule l’exécution sans rien exécuter--no-fallback: Interdit les outils globaux--sandbox: Bloque tous les outils non whitelistés--json: Affiche la sortie au format JSON--verbose: Affiche des informations détaillées lors de l'exécution--mode=local|docker: Définit le mode d'exécution (local ou Docker)--container=name: Nom du conteneur Docker à utiliser (si mode Docker)
📦 Presets intégrés
| Nom | Contenu par défaut |
|---|---|
all | Tous les outils : linters, tests, sécurité, fixers, etc. |
light | gitleaks, pest uniquement |
custom | Configuration vide à personnaliser |
auto | Basé sur les fichiers présents dans votre projet |
🔒 Sécurité
- 🧼 Sanitation stricte des arguments
- 🔐 Mode
--sandboxpour bloquer tout outil non whitelisté - 🔏 Journal
owlhooks.audit.logdans.git/hooks - ✅ Désactivation automatique du sandbox si
.envcontientOWLHOOKS_TRUSTED=true
🐳 Exécution dans Docker
OwlHooks permet d'exécuter les hooks dans un conteneur Docker. Pour cela, configurez la section execution dans owlhooks.json :
"execution": {
"mode": "docker",
"docker": {
"container_name": "php-app"
}
}
Vous pouvez également spécifier le mode et le conteneur en ligne de commande :
vendor/bin/owlhooks run pre-commit --mode=docker --container=php-app
🧪 Tests
composer test
# ou
vendor/bin/pest
Pour générer un rapport de couverture de code :
vendor/bin/pest --coverage
Pour générer un badge de couverture de code, utilisez l'action GitHub suivante :
- name: Generate test coverage badge
uses: timkrase/phpunit-coverage-badge@v1.2.0
with:
coverage_badge_path: 'badge-coverage.svg'
push_badge: true
repo_token: ${{ secrets.GITHUB_TOKEN }}
📜 Changelog
Voir CHANGELOG.md
📝 Licence
Code publié sous licence MIT.
Développé par Florian SINAMA – f.sinama972@gmail.com
🧠 Pour plus d'informations sur la configuration de la couverture de code avec Pest, consultez la documentation officielle : Pest - Test Coverage
idevlab/owlhooks 适用场景与选型建议
idevlab/owlhooks 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 27 次下载、GitHub Stars 达 0, 最近一次更新时间为 2025 年 05 月 10 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 idevlab/owlhooks 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 idevlab/owlhooks 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 27
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 6
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-05-10