{"adoption": {"forks": 701, "observed_at": "2026-08-28T04:06:59.513652+00:00", "stars": 2543}, "canonical_url": "https://ross.abutalabs.com/products/source-to-image", "card": {"archived": false, "artifact_type": "cli-tool", "description": "A tool for building artifacts from source and injecting into container images", "domain": ["cloud-computing", "developer-tools"], "enriched": true, "function": ["build-tool", "container-runtime", "deployment", "developer-tools"], "health_score": 100, "homepage": null, "language": "Go", "license": "Apache-2.0", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["openshift/source-to-image"], "name": "openshift/source-to-image", "platform": ["windows", "go", "cli"], "pushed_at": "2026-08-26T02:06:12+00:00", "repo": "openshift/source-to-image", "stars": 2543, "tags": ["source-to-image", "s2i", "builder-images", "openshift", "container-images", "reproducible-builds", "devops", "containers", "linux", "macos", "docker"], "topics": [], "urls": [], "use_cases": ["build a container image from a git repo without a Dockerfile", "create reusable builder images for my team's build environments", "build slim runtime images by compiling in one image and copying artifacts to another", "reproduce the same build environment across CI and local development", "turn a Python or Node app repo into a runnable docker image in one command"], "what_it_is": "Source-to-Image (S2I) is a Go toolkit and CLI for building reproducible container images directly from source code without writing a Dockerfile. It injects source into builder images that assemble ready-to-run images, supporting multi-step builds for compiled languages.", "when_to_avoid": ["you prefer explicit Dockerfiles and full control over build steps", "your stack is already well served by Docker multi-stage builds or BuildKit", "you need general-purpose CI pipelines beyond image building"], "when_to_choose": ["you use OpenShift or want Dockerfile-less reproducible image builds", "you want to version and share standardized build environments as builder images", "you need multi-stage builds for compiled languages with slim runtime images"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/source-to-image", "repo": "openshift/source-to-image", "role": "main", "score": 93}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:59.513652+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:25:05.802978+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8203ff03a5d08277c6816b5040698d7f76c9fbb39911a6816e9b1745792f5e11", "fetched_at": "2026-08-28T04:06:59.513652+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openshift/source-to-image"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:59.513652+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:25:05.802978+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8203ff03a5d08277c6816b5040698d7f76c9fbb39911a6816e9b1745792f5e11", "fetched_at": "2026-08-28T04:06:59.513652+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openshift/source-to-image"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:25:05.802978+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8203ff03a5d08277c6816b5040698d7f76c9fbb39911a6816e9b1745792f5e11", "fetched_at": "2026-08-28T04:06:59.513652+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openshift/source-to-image"}], "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:06:59.513652+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:59.513652+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:59.513652+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:25:05.802978+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8203ff03a5d08277c6816b5040698d7f76c9fbb39911a6816e9b1745792f5e11", "fetched_at": "2026-08-28T04:06:59.513652+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openshift/source-to-image"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:59.513652+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:59.513652+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:25:05.802978+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8203ff03a5d08277c6816b5040698d7f76c9fbb39911a6816e9b1745792f5e11", "fetched_at": "2026-08-28T04:06:59.513652+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openshift/source-to-image"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:59.513652+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:59.513652+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:59.513652+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:25:05.802978+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8203ff03a5d08277c6816b5040698d7f76c9fbb39911a6816e9b1745792f5e11", "fetched_at": "2026-08-28T04:06:59.513652+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openshift/source-to-image"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:59.513652+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:59.513652+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:25:05.802978+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8203ff03a5d08277c6816b5040698d7f76c9fbb39911a6816e9b1745792f5e11", "fetched_at": "2026-08-28T04:06:59.513652+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openshift/source-to-image"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:25:05.802978+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8203ff03a5d08277c6816b5040698d7f76c9fbb39911a6816e9b1745792f5e11", "fetched_at": "2026-08-28T04:06:59.513652+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openshift/source-to-image"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:25:05.802978+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8203ff03a5d08277c6816b5040698d7f76c9fbb39911a6816e9b1745792f5e11", "fetched_at": "2026-08-28T04:06:59.513652+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openshift/source-to-image"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:25:05.802978+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8203ff03a5d08277c6816b5040698d7f76c9fbb39911a6816e9b1745792f5e11", "fetched_at": "2026-08-28T04:06:59.513652+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openshift/source-to-image"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 82}, "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": 4600, "days_push": 8, "days_rel": 41, "gap_med": 84, "n_releases_24m": 6}, "score": 93, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}