{"adoption": {"forks": 200, "observed_at": "2026-08-28T04:07:43.625680+00:00", "stars": 3102}, "canonical_url": "https://ross.abutalabs.com/products/kube-score", "card": {"archived": false, "artifact_type": "cli-tool", "description": "Kubernetes object analysis with recommendations for improved reliability and security. kube-score actively prevents downtime and bugs in your Kubernetes YAML and Charts. Static code analysis for Kubernetes.", "domain": ["security", "infrastructure-as-code"], "enriched": true, "function": ["linter", "security", "developer-tools", "ci-cd"], "health_score": 82, "homepage": "https://kube-score.com", "language": "Go", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["zegl/kube-score"], "name": "zegl/kube-score", "platform": ["cli", "windows"], "pushed_at": "2026-05-20T13:20:26+00:00", "repo": "zegl/kube-score", "stars": 3102, "tags": ["kubernetes-manifests", "helm-charts", "static-analysis", "reliability", "pod-security", "kubernetes", "devops", "containers", "linux", "macos", "docker"], "topics": ["kubernetes", "linter", "ci", "go", "helm", "charts", "static-code-analysis", "kube-score", "security", "security-scanner", "automation", "kubernetes-monitoring", "analysis", "hacktoberfest", "k8s", "kubernetes-manifests", "static-code-analyzer"], "urls": [], "use_cases": ["lint kubernetes yaml manifests for best practices", "check helm charts for reliability and security issues before deploy", "prevent downtime caused by misconfigured deployments and statefulsets", "run kubernetes manifest analysis in ci pipeline", "verify pods have resource limits probes and poddisruptionbudgets", "detect containers running as root or with privileged security context"], "what_it_is": "kube-score is a static code analysis tool for Kubernetes object definitions that scores manifests and Helm charts against reliability and security best practices. It outputs actionable recommendations such as setting container limits, configuring probes, and avoiding running as root, and integrates easily into CI pipelines.", "when_to_avoid": ["you need runtime security scanning of a live cluster rather than static analysis", "you need policy enforcement with admission control rather than linting"], "when_to_choose": ["you want automated static analysis of kubernetes yaml or helm charts in CI", "you need recommendations for improving reliability and security of manifests", "you want a fast go binary or docker image with no cluster access required"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/kube-score", "repo": "zegl/kube-score", "role": "main", "score": 60}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:43.625680+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:26:59.018488+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "85f0d14f5766a2dc3490b2978b28dc73b4a57b65caf610ffe5263a76cfcc5aa7", "fetched_at": "2026-08-28T04:07:43.625680+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zegl/kube-score"}, {"content_hash": "b8299d29c190fbb998f1667e538061516c732ee1e6235a127ef9e9bcb68947f1", "fetched_at": "2026-08-29T09:42:06.402155+00:00", "kind": "homepage", "missing": false, "url": "https://kube-score.com"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:43.625680+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:26:59.018488+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "85f0d14f5766a2dc3490b2978b28dc73b4a57b65caf610ffe5263a76cfcc5aa7", "fetched_at": "2026-08-28T04:07:43.625680+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zegl/kube-score"}, {"content_hash": "b8299d29c190fbb998f1667e538061516c732ee1e6235a127ef9e9bcb68947f1", "fetched_at": "2026-08-29T09:42:06.402155+00:00", "kind": "homepage", "missing": false, "url": "https://kube-score.com"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:26:59.018488+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "85f0d14f5766a2dc3490b2978b28dc73b4a57b65caf610ffe5263a76cfcc5aa7", "fetched_at": "2026-08-28T04:07:43.625680+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zegl/kube-score"}, {"content_hash": "b8299d29c190fbb998f1667e538061516c732ee1e6235a127ef9e9bcb68947f1", "fetched_at": "2026-08-29T09:42:06.402155+00:00", "kind": "homepage", "missing": false, "url": "https://kube-score.com"}], "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.625680+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:43.625680+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:43.625680+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:26:59.018488+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "85f0d14f5766a2dc3490b2978b28dc73b4a57b65caf610ffe5263a76cfcc5aa7", "fetched_at": "2026-08-28T04:07:43.625680+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zegl/kube-score"}, {"content_hash": "b8299d29c190fbb998f1667e538061516c732ee1e6235a127ef9e9bcb68947f1", "fetched_at": "2026-08-29T09:42:06.402155+00:00", "kind": "homepage", "missing": false, "url": "https://kube-score.com"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:43.625680+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:43.625680+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:26:59.018488+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "85f0d14f5766a2dc3490b2978b28dc73b4a57b65caf610ffe5263a76cfcc5aa7", "fetched_at": "2026-08-28T04:07:43.625680+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zegl/kube-score"}, {"content_hash": "b8299d29c190fbb998f1667e538061516c732ee1e6235a127ef9e9bcb68947f1", "fetched_at": "2026-08-29T09:42:06.402155+00:00", "kind": "homepage", "missing": false, "url": "https://kube-score.com"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:43.625680+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:43.625680+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:43.625680+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:26:59.018488+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "85f0d14f5766a2dc3490b2978b28dc73b4a57b65caf610ffe5263a76cfcc5aa7", "fetched_at": "2026-08-28T04:07:43.625680+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zegl/kube-score"}, {"content_hash": "b8299d29c190fbb998f1667e538061516c732ee1e6235a127ef9e9bcb68947f1", "fetched_at": "2026-08-29T09:42:06.402155+00:00", "kind": "homepage", "missing": false, "url": "https://kube-score.com"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:43.625680+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:43.625680+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:26:59.018488+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "85f0d14f5766a2dc3490b2978b28dc73b4a57b65caf610ffe5263a76cfcc5aa7", "fetched_at": "2026-08-28T04:07:43.625680+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zegl/kube-score"}, {"content_hash": "b8299d29c190fbb998f1667e538061516c732ee1e6235a127ef9e9bcb68947f1", "fetched_at": "2026-08-29T09:42:06.402155+00:00", "kind": "homepage", "missing": false, "url": "https://kube-score.com"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:26:59.018488+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "85f0d14f5766a2dc3490b2978b28dc73b4a57b65caf610ffe5263a76cfcc5aa7", "fetched_at": "2026-08-28T04:07:43.625680+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zegl/kube-score"}, {"content_hash": "b8299d29c190fbb998f1667e538061516c732ee1e6235a127ef9e9bcb68947f1", "fetched_at": "2026-08-29T09:42:06.402155+00:00", "kind": "homepage", "missing": false, "url": "https://kube-score.com"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:26:59.018488+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "85f0d14f5766a2dc3490b2978b28dc73b4a57b65caf610ffe5263a76cfcc5aa7", "fetched_at": "2026-08-28T04:07:43.625680+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zegl/kube-score"}, {"content_hash": "b8299d29c190fbb998f1667e538061516c732ee1e6235a127ef9e9bcb68947f1", "fetched_at": "2026-08-29T09:42:06.402155+00:00", "kind": "homepage", "missing": false, "url": "https://kube-score.com"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:26:59.018488+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "85f0d14f5766a2dc3490b2978b28dc73b4a57b65caf610ffe5263a76cfcc5aa7", "fetched_at": "2026-08-28T04:07:43.625680+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zegl/kube-score"}, {"content_hash": "b8299d29c190fbb998f1667e538061516c732ee1e6235a127ef9e9bcb68947f1", "fetched_at": "2026-08-29T09:42:06.402155+00:00", "kind": "homepage", "missing": false, "url": "https://kube-score.com"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 83, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2908, "days_push": 105, "days_rel": 492, "gap_med": 209, "n_releases_24m": 2}, "score": 60, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}