JSON-Rohbericht maschinenlesbar
{
"data": {
"repo": {
"topics": [
"composer",
"yaml",
"environment-variables",
"ignored-parameters",
"composer-scripts"
],
"is_fork": false,
"size_kb": 79,
"has_wiki": false,
"homepage": null,
"languages": {
"PHP": 14922
},
"pushed_at": "2025-11-26T14:11:27Z",
"created_at": "2012-10-21T16:08:04Z",
"owner_type": "Organization",
"updated_at": "2026-04-27T21:59:55Z",
"description": "Composer script handling your ignored parameter file",
"is_archived": false,
"is_disabled": false,
"license_spdx": "MIT",
"default_branch": "master",
"license_spdx_raw": "MIT",
"primary_language": "PHP",
"significant_languages": [
"PHP"
]
},
"owner": {
"blog": "https://www.incenteev.com",
"name": "Incenteev",
"type": "Organization",
"login": "Incenteev",
"company": null,
"location": "Paris, France",
"followers": 11,
"avatar_url": "https://avatars.githubusercontent.com/u/959020?v=4",
"created_at": "2011-08-04T13:23:11Z",
"is_verified": null,
"public_repos": 10,
"account_age_days": 5468
},
"license": {
"state": "standard",
"spdx_id": "MIT",
"raw_spdx": "MIT",
"file_present": true,
"scorecard_found": true,
"profile_has_license": true
},
"activity": {
"releases": [
{
"tag": "v2.3.0",
"kind": "minor",
"published_at": "2025-11-26T14:12:02Z"
},
{
"tag": "v2.2.0",
"kind": "minor",
"published_at": "2023-12-09T10:32:34Z"
},
{
"tag": "v2.1.5",
"kind": "patch",
"published_at": "2022-05-25T11:03:49Z"
},
{
"tag": "v2.1.3",
"kind": "patch",
"published_at": "2018-02-13T18:07:14Z"
},
{
"tag": "v2.1.2",
"kind": "patch",
"published_at": "2015-11-10T17:05:32Z"
},
{
"tag": "v2.1.1",
"kind": "patch",
"published_at": "2015-06-03T08:27:57Z"
},
{
"tag": "v2.1.0",
"kind": "minor",
"published_at": "2013-12-07T10:14:43Z"
}
],
"recent_commits": [
{
"oid": "4d9a7c72322daaa11343fb885c15dc3fa096e3ac",
"body": null,
"is_bot": false,
"headline": "Update the changelog for 2.3.0",
"author_name": "Christophe Coevoet",
"author_login": "stof",
"committed_at": "2025-11-26T14:10:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "96665276b5230be42ec07462ddf585a7d991228e",
"body": "feat: allow symfony 8",
"is_bot": false,
"headline": "Merge pull request #147 from Chris53897/feature/symfony-8",
"author_name": "Christophe Coevoet",
"author_login": "stof",
"committed_at": "2025-11-26T14:07:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a11de860c94ae38dccd2d1da56a6b5594c378b7a",
"body": null,
"is_bot": false,
"headline": "feat: allow symfony 8",
"author_name": "Christopher Georg",
"author_login": "Chris8934",
"committed_at": "2025-11-25T16:42:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "97173f1161ecb5ccae2ee803c63e5b0782f3b55a",
"body": "ci: add tests for PHP 8.5",
"is_bot": false,
"headline": "Merge pull request #146 from Chris53897/patch-1",
"author_name": "Christophe Coevoet",
"author_login": "stof",
"committed_at": "2025-11-24T08:45:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f92fe5e53ac976afa6e2f1af2164f3e3abc3d7a8",
"body": null,
"is_bot": false,
"headline": "fix: PHP 8.5 deprecation",
"author_name": "Christopher Georg",
"author_login": "Chris8934",
"committed_at": "2025-11-22T16:56:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a9abbb06223f33dc576f6e3d9d966d79e6c78b9e",
"body": null,
"is_bot": false,
"headline": "ci: add tests for PHP 8.5",
"author_name": "chris",
"author_login": "Chris53897",
"committed_at": "2025-10-24T14:37:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f6eb59cbdd37ba127a60c6b2f1b990c1410058f6",
"body": "Test against PHP 8.4",
"is_bot": false,
"headline": "Merge pull request #145 from W0rma/php84",
"author_name": "Christophe Coevoet",
"author_login": "stof",
"committed_at": "2025-07-11T22:39:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "075c2e73981e3b50989114660542ca86e1b0747a",
"body": null,
"is_bot": false,
"headline": "Test against PHP 8.4",
"author_name": "W0rma",
"author_login": "W0rma",
"committed_at": "2024-12-04T07:02:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "90bffce926e96b365579a2ef024aab457f4b80c5",
"body": null,
"is_bot": false,
"headline": "Update the changelog for 2.2.0",
"author_name": "Christophe Coevoet",
"author_login": "stof",
"committed_at": "2023-12-09T10:31:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9e358be9c544a3fb9261b8d7bfe09b1f4d1ac450",
"body": "Allow Symfony 7",
"is_bot": false,
"headline": "Merge pull request #143 from rosier/patch-1",
"author_name": "Christophe Coevoet",
"author_login": "stof",
"committed_at": "2023-12-09T10:28:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b5c26e84c36723d5936673273928dbea13f508f1",
"body": "Allow installation with Symfony 7",
"is_bot": false,
"headline": "Allow Symfony 7",
"author_name": "Jan Rosier",
"author_login": "rosier",
"committed_at": "2023-12-09T10:05:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "856d524c9ffb76ff8018c90e9c88621f372edcba",
"body": "Drop support for old PHP versions",
"is_bot": false,
"headline": "Merge pull request #144 from stof/drop_old_versions",
"author_name": "Christophe Coevoet",
"author_login": "stof",
"committed_at": "2023-12-09T10:01:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "789173640e61ecfdad0b500cb8f47538b6d00113",
"body": null,
"is_bot": false,
"headline": "Drop support for old PHP versions",
"author_name": "Christophe Coevoet",
"author_login": "stof",
"committed_at": "2023-12-09T10:00:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e1dd118763503f7fd766f907013e1d76d525fcc4",
"body": null,
"is_bot": false,
"headline": "Fix the lowest-deps job",
"author_name": "Christophe Coevoet",
"author_login": "stof",
"committed_at": "2022-05-25T10:57:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a7ad09e618356c78749e0d52e1aa5f9268408a11",
"body": null,
"is_bot": false,
"headline": "Update the changelog",
"author_name": "Christophe Coevoet",
"author_login": "stof",
"committed_at": "2022-05-25T10:51:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b34e5f4eb12ee55c96a06ab8ee05bf619441cb06",
"body": "Fix badges after migration to Github Actions",
"is_bot": false,
"headline": "Merge pull request #138 from W0rma/fix-badges",
"author_name": "Christophe Coevoet",
"author_login": "stof",
"committed_at": "2021-11-30T11:24:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "437f6b5aa5d1892d45cd1f813e316239364d1cb5",
"body": "Allow installation of symfony 6",
"is_bot": false,
"headline": "Merge pull request #137 from W0rma/symfony6",
"author_name": "Christophe Coevoet",
"author_login": "stof",
"committed_at": "2021-11-30T11:23:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9827f798eaefcd1c6c1e1d4e92ec66b053aee441",
"body": null,
"is_bot": false,
"headline": "Fix badges after migration to Github Actions",
"author_name": "W0rma",
"author_login": "W0rma",
"committed_at": "2021-11-03T18:46:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b631476616698a26ceb5bfcbbd75482c9e1e742f",
"body": null,
"is_bot": false,
"headline": "Allow installation of symfony 6",
"author_name": "W0rma",
"author_login": "W0rma",
"committed_at": "2021-11-02T20:40:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7f79b8362b94f6d170b790f9a50577274d64f4ac",
"body": "Migrate the CI to GitHub Actions",
"is_bot": false,
"headline": "Merge pull request #136 from W0rma/github-actions",
"author_name": "Christophe Coevoet",
"author_login": "stof",
"committed_at": "2021-11-02T20:36:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d65cdc47a8631f1a82a4185287ecf87e430b8e57",
"body": null,
"is_bot": false,
"headline": "Migrate the CI to GitHub Actions",
"author_name": "W0rma",
"author_login": "W0rma",
"committed_at": "2021-11-02T20:30:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "084befb11ec21faeadcddefb88b66132775ff59b",
"body": "Add PHP 7.3 and 7.4 on Travis",
"is_bot": false,
"headline": "Merge pull request #134 from stof/ci_php",
"author_name": "Christophe Coevoet",
"author_login": "stof",
"committed_at": "2020-03-17T21:10:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "dcfbf4e303c38703711ee8e960e92e4f60f61b58",
"body": null,
"is_bot": false,
"headline": "Add PHP 7.3 and 7.4 on Travis",
"author_name": "Christophe Coevoet",
"author_login": "stof",
"committed_at": "2020-03-17T21:04:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a3133072df558359cdd58c85506895f2e4b8d542",
"body": null,
"is_bot": false,
"headline": "Update changelog",
"author_name": "Christophe Coevoet",
"author_login": "stof",
"committed_at": "2020-03-17T21:00:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "554ac0e10e921e081622200e8621431ed4f28ae2",
"body": "Added support to Symfony 5",
"is_bot": false,
"headline": "Merge pull request #132 from gnugat/symfony-5",
"author_name": "Christophe Coevoet",
"author_login": "stof",
"committed_at": "2019-12-10T14:11:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3dab5b06dc1639f512d059f00fd797beb9a5ff1c",
"body": "As suggested by @derrabus, PHP 5.5 and 5.4 are also added through the matrix, so they're unnecessary in the php version list.\n\nCo-Authored-By: Alexander M. Turek <me@derrabus.de>",
"is_bot": false,
"headline": "Removed duplicate PHP 5.5 and 5.4 entries from travis.yml",
"author_name": "Loïc Faugeron",
"author_login": "gnugat",
"committed_at": "2019-12-04T10:22:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "82a43b727c08d00f51fa1c0e153feacc8c3ab820",
"body": null,
"is_bot": false,
"headline": "Fixed travis/phpenv missing PHP 5.4 and 5.5 test environments",
"author_name": "Loïc Faugeron",
"author_login": "gnugat",
"committed_at": "2019-12-03T14:44:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b5046522bd7715b78d8eca7d6ed40477fb546522",
"body": null,
"is_bot": false,
"headline": "Removed PHPUnit 8 BC break",
"author_name": "Loïc Faugeron",
"author_login": "gnugat",
"committed_at": "2019-12-03T14:44:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ee22f26d0526f82da521c9fb868763d3fe74facc",
"body": null,
"is_bot": false,
"headline": "Added support to Symfony 5",
"author_name": "Loïc Faugeron",
"author_login": "gnugat",
"committed_at": "2019-12-03T12:11:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "933c45a34814f27f2345c11c37d46b3ca7303550",
"body": null,
"is_bot": false,
"headline": "Update changelog",
"author_name": "Christophe Coevoet",
"author_login": "stof",
"committed_at": "2018-02-13T18:05:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d1c4e5ac2136b93e2fb5a65d5542dd18fd6be3cc",
"body": null,
"is_bot": false,
"headline": "Avoid removing prophecy from the phpunit install",
"author_name": "Christophe Coevoet",
"author_login": "stof",
"committed_at": "2018-02-13T17:27:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "035062e1728cec8d340b1eaf1f43019b31b658c3",
"body": null,
"is_bot": false,
"headline": "Fix the CI build",
"author_name": "Christophe Coevoet",
"author_login": "stof",
"committed_at": "2018-02-13T17:04:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "70e4ab903e519f792d85a046b6f54c7b127b1778",
"body": "Allow Symfony 4",
"is_bot": false,
"headline": "Merge pull request #120 from derrabus/symfony-4",
"author_name": "Christophe Coevoet",
"author_login": "stof",
"committed_at": "2018-02-13T17:02:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7a91e2b07c11c10bf3a25e5c6904f27846b04715",
"body": null,
"is_bot": false,
"headline": "Allow Symfony 4.",
"author_name": "Alexander M. Turek",
"author_login": "derrabus",
"committed_at": "2017-12-28T10:19:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d7ce7f06136109e81d1cb9d57066c4d4a99cf1cc",
"body": null,
"is_bot": false,
"headline": "Update the changelog",
"author_name": "Christophe Coevoet",
"author_login": "stof",
"committed_at": "2015-11-10T17:04:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7af2db9fb56ea919fc48cfd88cb0ba94e1dc9c98",
"body": "This PR was merged into the 2.1.x-dev branch.\n\nDiscussion\n----------\n\nAdded Symfony Yaml 3.0 as a valid dep\n\nCommits\n-------\n\nd52008b Added Symfony Yaml 3.0 as a valid dep",
"is_bot": false,
"headline": "minor #87 Added Symfony Yaml 3.0 as a valid dep (fabpot)",
"author_name": "Christophe Coevoet",
"author_login": "stof",
"committed_at": "2015-11-10T16:59:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d52008b3770087d43065d242c5e70468192ae42f",
"body": null,
"is_bot": false,
"headline": "Added Symfony Yaml 3.0 as a valid dep",
"author_name": "Fabien Potencier",
"author_login": "fabpot",
"committed_at": "2015-11-10T16:31:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f7b677a5f9bfd8bf5f165a0ff96ce7426b870312",
"body": "This PR was merged into the 2.1.x-dev branch.\n\nDiscussion\n----------\n\nAdd PHP 7 on Travis\n\nCommits\n-------\n\nbbcb994 Add PHP 7 on Travis",
"is_bot": false,
"headline": "minor #82 Add PHP 7 on Travis (Soullivaneuh)",
"author_name": "Christophe Coevoet",
"author_login": "stof",
"committed_at": "2015-10-07T14:51:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2754863575e86a500c7eec14b4217479e0950282",
"body": null,
"is_bot": false,
"headline": "Use the Travis cache to persist the composer cache",
"author_name": "Christophe Coevoet",
"author_login": "stof",
"committed_at": "2015-10-07T14:44:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bbcb994be693245edeb8f4e4aaa5b6d49cc758c6",
"body": null,
"is_bot": false,
"headline": "Add PHP 7 on Travis",
"author_name": "Sullivan SENECHAL",
"author_login": "soullivaneuh",
"committed_at": "2015-10-07T14:42:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "84a205fe80a46101607bafbc423019527893ddd0",
"body": null,
"is_bot": false,
"headline": "Update the changelog",
"author_name": "Christophe Coevoet",
"author_login": "stof",
"committed_at": "2015-06-03T08:27:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e5d11f57113e55c4d58dd28ba11af8960b606b76",
"body": "This PR was merged into the 2.1.x-dev branch.\n\nDiscussion\n----------\n\nupdated deprecated use of Yaml::parse\n\nPer [Symfony documentation] (http://symfony.com/doc/current/components/yaml/introduction.html): \"Passing a filename is deprecated in Symfony 2.2, and will be removed in Symfony 3.0.\"\n\nUpdated use:\n`Yaml::parse(file_get_contents('/path/to/file.yml'));`\n\nCommits\n-------\n\n5bff259 updated deprecated use of Yaml::parse",
"is_bot": false,
"headline": "minor #77 updated deprecated use of Yaml::parse (sgilberg)",
"author_name": "Christophe Coevoet",
"author_login": "stof",
"committed_at": "2015-06-03T08:03:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5bff2594ecfe6e91fc98a4fc2d47e31676ff283f",
"body": null,
"is_bot": false,
"headline": "updated deprecated use of Yaml::parse",
"author_name": "Sarah Gilberg",
"author_login": "sgilberg",
"committed_at": "2015-06-02T19:47:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8f9608d4bcbfbc9ccc6878e8068341e127037e76",
"body": null,
"is_bot": false,
"headline": "Switch to the docker-based infrastructure on Travis",
"author_name": "Christophe Coevoet",
"author_login": "stof",
"committed_at": "2014-12-17T16:24:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "63103ef676b9e5f6f6966fac30c6a4d692415737",
"body": null,
"is_bot": false,
"headline": "Changed the autoloading to use PSR-4",
"author_name": "Christophe Coevoet",
"author_login": "stof",
"committed_at": "2014-12-17T16:23:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ea15f3dd22e5720eec244afb9bf2d5737a0b6c76",
"body": "Add a more detailed exception message when a top-level key is missing.",
"is_bot": false,
"headline": "Merge pull request #61 from rgazelot/top-level-missing",
"author_name": "Christophe Coevoet",
"author_login": "stof",
"committed_at": "2014-08-20T22:30:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "13636651bbd4b36d0f26a8cd22bce03cb2be2962",
"body": null,
"is_bot": false,
"headline": "Add a more detailed exception message when a top-level key is missing.",
"author_name": "rgazelot",
"author_login": "rgazelot",
"committed_at": "2014-07-31T15:03:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "15b15d8246d501df277dd6e40f5fd3f6e2084c42",
"body": "Fix small typo in the Readme",
"is_bot": false,
"headline": "Merge pull request #53 from lucascourot/patch-1",
"author_name": "Christophe Coevoet",
"author_login": "stof",
"committed_at": "2014-05-02T13:55:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "056c6c819313ac85c90ea9bac38a60a29e8d88da",
"body": null,
"is_bot": false,
"headline": "Fix small typo in the Readme",
"author_name": "Lucas Courot",
"author_login": "lucascourot",
"committed_at": "2014-05-02T13:49:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f6b98615a403a0f684eb15581ed9f6e93709169d",
"body": "Added PHP 5.6 and HHVM to travis.",
"is_bot": false,
"headline": "Merge pull request #50 from h4cc/master",
"author_name": "Christophe Coevoet",
"author_login": "stof",
"committed_at": "2014-03-11T08:44:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1bdafb6ebca78d29bf32d89573611f1739028370",
"body": null,
"is_bot": false,
"headline": "Added PHP 5.6 and HHVM to travis.",
"author_name": "Julius Beckmann",
"author_login": "h4cc",
"committed_at": "2014-03-11T00:37:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e4e191b96fb8af9cde738f439ec7fe69023e45f9",
"body": "Remove an excessive word",
"is_bot": false,
"headline": "Merge pull request #48 from elnur/patch-1",
"author_name": "Christophe Coevoet",
"author_login": "stof",
"committed_at": "2014-02-25T11:14:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "29c181ac2739045283af872f8a491b86b17452b1",
"body": null,
"is_bot": false,
"headline": "Remove an excessive word",
"author_name": "Elnur Abdurrakhimov",
"author_login": "elnur",
"committed_at": "2014-02-25T11:02:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "143272a0a09c62616a3c8011fc165a10c6b35241",
"body": null,
"is_bot": false,
"headline": "Updated the release date for 2.1.0 in the changelog",
"author_name": "Christophe Coevoet",
"author_login": "stof",
"committed_at": "2013-12-07T10:10:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a0eb6bb2a2d666d6236f0fd3eb6e415fff03a368",
"body": null,
"is_bot": false,
"headline": "Added more badges in the readme",
"author_name": "Christophe Coevoet",
"author_login": "stof",
"committed_at": "2013-12-07T03:19:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4bb2f0228cfea79d3904b4d447a7bc8ae2e4fb75",
"body": null,
"is_bot": false,
"headline": "Updated the changelog",
"author_name": "Christophe Coevoet",
"author_login": "stof",
"committed_at": "2013-12-07T03:14:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a79b9e9302c192aa015f297655f19fbb00372358",
"body": null,
"is_bot": false,
"headline": "Simplified some logic",
"author_name": "Christophe Coevoet",
"author_login": "stof",
"committed_at": "2013-12-07T03:08:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cdf6b91034f9aa5fd5ae4091d06375b6352e06fc",
"body": "Closes #30",
"is_bot": false,
"headline": "Extracted the logic out of the ScriptHandler",
"author_name": "Christophe Coevoet",
"author_login": "stof",
"committed_at": "2013-12-07T02:49:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d89c064c6fbb33ac35729d748fcb2c30897e982f",
"body": null,
"is_bot": false,
"headline": "Added tests for the previous merge",
"author_name": "Christophe Coevoet",
"author_login": "stof",
"committed_at": "2013-12-07T02:45:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6c75b0420f647bf894b5f0b7f06db64ba99568b4",
"body": "Pretty capifony compatible",
"is_bot": false,
"headline": "Merge pull request #38 from ivan1986/patch-1",
"author_name": "Christophe Coevoet",
"author_login": "stof",
"committed_at": "2013-12-07T02:12:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "05026e8a8b4f32bfd92b68bdec8b0baa61a7df80",
"body": null,
"is_bot": false,
"headline": "Enabled the code coverage reporting on scrutinizer-ci",
"author_name": "Christophe Coevoet",
"author_login": "stof",
"committed_at": "2013-12-07T02:05:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fbf923c9618d6a78084df2f0b3a8a60166b767af",
"body": null,
"is_bot": false,
"headline": "fix cs",
"author_name": "Ivan Borzenkov",
"author_login": "ivan1986",
"committed_at": "2013-11-06T10:42:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "407e06bffe5db5a9ac630c25374ea1d65284604f",
"body": "If use capifony and share config file on first deploy get error.\r\nCapistrano create empty file and crash on composer install",
"is_bot": false,
"headline": "Pretty capifony compatible",
"author_name": "Ivan Borzenkov",
"author_login": "ivan1986",
"committed_at": "2013-11-05T19:26:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bc06242a63298affc72d2089f93d8986a6217c4c",
"body": "Update README.md",
"is_bot": false,
"headline": "Merge pull request #31 from cordoval/patch-9",
"author_name": "Christophe Coevoet",
"author_login": "stof",
"committed_at": "2013-09-03T08:29:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c7cd47859a3b7d94879d948d1307b67788921e41",
"body": null,
"is_bot": false,
"headline": "Update README.md",
"author_name": "Luis Cordova",
"author_login": "cordoval",
"committed_at": "2013-09-03T06:08:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "548ea586258845b68e8142b0e3f0a7dbac2e6f49",
"body": "Tweak io message to be consistent with other ones",
"is_bot": false,
"headline": "Merge pull request #29 from rybakit/patch-1",
"author_name": "Christophe Coevoet",
"author_login": "stof",
"committed_at": "2013-08-27T09:48:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bba34fc0ea28aa1ae2ae16e2f128040edb408837",
"body": null,
"is_bot": false,
"headline": "Fix tests",
"author_name": "Eugene Leonovich",
"author_login": "rybakit",
"committed_at": "2013-08-15T13:45:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "013d2ab156e86c57f50c3b0e1296f0f1fbf0cd7c",
"body": "E.g.:\r\nLoading composer repositories with package information\r\nUpdating dependencies (including require-dev)\r\nGenerating autoload files",
"is_bot": false,
"headline": "Tweak io message to be consistent with other ones",
"author_name": "Eugene Leonovich",
"author_login": "rybakit",
"committed_at": "2013-08-15T12:03:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d76d17d14abfaa5103342a43cfeb4126000abab6",
"body": null,
"is_bot": false,
"headline": "Renamed the method processing the renamed variables",
"author_name": "Christophe Coevoet",
"author_login": "stof",
"committed_at": "2013-07-20T18:35:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9e47befb599e2dbc0dcba9c14ca4df896b57eb72",
"body": null,
"is_bot": false,
"headline": "Splitted the logic into smaller methods",
"author_name": "Christophe Coevoet",
"author_login": "stof",
"committed_at": "2013-07-20T18:33:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d41d3888cd15ebf17e1e5926ccf159cc4e1a4588",
"body": null,
"is_bot": false,
"headline": "Updated the changelog",
"author_name": "Christophe Coevoet",
"author_login": "stof",
"committed_at": "2013-07-20T18:20:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b33ccc6d2ffb923549a20047e23c7bb119fe0a34",
"body": "[ci-skip]",
"is_bot": false,
"headline": "Added some badges in the Readme",
"author_name": "Christophe Coevoet",
"author_login": "stof",
"committed_at": "2013-07-20T18:03:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "50c35fdba8604666509c5b978688fae7893633f6",
"body": "Closes #21 and closes #25",
"is_bot": false,
"headline": "Added the possibility to manage multiple files",
"author_name": "Christophe Coevoet",
"author_login": "stof",
"committed_at": "2013-07-20T17:57:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c35cd8659aede29b473db185ab5e0e14920ac2d7",
"body": null,
"is_bot": false,
"headline": "Create the folder of the generated file if it does not exist yet",
"author_name": "Christophe Coevoet",
"author_login": "stof",
"committed_at": "2013-07-20T17:42:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c32bb47bb135b55b82065d6b6c83c0f2a32cee91",
"body": "This allows supporting the case where param1 has been renamed to param2\nand then param2 renamed to param3 later, and you want to let the renaming\nmap handling updates from a state where param1 was still used too, by\nrenaming first to param2 and then to param3 (the order in the rename map\nis important).",
"is_bot": false,
"headline": "Fixed the cascade renaming of params",
"author_name": "Christophe Coevoet",
"author_login": "stof",
"committed_at": "2013-07-20T17:36:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fc0cb7201ac34bcea448161f808b09b4919209f2",
"body": "The logic was preserving extra keys added manually in the generated file\nbut was not copying extra keys written in the dist file",
"is_bot": false,
"headline": "Fixed the preservation of extra top level keys",
"author_name": "Christophe Coevoet",
"author_login": "stof",
"committed_at": "2013-07-20T17:34:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5729f970c2c47a92ececacd72cee13ac7930bc27",
"body": null,
"is_bot": false,
"headline": "Added tests",
"author_name": "Christophe Coevoet",
"author_login": "stof",
"committed_at": "2013-07-20T17:30:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ba63d234e041632e340d30dbda46408f1f5b337e",
"body": null,
"is_bot": false,
"headline": "Tweaked the doc",
"author_name": "Christophe Coevoet",
"author_login": "stof",
"committed_at": "2013-07-20T11:36:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "13f52ee1b3a9d647714235d56ad5ffcc7e1974d7",
"body": "This PR has been squashed before merging it. Closes #23",
"is_bot": false,
"headline": "Merge branch 'j-d/preserve_top_level_keys' (PR #23)",
"author_name": "Christophe Coevoet",
"author_login": "stof",
"committed_at": "2013-07-20T11:32:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5c70aa4b0d4f81a360bea2d60b98be96f20483fd",
"body": null,
"is_bot": false,
"headline": "Tweaked the doc and the changelog",
"author_name": "Christophe Coevoet",
"author_login": "stof",
"committed_at": "2013-07-20T11:31:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fdfab9c1b9bc41372152566901e3dc84209ea543",
"body": "…ere not being maintained",
"is_bot": false,
"headline": "Fixes #20 - Top-level keys on the yml files other than 'parameters' w…",
"author_name": "Jose Diaz",
"author_login": "j-d",
"committed_at": "2013-07-20T11:27:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "14cd66d69ca9987a6784b0f99e5d6ef49f752962",
"body": null,
"is_bot": false,
"headline": "Improved the formatting of the doc",
"author_name": "Christophe Coevoet",
"author_login": "stof",
"committed_at": "2013-07-20T11:15:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c3ed93eddc72ef044265391e482fa0a705641e1f",
"body": null,
"is_bot": false,
"headline": "Bumped the dev version and updated the changelog",
"author_name": "Christophe Coevoet",
"author_login": "stof",
"committed_at": "2013-07-20T11:13:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "24bd0863f7abd6a6e2a528d265cdff5a469dea34",
"body": "Add the ability to rename parameters",
"is_bot": false,
"headline": "Merge pull request #28 from alcaeus/parameter_rename",
"author_name": "Christophe Coevoet",
"author_login": "stof",
"committed_at": "2013-07-20T11:08:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0940d7c406b221068745da4e2707bf8a5d138bab",
"body": null,
"is_bot": false,
"headline": "Fix typo in README, add missing typehint and remove unnecessary check",
"author_name": "alcaeus",
"author_login": "alcaeus",
"committed_at": "2013-07-20T11:00:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "94c13ac36467aec8270ee0414862cdf51409d593",
"body": null,
"is_bot": false,
"headline": "Add options for renaming parameters in IncenteevParameterHandler",
"author_name": "alcaeus",
"author_login": "alcaeus",
"committed_at": "2013-07-20T08:03:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8e559af963b6442a208fcd8f9c675e60cf99e0f8",
"body": "Improve human readability when you use array parameters",
"is_bot": false,
"headline": "Merge pull request #27 from jordillonch/master",
"author_name": "Christophe Coevoet",
"author_login": "stof",
"committed_at": "2013-07-15T09:27:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "de79fa327aabbab6288637befbe5cd691be9176f",
"body": "… readability",
"is_bot": false,
"headline": "Set level where YAML switch to inline to 99 in order to improve human…",
"author_name": "Jordi Llonch",
"author_login": "jordillonch",
"committed_at": "2013-07-14T20:41:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e0488a429caecde54ab81301d6eb4873c1c71e7e",
"body": "Added ability to customise the 'parameters' key.",
"is_bot": false,
"headline": "Merge pull request #26 from richsage/feature/configurable-key",
"author_name": "Christophe Coevoet",
"author_login": "stof",
"committed_at": "2013-07-12T09:55:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "16cd01adb29304f2608624030bda3da9b48c98de",
"body": null,
"is_bot": false,
"headline": "Format the parameter-key README addition.",
"author_name": "Rich Sage",
"author_login": "richsage",
"committed_at": "2013-07-12T09:46:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c8cb3e50db882c2045a1aac391abe0ea03f32e0f",
"body": null,
"is_bot": false,
"headline": "Added note in the README about new config param.",
"author_name": "Rich Sage",
"author_login": "richsage",
"committed_at": "2013-07-12T08:44:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "10285a341ed82aa371eeed7ff53224df781aa257",
"body": null,
"is_bot": false,
"headline": "Added ability to customise the 'parameters' key.",
"author_name": "Rich Sage",
"author_login": "richsage",
"committed_at": "2013-07-12T08:32:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e99fbef40dbaeb0917ed8234f366253cc0ff2789",
"body": "Fixed the version constraint in the README",
"is_bot": false,
"headline": "Merge pull request #17 from franmomu/patch-1",
"author_name": "Christophe Coevoet",
"author_login": "stof",
"committed_at": "2013-04-11T23:23:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9ecba65c28d413be3e253e4008f9dd731861bde0",
"body": "Added a white space after the question in console",
"is_bot": false,
"headline": "Merge pull request #18 from franmomu/patch-2",
"author_name": "Christophe Coevoet",
"author_login": "stof",
"committed_at": "2013-04-11T23:22:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6377d412e3fe954c4639e8b7f5c576a5c35e0508",
"body": null,
"is_bot": false,
"headline": "Added a white space after the question in console",
"author_name": "Fran Moreno",
"author_login": "franmomu",
"committed_at": "2013-04-11T22:50:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "51bb3872defcbca3531006b7d02eebb03cee8629",
"body": null,
"is_bot": false,
"headline": "Fixed the version constraint in the README",
"author_name": "Fran Moreno",
"author_login": "franmomu",
"committed_at": "2013-04-11T22:27:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ec4c32c8dbd9e571165de244aff249a3ecea7102",
"body": null,
"is_bot": false,
"headline": "Fixed the version constraint in the doc",
"author_name": "Christophe Coevoet",
"author_login": "stof",
"committed_at": "2013-04-06T17:40:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2310d74a751025f02221e0faf69d31440df71b73",
"body": "Closes #14",
"is_bot": false,
"headline": "[BC BREAK] Changed the meaning of keys and values in the env map",
"author_name": "Christophe Coevoet",
"author_login": "stof",
"committed_at": "2013-04-06T17:15:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a3785721a7a3ec641025d0e784c4214fb2936153",
"body": null,
"is_bot": false,
"headline": "Added the changelog",
"author_name": "Christophe Coevoet",
"author_login": "stof",
"committed_at": "2013-04-06T16:58:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ad0dfb7333da005c4721edc13b614da77d600d52",
"body": "Add 'keep-outdated' param for saving outdated parameters",
"is_bot": false,
"headline": "Merge pull request #15 from igorzoriy/master",
"author_name": "Christophe Coevoet",
"author_login": "stof",
"committed_at": "2013-01-21T09:27:57Z",
"body_truncated": false,
"is_coding_agent": false
}
],
"releases_count": 7,
"commits_last_year": 6,
"latest_release_at": "2025-11-26T14:12:02Z",
"latest_release_tag": "v2.3.0",
"releases_from_tags": false,
"days_since_last_push": 240,
"active_weeks_last_year": 2,
"days_since_latest_release": 240,
"mean_days_between_releases": 728.7
},
"community": {
"has_readme": true,
"has_license": true,
"has_description": true,
"has_contributing": false,
"health_percentage": 37,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"ecosystem": {
"packages": [
{
"name": "incenteev/composer-parameter-handler",
"exists": true,
"license": "MIT",
"keywords": [
"parameters management"
],
"ecosystem": "packagist",
"matches_repo": true,
"registry_url": "https://packagist.org/packages/incenteev/composer-parameter-handler",
"is_deprecated": false,
"latest_version": "v2.3.0",
"repository_url": "https://github.com/Incenteev/ParameterHandler",
"versions_count": 10,
"total_downloads": 75675519,
"dependents_count": 657,
"deprecation_note": null,
"maintainers_count": null,
"monthly_downloads": 372520,
"first_published_at": null,
"latest_published_at": "2025-11-26T14:10:46Z",
"latest_version_yanked": null,
"days_since_latest_publish": 240
}
]
},
"popularity": {
"forks": 99,
"stars": 931,
"watchers": 14,
"fork_history": {
"days": [
{
"date": "2012-10-21",
"count": 1
},
{
"date": "2012-10-22",
"count": 1
},
{
"date": "2012-10-26",
"count": 1
},
{
"date": "2013-02-08",
"count": 1
},
{
"date": "2013-04-11",
"count": 1
},
{
"date": "2013-05-02",
"count": 1
},
{
"date": "2013-05-13",
"count": 1
},
{
"date": "2013-06-24",
"count": 1
},
{
"date": "2013-07-12",
"count": 1
},
{
"date": "2013-07-14",
"count": 1
},
{
"date": "2013-08-24",
"count": 1
},
{
"date": "2013-09-23",
"count": 1
},
{
"date": "2013-10-07",
"count": 2
},
{
"date": "2013-12-05",
"count": 1
},
{
"date": "2013-12-17",
"count": 1
},
{
"date": "2014-01-16",
"count": 1
},
{
"date": "2014-02-11",
"count": 1
},
{
"date": "2014-02-17",
"count": 1
},
{
"date": "2014-02-25",
"count": 1
},
{
"date": "2014-03-11",
"count": 1
},
{
"date": "2014-03-27",
"count": 1
},
{
"date": "2014-05-02",
"count": 1
},
{
"date": "2014-05-19",
"count": 1
},
{
"date": "2014-06-24",
"count": 1
},
{
"date": "2014-07-04",
"count": 1
},
{
"date": "2014-07-15",
"count": 1
},
{
"date": "2014-07-25",
"count": 1
},
{
"date": "2014-07-31",
"count": 1
},
{
"date": "2014-09-05",
"count": 1
},
{
"date": "2014-11-07",
"count": 1
},
{
"date": "2014-12-26",
"count": 1
},
{
"date": "2015-01-30",
"count": 2
},
{
"date": "2015-03-02",
"count": 1
},
{
"date": "2015-03-03",
"count": 1
},
{
"date": "2015-05-09",
"count": 1
},
{
"date": "2015-06-10",
"count": 1
},
{
"date": "2015-07-20",
"count": 1
},
{
"date": "2015-07-23",
"count": 1
},
{
"date": "2015-07-30",
"count": 1
},
{
"date": "2015-08-24",
"count": 1
},
{
"date": "2015-09-27",
"count": 1
},
{
"date": "2015-11-05",
"count": 1
},
{
"date": "2015-11-18",
"count": 1
},
{
"date": "2015-11-29",
"count": 1
},
{
"date": "2015-12-09",
"count": 1
},
{
"date": "2016-01-27",
"count": 1
},
{
"date": "2016-02-03",
"count": 1
},
{
"date": "2016-02-12",
"count": 1
},
{
"date": "2016-04-07",
"count": 1
},
{
"date": "2016-04-11",
"count": 1
},
{
"date": "2016-06-15",
"count": 1
},
{
"date": "2016-08-20",
"count": 1
},
{
"date": "2016-09-01",
"count": 1
},
{
"date": "2017-01-07",
"count": 1
},
{
"date": "2017-01-09",
"count": 1
},
{
"date": "2017-01-18",
"count": 1
},
{
"date": "2017-02-22",
"count": 2
},
{
"date": "2017-04-06",
"count": 1
},
{
"date": "2017-05-24",
"count": 1
},
{
"date": "2017-06-09",
"count": 1
},
{
"date": "2017-06-14",
"count": 1
},
{
"date": "2017-07-24",
"count": 1
},
{
"date": "2017-08-26",
"count": 1
},
{
"date": "2017-10-13",
"count": 1
},
{
"date": "2017-10-23",
"count": 1
},
{
"date": "2017-11-18",
"count": 1
},
{
"date": "2017-12-01",
"count": 1
},
{
"date": "2017-12-07",
"count": 1
},
{
"date": "2017-12-16",
"count": 1
},
{
"date": "2017-12-21",
"count": 1
},
{
"date": "2017-12-26",
"count": 1
},
{
"date": "2018-02-09",
"count": 1
},
{
"date": "2018-07-25",
"count": 1
},
{
"date": "2018-11-06",
"count": 1
},
{
"date": "2019-02-06",
"count": 1
},
{
"date": "2019-06-18",
"count": 1
},
{
"date": "2019-07-04",
"count": 1
},
{
"date": "2019-11-23",
"count": 1
},
{
"date": "2019-11-29",
"count": 1
},
{
"date": "2020-02-25",
"count": 1
},
{
"date": "2020-03-17",
"count": 1
},
{
"date": "2020-04-12",
"count": 1
},
{
"date": "2020-06-22",
"count": 1
},
{
"date": "2020-08-31",
"count": 1
},
{
"date": "2022-01-01",
"count": 1
},
{
"date": "2024-05-24",
"count": 2
},
{
"date": "2024-12-02",
"count": 1
},
{
"date": "2025-10-24",
"count": 1
},
{
"date": "2026-01-29",
"count": 1
},
{
"date": "2026-05-12",
"count": 1
}
],
"complete": true,
"collected": 94,
"total_forks": 99
},
"star_history": null,
"open_issues_and_prs": 32
},
"ai_readiness": {
"has_nix": false,
"example_dirs": [],
"has_llms_txt": false,
"has_dockerfile": false,
"has_mcp_signal": false,
"bootstrap_files": [],
"api_schema_files": [],
"has_devcontainer": false,
"typecheck_configs": [],
"toolchain_manifests": [],
"largest_source_bytes": 5785,
"source_files_sampled": 4,
"oversized_source_files": 0,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"dependencies": {
"manifests": [
"composer.json"
],
"advisories": {
"error": "No resolved dependencies carried a version and a supported ecosystem",
"scope": "repository_graph",
"source": null,
"findings": [],
"collected": false,
"malicious": [],
"truncated": false,
"by_severity": {},
"advisory_count": 0,
"affected_count": 0,
"assessed_count": 0,
"malicious_count": 0,
"assessed_package": null,
"unassessed_count": 7,
"direct_affected_count": 0
},
"ecosystems": [
"packagist"
],
"dependencies": [
{
"name": "symfony/yaml",
"manifest": "composer.json",
"ecosystem": "packagist",
"version_constraint": "^5.4 || ^6.0 || ^7.0 || ^8.0"
}
],
"all_dependencies": {
"error": null,
"source": "github-sbom",
"packages": [
{
"name": "symfony/yaml",
"direct": true,
"version": null,
"ecosystem": "packagist"
},
{
"name": "composer/composer",
"direct": false,
"version": null,
"ecosystem": "packagist"
},
{
"name": "php",
"direct": false,
"version": null,
"ecosystem": "packagist"
},
{
"name": "phpspec/prophecy-phpunit",
"direct": false,
"version": null,
"ecosystem": "packagist"
},
{
"name": "phpunit/phpunit",
"direct": false,
"version": null,
"ecosystem": "packagist"
},
{
"name": "symfony/filesystem",
"direct": false,
"version": null,
"ecosystem": "packagist"
},
{
"name": "symfony/phpunit-bridge",
"direct": false,
"version": null,
"ecosystem": "packagist"
}
],
"collected": true,
"truncated": false,
"total_count": 7,
"direct_count": 1,
"indirect_count": 6
}
},
"maintainership": {
"issues": {
"open_prs": 14,
"merged_prs": 36,
"open_issues": 18,
"closed_ratio": 0.719,
"closed_issues": 46,
"closed_unmerged_prs": 33
},
"bus_factor": 1,
"bot_contributors": 0,
"top_contributors": [
{
"type": "User",
"login": "stof",
"commits": 81,
"avatar_url": "https://avatars.githubusercontent.com/u/439401?v=4"
},
{
"type": "User",
"login": "cordoval",
"commits": 7,
"avatar_url": "https://avatars.githubusercontent.com/u/328359?v=4"
},
{
"type": "User",
"login": "W0rma",
"commits": 4,
"avatar_url": "https://avatars.githubusercontent.com/u/20659830?v=4"
},
{
"type": "User",
"login": "gnugat",
"commits": 4,
"avatar_url": "https://avatars.githubusercontent.com/u/793185?v=4"
},
{
"type": "User",
"login": "richsage",
"commits": 3,
"avatar_url": "https://avatars.githubusercontent.com/u/231551?v=4"
},
{
"type": "User",
"login": "Chris8934",
"commits": 2,
"avatar_url": "https://avatars.githubusercontent.com/u/44963939?v=4"
},
{
"type": "User",
"login": "rybakit",
"commits": 2,
"avatar_url": "https://avatars.githubusercontent.com/u/533861?v=4"
},
{
"type": "User",
"login": "franmomu",
"commits": 2,
"avatar_url": "https://avatars.githubusercontent.com/u/720690?v=4"
},
{
"type": "User",
"login": "igorzoriy",
"commits": 2,
"avatar_url": "https://avatars.githubusercontent.com/u/535694?v=4"
},
{
"type": "User",
"login": "ivan1986",
"commits": 2,
"avatar_url": "https://avatars.githubusercontent.com/u/156418?v=4"
}
],
"contributors_sampled": 25,
"top_contributor_share": 0.643
},
"quality_signals": {
"has_ci": true,
"has_tests": true,
"ci_workflows": [
"ci.yaml"
],
"has_docs_dir": false,
"linter_configs": [],
"has_editorconfig": false,
"has_linter_config": false,
"has_precommit_config": false
},
"security_signals": {
"lockfiles": [],
"scorecard": {
"checks": [
{
"name": "Binary-Artifacts",
"score": 10,
"reason": "no binaries found in the repo",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
},
{
"name": "Branch-Protection",
"score": null,
"reason": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
},
{
"name": "CI-Tests",
"score": 2,
"reason": "2 out of 10 merged PRs checked by a CI test -- score normalized to 2",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
},
{
"name": "CII-Best-Practices",
"score": 0,
"reason": "no effort to earn an OpenSSF best practices badge detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
},
{
"name": "Code-Review",
"score": 5,
"reason": "Found 8/16 approved changesets -- score normalized to 5",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 10,
"reason": "project has 20 contributing companies or organizations",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
},
{
"name": "Dangerous-Workflow",
"score": 10,
"reason": "no dangerous workflow patterns detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
},
{
"name": "Dependency-Update-Tool",
"score": 0,
"reason": "no update tool detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
},
{
"name": "Fuzzing",
"score": 0,
"reason": "project is not fuzzed",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
},
{
"name": "License",
"score": 10,
"reason": "license file detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
},
{
"name": "Maintained",
"score": 0,
"reason": "0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
},
{
"name": "Packaging",
"score": null,
"reason": "packaging workflow not detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
},
{
"name": "Pinned-Dependencies",
"score": 0,
"reason": "dependency not pinned by hash detected -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
},
{
"name": "SAST",
"score": 0,
"reason": "SAST tool is not run on all commits -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
},
{
"name": "Security-Policy",
"score": 0,
"reason": "security policy file not detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
},
{
"name": "Signed-Releases",
"score": null,
"reason": "no releases found",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
},
{
"name": "Token-Permissions",
"score": 0,
"reason": "detected GitHub workflow tokens with excessive permissions",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
},
{
"name": "Vulnerabilities",
"score": 10,
"reason": "0 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "4d9a7c72322daaa11343fb885c15dc3fa096e3ac",
"ran_at": "2026-07-25T03:44:35Z",
"aggregate_score": 4,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": false,
"has_security_policy": false,
"has_dependabot_config": false
},
"contribution_flow": {
"collected": true,
"ci_last_run_at": "2026-04-19T14:05:56Z",
"oldest_open_prs": [
{
"number": 46,
"created_at": "2014-01-16T18:07:55Z",
"last_comment_at": "2019-12-13T14:51:31Z",
"last_comment_author": "stof"
},
{
"number": 54,
"created_at": "2014-05-02T21:08:44Z",
"last_comment_at": "2019-11-26T12:09:49Z",
"last_comment_author": "lexdevelop"
},
{
"number": 55,
"created_at": "2014-05-19T21:18:00Z",
"last_comment_at": "2018-07-06T00:17:24Z",
"last_comment_author": "DAcodedBEAT"
},
{
"number": 60,
"created_at": "2014-07-16T03:23:58Z",
"last_comment_at": "2014-10-23T14:55:24Z",
"last_comment_author": "phansys"
},
{
"number": 64,
"created_at": "2014-09-08T12:57:08Z",
"last_comment_at": "2019-04-04T12:47:18Z",
"last_comment_author": "sandermarechal"
},
{
"number": 90,
"created_at": "2015-11-23T16:35:37Z",
"last_comment_at": "2015-12-09T18:39:45Z",
"last_comment_author": "Restless-ET"
},
{
"number": 93,
"created_at": "2015-12-09T18:54:34Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 95,
"created_at": "2016-02-12T23:59:07Z",
"last_comment_at": "2016-10-11T22:00:57Z",
"last_comment_author": "ingowalther"
},
{
"number": 98,
"created_at": "2016-04-07T11:11:02Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 100,
"created_at": "2016-04-11T09:40:33Z",
"last_comment_at": "2016-04-27T09:53:17Z",
"last_comment_author": "OskarStark"
},
{
"number": 104,
"created_at": "2016-09-12T20:00:24Z",
"last_comment_at": "2016-09-13T07:38:59Z",
"last_comment_author": "benjamin-carl"
},
{
"number": 107,
"created_at": "2017-01-18T17:19:08Z",
"last_comment_at": "2017-10-25T14:10:43Z",
"last_comment_author": "fduch"
},
{
"number": 118,
"created_at": "2017-08-26T16:51:10Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 127,
"created_at": "2018-07-25T22:59:05Z",
"last_comment_at": null,
"last_comment_author": null
}
],
"last_merged_pr_at": "2025-11-26T14:07:27Z",
"ci_last_conclusion": "FAILURE",
"oldest_open_issues": [
{
"number": 35,
"created_at": "2013-10-14T11:35:07Z",
"last_comment_at": "2014-11-25T16:23:34Z",
"last_comment_author": "annitya"
},
{
"number": 37,
"created_at": "2013-10-31T09:52:42Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 39,
"created_at": "2013-11-12T08:49:11Z",
"last_comment_at": "2014-01-08T11:35:48Z",
"last_comment_author": "stof"
},
{
"number": 56,
"created_at": "2014-06-04T09:40:36Z",
"last_comment_at": "2014-06-05T06:01:06Z",
"last_comment_author": "thomasez"
},
{
"number": 63,
"created_at": "2014-08-26T14:26:01Z",
"last_comment_at": "2015-05-11T09:12:35Z",
"last_comment_author": "ZeeCoder"
},
{
"number": 65,
"created_at": "2014-10-08T23:15:45Z",
"last_comment_at": "2014-10-09T01:10:31Z",
"last_comment_author": null
},
{
"number": 68,
"created_at": "2015-01-21T15:15:55Z",
"last_comment_at": "2017-10-13T15:03:39Z",
"last_comment_author": "serrvius"
},
{
"number": 79,
"created_at": "2015-07-16T09:00:48Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 83,
"created_at": "2015-10-07T14:46:31Z",
"last_comment_at": "2015-10-11T19:50:24Z",
"last_comment_author": "colinfrei"
},
{
"number": 84,
"created_at": "2015-10-07T15:03:54Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 85,
"created_at": "2015-10-07T15:28:22Z",
"last_comment_at": "2015-10-07T15:49:15Z",
"last_comment_author": "soullivaneuh"
},
{
"number": 91,
"created_at": "2015-11-23T17:19:50Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 96,
"created_at": "2016-03-08T14:53:27Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 99,
"created_at": "2016-04-11T09:21:48Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 105,
"created_at": "2016-11-17T11:42:07Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 106,
"created_at": "2016-12-19T21:34:14Z",
"last_comment_at": "2020-05-07T10:04:09Z",
"last_comment_author": "Oliboy50"
},
{
"number": 114,
"created_at": "2017-06-08T06:29:49Z",
"last_comment_at": "2018-02-09T03:44:06Z",
"last_comment_author": "feamsr00"
},
{
"number": 139,
"created_at": "2021-11-24T13:26:28Z",
"last_comment_at": "2021-11-24T13:40:40Z",
"last_comment_author": "stof"
}
]
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/Incenteev/ParameterHandler",
"host": "github.com",
"name": "ParameterHandler",
"owner": "Incenteev"
},
"metrics": {
"overall": {
"key": "overall",
"band": "critical",
"name": "Overall health",
"note": "High-Risk Jurisdiction Policy applies a 50% multiplier to weighted overall health and gives it an At risk ceiling of 49.",
"notes": [
{
"code": "jurisdiction_overall_adjustment",
"params": {
"cap": 49,
"pct": 50
}
}
],
"value": 24,
"inputs": {
"security": 20,
"vitality": 29,
"community": 69,
"governance": 60,
"engineering": 51,
"high_risk_jurisdiction_cap": 49,
"high_risk_jurisdiction_multiplier": 50,
"weighted_overall_before_jurisdiction": 47,
"overall_after_jurisdiction_multiplier": 24
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "critical",
"name": "Vitality",
"value": 29,
"weight": 0.22,
"metrics": [
{
"key": "development_activity",
"band": "critical",
"name": "Development activity",
"note": null,
"notes": [],
"value": 13,
"inputs": {
"commits_last_year": 6,
"human_commit_share": 1,
"days_since_last_push": 240,
"active_weeks_last_year": 2
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 240 days ago",
"points": 3.6,
"status": "partial",
"details": [
{
"code": "push_recency",
"params": {
"days": 240
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "2/52 weeks with commits",
"points": 1.4,
"status": "partial",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 2
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "6 commits in the last year",
"points": 7.6,
"status": "partial",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 6
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "release_discipline",
"band": "moderate",
"name": "Release discipline",
"note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"openssf_scorecard_signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 54,
"inputs": {
"releases_count": 7,
"latest_release_tag": "v2.3.0",
"releases_from_tags": false,
"days_since_latest_release": 240,
"mean_days_between_releases": 728.7
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "7 releases published",
"points": 27,
"status": "met",
"details": [
{
"code": "releases_published",
"params": {
"count": 7
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 240 days ago",
"points": 16.2,
"status": "partial",
"details": [
{
"code": "release_recency",
"params": {
"days": 240
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~728.7 days",
"points": 5.4,
"status": "partial",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 728.7
}
}
],
"max_points": 27
},
{
"key": "openssf_scorecard_signed_releases",
"name": "OpenSSF Scorecard: Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 10
}
]
},
{
"key": "abandonment",
"band": "excellent",
"name": "Abandonment",
"note": null,
"notes": [],
"value": 85,
"inputs": {
"cap": null,
"state": "at_risk",
"guards": [
"recent_release"
],
"signals": [
"issue_rot",
"scorecard_unmaintained",
"broken_ci"
],
"red_flag": true,
"multiplier_pct": 85,
"declared_reason": null,
"unverified_reason": null,
"unanswered_open_prs": 14,
"unanswered_open_issues": 16,
"days_since_last_merged_pr": 240,
"days_since_last_human_commit": 240,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "no human commit for 240 days; 3 unmet obligation(s): issues unanswered, Scorecard reports it unmaintained, CI broken",
"points": 85,
"status": "partial",
"details": [
{
"code": "abandonment_flagged",
"params": {
"days": 240,
"count": 3,
"signals": "issues unanswered, Scorecard reports it unmaintained, CI broken"
}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "moderate",
"name": "Community & Adoption",
"value": 69,
"weight": 0.18,
"metrics": [
{
"key": "popularity",
"band": "good",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 71,
"inputs": {
"forks": 99,
"stars": 931,
"watchers": 14,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "no_history"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "931 stars",
"points": 48.2,
"status": "partial",
"details": [
{
"code": "stars",
"params": {
"count": 931
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "99 forks",
"points": 16.6,
"status": "partial",
"details": [
{
"code": "forks",
"params": {
"count": 99
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "14 watchers",
"points": 6.2,
"status": "partial",
"details": [
{
"code": "watchers",
"params": {
"count": 14
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "moderate",
"name": "Community health",
"note": null,
"notes": [],
"value": 50,
"inputs": {
"has_readme": true,
"has_license": true,
"has_contributing": false,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 22.5,
"status": "met",
"details": [],
"max_points": 22.5
},
{
"key": "license",
"name": "License",
"detail": "recognized license (MIT)",
"points": 22.5,
"status": "met",
"details": [
{
"code": "license_standard",
"params": {}
},
{
"code": "license_spdx",
"params": {
"spdx": "MIT"
}
}
],
"max_points": 22.5
},
{
"key": "contributing_guide",
"name": "CONTRIBUTING guide",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 18
},
{
"key": "code_of_conduct",
"name": "Code of conduct",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 13.5
},
{
"key": "issue_template",
"name": "Issue template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.2
},
{
"key": "pr_template",
"name": "PR template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.3
}
]
},
{
"key": "ecosystem_adoption",
"band": "excellent",
"name": "Ecosystem adoption (downloads)",
"note": null,
"notes": [],
"value": 93,
"inputs": {
"packages": [
"incenteev/composer-parameter-handler"
],
"dependents": 657,
"ecosystems": "packagist",
"total_downloads": 75675519,
"monthly_downloads": 372520
},
"components": [
{
"key": "monthly_downloads",
"name": "Monthly downloads",
"detail": "372,520 downloads/month across packagist",
"points": 74.3,
"status": "partial",
"details": [
{
"code": "downloads_monthly",
"params": {
"count": 372520,
"ecosystems": "packagist"
}
}
],
"max_points": 80
},
{
"key": "registry_dependents",
"name": "Registry dependents",
"detail": "657 packages depend on it",
"points": 18.8,
"status": "partial",
"details": [
{
"code": "registry_dependents",
"params": {
"count": 657
}
}
],
"max_points": 20
}
]
}
],
"description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
},
{
"key": "governance",
"band": "moderate",
"name": "Sustainability & Governance",
"value": 60,
"weight": 0.24,
"metrics": [
{
"key": "maintainer_resilience",
"band": "at_risk",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 40,
"inputs": {
"bus_factor": 1,
"contributors_sampled": 25,
"top_contributor_share": 0.643
},
"components": [
{
"key": "bus_factor",
"name": "Bus factor",
"detail": "1 contributor(s) cover half of all commits",
"points": 9,
"status": "partial",
"details": [
{
"code": "bus_factor",
"params": {
"count": 1
}
}
],
"max_points": 54
},
{
"key": "commit_distribution",
"name": "Commit distribution",
"detail": "top contributor authored 64% of commits",
"points": 8,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 64
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "25 contributors",
"points": 13.5,
"status": "met",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 25
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 20 contributing companies or organizations",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "moderate",
"name": "Issue & PR responsiveness",
"note": null,
"notes": [],
"value": 61,
"inputs": {
"merged_prs": 36,
"open_issues": 18,
"closed_issues": 46,
"issue_closed_ratio": 0.719,
"closed_unmerged_prs": 33
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "72% of issues closed",
"points": 33.6,
"status": "partial",
"details": [
{
"code": "issues_closed_share",
"params": {
"share": 72
}
}
],
"max_points": 46.75
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "36/69 decided PRs merged",
"points": 20,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 36,
"decided": 69
}
}
],
"max_points": 38.25
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "Found 8/16 approved changesets -- score normalized to 5",
"points": 7.5,
"status": "partial",
"details": [],
"max_points": 15
}
]
},
{
"key": "stewardship",
"band": "moderate",
"name": "Ownership & stewardship",
"note": null,
"notes": [],
"value": 57,
"inputs": {
"followers": 11,
"owner_type": "Organization",
"is_verified": null,
"owner_login": "Incenteev",
"public_repos": 10,
"account_age_days": 5468
},
"components": [
{
"key": "ownership_backing",
"name": "Ownership backing",
"detail": "organization-owned",
"points": 30,
"status": "met",
"details": [
{
"code": "owner_organization",
"params": {}
}
],
"max_points": 30
},
{
"key": "verified_domain",
"name": "Verified domain",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 20
},
{
"key": "owner_reach",
"name": "Owner reach",
"detail": "11 followers of Incenteev",
"points": 7.8,
"status": "partial",
"details": [
{
"code": "owner_followers",
"params": {
"count": 11,
"login": "Incenteev"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "10 public repos, account ~14 yr old",
"points": 19.6,
"status": "partial",
"details": [
{
"code": "public_repos",
"params": {
"count": 10
}
},
{
"code": "account_age_years",
"params": {
"years": 14
}
}
],
"max_points": 25
}
]
},
{
"key": "package_maintenance",
"band": "excellent",
"name": "Package maintenance",
"note": null,
"notes": [],
"value": 91,
"inputs": {
"packages": [
"incenteev/composer-parameter-handler"
],
"ecosystems": "packagist",
"any_deprecated": false,
"min_days_since_publish": 240
},
"components": [
{
"key": "published_resolvable",
"name": "Published & resolvable",
"detail": "1 package(s) on packagist",
"points": 25,
"status": "met",
"details": [
{
"code": "packages_published",
"params": {
"count": 1,
"ecosystems": "packagist"
}
}
],
"max_points": 25
},
{
"key": "publish_recency",
"name": "Publish recency",
"detail": "latest publish 240 days ago",
"points": 26,
"status": "partial",
"details": [
{
"code": "publish_recency",
"params": {
"days": 240
}
}
],
"max_points": 35
},
{
"key": "version_history",
"name": "Version history",
"detail": "10 published versions",
"points": 20,
"status": "met",
"details": [
{
"code": "published_versions",
"params": {
"count": 10
}
}
],
"max_points": 20
},
{
"key": "not_deprecated",
"name": "Not deprecated",
"detail": "active, not deprecated or yanked",
"points": 20,
"status": "met",
"details": [
{
"code": "package_not_deprecated",
"params": {}
}
],
"max_points": 20
}
]
}
],
"description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
},
{
"key": "engineering",
"band": "moderate",
"name": "Engineering Quality",
"value": 51,
"weight": 0.2,
"metrics": [
{
"key": "engineering_practices",
"band": "moderate",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 52,
"inputs": {
"has_ci": true,
"has_tests": true,
"has_editorconfig": false,
"has_linter_config": false,
"has_precommit_config": false
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": "1 workflow(s)",
"points": 24,
"status": "met",
"details": [
{
"code": "ci_workflows",
"params": {
"count": 1
}
}
],
"max_points": 24
},
{
"key": "tests_present",
"name": "Tests present",
"detail": null,
"points": 24,
"status": "met",
"details": [],
"max_points": 24
},
{
"key": "linter_config",
"name": "Linter config",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 16
},
{
"key": "pre_commit_hooks",
"name": "Pre-commit hooks",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 9.6
},
{
"key": "editorconfig",
"name": ".editorconfig",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.4
},
{
"key": "openssf_scorecard_ci_tests",
"name": "OpenSSF Scorecard: CI-Tests",
"detail": "2 out of 10 merged PRs checked by a CI test -- score normalized to 2",
"points": 4,
"status": "partial",
"details": [],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "moderate",
"name": "Documentation",
"note": null,
"notes": [],
"value": 50,
"inputs": {
"topics": [
"composer",
"yaml",
"environment-variables",
"ignored-parameters",
"composer-scripts"
],
"has_wiki": false,
"homepage": null,
"has_readme": true,
"has_docs_dir": false,
"has_description": true
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 30,
"status": "met",
"details": [],
"max_points": 30
},
{
"key": "documentation_directory",
"name": "Documentation directory",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 25
},
{
"key": "documentation_homepage_site",
"name": "Documentation / homepage site",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
},
{
"key": "repository_description",
"name": "Repository description",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "topics",
"name": "Topics",
"detail": "5 topics",
"points": 10,
"status": "met",
"details": [
{
"code": "topics_count",
"params": {
"count": 5
}
}
],
"max_points": 10
},
{
"key": "wiki",
"name": "Wiki",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
}
],
"description": "Are baseline engineering and documentation practices in place?"
},
{
"key": "security",
"band": "critical",
"name": "Security",
"value": 20,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "critical",
"name": "Security posture",
"note": "Excluded from scoring (no data or not applicable): Branch-Protection, Packaging, Signed-Releases. Remaining weights renormalized. High-Risk Jurisdiction Policy applies a 50% multiplier to Security posture and gives it an At risk ceiling of 49.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"branch_protection",
"packaging",
"signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
},
{
"code": "jurisdiction_posture_adjustment",
"params": {
"cap": 49,
"pct": 50
}
}
],
"value": 20,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 15,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 3,
"scorecard_aggregate": 4,
"high_risk_jurisdiction_cap": 49,
"high_risk_jurisdiction_multiplier": 50,
"security_posture_after_multiplier": 20,
"security_posture_before_jurisdiction": 40
},
"components": [
{
"key": "binary_artifacts",
"name": "Binary-Artifacts",
"detail": "no binaries found in the repo",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "branch_protection",
"name": "Branch-Protection",
"detail": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 7.5
},
{
"key": "ci_tests",
"name": "CI-Tests",
"detail": "2 out of 10 merged PRs checked by a CI test -- score normalized to 2",
"points": 0.5,
"status": "partial",
"details": [],
"max_points": 2.5
},
{
"key": "cii_best_practices",
"name": "CII-Best-Practices",
"detail": "no effort to earn an OpenSSF best practices badge detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 2.5
},
{
"key": "code_review",
"name": "Code-Review",
"detail": "Found 8/16 approved changesets -- score normalized to 5",
"points": 3.8,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 20 contributing companies or organizations",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "dangerous_workflow",
"name": "Dangerous-Workflow",
"detail": "no dangerous workflow patterns detected",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "dependency_update_tool",
"name": "Dependency-Update-Tool",
"detail": "no update tool detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "fuzzing",
"name": "Fuzzing",
"detail": "project is not fuzzed",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "license",
"name": "License",
"detail": "license file detected",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "maintained",
"name": "Maintained",
"detail": "0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "packaging",
"name": "Packaging",
"detail": "packaging workflow not detected",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 5
},
{
"key": "pinned_dependencies",
"name": "Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "sast",
"name": "SAST",
"detail": "SAST tool is not run on all commits -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "security_policy",
"name": "Security-Policy",
"detail": "security policy file not detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "signed_releases",
"name": "Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 7.5
},
{
"key": "token_permissions",
"name": "Token-Permissions",
"detail": "detected GitHub workflow tokens with excessive permissions",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "vulnerabilities",
"name": "Vulnerabilities",
"detail": "0 existing vulnerabilities detected",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
}
]
},
{
"key": "high_risk_jurisdiction_exposure",
"band": "moderate",
"name": "High-Risk Jurisdiction Exposure",
"note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
"notes": [
{
"code": "jurisdiction_evidence_limits",
"params": {}
}
],
"value": 50,
"inputs": {
"meaning": "self-published location evidence; not nationality or citizenship",
"red_flag": true,
"exposures": [
{
"role": "top_contributor",
"count": 1,
"country": "Russia"
}
],
"policy_countries": [
"Russia",
"Iran",
"North Korea"
],
"review_only_matches": 0,
"assessed_self_published_locations": 19
},
"components": [
{
"key": "policy_exposure_multiplier",
"name": "Policy exposure multiplier",
"detail": "Russia: top_contributor (1)",
"points": 50,
"status": "partial",
"details": [
{
"code": "jurisdiction_exposure",
"params": {
"role": "top_contributor",
"count": 1,
"country": "Russia"
}
}
],
"max_points": 100
}
]
}
],
"description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
},
{
"key": "ai_readiness",
"band": "critical",
"name": "AI Readiness",
"value": 27,
"weight": 0,
"metrics": [
{
"key": "ai_agent_context",
"band": "critical",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 20,
"inputs": {
"has_llms_txt": false,
"legible_history_share": 0.37,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"components": [
{
"key": "agent_instructions",
"name": "Agent instructions",
"detail": "no CLAUDE.md / AGENTS.md / editor rules",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_agent_instructions",
"params": {}
}
],
"max_points": 45
},
{
"key": "machine_readable_docs_llms_txt",
"name": "Machine-readable docs (llms.txt)",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
},
{
"key": "legible_commit_history",
"name": "Legible commit history",
"detail": "37 of 100 human commits state their intent (structured subject or explanatory body)",
"points": 19.7,
"status": "partial",
"details": [
{
"code": "legible_history",
"params": {
"legible": 37,
"sampled": 100
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "critical",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 22,
"inputs": {
"has_nix": false,
"has_tests": true,
"lockfiles": [],
"has_dockerfile": false,
"typed_language": false,
"bootstrap_files": [],
"has_devcontainer": false,
"has_linter_config": false,
"typecheck_configs": [],
"agent_commit_share": 0,
"toolchain_manifests": [],
"dependency_bot_commit_share": 0
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 18
},
{
"key": "automated_tests",
"name": "Automated tests",
"detail": null,
"points": 22,
"status": "met",
"details": [],
"max_points": 22
},
{
"key": "lint_format_config",
"name": "Lint / format config",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 11
},
{
"key": "static_type_checking",
"name": "Static type checking",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 11
},
{
"key": "reproducible_environment",
"name": "Reproducible environment",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
},
{
"key": "demonstrated_agent_practice",
"name": "Demonstrated agent practice",
"detail": "no agent-authored commits among the last 100",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_agent_authored_commits",
"params": {
"sampled": 100
}
}
],
"max_points": 10
},
{
"key": "automated_maintenance",
"name": "Automated maintenance",
"detail": "no automated dependency updates observed",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_dependency_automation",
"params": {}
}
],
"max_points": 8
},
{
"key": "openssf_scorecard_pinned_dependencies",
"name": "OpenSSF Scorecard: Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "ai_code_legibility",
"band": "moderate",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 55,
"inputs": {
"primary_language": "PHP",
"largest_source_bytes": 5785,
"source_files_sampled": 4,
"oversized_source_files": 0
},
"components": [
{
"key": "type_checkable_code",
"name": "Type-checkable code",
"detail": "PHP without a type-check config",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_typecheck_config_language",
"params": {
"language": "PHP"
}
}
],
"max_points": 45
},
{
"key": "manageable_file_sizes",
"name": "Manageable file sizes",
"detail": "0/4 source files over 60KB",
"points": 55,
"status": "met",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 4,
"oversized": 0
}
}
],
"max_points": 55
}
]
}
],
"description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
}
],
"metrics_version": "1.13.0"
},
"warnings": [
"Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token",
"No resolved dependencies carried a version and a supported ecosystem"
],
"report_type": "repository",
"generated_at": "2026-07-25T03:44:57.579874Z",
"schema_version": "0.27.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/i/Incenteev/ParameterHandler.svg",
"full_name": "Incenteev/ParameterHandler",
"license_state": "standard",
"license_spdx": "MIT"
}