{"adoption": {"forks": 2139, "observed_at": "2026-08-28T04:10:12.618078+00:00", "stars": 8088}, "canonical_url": "https://ross.abutalabs.com/products/spec", "card": {"archived": false, "artifact_type": "library", "description": "The Score Specification provides a developer-centric and platform-agnostic Workload specification to improve developer productivity and experience. It eliminates configuration inconsistencies between environments.", "domain": ["developer-tools", "cloud-computing"], "enriched": true, "function": ["configuration-management", "developer-tools", "deployment", "microservices"], "health_score": 96, "homepage": "https://score.dev/", "language": "Makefile", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["score-spec/spec"], "name": "score-spec/spec", "platform": ["cloud", "cross-platform"], "pushed_at": "2026-07-27T01:43:12+00:00", "repo": "score-spec/spec", "stars": 8088, "tags": ["workload-specification", "platform-agnostic", "cncf-sandbox", "yaml-spec", "cloud-native", "portable-configuration", "devops", "containers", "automation", "docker", "kubernetes"], "topics": [], "urls": [], "use_cases": ["define workload configuration once and deploy to both docker compose and kubernetes", "eliminate config drift between local and production environments", "avoid writing kubernetes yaml for simple app deployments", "declare resource dependencies like postgres databases in a vendor-neutral way", "reduce yaml bloat from environment-specific config files", "transition workloads from local development to cloud run or fly.io"], "what_it_is": "Score is an open-source, platform-agnostic workload specification (a YAML schema, score.yaml) for describing container-based workloads and their resource dependencies in a vendor-neutral way. It is a CNCF Sandbox project that lets developers define a workload once and translate it to platforms like Docker Compose, Kubernetes, Helm, Fly.io, or Google Cloud Run via Score implementations.", "when_to_avoid": ["you need fine-grained, platform-specific Kubernetes features beyond workload-level properties", "you deploy to only one platform and already have stable config there", "you need a fully featured replacement for all platform YAML constructs"], "when_to_choose": ["you deploy the same workload to multiple platforms and want a single source of truth", "you want to separate developer-owned workload config from platform-owned infrastructure config", "your team struggles with inconsistent configuration across local and remote environments"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/spec", "repo": "score-spec/spec", "role": "main", "score": 88}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:10:12.618078+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T08:09:43.264636+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7bd3c6e7d6daad3f89c3d3b4709806e3199e21b0657bc832334ff3ad1ac1a3f5", "fetched_at": "2026-08-28T04:10:12.618078+00:00", "kind": "readme", "missing": false, "url": "https://github.com/score-spec/spec"}, {"content_hash": "8a1749d9d21d290809120c2493a1e777ae946ff2a42a2ab2b079f28595bf614b", "fetched_at": "2026-08-29T08:28:50.681285+00:00", "kind": "homepage", "missing": false, "url": "https://score.dev/"}, {"content_hash": "a339a74d6f6d7fc011d62332e75596ec38b9e5cff554a34a25ff562d716cc611", "fetched_at": "2026-08-29T08:28:50.691119+00:00", "kind": "site_page", "missing": false, "url": "https://docs.score.dev/docs"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:10:12.618078+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T08:09:43.264636+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7bd3c6e7d6daad3f89c3d3b4709806e3199e21b0657bc832334ff3ad1ac1a3f5", "fetched_at": "2026-08-28T04:10:12.618078+00:00", "kind": "readme", "missing": false, "url": "https://github.com/score-spec/spec"}, {"content_hash": "8a1749d9d21d290809120c2493a1e777ae946ff2a42a2ab2b079f28595bf614b", "fetched_at": "2026-08-29T08:28:50.681285+00:00", "kind": "homepage", "missing": false, "url": "https://score.dev/"}, {"content_hash": "a339a74d6f6d7fc011d62332e75596ec38b9e5cff554a34a25ff562d716cc611", "fetched_at": "2026-08-29T08:28:50.691119+00:00", "kind": "site_page", "missing": false, "url": "https://docs.score.dev/docs"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T08:09:43.264636+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7bd3c6e7d6daad3f89c3d3b4709806e3199e21b0657bc832334ff3ad1ac1a3f5", "fetched_at": "2026-08-28T04:10:12.618078+00:00", "kind": "readme", "missing": false, "url": "https://github.com/score-spec/spec"}, {"content_hash": "8a1749d9d21d290809120c2493a1e777ae946ff2a42a2ab2b079f28595bf614b", "fetched_at": "2026-08-29T08:28:50.681285+00:00", "kind": "homepage", "missing": false, "url": "https://score.dev/"}, {"content_hash": "a339a74d6f6d7fc011d62332e75596ec38b9e5cff554a34a25ff562d716cc611", "fetched_at": "2026-08-29T08:28:50.691119+00:00", "kind": "site_page", "missing": false, "url": "https://docs.score.dev/docs"}], "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:10:12.618078+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:10:12.618078+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:10:12.618078+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T08:09:43.264636+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7bd3c6e7d6daad3f89c3d3b4709806e3199e21b0657bc832334ff3ad1ac1a3f5", "fetched_at": "2026-08-28T04:10:12.618078+00:00", "kind": "readme", "missing": false, "url": "https://github.com/score-spec/spec"}, {"content_hash": "8a1749d9d21d290809120c2493a1e777ae946ff2a42a2ab2b079f28595bf614b", "fetched_at": "2026-08-29T08:28:50.681285+00:00", "kind": "homepage", "missing": false, "url": "https://score.dev/"}, {"content_hash": "a339a74d6f6d7fc011d62332e75596ec38b9e5cff554a34a25ff562d716cc611", "fetched_at": "2026-08-29T08:28:50.691119+00:00", "kind": "site_page", "missing": false, "url": "https://docs.score.dev/docs"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:10:12.618078+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:10:12.618078+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T08:09:43.264636+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7bd3c6e7d6daad3f89c3d3b4709806e3199e21b0657bc832334ff3ad1ac1a3f5", "fetched_at": "2026-08-28T04:10:12.618078+00:00", "kind": "readme", "missing": false, "url": "https://github.com/score-spec/spec"}, {"content_hash": "8a1749d9d21d290809120c2493a1e777ae946ff2a42a2ab2b079f28595bf614b", "fetched_at": "2026-08-29T08:28:50.681285+00:00", "kind": "homepage", "missing": false, "url": "https://score.dev/"}, {"content_hash": "a339a74d6f6d7fc011d62332e75596ec38b9e5cff554a34a25ff562d716cc611", "fetched_at": "2026-08-29T08:28:50.691119+00:00", "kind": "site_page", "missing": false, "url": "https://docs.score.dev/docs"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:10:12.618078+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:10:12.618078+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:10:12.618078+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T08:09:43.264636+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7bd3c6e7d6daad3f89c3d3b4709806e3199e21b0657bc832334ff3ad1ac1a3f5", "fetched_at": "2026-08-28T04:10:12.618078+00:00", "kind": "readme", "missing": false, "url": "https://github.com/score-spec/spec"}, {"content_hash": "8a1749d9d21d290809120c2493a1e777ae946ff2a42a2ab2b079f28595bf614b", "fetched_at": "2026-08-29T08:28:50.681285+00:00", "kind": "homepage", "missing": false, "url": "https://score.dev/"}, {"content_hash": "a339a74d6f6d7fc011d62332e75596ec38b9e5cff554a34a25ff562d716cc611", "fetched_at": "2026-08-29T08:28:50.691119+00:00", "kind": "site_page", "missing": false, "url": "https://docs.score.dev/docs"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:10:12.618078+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:10:12.618078+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T08:09:43.264636+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7bd3c6e7d6daad3f89c3d3b4709806e3199e21b0657bc832334ff3ad1ac1a3f5", "fetched_at": "2026-08-28T04:10:12.618078+00:00", "kind": "readme", "missing": false, "url": "https://github.com/score-spec/spec"}, {"content_hash": "8a1749d9d21d290809120c2493a1e777ae946ff2a42a2ab2b079f28595bf614b", "fetched_at": "2026-08-29T08:28:50.681285+00:00", "kind": "homepage", "missing": false, "url": "https://score.dev/"}, {"content_hash": "a339a74d6f6d7fc011d62332e75596ec38b9e5cff554a34a25ff562d716cc611", "fetched_at": "2026-08-29T08:28:50.691119+00:00", "kind": "site_page", "missing": false, "url": "https://docs.score.dev/docs"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T08:09:43.264636+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7bd3c6e7d6daad3f89c3d3b4709806e3199e21b0657bc832334ff3ad1ac1a3f5", "fetched_at": "2026-08-28T04:10:12.618078+00:00", "kind": "readme", "missing": false, "url": "https://github.com/score-spec/spec"}, {"content_hash": "8a1749d9d21d290809120c2493a1e777ae946ff2a42a2ab2b079f28595bf614b", "fetched_at": "2026-08-29T08:28:50.681285+00:00", "kind": "homepage", "missing": false, "url": "https://score.dev/"}, {"content_hash": "a339a74d6f6d7fc011d62332e75596ec38b9e5cff554a34a25ff562d716cc611", "fetched_at": "2026-08-29T08:28:50.691119+00:00", "kind": "site_page", "missing": false, "url": "https://docs.score.dev/docs"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T08:09:43.264636+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7bd3c6e7d6daad3f89c3d3b4709806e3199e21b0657bc832334ff3ad1ac1a3f5", "fetched_at": "2026-08-28T04:10:12.618078+00:00", "kind": "readme", "missing": false, "url": "https://github.com/score-spec/spec"}, {"content_hash": "8a1749d9d21d290809120c2493a1e777ae946ff2a42a2ab2b079f28595bf614b", "fetched_at": "2026-08-29T08:28:50.681285+00:00", "kind": "homepage", "missing": false, "url": "https://score.dev/"}, {"content_hash": "a339a74d6f6d7fc011d62332e75596ec38b9e5cff554a34a25ff562d716cc611", "fetched_at": "2026-08-29T08:28:50.691119+00:00", "kind": "site_page", "missing": false, "url": "https://docs.score.dev/docs"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T08:09:43.264636+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7bd3c6e7d6daad3f89c3d3b4709806e3199e21b0657bc832334ff3ad1ac1a3f5", "fetched_at": "2026-08-28T04:10:12.618078+00:00", "kind": "readme", "missing": false, "url": "https://github.com/score-spec/spec"}, {"content_hash": "8a1749d9d21d290809120c2493a1e777ae946ff2a42a2ab2b079f28595bf614b", "fetched_at": "2026-08-29T08:28:50.681285+00:00", "kind": "homepage", "missing": false, "url": "https://score.dev/"}, {"content_hash": "a339a74d6f6d7fc011d62332e75596ec38b9e5cff554a34a25ff562d716cc611", "fetched_at": "2026-08-29T08:28:50.691119+00:00", "kind": "site_page", "missing": false, "url": "https://docs.score.dev/docs"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 94, "longevity": 100, "rhythm": 73}, "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": 1402, "days_push": 38, "days_rel": 100, "gap_med": 71.0, "n_releases_24m": 5}, "score": 88, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}