Raw JSON report machine-readable
{
"data": {
"repo": {
"topics": [
"fake-data",
"faker",
"golang",
"golang-library",
"testing-library",
"testing-tools"
],
"is_fork": false,
"size_kb": 313,
"has_wiki": true,
"homepage": "https://pkg.go.dev/github.com/go-faker/faker/v4",
"languages": {
"Go": 409798,
"Makefile": 3170
},
"pushed_at": "2026-07-25T12:19:00Z",
"created_at": "2022-06-09T02:50:41Z",
"owner_type": "Organization",
"updated_at": "2026-07-25T12:17:45Z",
"description": "Go (Golang) Fake Data Generator for Struct, previously https://github.com/bxcodec/faker",
"is_archived": false,
"is_disabled": false,
"license_spdx": "MIT",
"default_branch": "main",
"license_spdx_raw": "MIT",
"primary_language": "Go",
"significant_languages": [
"Go"
]
},
"owner": {
"blog": null,
"name": "Go Faker",
"type": "Organization",
"login": "go-faker",
"company": null,
"location": null,
"followers": 8,
"avatar_url": "https://avatars.githubusercontent.com/u/107163345?v=4",
"created_at": "2022-06-09T02:49:19Z",
"is_verified": null,
"public_repos": 1,
"account_age_days": 1508
},
"license": {
"state": "standard",
"spdx_id": "MIT",
"raw_spdx": "MIT",
"file_present": true,
"scorecard_found": true,
"profile_has_license": true
},
"activity": {
"releases": [
{
"tag": "v4.10.1",
"kind": "patch",
"published_at": "2026-07-25T12:19:00Z"
},
{
"tag": "v4.10.0",
"kind": "minor",
"published_at": "2026-07-19T11:51:12Z"
},
{
"tag": "v4.9.0",
"kind": "minor",
"published_at": "2026-06-27T13:30:49Z"
},
{
"tag": "v4.8.0",
"kind": "minor",
"published_at": "2026-06-13T16:48:14Z"
},
{
"tag": "v4.7.0",
"kind": "minor",
"published_at": "2025-09-27T16:08:03Z"
},
{
"tag": "v4.6.2",
"kind": "patch",
"published_at": "2025-09-13T13:54:05Z"
},
{
"tag": "v4.6.1",
"kind": "patch",
"published_at": "2025-04-26T16:33:48Z"
},
{
"tag": "v4.6.0",
"kind": "minor",
"published_at": "2025-02-05T09:17:45Z"
},
{
"tag": "v4.5.0",
"kind": "minor",
"published_at": "2024-08-24T15:16:07Z"
},
{
"tag": "v4.4.2",
"kind": "patch",
"published_at": "2024-06-08T18:55:37Z"
},
{
"tag": "v4.4.1",
"kind": "patch",
"published_at": "2024-04-06T11:28:23Z"
},
{
"tag": "v4.4.0",
"kind": "minor",
"published_at": "2024-03-29T23:00:20Z"
},
{
"tag": "v4.3.0",
"kind": "minor",
"published_at": "2024-02-12T08:48:21Z"
},
{
"tag": "v4.2.1",
"kind": "patch",
"published_at": "2024-02-07T16:08:04Z"
},
{
"tag": "v4.2.0",
"kind": "minor",
"published_at": "2023-09-21T03:27:30Z"
},
{
"tag": "v4.1.1",
"kind": "patch",
"published_at": "2023-06-17T14:38:13Z"
},
{
"tag": "v4.1.0",
"kind": "minor",
"published_at": "2023-03-02T04:55:03Z"
},
{
"tag": "v4.0.0",
"kind": "major",
"published_at": "2023-01-26T10:42:32Z"
},
{
"tag": "v4.0.0-beta.4",
"kind": "prerelease",
"published_at": "2022-12-07T00:48:49Z"
},
{
"tag": "v4.0.0-beta.3",
"kind": "prerelease",
"published_at": "2022-09-19T16:54:02Z"
},
{
"tag": "v4.0.0-beta.2",
"kind": "prerelease",
"published_at": "2022-09-03T18:06:43Z"
}
],
"recent_commits": [
{
"oid": "00b4e55622ee6f044776aaef46f43074b7aff3cb",
"body": "Bumps [golang.org/x/text](https://github.com/golang/text) from 0.29.0 to 0.40.0.\n- [Release notes](https://github.com/golang/text/releases)\n- [Commits](https://github.com/golang/text/compare/v0.29.0...v0.40.0)\n\n---\nupdated-dependencies:\n- dependency-name: golang.org/x/text\n dependency-version: 0.40\n[…]\nirect:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): bump golang.org/x/text from 0.29.0 to 0.40.0 (#96)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-25T12:17:37Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "7ad123883c246ecfb4b7698f1da2e720731bf937",
"body": "* Rename module to github.com/catdevman/faker; skip redundant tag-map rebuild\n\nRename: this fork needs its own import path so a downstream module (mockagen)\ncan require it directly instead of via a bare local replace against the\nupstream module path.\n\nPerf fix: FakeData() called initOption() -> init\n[…]\nuard the no-options case behind sync.Once to avoid re-populating the global\nmapperTag map on every call, cutting repeated work and lock contention.\n\n* feat: use atomic Bool in faker and add benchmarks",
"is_bot": false,
"headline": "perf: skip redundant mappertag rebuild (#98)",
"author_name": "Lucas Pearson",
"author_login": "catdevman",
"committed_at": "2026-07-25T12:16:01Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "9f848d5fe831bd63596e46b4c131a8c311ecd367",
"body": "* fix: upgrade to go mod 1.26.5\n\n* fix: run go fix command\n\n* fix: linter with latest build\n\n* chore: remove irrelevant CI matrix\n\n* chore: use minor directive\n\n* chore: apply changes based on PR review\n\n* docs: update README with actual value",
"is_bot": false,
"headline": "feat: upgrade to Go 1.26 and modernize with go fix (#95)",
"author_name": "Iman Tumorang",
"author_login": "bxcodec",
"committed_at": "2026-07-19T11:50:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d3f48a2cfe33ed8244d662f83fc3aec7765ee905",
"body": "…tial memory growth (#94)\n\n* feat: add WithNestedRandomMapAndSlizeSize to prevent exponential memory growth\n\n* fix: fix lint error\n\n* docs: add comment explanation",
"is_bot": false,
"headline": "feat: add option `WithNestedRandomMapAndSlizeSize` to prevent exponen…",
"author_name": "Gerald Sihotang",
"author_login": "geshtng",
"committed_at": "2026-06-22T15:32:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "04c18ec7954830939d2ebe4a89924435b7fe6f61",
"body": "* - russian middlenames support and tests\n - homoglyph fixed and datasets tests\n\n* Update faker.go\n\nCo-authored-by: Gerald Sihotang <sihotangg@gmail.com>\n\n* rearrangement russian names according to first-middle-last order\n\n---------\n\nCo-authored-by: Gerald Sihotang <sihotangg@gmail.com>",
"is_bot": false,
"headline": "Russian middlenames, tests and homoglyph fix (#92)",
"author_name": "Valery",
"author_login": "valeryvash",
"committed_at": "2026-06-11T15:59:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "37aa13ee1f94274a5ba22c7d40641779a465c6bc",
"body": "* feat: add option to only set zero fields\n\n* chore: fix typo",
"is_bot": false,
"headline": "feat: add option to only set zero fields (#90)",
"author_name": "Gerald Sihotang",
"author_login": "geshtng",
"committed_at": "2026-06-06T11:59:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f11a169aa85d1e9e4fffc016fedce2698ea9843f",
"body": null,
"is_bot": false,
"headline": "fix: fix lint (#91)",
"author_name": "Gerald Sihotang",
"author_login": "geshtng",
"committed_at": "2026-06-01T08:25:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b957e43b8ab39da3480653656cd0c3c151a82363",
"body": "…uct (#81)",
"is_bot": false,
"headline": "chore: add example for struct type providers & max field depth on str…",
"author_name": "adrianiacobghiula",
"author_login": "adrianiacobghiula",
"committed_at": "2025-09-27T16:07:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "407dd004eea02ef777402f5a5a1e4279e0a4be90",
"body": "* support struct type providers & max field depth on struct\n\n* support struct type providers & max field depth on struct",
"is_bot": false,
"headline": "feat: support struct type providers & max field depth on struct (#80)",
"author_name": "adrianiacobghiula",
"author_login": "adrianiacobghiula",
"committed_at": "2025-09-26T16:46:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0d51fde9d701925155ed0e5028eeecfec246fc1e",
"body": null,
"is_bot": true,
"headline": "chore(deps): bump golang.org/x/text from 0.28.0 to 0.29.0 (#79)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2025-09-13T13:52:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ce522f16db8fae275b5b2d420b9e8aec37efb15e",
"body": null,
"is_bot": true,
"headline": "chore(deps): bump golang.org/x/text from 0.25.0 to 0.28.0 (#78)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2025-09-05T16:12:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "06937afb62ceea86ad9f0c89b72ca68ae9c3d57f",
"body": "* ci(versions): Add support to multiple versions test\n\nSigned-off-by: Rubem Mota <rubemmota89@gmail.com>",
"is_bot": false,
"headline": "ci(versions): Add support to multiple versions test (#74)",
"author_name": "rubemlrm",
"author_login": "rubemlrm",
"committed_at": "2025-05-27T18:25:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ade84a3cc0e5d57d1b017233b0fe655354d0403f",
"body": null,
"is_bot": true,
"headline": "chore(deps): bump golang.org/x/text from 0.18.0 to 0.24.0 (#71)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2025-04-26T16:30:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9dcc8ca8b3a5421854e73cd96783c005f063aac7",
"body": "Canada/East-Saskatchewan and US/Pacific-New can not be found by time.LoadLocation.\r\n\r\nNormally timezones should not be removed. Here is explanation, why this two was removed —https://stackoverflow.com/questions/78328589/is-the-list-of-iana-timezones-stable#comment138105389_78332721",
"is_bot": false,
"headline": "fix timezones list (#63)",
"author_name": "Aleksey Bakin",
"author_login": "kulti",
"committed_at": "2025-02-04T23:33:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9fb86859b9bb5f01c2f0a8d699b67ec53d8905cf",
"body": null,
"is_bot": false,
"headline": "support custom domain for generate fake email (#66)",
"author_name": "Martin Yonatan Pasaribu",
"author_login": "martinyonatann",
"committed_at": "2025-02-04T15:10:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ad685cd3009c8d8038bb29b61cb943081c158c20",
"body": null,
"is_bot": true,
"headline": "chore(deps): bump golang.org/x/text from 0.16.0 to 0.18.0 (#58)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2024-09-14T05:17:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0f10aed522e8a93bc99d7cd3f2ae89e3ff168d52",
"body": null,
"is_bot": false,
"headline": "feat: add UserAgent faker (#57)",
"author_name": "Marin Bezhanov",
"author_login": "mbezhanov",
"committed_at": "2024-08-22T22:52:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "980ac3d9cd3f313f2cd169e71af9047c4a6ab160",
"body": null,
"is_bot": true,
"headline": "chore(deps): bump golang.org/x/text from 0.15.0 to 0.16.0 (#54)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2024-06-17T18:28:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9cbcda832c0cbabe95d0d360dfa74e35826d54b5",
"body": "* fix: concurent map writing issue\r\n\r\n* fix: test for concurrent write on unique field",
"is_bot": false,
"headline": "fix: concurrent-safe unique data generation (#53)",
"author_name": "Iman Tumorang",
"author_login": "bxcodec",
"committed_at": "2024-06-08T18:54:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "df18fe6e9581d1da754bb534d8373c89ff7ab0b5",
"body": "Bumps [golang.org/x/text](https://github.com/golang/text) from 0.14.0 to 0.15.0.\n- [Release notes](https://github.com/golang/text/releases)\n- [Commits](https://github.com/golang/text/compare/v0.14.0...v0.15.0)\n\n---\nupdated-dependencies:\n- dependency-name: golang.org/x/text\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): bump golang.org/x/text from 0.14.0 to 0.15.0 (#52)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2024-05-07T20:34:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a975832ccd69022c5a48467e08cfef4ea7a84810",
"body": null,
"is_bot": false,
"headline": "adding missing cities to addresses data (#51)",
"author_name": "davekerr-orum",
"author_login": "davekerr-orum",
"committed_at": "2024-04-06T11:27:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "181bd1bdd3a9c2ecef2e2b85384b2989d37672d5",
"body": "* Add feature: Country Names(#47)\r\n\r\n* fix indentation issues",
"is_bot": false,
"headline": "feat: Add feature: Country Info(#47) (#50)",
"author_name": "Vitaliy Paliy",
"author_login": "corepal",
"committed_at": "2024-03-29T22:57:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6d0a05f4a698795d96b7fbaa15dace92a5f0cbb2",
"body": null,
"is_bot": true,
"headline": "chore(deps): bump golang.org/x/text from 0.3.7 to 0.14.0 (#46)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2024-02-12T12:22:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1a5d58eeb3e3330ca721ba4a0bd232868d142823",
"body": null,
"is_bot": false,
"headline": "chore: Create dependabot.yml (#45)",
"author_name": "Iman Tumorang",
"author_login": "bxcodec",
"committed_at": "2024-02-12T12:17:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "eb0a115a059467467027760ba82005a8f852fffc",
"body": "* feat(blood): Added faker for blood types\r\n\r\nAdded faker that will generate blood type, rh factor and group\r\n\r\nSigned-off-by: Rubem Mota <rubemmota89@gmail.com>\r\n\r\n* feat(blood): Added tag into main tag\r\n\r\nSigned-off-by: Rubem <rubemmota89@gmail.com>\r\n\r\n* fix(blood): Changed tag location to be used by default without options\r\n\r\nSigned-off-by: Rubem <rubemmota89@gmail.com>\r\n\r\n---------\r\n\r\nSigned-off-by: Rubem Mota <rubemmota89@gmail.com>\r\nSigned-off-by: Rubem <rubemmota89@gmail.com>",
"is_bot": false,
"headline": "feat(blood): Added faker for blood types (#40)",
"author_name": "rubemlrm",
"author_login": "rubemlrm",
"committed_at": "2024-02-12T08:47:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3032a450b840c5f51885feb2550a78206f0f5275",
"body": "…n specified (#19)\n\n* tests and fix for faking data for slice of structs\r\n\r\n* add city for 3 Southerberry Drive address",
"is_bot": false,
"headline": "fix: tests and fix for faking data for slice of structs with slice_le…",
"author_name": "Clark Winters",
"author_login": "cwinters8",
"committed_at": "2024-02-07T16:06:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "29e74ae47866cdf59fce158148b7566c84a1f5c8",
"body": "Signed-off-by: rfyiamcool <rfyiamcool@163.com>",
"is_bot": false,
"headline": "fix: add random_string unit-test (#34)",
"author_name": "fengyun.rui",
"author_login": "rfyiamcool",
"committed_at": "2023-09-21T03:26:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5423ebf673b088fcc56d747fc5280d93351a3550",
"body": "* perf: improve paragragh performance\r\n\r\nSigned-off-by: rfyiamcool <rfyiamcool@163.com>\r\n\r\n* perf: improve paragragh performance\r\n\r\nSigned-off-by: rfyiamcool <rfyiamcool@163.com>\r\n\r\n---------\r\n\r\nSigned-off-by: rfyiamcool <rfyiamcool@163.com>",
"is_bot": false,
"headline": "perf: improve paragragh performance (#35)",
"author_name": "fengyun.rui",
"author_login": "rfyiamcool",
"committed_at": "2023-09-21T03:26:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "41dffa2da858f82fe1a2052c254fa4a977a93c8f",
"body": "Signed-off-by: rfyiamcool <rfyiamcool@163.com>",
"is_bot": false,
"headline": "feat: add url format (#33)",
"author_name": "fengyun.rui",
"author_login": "rfyiamcool",
"committed_at": "2023-09-20T09:38:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ab6c09fa52c346d0098e1a001218602392096c88",
"body": "Signed-off-by: rfyiamcool <rfyiamcool@163.com>",
"is_bot": false,
"headline": "fix: tolower domain by default (#32)",
"author_name": "fengyun.rui",
"author_login": "rfyiamcool",
"committed_at": "2023-09-20T09:38:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cfe31b631c0e73137466209d403aaa415ab69ddb",
"body": "* chore: fix the ignore interface\r\n\r\n* chore: apply go format\r\n\r\n* chore: fix linter issue\r\n\r\n* chore: fix the gh action",
"is_bot": false,
"headline": "fix: unexpected logic issue with the ignore interface option (#36)",
"author_name": "Iman Tumorang",
"author_login": "bxcodec",
"committed_at": "2023-09-20T09:33:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f70bf73e0dfa574e8f2d48e4e2883e5d40564fc1",
"body": "* feat: adds a changeable tag name (#27)\r\n\r\nSigned-off-by: hohmannr <raphael.hohmann@tuta.io>\r\n\r\n* chore: refactors ErrTagNameInvalid to ErrFieldTagIdentifierInvalid\r\n\r\n---------\r\n\r\nSigned-off-by: hohmannr <raphael.hohmann@tuta.io>",
"is_bot": false,
"headline": "feat: adds the ability to change the default tag name (#27) (#28)",
"author_name": "hohmannr",
"author_login": "hohmannr",
"committed_at": "2023-07-24T09:53:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "91fd09b0f81ca8520ead46dac24425c5db029861",
"body": "Co-authored-by: yangxu.09 <yangxu.09@bytedance.com>",
"is_bot": false,
"headline": "fix: fake non_empty interface panic (#25)",
"author_name": "xuyang",
"author_login": "xuyang21",
"committed_at": "2023-06-01T13:02:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5effebba7fe9e25350305432ffdca5e19151edad",
"body": "* feat: support boundary for custom int type\r\n\r\n* chore: upload test coverage to codecov\r\n\r\n* feat: add GetRealAddress\r\n\r\n* chore: add coverage badge\r\n\r\n* chore: re org import\r\n\r\n* feat: remove confused field in GetRealAddress\r\n\r\n* feat: add tag support for RealAddress",
"is_bot": false,
"headline": "feat: add tag support for RealAddress (#18)",
"author_name": "OrangeWolf",
"author_login": "wolf-joe",
"committed_at": "2023-02-20T11:07:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "04f3781fbc9d3e50fce588431549df4f1fc5255a",
"body": "* feat: support boundary for custom int type\r\n\r\n* chore: upload test coverage to codecov\r\n\r\n* feat: add GetRealAddress\r\n\r\n* chore: add coverage badge\r\n\r\n* chore: re org import\r\n\r\n* feat: remove confused field in GetRealAddress",
"is_bot": false,
"headline": "add GetRealAddress & coverage badge (#14)",
"author_name": "OrangeWolf",
"author_login": "wolf-joe",
"committed_at": "2023-01-17T09:05:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "21cea9c7d6a4a9f4ce6111d6f2d4dc8b58730ea9",
"body": null,
"is_bot": false,
"headline": "fix: support for custom key map (#16)",
"author_name": "Sina Saeidi",
"author_login": "xesina",
"committed_at": "2023-01-17T08:28:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "12df95af625964d361cc675e5e5dd4140ffbf5c2",
"body": null,
"is_bot": false,
"headline": "feat: add russian lastnames, firstnames generation & tests (#12)",
"author_name": "stAnger917",
"author_login": "stAnger917",
"committed_at": "2022-12-07T00:41:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "07c994cdbb0d8a55ebce4a81c516fee0d28ae4ac",
"body": "Co-authored-by: -tmp <tmp@git>",
"is_bot": false,
"headline": "fix: sentence generator (#10)",
"author_name": "S-YOU",
"author_login": "S-YOU",
"committed_at": "2022-12-07T00:38:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "63eb8d967dc90f6109bd6343aa153ea79d9736b4",
"body": "* feat: support boundary for custom int type\r\n\r\n* chore: upload test coverage to codecov",
"is_bot": false,
"headline": "feat: support boundary for custom int type (#13)",
"author_name": "OrangeWolf",
"author_login": "wolf-joe",
"committed_at": "2022-12-07T00:36:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6365ba7d8429d09a07a143ac3dc42763bd83cd20",
"body": "* fix: resolve map interface fake data\r\n\r\n* feat: add v3 functions\r\n\r\n* chore: align wiht bxcodec repo\r\n\r\n* fix: concurrent write on map\r\n\r\n* chore: resolve linter issue\r\n\r\n* chore: fix test\r\n\r\n* chore: fix test\r\n\r\n* chore: fix linter",
"is_bot": false,
"headline": "feat: v3 functionality from bxcodec/faker (#6)",
"author_name": "Iman Tumorang",
"author_login": "bxcodec",
"committed_at": "2022-09-19T16:52:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d802c070305f249d02eb20ac77e2fce8827bc9ac",
"body": null,
"is_bot": false,
"headline": "chore: update readme",
"author_name": "Iman Tumorang",
"author_login": "bxcodec",
"committed_at": "2022-09-03T18:19:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5b95d406d37412a34b36d303b945eb96da866431",
"body": null,
"is_bot": false,
"headline": "Create FUNDING.yml",
"author_name": "Iman Tumorang",
"author_login": "bxcodec",
"committed_at": "2022-09-03T18:17:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "240235860fb27e21c3d7b3a28a9219eb3292815f",
"body": "* chore: fix package\r\n\r\n* chore: fix badge\r\n\r\n* chore: fix readme",
"is_bot": false,
"headline": "chore: fix package (#4)",
"author_name": "Iman Tumorang",
"author_login": "bxcodec",
"committed_at": "2022-09-03T18:03:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7473ac7d8d0440d24addac302c73e13c08895764",
"body": null,
"is_bot": false,
"headline": "feat: port v4 (#3)",
"author_name": "Iman Tumorang",
"author_login": "bxcodec",
"committed_at": "2022-09-03T17:48:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "463a3727a79691bb3d18d8ad14dfbe6a8e9d5aba",
"body": null,
"is_bot": false,
"headline": "chore: update readme",
"author_name": "Iman Tumorang",
"author_login": "bxcodec",
"committed_at": "2022-06-09T04:43:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "61ff915fc473b2595d5352473e2d8bf5f1fae4be",
"body": "* fix: change package name\r\n\r\n* chore: test ci\r\n\r\n* chore: test ci\r\n\r\n* chore: add badge\r\n\r\n* chore: add badge\r\n\r\n* chore: rename test action",
"is_bot": false,
"headline": "fix: change package name (#2)",
"author_name": "Iman Tumorang",
"author_login": "bxcodec",
"committed_at": "2022-06-09T04:41:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "29c3db1b7b661e5760437bccccf4ce3ead4d07fa",
"body": null,
"is_bot": false,
"headline": "chore: add github action",
"author_name": "Iman Tumorang",
"author_login": "bxcodec",
"committed_at": "2022-06-09T04:32:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2b88268e55ee4adf3ce3ab009608c04a67d97111",
"body": null,
"is_bot": false,
"headline": "feat: add ported version from bxcodec/faker (#1)",
"author_name": "Iman Tumorang",
"author_login": "bxcodec",
"committed_at": "2022-06-09T04:21:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "38be54813651000b06acff62df3d3e6e3051a2fa",
"body": null,
"is_bot": false,
"headline": "Initial commit",
"author_name": "Iman Tumorang",
"author_login": "bxcodec",
"committed_at": "2022-06-09T02:50:42Z",
"body_truncated": false,
"is_coding_agent": false
}
],
"releases_count": 21,
"commits_last_year": 11,
"latest_release_at": "2026-07-25T12:19:00Z",
"latest_release_tag": "v4.10.1",
"releases_from_tags": false,
"days_since_last_push": 1,
"active_weeks_last_year": 7,
"days_since_latest_release": 1,
"mean_days_between_releases": 86.3
},
"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": "github.com/go-faker/faker/v4",
"exists": true,
"license": null,
"keywords": [],
"ecosystem": "go",
"matches_repo": true,
"registry_url": "https://pkg.go.dev/github.com/go-faker/faker/v4",
"is_deprecated": false,
"latest_version": "v4.10.1",
"repository_url": "https://github.com/go-faker/faker",
"versions_count": 21,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": null,
"monthly_downloads": null,
"first_published_at": null,
"latest_published_at": "2026-07-25T12:17:37Z",
"latest_version_yanked": null,
"days_since_latest_publish": 1
}
]
},
"popularity": {
"forks": 45,
"stars": 857,
"watchers": 3,
"fork_history": {
"days": [
{
"date": "2022-11-10",
"count": 1
},
{
"date": "2022-11-14",
"count": 1
},
{
"date": "2022-11-22",
"count": 1
},
{
"date": "2022-12-02",
"count": 1
},
{
"date": "2022-12-09",
"count": 1
},
{
"date": "2023-01-12",
"count": 1
},
{
"date": "2023-01-23",
"count": 2
},
{
"date": "2023-02-06",
"count": 1
},
{
"date": "2023-03-29",
"count": 1
},
{
"date": "2023-05-29",
"count": 1
},
{
"date": "2023-06-14",
"count": 1
},
{
"date": "2023-08-03",
"count": 1
},
{
"date": "2023-09-19",
"count": 1
},
{
"date": "2023-11-01",
"count": 1
},
{
"date": "2023-12-05",
"count": 1
},
{
"date": "2023-12-12",
"count": 1
},
{
"date": "2024-01-18",
"count": 1
},
{
"date": "2024-01-28",
"count": 1
},
{
"date": "2024-02-24",
"count": 1
},
{
"date": "2024-02-29",
"count": 1
},
{
"date": "2024-03-21",
"count": 1
},
{
"date": "2024-03-27",
"count": 1
},
{
"date": "2024-04-04",
"count": 1
},
{
"date": "2024-08-20",
"count": 1
},
{
"date": "2024-09-19",
"count": 1
},
{
"date": "2024-10-17",
"count": 1
},
{
"date": "2024-10-19",
"count": 1
},
{
"date": "2024-12-31",
"count": 1
},
{
"date": "2025-01-22",
"count": 1
},
{
"date": "2025-03-11",
"count": 1
},
{
"date": "2025-03-15",
"count": 1
},
{
"date": "2025-04-01",
"count": 1
},
{
"date": "2025-05-21",
"count": 1
},
{
"date": "2025-07-06",
"count": 1
},
{
"date": "2025-07-27",
"count": 1
},
{
"date": "2025-09-21",
"count": 1
},
{
"date": "2025-10-15",
"count": 1
},
{
"date": "2025-12-02",
"count": 1
},
{
"date": "2026-01-06",
"count": 1
},
{
"date": "2026-02-26",
"count": 1
},
{
"date": "2026-05-31",
"count": 1
},
{
"date": "2026-06-01",
"count": 1
},
{
"date": "2026-07-21",
"count": 1
}
],
"complete": true,
"collected": 44,
"total_forks": 45
},
"star_history": null,
"open_issues_and_prs": 18
},
"ai_readiness": {
"has_nix": false,
"example_dirs": [],
"has_llms_txt": false,
"has_dockerfile": false,
"has_mcp_signal": false,
"bootstrap_files": [
"Makefile"
],
"api_schema_files": [],
"has_devcontainer": false,
"typecheck_configs": [],
"toolchain_manifests": [
"go.mod"
],
"largest_source_bytes": 135878,
"source_files_sampled": 45,
"oversized_source_files": 2,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"dependencies": {
"manifests": [
"go.mod"
],
"advisories": {
"error": null,
"scope": "repository_graph",
"source": "osv",
"findings": [],
"collected": true,
"malicious": [],
"truncated": false,
"by_severity": {},
"advisory_count": 0,
"affected_count": 0,
"assessed_count": 1,
"malicious_count": 0,
"assessed_package": null,
"unassessed_count": 0,
"direct_affected_count": 0
},
"ecosystems": [
"go"
],
"dependencies": [
{
"name": "golang.org/x/text",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.40.0"
}
],
"all_dependencies": {
"error": null,
"source": "github-sbom",
"packages": [
{
"name": "golang.org/x/text",
"direct": true,
"version": "v0.40.0",
"ecosystem": "go"
}
],
"collected": true,
"truncated": false,
"total_count": 1,
"direct_count": 1,
"indirect_count": 0
}
},
"maintainership": {
"issues": {
"open_prs": 3,
"merged_prs": 44,
"open_issues": 15,
"closed_ratio": 0.516,
"closed_issues": 16,
"closed_unmerged_prs": 20
},
"bus_factor": 3,
"bot_contributors": 1,
"top_contributors": [
{
"type": "User",
"login": "bxcodec",
"commits": 14,
"avatar_url": "https://avatars.githubusercontent.com/u/11002383?v=4"
},
{
"type": "User",
"login": "rfyiamcool",
"commits": 4,
"avatar_url": "https://avatars.githubusercontent.com/u/3785409?v=4"
},
{
"type": "User",
"login": "geshtng",
"commits": 3,
"avatar_url": "https://avatars.githubusercontent.com/u/29280690?v=4"
},
{
"type": "User",
"login": "wolf-joe",
"commits": 3,
"avatar_url": "https://avatars.githubusercontent.com/u/58905296?v=4"
},
{
"type": "User",
"login": "adrianiacobghiula",
"commits": 2,
"avatar_url": "https://avatars.githubusercontent.com/u/2491756?v=4"
},
{
"type": "User",
"login": "rubemlrm",
"commits": 2,
"avatar_url": "https://avatars.githubusercontent.com/u/480040?v=4"
},
{
"type": "User",
"login": "kulti",
"commits": 1,
"avatar_url": "https://avatars.githubusercontent.com/u/1286683?v=4"
},
{
"type": "User",
"login": "cwinters8",
"commits": 1,
"avatar_url": "https://avatars.githubusercontent.com/u/40615752?v=4"
},
{
"type": "User",
"login": "catdevman",
"commits": 1,
"avatar_url": "https://avatars.githubusercontent.com/u/36960305?v=4"
},
{
"type": "User",
"login": "mbezhanov",
"commits": 1,
"avatar_url": "https://avatars.githubusercontent.com/u/785542?v=4"
}
],
"contributors_sampled": 19,
"top_contributor_share": 0.341
},
"quality_signals": {
"has_ci": true,
"has_tests": true,
"ci_workflows": [
"go.yml"
],
"has_docs_dir": false,
"linter_configs": [
".golangci.yaml"
],
"has_editorconfig": false,
"has_linter_config": true,
"has_precommit_config": false
},
"security_signals": {
"lockfiles": [
"go.sum"
],
"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": 6,
"reason": "branch protection is not maximal on development and all release branches",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
},
{
"name": "CI-Tests",
"score": 3,
"reason": "11 out of 30 merged PRs checked by a CI test -- score normalized to 3",
"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": 9,
"reason": "Found 20/22 approved changesets -- score normalized to 9",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 10,
"reason": "project has 3 contributing companies or organizations -- score normalized to 10",
"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": 10,
"reason": "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": 6,
"reason": "7 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 6",
"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": "00b4e55622ee6f044776aaef46f43074b7aff3cb",
"ran_at": "2026-07-26T17:44:49Z",
"aggregate_score": 5.8,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": false,
"has_security_policy": false,
"has_dependabot_config": true
},
"contribution_flow": {
"collected": true,
"ci_last_run_at": "2026-07-25T12:18:06Z",
"oldest_open_prs": [
{
"number": 49,
"created_at": "2024-03-07T13:47:12Z",
"last_comment_at": "2024-06-17T18:31:00Z",
"last_comment_author": "bxcodec"
},
{
"number": 73,
"created_at": "2025-05-21T09:38:44Z",
"last_comment_at": "2025-05-27T18:27:55Z",
"last_comment_author": "rubemlrm"
},
{
"number": 83,
"created_at": "2025-10-15T11:30:40Z",
"last_comment_at": "2026-05-31T14:30:31Z",
"last_comment_author": "geshtng"
}
],
"last_merged_pr_at": "2026-07-25T12:17:37Z",
"ci_last_conclusion": "SUCCESS",
"oldest_open_issues": [
{
"number": 7,
"created_at": "2022-09-14T12:33:40Z",
"last_comment_at": "2022-12-07T19:10:55Z",
"last_comment_author": "xxxserxxx"
},
{
"number": 15,
"created_at": "2022-12-14T14:31:51Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 17,
"created_at": "2023-01-18T12:12:46Z",
"last_comment_at": "2023-01-27T12:24:48Z",
"last_comment_author": "muhfaris"
},
{
"number": 20,
"created_at": "2023-02-11T16:42:50Z",
"last_comment_at": "2025-01-21T14:54:32Z",
"last_comment_author": "klingac"
},
{
"number": 21,
"created_at": "2023-02-23T13:24:58Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 22,
"created_at": "2023-03-07T07:51:03Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 23,
"created_at": "2023-03-30T03:26:01Z",
"last_comment_at": "2023-04-19T12:08:50Z",
"last_comment_author": "guonaihong"
},
{
"number": 24,
"created_at": "2023-05-24T14:13:24Z",
"last_comment_at": "2023-06-22T09:13:06Z",
"last_comment_author": "unrealhoang"
},
{
"number": 31,
"created_at": "2023-08-31T06:20:34Z",
"last_comment_at": "2024-04-17T09:34:54Z",
"last_comment_author": "snorwin"
},
{
"number": 37,
"created_at": "2023-09-27T08:13:06Z",
"last_comment_at": "2025-01-09T02:18:07Z",
"last_comment_author": "dp1140a"
},
{
"number": 60,
"created_at": "2024-10-08T16:17:47Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 65,
"created_at": "2024-12-31T15:46:22Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 67,
"created_at": "2025-02-24T03:33:07Z",
"last_comment_at": "2026-06-01T15:22:32Z",
"last_comment_author": "geshtng"
},
{
"number": 68,
"created_at": "2025-03-11T13:56:42Z",
"last_comment_at": "2025-12-27T04:44:03Z",
"last_comment_author": "Desalutar20"
},
{
"number": 69,
"created_at": "2025-03-23T03:11:46Z",
"last_comment_at": null,
"last_comment_author": null
}
]
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/go-faker/faker",
"host": "github.com",
"name": "faker",
"owner": "go-faker"
},
"metrics": {
"overall": {
"key": "overall",
"band": "moderate",
"name": "Overall health",
"note": null,
"notes": [],
"value": 67,
"inputs": {
"security": 66,
"vitality": 70,
"community": 57,
"governance": 70,
"engineering": 72
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "good",
"name": "Vitality",
"value": 70,
"weight": 0.22,
"metrics": [
{
"key": "development_activity",
"band": "moderate",
"name": "Development activity",
"note": null,
"notes": [],
"value": 56,
"inputs": {
"commits_last_year": 11,
"human_commit_share": 0.837,
"days_since_last_push": 1,
"active_weeks_last_year": 7
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 1 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "push_recency",
"params": {
"days": 1
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "7/52 weeks with commits",
"points": 4.8,
"status": "partial",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 7
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "11 commits in the last year",
"points": 9.7,
"status": "partial",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 11
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "7 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 6",
"points": 6,
"status": "partial",
"details": [],
"max_points": 10
}
]
},
{
"key": "release_discipline",
"band": "excellent",
"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": 92,
"inputs": {
"releases_count": 21,
"latest_release_tag": "v4.10.1",
"releases_from_tags": false,
"days_since_latest_release": 1,
"mean_days_between_releases": 86.3
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "21 releases published",
"points": 27,
"status": "met",
"details": [
{
"code": "releases_published",
"params": {
"count": 21
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 1 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "release_recency",
"params": {
"days": 1
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~86.3 days",
"points": 19.8,
"status": "partial",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 86.3
}
}
],
"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": 100,
"inputs": {
"cap": null,
"state": "maintained",
"guards": [],
"signals": [],
"red_flag": false,
"multiplier_pct": 100,
"declared_reason": null,
"unverified_reason": null,
"unanswered_open_prs": null,
"unanswered_open_issues": null,
"days_since_last_merged_pr": null,
"days_since_last_human_commit": 1,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "last human commit 1 days ago",
"points": 100,
"status": "met",
"details": [
{
"code": "abandonment_maintained",
"params": {
"days": 1
}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "moderate",
"name": "Community & Adoption",
"value": 57,
"weight": 0.18,
"metrics": [
{
"key": "popularity",
"band": "moderate",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 63,
"inputs": {
"forks": 45,
"stars": 857,
"watchers": 3,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "no_history"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "857 stars",
"points": 47.6,
"status": "partial",
"details": [
{
"code": "stars",
"params": {
"count": 857
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "45 forks",
"points": 13.7,
"status": "partial",
"details": [
{
"code": "forks",
"params": {
"count": 45
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "3 watchers",
"points": 1.7,
"status": "partial",
"details": [
{
"code": "watchers",
"params": {
"count": 3
}
}
],
"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
}
]
}
],
"description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
},
{
"key": "governance",
"band": "good",
"name": "Sustainability & Governance",
"value": 70,
"weight": 0.24,
"metrics": [
{
"key": "maintainer_resilience",
"band": "good",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 74,
"inputs": {
"bus_factor": 3,
"contributors_sampled": 19,
"top_contributor_share": 0.341
},
"components": [
{
"key": "bus_factor",
"name": "Bus factor",
"detail": "3 contributor(s) cover half of all commits",
"points": 36,
"status": "partial",
"details": [
{
"code": "bus_factor",
"params": {
"count": 3
}
}
],
"max_points": 54
},
{
"key": "commit_distribution",
"name": "Commit distribution",
"detail": "top contributor authored 34% of commits",
"points": 14.8,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 34
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "19 contributors",
"points": 13.5,
"status": "met",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 19
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 3 contributing companies or organizations -- score normalized to 10",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "moderate",
"name": "Issue & PR responsiveness",
"note": null,
"notes": [],
"value": 64,
"inputs": {
"merged_prs": 44,
"open_issues": 15,
"closed_issues": 16,
"issue_closed_ratio": 0.516,
"closed_unmerged_prs": 20
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "52% of issues closed",
"points": 24.1,
"status": "partial",
"details": [
{
"code": "issues_closed_share",
"params": {
"share": 52
}
}
],
"max_points": 46.75
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "44/64 decided PRs merged",
"points": 26.3,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 44,
"decided": 64
}
}
],
"max_points": 38.25
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "Found 20/22 approved changesets -- score normalized to 9",
"points": 13.5,
"status": "partial",
"details": [],
"max_points": 15
}
]
},
{
"key": "stewardship",
"band": "at_risk",
"name": "Ownership & stewardship",
"note": null,
"notes": [],
"value": 47,
"inputs": {
"followers": 8,
"owner_type": "Organization",
"is_verified": null,
"owner_login": "go-faker",
"public_repos": 1,
"account_age_days": 1508
},
"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": "8 followers of go-faker",
"points": 6.9,
"status": "partial",
"details": [
{
"code": "owner_followers",
"params": {
"count": 8,
"login": "go-faker"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "1 public repos, account ~4 yr old",
"points": 10.4,
"status": "partial",
"details": [
{
"code": "public_repos",
"params": {
"count": 1
}
},
{
"code": "account_age_years",
"params": {
"years": 4
}
}
],
"max_points": 25
}
]
},
{
"key": "package_maintenance",
"band": "excellent",
"name": "Package maintenance",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"packages": [
"github.com/go-faker/faker/v4"
],
"ecosystems": "go",
"any_deprecated": false,
"min_days_since_publish": 1
},
"components": [
{
"key": "published_resolvable",
"name": "Published & resolvable",
"detail": "1 package(s) on go",
"points": 25,
"status": "met",
"details": [
{
"code": "packages_published",
"params": {
"count": 1,
"ecosystems": "go"
}
}
],
"max_points": 25
},
{
"key": "publish_recency",
"name": "Publish recency",
"detail": "latest publish 1 days ago",
"points": 35,
"status": "met",
"details": [
{
"code": "publish_recency",
"params": {
"days": 1
}
}
],
"max_points": 35
},
{
"key": "version_history",
"name": "Version history",
"detail": "21 published versions",
"points": 20,
"status": "met",
"details": [
{
"code": "published_versions",
"params": {
"count": 21
}
}
],
"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": "good",
"name": "Engineering Quality",
"value": 72,
"weight": 0.2,
"metrics": [
{
"key": "engineering_practices",
"band": "good",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 70,
"inputs": {
"has_ci": true,
"has_tests": true,
"has_editorconfig": false,
"has_linter_config": true,
"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": ".golangci.yaml",
"points": 16,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": ".golangci.yaml"
}
}
],
"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": "11 out of 30 merged PRs checked by a CI test -- score normalized to 3",
"points": 6,
"status": "partial",
"details": [],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "good",
"name": "Documentation",
"note": null,
"notes": [],
"value": 75,
"inputs": {
"topics": [
"fake-data",
"faker",
"golang",
"golang-library",
"testing-library",
"testing-tools"
],
"has_wiki": true,
"homepage": "https://pkg.go.dev/github.com/go-faker/faker/v4",
"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": "https://pkg.go.dev/github.com/go-faker/faker/v4",
"points": 15,
"status": "met",
"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": "6 topics",
"points": 10,
"status": "met",
"details": [
{
"code": "topics_count",
"params": {
"count": 6
}
}
],
"max_points": 10
},
{
"key": "wiki",
"name": "Wiki",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
}
],
"description": "Are baseline engineering and documentation practices in place?"
},
{
"key": "security",
"band": "moderate",
"name": "Security",
"value": 66,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "moderate",
"name": "Security posture",
"note": "Excluded from scoring (no data or not applicable): Packaging, Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"packaging",
"signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 58,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 16,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 2,
"scorecard_aggregate": 5.8
},
"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": "branch protection is not maximal on development and all release branches",
"points": 4.5,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "ci_tests",
"name": "CI-Tests",
"detail": "11 out of 30 merged PRs checked by a CI test -- score normalized to 3",
"points": 0.8,
"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 20/22 approved changesets -- score normalized to 9",
"points": 6.8,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 3 contributing companies or organizations -- score normalized to 10",
"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": "update tool detected",
"points": 7.5,
"status": "met",
"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": "7 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 6",
"points": 4.5,
"status": "partial",
"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": "dependency_advisories",
"band": "excellent",
"name": "Dependency advisories",
"note": "Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories, No advisories left outstanding. Remaining weights renormalized. Matched 1 resolved dependencies against OSV. This repository publishes no package the index resolves, so the repository dependency graph was assessed instead. That graph mixes development and test pins with shipped dependencies, so only the declared runtime dependencies are scored; transitive findings are reported as context and excluded from the score. Reachability is not analyzed.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"indirect_dependencies_free_of_known_advisories",
"no_advisories_left_outstanding"
]
}
},
{
"code": "weights_renormalized",
"params": {}
},
{
"code": "advisories_scope_repository",
"params": {
"assessed": 1
}
},
{
"code": "advisories_repo_graph_caveat",
"params": {}
},
{
"code": "advisories_reachability",
"params": {}
}
],
"value": 100,
"inputs": {
"source": "osv",
"advisories": 0,
"affected_packages": 0,
"assessed_packages": 1,
"unassessed_packages": 0,
"affected_by_severity": "none",
"direct_affected_packages": 0
},
"components": [
{
"key": "direct_dependencies_free_of_known_advisories",
"name": "Direct dependencies free of known advisories",
"detail": "no direct dependency carries a known advisory",
"points": 35,
"status": "met",
"details": [
{
"code": "no_direct_advisories",
"params": {}
}
],
"max_points": 35
},
{
"key": "indirect_dependencies_free_of_known_advisories",
"name": "Indirect dependencies free of known advisories",
"detail": "transitive set not separable from development and test dependencies in this scope",
"points": 0,
"status": "excluded",
"details": [
{
"code": "advisories_scope_not_separable",
"params": {}
}
],
"max_points": 25
},
{
"key": "no_advisories_left_outstanding",
"name": "No advisories left outstanding",
"detail": "no advisory carries a publication date",
"points": 0,
"status": "excluded",
"details": [
{
"code": "advisories_no_publication_date",
"params": {}
}
],
"max_points": 40
}
]
},
{
"key": "malicious_dependencies",
"band": "excellent",
"name": "Malicious dependencies",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"source": "osv",
"meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
"packages": [],
"red_flag": false,
"assessed_packages": 1,
"malicious_packages": 0,
"direct_malicious_packages": 0,
"withdrawn_malicious_packages": 0,
"installable_malicious_packages": 0
},
"components": [
{
"key": "no_dependency_reported_as_a_malicious_package",
"name": "No dependency reported as a malicious package",
"detail": "no dependency is reported as a malicious package",
"points": 100,
"status": "met",
"details": [
{
"code": "no_malicious_dependencies",
"params": {}
}
],
"max_points": 100
}
]
},
{
"key": "high_risk_jurisdiction_exposure",
"band": "excellent",
"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": 100,
"inputs": {
"meaning": "self-published location evidence; not nationality or citizenship",
"red_flag": false,
"exposures": [],
"policy_countries": [
"Russia",
"Iran",
"North Korea"
],
"review_only_matches": 0,
"assessed_self_published_locations": 14
},
"components": [
{
"key": "policy_exposure_multiplier",
"name": "Policy exposure multiplier",
"detail": "no confirmed policy-scope location match",
"points": 100,
"status": "met",
"details": [
{
"code": "jurisdiction_no_match",
"params": {}
}
],
"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": "moderate",
"name": "AI Readiness",
"value": 69,
"weight": 0,
"metrics": [
{
"key": "ai_agent_context",
"band": "at_risk",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 40,
"inputs": {
"has_llms_txt": false,
"legible_history_share": 0.951,
"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": "39 of 41 human commits state their intent (structured subject or explanatory body)",
"points": 40,
"status": "met",
"details": [
{
"code": "legible_history",
"params": {
"legible": 39,
"sampled": 41
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "good",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 80,
"inputs": {
"has_nix": false,
"has_tests": true,
"lockfiles": [
"go.sum"
],
"has_dockerfile": false,
"typed_language": true,
"bootstrap_files": [
"Makefile"
],
"has_devcontainer": false,
"has_linter_config": true,
"typecheck_configs": [],
"agent_commit_share": 0,
"toolchain_manifests": [
"go.mod"
],
"dependency_bot_commit_share": 0.163
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": "Makefile",
"points": 18,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "Makefile"
}
}
],
"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": ".golangci.yaml",
"points": 11,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": ".golangci.yaml"
}
}
],
"max_points": 11
},
{
"key": "static_type_checking",
"name": "Static type checking",
"detail": "Go (statically typed)",
"points": 11,
"status": "met",
"details": [
{
"code": "statically_typed_language",
"params": {
"language": "Go"
}
}
],
"max_points": 11
},
{
"key": "reproducible_environment",
"name": "Reproducible environment",
"detail": "lockfile",
"points": 10,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "lockfile"
}
}
],
"max_points": 10
},
{
"key": "demonstrated_agent_practice",
"name": "Demonstrated agent practice",
"detail": "no agent-authored commits among the last 49",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_agent_authored_commits",
"params": {
"sampled": 49
}
}
],
"max_points": 10
},
{
"key": "automated_maintenance",
"name": "Automated maintenance",
"detail": "8 of the last 49 commits are automated dependency updates",
"points": 8,
"status": "met",
"details": [
{
"code": "dependency_bot_commits",
"params": {
"count": 8,
"sampled": 49
}
}
],
"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": "excellent",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 98,
"inputs": {
"primary_language": "Go",
"largest_source_bytes": 135878,
"source_files_sampled": 45,
"oversized_source_files": 2
},
"components": [
{
"key": "type_checkable_code",
"name": "Type-checkable code",
"detail": "Go (statically typed)",
"points": 45,
"status": "met",
"details": [
{
"code": "statically_typed_language",
"params": {
"language": "Go"
}
}
],
"max_points": 45
},
{
"key": "manageable_file_sizes",
"name": "Manageable file sizes",
"detail": "2/45 source files over 60KB",
"points": 52.6,
"status": "partial",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 45,
"oversized": 2
}
}
],
"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"
],
"report_type": "repository",
"generated_at": "2026-07-26T17:45:12.387653Z",
"schema_version": "0.27.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/g/go-faker/faker.svg",
"full_name": "go-faker/faker",
"license_state": "standard",
"license_spdx": "MIT"
}