{"adoption": {"forks": 94, "observed_at": "2026-08-28T04:04:25.518041+00:00", "stars": 1336}, "canonical_url": "https://ross.abutalabs.com/products/gowrap", "card": {"archived": false, "artifact_type": "cli-tool", "description": "GoWrap is a command line tool for generating decorators for Go interfaces", "domain": ["developer-tools", "backend", "programming-languages"], "enriched": true, "function": ["developer-tools", "cli", "monitoring", "logging"], "health_score": 90, "homepage": null, "language": "Go", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["hexdigest/gowrap"], "name": "hexdigest/gowrap", "platform": ["go", "cli", "cross-platform"], "pushed_at": "2026-07-24T19:56:44+00:00", "repo": "hexdigest/gowrap", "stars": 1336, "tags": ["go", "decorators", "interface-wrapping", "code-generation", "prometheus", "tracing", "fallback", "templates", "command-line"], "topics": ["golang-tools", "golang", "go", "code-generation", "interface", "interfaces", "decorators", "prometheus", "prometheus-metrics", "logrus", "fallback"], "urls": [], "use_cases": ["generate prometheus metrics decorators for go interfaces", "add tracing wrappers to existing go code", "generate fallback decorators for go interfaces", "wrap go interfaces with circuit breaker logic", "generate interface implementations from templates", "add logging decorators to go interfaces"], "what_it_is": "GoWrap is a command line tool that generates decorator implementations for Go interface types using templates. It lets developers quickly add cross-cutting concerns like metrics, tracing, fallbacks, and circuit breaking to existing interfaces.", "when_to_avoid": ["you work outside the Go language", "you need runtime (not compile-time) dynamic proxying or reflection-based wrapping"], "when_to_choose": ["you maintain Go codebases and want to add metrics, tracing, or fallbacks to interfaces without hand-writing boilerplate", "you want template-driven, repeatable code generation integrated with go:generate"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/gowrap", "repo": "hexdigest/gowrap", "role": "main", "score": 69}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:25.518041+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:44:15.583054+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cc0ae470fabd091a9021af3e95ca6e5e1caff5d6189c958757fb9322491a89bb", "fetched_at": "2026-08-28T04:04:25.518041+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hexdigest/gowrap"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:25.518041+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:44:15.583054+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cc0ae470fabd091a9021af3e95ca6e5e1caff5d6189c958757fb9322491a89bb", "fetched_at": "2026-08-28T04:04:25.518041+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hexdigest/gowrap"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:44:15.583054+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cc0ae470fabd091a9021af3e95ca6e5e1caff5d6189c958757fb9322491a89bb", "fetched_at": "2026-08-28T04:04:25.518041+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hexdigest/gowrap"}], "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:04:25.518041+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:25.518041+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:25.518041+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:44:15.583054+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cc0ae470fabd091a9021af3e95ca6e5e1caff5d6189c958757fb9322491a89bb", "fetched_at": "2026-08-28T04:04:25.518041+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hexdigest/gowrap"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:25.518041+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:25.518041+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:44:15.583054+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cc0ae470fabd091a9021af3e95ca6e5e1caff5d6189c958757fb9322491a89bb", "fetched_at": "2026-08-28T04:04:25.518041+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hexdigest/gowrap"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:25.518041+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:25.518041+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:25.518041+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:44:15.583054+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cc0ae470fabd091a9021af3e95ca6e5e1caff5d6189c958757fb9322491a89bb", "fetched_at": "2026-08-28T04:04:25.518041+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hexdigest/gowrap"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:25.518041+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:25.518041+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:44:15.583054+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cc0ae470fabd091a9021af3e95ca6e5e1caff5d6189c958757fb9322491a89bb", "fetched_at": "2026-08-28T04:04:25.518041+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hexdigest/gowrap"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:44:15.583054+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cc0ae470fabd091a9021af3e95ca6e5e1caff5d6189c958757fb9322491a89bb", "fetched_at": "2026-08-28T04:04:25.518041+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hexdigest/gowrap"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:44:15.583054+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cc0ae470fabd091a9021af3e95ca6e5e1caff5d6189c958757fb9322491a89bb", "fetched_at": "2026-08-28T04:04:25.518041+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hexdigest/gowrap"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:44:15.583054+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cc0ae470fabd091a9021af3e95ca6e5e1caff5d6189c958757fb9322491a89bb", "fetched_at": "2026-08-28T04:04:25.518041+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hexdigest/gowrap"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 94, "longevity": 100, "rhythm": 20}, "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": 2909, "days_push": 40, "days_rel": 377, "gap_med": 126.0, "n_releases_24m": 3}, "score": 69, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}