{"adoption": {"forks": 283, "observed_at": "2026-08-28T04:07:43.760707+00:00", "stars": 3106}, "canonical_url": "https://ross.abutalabs.com/products/mergo", "card": {"archived": false, "artifact_type": "library", "description": "Mergo: merging Go structs and maps since 2013", "domain": ["developer-tools", "backend"], "enriched": true, "function": ["serialization", "developer-tools"], "health_score": 92, "homepage": null, "language": "Go", "license": "BSD-3-Clause", "license_family": "permissive", "maturity": "stable", "member_repos": ["darccio/mergo"], "name": "darccio/mergo", "platform": ["go", "cross-platform"], "pushed_at": "2026-08-24T21:54:37+00:00", "repo": "darccio/mergo", "stars": 3106, "tags": ["struct-merging", "map-merging", "default-values", "reflection", "configuration"], "topics": ["go", "structures", "merge", "mapping", "golang", "hacktoberfest"], "urls": [], "use_cases": ["merge default values into a Go config struct", "fill zero-value fields of a struct from another struct", "deep merge two maps in Go", "avoid messy if-statements when applying config defaults", "overlay user settings on top of defaults"], "what_it_is": "Mergo is a Go library that merges same-type structs and maps by setting default values in zero-value fields using reflection. It has been stable since 2013 and is widely used in production, though it is frozen with no new features accepted.", "when_to_avoid": ["you need to merge unexported (private) fields", "you need to merge structs inside maps", "you need new features or ongoing development, since the library is frozen", "you are not working in Go"], "when_to_choose": ["you need recursive merging of exported struct fields or maps in Go", "you want a battle-tested, production-ready library for setting default values", "you need a small dependency with a stable, frozen API"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/mergo", "repo": "darccio/mergo", "role": "main", "score": 67}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:43.760707+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:46:00.721075+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b438d695e52d8a03efc2ca94633116fbe2a6644471ebde4c6a91ec5fd8cf65df", "fetched_at": "2026-08-28T04:07:43.760707+00:00", "kind": "readme", "missing": false, "url": "https://github.com/darccio/mergo"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:43.760707+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:46:00.721075+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b438d695e52d8a03efc2ca94633116fbe2a6644471ebde4c6a91ec5fd8cf65df", "fetched_at": "2026-08-28T04:07:43.760707+00:00", "kind": "readme", "missing": false, "url": "https://github.com/darccio/mergo"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:46:00.721075+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b438d695e52d8a03efc2ca94633116fbe2a6644471ebde4c6a91ec5fd8cf65df", "fetched_at": "2026-08-28T04:07:43.760707+00:00", "kind": "readme", "missing": false, "url": "https://github.com/darccio/mergo"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:07:43.760707+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:43.760707+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:43.760707+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:46:00.721075+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b438d695e52d8a03efc2ca94633116fbe2a6644471ebde4c6a91ec5fd8cf65df", "fetched_at": "2026-08-28T04:07:43.760707+00:00", "kind": "readme", "missing": false, "url": "https://github.com/darccio/mergo"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:43.760707+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:43.760707+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:46:00.721075+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b438d695e52d8a03efc2ca94633116fbe2a6644471ebde4c6a91ec5fd8cf65df", "fetched_at": "2026-08-28T04:07:43.760707+00:00", "kind": "readme", "missing": false, "url": "https://github.com/darccio/mergo"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:43.760707+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:43.760707+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:43.760707+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:46:00.721075+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b438d695e52d8a03efc2ca94633116fbe2a6644471ebde4c6a91ec5fd8cf65df", "fetched_at": "2026-08-28T04:07:43.760707+00:00", "kind": "readme", "missing": false, "url": "https://github.com/darccio/mergo"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:43.760707+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:43.760707+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:46:00.721075+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b438d695e52d8a03efc2ca94633116fbe2a6644471ebde4c6a91ec5fd8cf65df", "fetched_at": "2026-08-28T04:07:43.760707+00:00", "kind": "readme", "missing": false, "url": "https://github.com/darccio/mergo"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:46:00.721075+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b438d695e52d8a03efc2ca94633116fbe2a6644471ebde4c6a91ec5fd8cf65df", "fetched_at": "2026-08-28T04:07:43.760707+00:00", "kind": "readme", "missing": false, "url": "https://github.com/darccio/mergo"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:46:00.721075+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b438d695e52d8a03efc2ca94633116fbe2a6644471ebde4c6a91ec5fd8cf65df", "fetched_at": "2026-08-28T04:07:43.760707+00:00", "kind": "readme", "missing": false, "url": "https://github.com/darccio/mergo"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:46:00.721075+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b438d695e52d8a03efc2ca94633116fbe2a6644471ebde4c6a91ec5fd8cf65df", "fetched_at": "2026-08-28T04:07:43.760707+00:00", "kind": "readme", "missing": false, "url": "https://github.com/darccio/mergo"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4923, "days_push": 9, "days_rel": 483, "gap_med": null, "n_releases_24m": 1}, "score": 67, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}