{"adoption": {"forks": 486, "observed_at": "2026-08-28T04:09:02.804957+00:00", "stars": 4940}, "canonical_url": "https://ross.abutalabs.com/products/dockerode", "card": {"archived": false, "artifact_type": "library", "description": "Docker + Node = Dockerode (Node.js module for Docker's Remote API)", "domain": ["developer-tools"], "enriched": true, "function": ["http-client", "developer-tools", "container-runtime"], "health_score": 97, "homepage": null, "language": "JavaScript", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["apocas/dockerode"], "name": "apocas/dockerode", "platform": ["cross-platform"], "pushed_at": "2026-08-10T23:11:42+00:00", "repo": "apocas/dockerode", "stars": 4940, "tags": ["docker-api", "docker-client", "containers", "nodejs", "remote-api", "streaming", "devops", "automation", "docker"], "topics": ["javascript", "docker", "nodejs", "node", "moby"], "urls": [], "use_cases": ["programmatically manage Docker containers from Node.js", "run commands inside containers like docker run via code", "build custom container orchestration tooling in JavaScript", "stream and demultiplex container logs and output", "inspect and manage Docker images through the Engine API", "integrate Docker lifecycle management into CI or automation scripts"], "what_it_is": "dockerode is a Node.js client library for Docker's Remote API, providing entity-based interfaces for containers, images, and execs with full stream support and demultiplexing. It supports callback and promise-based interfaces and covers the complete Docker Engine API surface.", "when_to_avoid": ["you use a language other than JavaScript/Node.js", "you only need docker-compose functionality and prefer a dedicated tool", "you want a high-level orchestration abstraction rather than a thin API client", "you are managing Kubernetes or non-Docker container runtimes"], "when_to_choose": ["you need a mature, feature-complete Node.js client for the Docker Engine API", "you need raw access to Docker API streams without abstraction loss", "you want entity-oriented container/image/exec objects rather than raw HTTP calls", "you need both callback and promise interfaces"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/dockerode", "repo": "apocas/dockerode", "role": "main", "score": 91}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.804957+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:17:55.411447+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "236ebe1f4daeba03e01e07dad843a57a91ed6c609f8e57cf7fe9c71a15f295c2", "fetched_at": "2026-08-28T04:09:02.804957+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apocas/dockerode"}, {"content_hash": "eb6e76a3b1de3b9e0b27ab350db24f17d7beee414318fd68176d8fcdf84f1152", "fetched_at": "2026-08-29T08:59:47.429075+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/dockerode"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.804957+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:17:55.411447+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "236ebe1f4daeba03e01e07dad843a57a91ed6c609f8e57cf7fe9c71a15f295c2", "fetched_at": "2026-08-28T04:09:02.804957+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apocas/dockerode"}, {"content_hash": "eb6e76a3b1de3b9e0b27ab350db24f17d7beee414318fd68176d8fcdf84f1152", "fetched_at": "2026-08-29T08:59:47.429075+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/dockerode"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:17:55.411447+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "236ebe1f4daeba03e01e07dad843a57a91ed6c609f8e57cf7fe9c71a15f295c2", "fetched_at": "2026-08-28T04:09:02.804957+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apocas/dockerode"}, {"content_hash": "eb6e76a3b1de3b9e0b27ab350db24f17d7beee414318fd68176d8fcdf84f1152", "fetched_at": "2026-08-29T08:59:47.429075+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/dockerode"}], "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:09:02.804957+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.804957+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.804957+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:17:55.411447+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "236ebe1f4daeba03e01e07dad843a57a91ed6c609f8e57cf7fe9c71a15f295c2", "fetched_at": "2026-08-28T04:09:02.804957+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apocas/dockerode"}, {"content_hash": "eb6e76a3b1de3b9e0b27ab350db24f17d7beee414318fd68176d8fcdf84f1152", "fetched_at": "2026-08-29T08:59:47.429075+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/dockerode"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.804957+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.804957+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:17:55.411447+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "236ebe1f4daeba03e01e07dad843a57a91ed6c609f8e57cf7fe9c71a15f295c2", "fetched_at": "2026-08-28T04:09:02.804957+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apocas/dockerode"}, {"content_hash": "eb6e76a3b1de3b9e0b27ab350db24f17d7beee414318fd68176d8fcdf84f1152", "fetched_at": "2026-08-29T08:59:47.429075+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/dockerode"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.804957+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.804957+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.804957+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:17:55.411447+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "236ebe1f4daeba03e01e07dad843a57a91ed6c609f8e57cf7fe9c71a15f295c2", "fetched_at": "2026-08-28T04:09:02.804957+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apocas/dockerode"}, {"content_hash": "eb6e76a3b1de3b9e0b27ab350db24f17d7beee414318fd68176d8fcdf84f1152", "fetched_at": "2026-08-29T08:59:47.429075+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/dockerode"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.804957+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.804957+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:17:55.411447+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "236ebe1f4daeba03e01e07dad843a57a91ed6c609f8e57cf7fe9c71a15f295c2", "fetched_at": "2026-08-28T04:09:02.804957+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apocas/dockerode"}, {"content_hash": "eb6e76a3b1de3b9e0b27ab350db24f17d7beee414318fd68176d8fcdf84f1152", "fetched_at": "2026-08-29T08:59:47.429075+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/dockerode"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:17:55.411447+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "236ebe1f4daeba03e01e07dad843a57a91ed6c609f8e57cf7fe9c71a15f295c2", "fetched_at": "2026-08-28T04:09:02.804957+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apocas/dockerode"}, {"content_hash": "eb6e76a3b1de3b9e0b27ab350db24f17d7beee414318fd68176d8fcdf84f1152", "fetched_at": "2026-08-29T08:59:47.429075+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/dockerode"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:17:55.411447+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "236ebe1f4daeba03e01e07dad843a57a91ed6c609f8e57cf7fe9c71a15f295c2", "fetched_at": "2026-08-28T04:09:02.804957+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apocas/dockerode"}, {"content_hash": "eb6e76a3b1de3b9e0b27ab350db24f17d7beee414318fd68176d8fcdf84f1152", "fetched_at": "2026-08-29T08:59:47.429075+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/dockerode"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:17:55.411447+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "236ebe1f4daeba03e01e07dad843a57a91ed6c609f8e57cf7fe9c71a15f295c2", "fetched_at": "2026-08-28T04:09:02.804957+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apocas/dockerode"}, {"content_hash": "eb6e76a3b1de3b9e0b27ab350db24f17d7beee414318fd68176d8fcdf84f1152", "fetched_at": "2026-08-29T08:59:47.429075+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/dockerode"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 97, "longevity": 100, "rhythm": 78}, "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": 4752, "days_push": 23, "days_rel": 70, "gap_med": 47, "n_releases_24m": 10}, "score": 91, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}