{"adoption": {"forks": 95, "observed_at": "2026-08-28T04:08:28.582766+00:00", "stars": 3900}, "canonical_url": "https://ross.abutalabs.com/products/nilaway", "card": {"archived": false, "artifact_type": "cli-tool", "description": "Static analysis tool to detect potential nil panics in Go code", "domain": ["developer-tools", "programming-languages"], "enriched": true, "function": ["linter", "developer-tools"], "health_score": 79, "homepage": null, "language": "Go", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["uber-go/nilaway"], "name": "uber-go/nilaway", "platform": ["go", "cli"], "pushed_at": "2026-08-20T21:54:36+00:00", "repo": "uber-go/nilaway", "stars": 3900, "tags": ["static-analysis", "nilability", "nil-pointer-detection", "panic-prevention", "null-safety", "golangci-lint", "nogo", "go-compiler-analysis", "code-quality", "uber"], "topics": ["go", "static-analysis", "nilability", "nilability-analysis", "nil-pointer"], "urls": [], "use_cases": ["catch nil pointer panics in go code before they hit production", "detect nil dereference bugs at compile time", "static analysis for nil safety in go", "lint go code for nilability issues without annotations", "find null pointer errors in a large golang codebase", "add nil panic checking to golangci-lint"], "what_it_is": "NilAway is a static analysis tool from Uber that detects potential nil pointer panics in Go code at compile time rather than runtime. It uses automated inference (no annotations required) to track nil flows within and across packages, and integrates with golangci-lint, nogo, or runs as a standalone checker via the go/analysis framework.", "when_to_avoid": ["you need zero false positives - the tool is under active development and false positives and breaking changes can occur", "you want an exhaustive guarantee of catching every possible nil panic - it deliberately balances usefulness against overhead", "you are not working in Go"], "when_to_choose": ["you maintain a large Go codebase and want fast, scalable nilness checking with under 5% build-time overhead", "you want fully automated nilability analysis without writing annotations", "you already use golangci-lint or nogo and want to add nil panic detection to your pipeline"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/nilaway", "repo": "uber-go/nilaway", "role": "main", "score": 73}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:28.582766+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:25:33.559695+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5b58ff4c2927bbff772063ee20bd7fc3da2c373780748c268eb9b547fe50793c", "fetched_at": "2026-08-28T04:08:28.582766+00:00", "kind": "readme", "missing": false, "url": "https://github.com/uber-go/nilaway"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:28.582766+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:25:33.559695+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5b58ff4c2927bbff772063ee20bd7fc3da2c373780748c268eb9b547fe50793c", "fetched_at": "2026-08-28T04:08:28.582766+00:00", "kind": "readme", "missing": false, "url": "https://github.com/uber-go/nilaway"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:25:33.559695+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5b58ff4c2927bbff772063ee20bd7fc3da2c373780748c268eb9b547fe50793c", "fetched_at": "2026-08-28T04:08:28.582766+00:00", "kind": "readme", "missing": false, "url": "https://github.com/uber-go/nilaway"}], "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:08:28.582766+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:28.582766+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:28.582766+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:25:33.559695+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5b58ff4c2927bbff772063ee20bd7fc3da2c373780748c268eb9b547fe50793c", "fetched_at": "2026-08-28T04:08:28.582766+00:00", "kind": "readme", "missing": false, "url": "https://github.com/uber-go/nilaway"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:28.582766+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:28.582766+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:25:33.559695+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5b58ff4c2927bbff772063ee20bd7fc3da2c373780748c268eb9b547fe50793c", "fetched_at": "2026-08-28T04:08:28.582766+00:00", "kind": "readme", "missing": false, "url": "https://github.com/uber-go/nilaway"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:28.582766+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:28.582766+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:28.582766+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:25:33.559695+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5b58ff4c2927bbff772063ee20bd7fc3da2c373780748c268eb9b547fe50793c", "fetched_at": "2026-08-28T04:08:28.582766+00:00", "kind": "readme", "missing": false, "url": "https://github.com/uber-go/nilaway"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:28.582766+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:28.582766+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:25:33.559695+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5b58ff4c2927bbff772063ee20bd7fc3da2c373780748c268eb9b547fe50793c", "fetched_at": "2026-08-28T04:08:28.582766+00:00", "kind": "readme", "missing": false, "url": "https://github.com/uber-go/nilaway"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:25:33.559695+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5b58ff4c2927bbff772063ee20bd7fc3da2c373780748c268eb9b547fe50793c", "fetched_at": "2026-08-28T04:08:28.582766+00:00", "kind": "readme", "missing": false, "url": "https://github.com/uber-go/nilaway"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:25:33.559695+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5b58ff4c2927bbff772063ee20bd7fc3da2c373780748c268eb9b547fe50793c", "fetched_at": "2026-08-28T04:08:28.582766+00:00", "kind": "readme", "missing": false, "url": "https://github.com/uber-go/nilaway"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:25:33.559695+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5b58ff4c2927bbff772063ee20bd7fc3da2c373780748c268eb9b547fe50793c", "fetched_at": "2026-08-28T04:08:28.582766+00:00", "kind": "readme", "missing": false, "url": "https://github.com/uber-go/nilaway"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 98, "longevity": 82, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1149, "days_push": 13, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 73, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}