{"adoption": {"forks": 89, "observed_at": "2026-08-28T04:03:32.184562+00:00", "stars": 1085}, "canonical_url": "https://ross.abutalabs.com/products/composer-git-hooks", "card": {"archived": false, "artifact_type": "cli-tool", "description": "Easily manage git hooks in your composer config", "domain": ["developer-tools", "version-control"], "enriched": true, "function": ["cli", "developer-tools", "configuration-management", "ci-cd"], "health_score": 27, "homepage": null, "language": "PHP", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["BrainMaestro/composer-git-hooks"], "name": "BrainMaestro/composer-git-hooks", "platform": ["cli", "php", "cross-platform"], "pushed_at": "2024-06-22T09:18:12+00:00", "repo": "BrainMaestro/composer-git-hooks", "stars": 1085, "tags": ["git-hooks", "composer", "composer-plugin", "php", "pre-commit", "workflow-automation", "command-line", "automation"], "topics": ["composer", "composer-package", "command-line", "command-line-tool", "git", "githook", "php", "php7", "git-hooks", "composer-event"], "urls": [], "use_cases": ["manage git hooks in composer.", "share pre-commit hooks across a PHP team", "run php-cs-fixer and phpunit on pre-push", "enforce commit message format with commit-msg hook", "install git hooks globally for all repositories", "add custom git hooks like git-flow hooks"], "what_it_is": "A Composer package that lets PHP projects define and manage git hooks directly in composer.. It installs a `cghooks` binary that adds, updates, removes, and tests hooks so the whole team shares a consistent hook setup.", "when_to_avoid": ["you use a non-PHP project without Composer", "you need advanced hook management like per-branch or dynamic hooks", "you prefer modern alternatives like Husky-style tools or lefthook"], "when_to_choose": ["your project already uses Composer and you want hooks versioned in composer.", "you want consistent git hooks for every team member with minimal setup", "you want one global set of hooks across all local repositories"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/composer-git-hooks", "repo": "BrainMaestro/composer-git-hooks", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:32.184562+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:49:40.487676+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0e68b8dff4da29595994226aa1ce2819561f8b08157a211d2e259129eff562ad", "fetched_at": "2026-08-28T04:03:32.184562+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BrainMaestro/composer-git-hooks"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:32.184562+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:49:40.487676+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0e68b8dff4da29595994226aa1ce2819561f8b08157a211d2e259129eff562ad", "fetched_at": "2026-08-28T04:03:32.184562+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BrainMaestro/composer-git-hooks"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:49:40.487676+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0e68b8dff4da29595994226aa1ce2819561f8b08157a211d2e259129eff562ad", "fetched_at": "2026-08-28T04:03:32.184562+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BrainMaestro/composer-git-hooks"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:03:32.184562+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:32.184562+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:32.184562+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:49:40.487676+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0e68b8dff4da29595994226aa1ce2819561f8b08157a211d2e259129eff562ad", "fetched_at": "2026-08-28T04:03:32.184562+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BrainMaestro/composer-git-hooks"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:32.184562+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:32.184562+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:49:40.487676+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0e68b8dff4da29595994226aa1ce2819561f8b08157a211d2e259129eff562ad", "fetched_at": "2026-08-28T04:03:32.184562+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BrainMaestro/composer-git-hooks"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:32.184562+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:32.184562+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:32.184562+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:49:40.487676+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0e68b8dff4da29595994226aa1ce2819561f8b08157a211d2e259129eff562ad", "fetched_at": "2026-08-28T04:03:32.184562+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BrainMaestro/composer-git-hooks"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:32.184562+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:32.184562+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:49:40.487676+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0e68b8dff4da29595994226aa1ce2819561f8b08157a211d2e259129eff562ad", "fetched_at": "2026-08-28T04:03:32.184562+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BrainMaestro/composer-git-hooks"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:49:40.487676+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0e68b8dff4da29595994226aa1ce2819561f8b08157a211d2e259129eff562ad", "fetched_at": "2026-08-28T04:03:32.184562+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BrainMaestro/composer-git-hooks"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:49:40.487676+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0e68b8dff4da29595994226aa1ce2819561f8b08157a211d2e259129eff562ad", "fetched_at": "2026-08-28T04:03:32.184562+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BrainMaestro/composer-git-hooks"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:49:40.487676+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0e68b8dff4da29595994226aa1ce2819561f8b08157a211d2e259129eff562ad", "fetched_at": "2026-08-28T04:03:32.184562+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BrainMaestro/composer-git-hooks"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3467, "days_push": 802, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}