{"adoption": {"forks": 1013, "observed_at": "2026-08-28T04:09:34.020351+00:00", "stars": 5991}, "canonical_url": "https://ross.abutalabs.com/products/node-serialport", "card": {"archived": false, "artifact_type": "library", "description": "Access serial ports with JavaScript. Linux, OSX and Windows. Welcome your robotic JavaScript overlords. Better yet, program them!", "domain": ["iot", "hardware", "robotics", "developer-tools", "cross-platform"], "enriched": true, "function": ["sdk", "file-system", "parser", "testing"], "health_score": 68, "homepage": "https://serialport.io", "language": "TypeScript", "license": "MIT", "license_family": "permissive", "maturity": "stable", "member_repos": ["serialport/node-serialport"], "name": "serialport/node-serialport", "platform": ["windows", "cross-platform"], "pushed_at": "2026-01-17T04:34:43+00:00", "repo": "serialport/node-serialport", "stars": 5991, "tags": ["serial-port", "nodebots", "arduino", "hardware-access", "stream-api", "typescript", "mock-bindings", "nodejs", "linux", "macos", "electron"], "topics": ["javascript", "serialport", "robot", "nodebots", "iot", "nodejs", "serial-ports", "promise", "hardware", "electron", "serial", "node-serialport"], "urls": [], "use_cases": ["talk to an Arduino from JavaScript", "read data from a serial device in Node.js", "build a NodeBot or robot controller", "create an Electron desktop app that communicates with hardware", "parse binary serial data into messages", "test serial communication with a mock binding", "diagnose or control devices over RS-232/USB serial"], "what_it_is": "Node SerialPort is a JavaScript/TypeScript library for reading from and writing to serial ports in Node.js and Electron. It provides cross-platform bindings for Linux, macOS, and Windows, a Node Stream interface, and parser packages for turning raw binary data into usable messages.", "when_to_avoid": ["you need serial access in the browser without Electron", "your project is in Python, C, or another non-JavaScript language", "you need Bluetooth, USB HID, or other non-serial device protocols"], "when_to_choose": ["you need serial port access from Node.js or Electron on Linux, macOS, or Windows", "you're building robotics, IoT, or hardware projects in JavaScript", "you want a stream-based API with pluggable parsers and mock bindings for testing"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/node-serialport", "repo": "serialport/node-serialport", "role": "main", "score": 51}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:34.020351+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:49:51.683852+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "75460064ac413b31b1b0f2fc1489f5c20d01cd115018ed7973ce72c4d32cfd31", "fetched_at": "2026-08-28T04:09:34.020351+00:00", "kind": "readme", "missing": false, "url": "https://github.com/serialport/node-serialport"}, {"content_hash": "d7a7f29ae3c96607f82b4736f91d4084bf50ec9292d83199917381ea8c00fd3c", "fetched_at": "2026-08-29T08:46:11.442272+00:00", "kind": "homepage", "missing": false, "url": "https://serialport.io"}, {"content_hash": "45d1d897e13863b4062d912860f0560ace10552bd6eb2fde609ddb8fdee975ea", "fetched_at": "2026-08-29T08:46:11.450899+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs"}, {"content_hash": "5d8170d73f3319bebae60832412ed643cb0a4d08eee124761a2586757e04fd75", "fetched_at": "2026-08-29T08:46:11.453329+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/next"}, {"content_hash": "c51a841a015f50b9b9ae927d2354a52fc5099dfd4f1cde614ac39f48e2bb76cd", "fetched_at": "2026-08-29T08:46:11.464141+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/11.x.x"}, {"content_hash": "3dae3c6ac7c22759a9e64643ba73d86b8f9e3ff45f01e0925a5ac81d7b8ce515", "fetched_at": "2026-08-29T08:46:11.466057+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/10.x.x"}, {"content_hash": "d416cc1861e0f093954476aa52d3de9ec8d6b00085743cb08ea503da43677c77", "fetched_at": "2026-08-29T08:46:11.467788+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/9.x.x"}, {"content_hash": "4abb45015a33e666685e158f2eafcf5e41f49c6a3db7a6e60b08001a650dc9ba", "fetched_at": "2026-08-29T08:46:11.469638+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/8.x.x"}, {"content_hash": "e101e667dbbc6f0716646fd49fc1b3ff0dfd17bb2fd31fb8860a6fe200a01881", "fetched_at": "2026-08-29T08:46:11.471443+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/7.x.x"}, {"content_hash": "1c8d8cb8b55ebb7b329a9d8d5c922a6d39234a86fa0577ed4334a9cc33aea4c7", "fetched_at": "2026-08-29T08:46:11.473386+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/code-of-conduct"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:34.020351+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:49:51.683852+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "75460064ac413b31b1b0f2fc1489f5c20d01cd115018ed7973ce72c4d32cfd31", "fetched_at": "2026-08-28T04:09:34.020351+00:00", "kind": "readme", "missing": false, "url": "https://github.com/serialport/node-serialport"}, {"content_hash": "d7a7f29ae3c96607f82b4736f91d4084bf50ec9292d83199917381ea8c00fd3c", "fetched_at": "2026-08-29T08:46:11.442272+00:00", "kind": "homepage", "missing": false, "url": "https://serialport.io"}, {"content_hash": "45d1d897e13863b4062d912860f0560ace10552bd6eb2fde609ddb8fdee975ea", "fetched_at": "2026-08-29T08:46:11.450899+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs"}, {"content_hash": "5d8170d73f3319bebae60832412ed643cb0a4d08eee124761a2586757e04fd75", "fetched_at": "2026-08-29T08:46:11.453329+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/next"}, {"content_hash": "c51a841a015f50b9b9ae927d2354a52fc5099dfd4f1cde614ac39f48e2bb76cd", "fetched_at": "2026-08-29T08:46:11.464141+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/11.x.x"}, {"content_hash": "3dae3c6ac7c22759a9e64643ba73d86b8f9e3ff45f01e0925a5ac81d7b8ce515", "fetched_at": "2026-08-29T08:46:11.466057+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/10.x.x"}, {"content_hash": "d416cc1861e0f093954476aa52d3de9ec8d6b00085743cb08ea503da43677c77", "fetched_at": "2026-08-29T08:46:11.467788+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/9.x.x"}, {"content_hash": "4abb45015a33e666685e158f2eafcf5e41f49c6a3db7a6e60b08001a650dc9ba", "fetched_at": "2026-08-29T08:46:11.469638+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/8.x.x"}, {"content_hash": "e101e667dbbc6f0716646fd49fc1b3ff0dfd17bb2fd31fb8860a6fe200a01881", "fetched_at": "2026-08-29T08:46:11.471443+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/7.x.x"}, {"content_hash": "1c8d8cb8b55ebb7b329a9d8d5c922a6d39234a86fa0577ed4334a9cc33aea4c7", "fetched_at": "2026-08-29T08:46:11.473386+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/code-of-conduct"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:49:51.683852+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "75460064ac413b31b1b0f2fc1489f5c20d01cd115018ed7973ce72c4d32cfd31", "fetched_at": "2026-08-28T04:09:34.020351+00:00", "kind": "readme", "missing": false, "url": "https://github.com/serialport/node-serialport"}, {"content_hash": "d7a7f29ae3c96607f82b4736f91d4084bf50ec9292d83199917381ea8c00fd3c", "fetched_at": "2026-08-29T08:46:11.442272+00:00", "kind": "homepage", "missing": false, "url": "https://serialport.io"}, {"content_hash": "45d1d897e13863b4062d912860f0560ace10552bd6eb2fde609ddb8fdee975ea", "fetched_at": "2026-08-29T08:46:11.450899+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs"}, {"content_hash": "5d8170d73f3319bebae60832412ed643cb0a4d08eee124761a2586757e04fd75", "fetched_at": "2026-08-29T08:46:11.453329+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/next"}, {"content_hash": "c51a841a015f50b9b9ae927d2354a52fc5099dfd4f1cde614ac39f48e2bb76cd", "fetched_at": "2026-08-29T08:46:11.464141+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/11.x.x"}, {"content_hash": "3dae3c6ac7c22759a9e64643ba73d86b8f9e3ff45f01e0925a5ac81d7b8ce515", "fetched_at": "2026-08-29T08:46:11.466057+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/10.x.x"}, {"content_hash": "d416cc1861e0f093954476aa52d3de9ec8d6b00085743cb08ea503da43677c77", "fetched_at": "2026-08-29T08:46:11.467788+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/9.x.x"}, {"content_hash": "4abb45015a33e666685e158f2eafcf5e41f49c6a3db7a6e60b08001a650dc9ba", "fetched_at": "2026-08-29T08:46:11.469638+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/8.x.x"}, {"content_hash": "e101e667dbbc6f0716646fd49fc1b3ff0dfd17bb2fd31fb8860a6fe200a01881", "fetched_at": "2026-08-29T08:46:11.471443+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/7.x.x"}, {"content_hash": "1c8d8cb8b55ebb7b329a9d8d5c922a6d39234a86fa0577ed4334a9cc33aea4c7", "fetched_at": "2026-08-29T08:46:11.473386+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/code-of-conduct"}], "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:34.020351+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:34.020351+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:34.020351+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:49:51.683852+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "75460064ac413b31b1b0f2fc1489f5c20d01cd115018ed7973ce72c4d32cfd31", "fetched_at": "2026-08-28T04:09:34.020351+00:00", "kind": "readme", "missing": false, "url": "https://github.com/serialport/node-serialport"}, {"content_hash": "d7a7f29ae3c96607f82b4736f91d4084bf50ec9292d83199917381ea8c00fd3c", "fetched_at": "2026-08-29T08:46:11.442272+00:00", "kind": "homepage", "missing": false, "url": "https://serialport.io"}, {"content_hash": "45d1d897e13863b4062d912860f0560ace10552bd6eb2fde609ddb8fdee975ea", "fetched_at": "2026-08-29T08:46:11.450899+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs"}, {"content_hash": "5d8170d73f3319bebae60832412ed643cb0a4d08eee124761a2586757e04fd75", "fetched_at": "2026-08-29T08:46:11.453329+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/next"}, {"content_hash": "c51a841a015f50b9b9ae927d2354a52fc5099dfd4f1cde614ac39f48e2bb76cd", "fetched_at": "2026-08-29T08:46:11.464141+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/11.x.x"}, {"content_hash": "3dae3c6ac7c22759a9e64643ba73d86b8f9e3ff45f01e0925a5ac81d7b8ce515", "fetched_at": "2026-08-29T08:46:11.466057+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/10.x.x"}, {"content_hash": "d416cc1861e0f093954476aa52d3de9ec8d6b00085743cb08ea503da43677c77", "fetched_at": "2026-08-29T08:46:11.467788+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/9.x.x"}, {"content_hash": "4abb45015a33e666685e158f2eafcf5e41f49c6a3db7a6e60b08001a650dc9ba", "fetched_at": "2026-08-29T08:46:11.469638+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/8.x.x"}, {"content_hash": "e101e667dbbc6f0716646fd49fc1b3ff0dfd17bb2fd31fb8860a6fe200a01881", "fetched_at": "2026-08-29T08:46:11.471443+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/7.x.x"}, {"content_hash": "1c8d8cb8b55ebb7b329a9d8d5c922a6d39234a86fa0577ed4334a9cc33aea4c7", "fetched_at": "2026-08-29T08:46:11.473386+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/code-of-conduct"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:34.020351+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:34.020351+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:49:51.683852+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "75460064ac413b31b1b0f2fc1489f5c20d01cd115018ed7973ce72c4d32cfd31", "fetched_at": "2026-08-28T04:09:34.020351+00:00", "kind": "readme", "missing": false, "url": "https://github.com/serialport/node-serialport"}, {"content_hash": "d7a7f29ae3c96607f82b4736f91d4084bf50ec9292d83199917381ea8c00fd3c", "fetched_at": "2026-08-29T08:46:11.442272+00:00", "kind": "homepage", "missing": false, "url": "https://serialport.io"}, {"content_hash": "45d1d897e13863b4062d912860f0560ace10552bd6eb2fde609ddb8fdee975ea", "fetched_at": "2026-08-29T08:46:11.450899+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs"}, {"content_hash": "5d8170d73f3319bebae60832412ed643cb0a4d08eee124761a2586757e04fd75", "fetched_at": "2026-08-29T08:46:11.453329+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/next"}, {"content_hash": "c51a841a015f50b9b9ae927d2354a52fc5099dfd4f1cde614ac39f48e2bb76cd", "fetched_at": "2026-08-29T08:46:11.464141+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/11.x.x"}, {"content_hash": "3dae3c6ac7c22759a9e64643ba73d86b8f9e3ff45f01e0925a5ac81d7b8ce515", "fetched_at": "2026-08-29T08:46:11.466057+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/10.x.x"}, {"content_hash": "d416cc1861e0f093954476aa52d3de9ec8d6b00085743cb08ea503da43677c77", "fetched_at": "2026-08-29T08:46:11.467788+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/9.x.x"}, {"content_hash": "4abb45015a33e666685e158f2eafcf5e41f49c6a3db7a6e60b08001a650dc9ba", "fetched_at": "2026-08-29T08:46:11.469638+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/8.x.x"}, {"content_hash": "e101e667dbbc6f0716646fd49fc1b3ff0dfd17bb2fd31fb8860a6fe200a01881", "fetched_at": "2026-08-29T08:46:11.471443+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/7.x.x"}, {"content_hash": "1c8d8cb8b55ebb7b329a9d8d5c922a6d39234a86fa0577ed4334a9cc33aea4c7", "fetched_at": "2026-08-29T08:46:11.473386+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/code-of-conduct"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:34.020351+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:34.020351+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:34.020351+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:49:51.683852+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "75460064ac413b31b1b0f2fc1489f5c20d01cd115018ed7973ce72c4d32cfd31", "fetched_at": "2026-08-28T04:09:34.020351+00:00", "kind": "readme", "missing": false, "url": "https://github.com/serialport/node-serialport"}, {"content_hash": "d7a7f29ae3c96607f82b4736f91d4084bf50ec9292d83199917381ea8c00fd3c", "fetched_at": "2026-08-29T08:46:11.442272+00:00", "kind": "homepage", "missing": false, "url": "https://serialport.io"}, {"content_hash": "45d1d897e13863b4062d912860f0560ace10552bd6eb2fde609ddb8fdee975ea", "fetched_at": "2026-08-29T08:46:11.450899+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs"}, {"content_hash": "5d8170d73f3319bebae60832412ed643cb0a4d08eee124761a2586757e04fd75", "fetched_at": "2026-08-29T08:46:11.453329+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/next"}, {"content_hash": "c51a841a015f50b9b9ae927d2354a52fc5099dfd4f1cde614ac39f48e2bb76cd", "fetched_at": "2026-08-29T08:46:11.464141+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/11.x.x"}, {"content_hash": "3dae3c6ac7c22759a9e64643ba73d86b8f9e3ff45f01e0925a5ac81d7b8ce515", "fetched_at": "2026-08-29T08:46:11.466057+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/10.x.x"}, {"content_hash": "d416cc1861e0f093954476aa52d3de9ec8d6b00085743cb08ea503da43677c77", "fetched_at": "2026-08-29T08:46:11.467788+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/9.x.x"}, {"content_hash": "4abb45015a33e666685e158f2eafcf5e41f49c6a3db7a6e60b08001a650dc9ba", "fetched_at": "2026-08-29T08:46:11.469638+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/8.x.x"}, {"content_hash": "e101e667dbbc6f0716646fd49fc1b3ff0dfd17bb2fd31fb8860a6fe200a01881", "fetched_at": "2026-08-29T08:46:11.471443+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/7.x.x"}, {"content_hash": "1c8d8cb8b55ebb7b329a9d8d5c922a6d39234a86fa0577ed4334a9cc33aea4c7", "fetched_at": "2026-08-29T08:46:11.473386+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/code-of-conduct"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:34.020351+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:34.020351+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:49:51.683852+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "75460064ac413b31b1b0f2fc1489f5c20d01cd115018ed7973ce72c4d32cfd31", "fetched_at": "2026-08-28T04:09:34.020351+00:00", "kind": "readme", "missing": false, "url": "https://github.com/serialport/node-serialport"}, {"content_hash": "d7a7f29ae3c96607f82b4736f91d4084bf50ec9292d83199917381ea8c00fd3c", "fetched_at": "2026-08-29T08:46:11.442272+00:00", "kind": "homepage", "missing": false, "url": "https://serialport.io"}, {"content_hash": "45d1d897e13863b4062d912860f0560ace10552bd6eb2fde609ddb8fdee975ea", "fetched_at": "2026-08-29T08:46:11.450899+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs"}, {"content_hash": "5d8170d73f3319bebae60832412ed643cb0a4d08eee124761a2586757e04fd75", "fetched_at": "2026-08-29T08:46:11.453329+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/next"}, {"content_hash": "c51a841a015f50b9b9ae927d2354a52fc5099dfd4f1cde614ac39f48e2bb76cd", "fetched_at": "2026-08-29T08:46:11.464141+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/11.x.x"}, {"content_hash": "3dae3c6ac7c22759a9e64643ba73d86b8f9e3ff45f01e0925a5ac81d7b8ce515", "fetched_at": "2026-08-29T08:46:11.466057+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/10.x.x"}, {"content_hash": "d416cc1861e0f093954476aa52d3de9ec8d6b00085743cb08ea503da43677c77", "fetched_at": "2026-08-29T08:46:11.467788+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/9.x.x"}, {"content_hash": "4abb45015a33e666685e158f2eafcf5e41f49c6a3db7a6e60b08001a650dc9ba", "fetched_at": "2026-08-29T08:46:11.469638+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/8.x.x"}, {"content_hash": "e101e667dbbc6f0716646fd49fc1b3ff0dfd17bb2fd31fb8860a6fe200a01881", "fetched_at": "2026-08-29T08:46:11.471443+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/7.x.x"}, {"content_hash": "1c8d8cb8b55ebb7b329a9d8d5c922a6d39234a86fa0577ed4334a9cc33aea4c7", "fetched_at": "2026-08-29T08:46:11.473386+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/code-of-conduct"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:49:51.683852+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "75460064ac413b31b1b0f2fc1489f5c20d01cd115018ed7973ce72c4d32cfd31", "fetched_at": "2026-08-28T04:09:34.020351+00:00", "kind": "readme", "missing": false, "url": "https://github.com/serialport/node-serialport"}, {"content_hash": "d7a7f29ae3c96607f82b4736f91d4084bf50ec9292d83199917381ea8c00fd3c", "fetched_at": "2026-08-29T08:46:11.442272+00:00", "kind": "homepage", "missing": false, "url": "https://serialport.io"}, {"content_hash": "45d1d897e13863b4062d912860f0560ace10552bd6eb2fde609ddb8fdee975ea", "fetched_at": "2026-08-29T08:46:11.450899+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs"}, {"content_hash": "5d8170d73f3319bebae60832412ed643cb0a4d08eee124761a2586757e04fd75", "fetched_at": "2026-08-29T08:46:11.453329+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/next"}, {"content_hash": "c51a841a015f50b9b9ae927d2354a52fc5099dfd4f1cde614ac39f48e2bb76cd", "fetched_at": "2026-08-29T08:46:11.464141+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/11.x.x"}, {"content_hash": "3dae3c6ac7c22759a9e64643ba73d86b8f9e3ff45f01e0925a5ac81d7b8ce515", "fetched_at": "2026-08-29T08:46:11.466057+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/10.x.x"}, {"content_hash": "d416cc1861e0f093954476aa52d3de9ec8d6b00085743cb08ea503da43677c77", "fetched_at": "2026-08-29T08:46:11.467788+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/9.x.x"}, {"content_hash": "4abb45015a33e666685e158f2eafcf5e41f49c6a3db7a6e60b08001a650dc9ba", "fetched_at": "2026-08-29T08:46:11.469638+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/8.x.x"}, {"content_hash": "e101e667dbbc6f0716646fd49fc1b3ff0dfd17bb2fd31fb8860a6fe200a01881", "fetched_at": "2026-08-29T08:46:11.471443+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/7.x.x"}, {"content_hash": "1c8d8cb8b55ebb7b329a9d8d5c922a6d39234a86fa0577ed4334a9cc33aea4c7", "fetched_at": "2026-08-29T08:46:11.473386+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/code-of-conduct"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:49:51.683852+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "75460064ac413b31b1b0f2fc1489f5c20d01cd115018ed7973ce72c4d32cfd31", "fetched_at": "2026-08-28T04:09:34.020351+00:00", "kind": "readme", "missing": false, "url": "https://github.com/serialport/node-serialport"}, {"content_hash": "d7a7f29ae3c96607f82b4736f91d4084bf50ec9292d83199917381ea8c00fd3c", "fetched_at": "2026-08-29T08:46:11.442272+00:00", "kind": "homepage", "missing": false, "url": "https://serialport.io"}, {"content_hash": "45d1d897e13863b4062d912860f0560ace10552bd6eb2fde609ddb8fdee975ea", "fetched_at": "2026-08-29T08:46:11.450899+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs"}, {"content_hash": "5d8170d73f3319bebae60832412ed643cb0a4d08eee124761a2586757e04fd75", "fetched_at": "2026-08-29T08:46:11.453329+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/next"}, {"content_hash": "c51a841a015f50b9b9ae927d2354a52fc5099dfd4f1cde614ac39f48e2bb76cd", "fetched_at": "2026-08-29T08:46:11.464141+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/11.x.x"}, {"content_hash": "3dae3c6ac7c22759a9e64643ba73d86b8f9e3ff45f01e0925a5ac81d7b8ce515", "fetched_at": "2026-08-29T08:46:11.466057+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/10.x.x"}, {"content_hash": "d416cc1861e0f093954476aa52d3de9ec8d6b00085743cb08ea503da43677c77", "fetched_at": "2026-08-29T08:46:11.467788+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/9.x.x"}, {"content_hash": "4abb45015a33e666685e158f2eafcf5e41f49c6a3db7a6e60b08001a650dc9ba", "fetched_at": "2026-08-29T08:46:11.469638+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/8.x.x"}, {"content_hash": "e101e667dbbc6f0716646fd49fc1b3ff0dfd17bb2fd31fb8860a6fe200a01881", "fetched_at": "2026-08-29T08:46:11.471443+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/7.x.x"}, {"content_hash": "1c8d8cb8b55ebb7b329a9d8d5c922a6d39234a86fa0577ed4334a9cc33aea4c7", "fetched_at": "2026-08-29T08:46:11.473386+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/code-of-conduct"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:49:51.683852+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "75460064ac413b31b1b0f2fc1489f5c20d01cd115018ed7973ce72c4d32cfd31", "fetched_at": "2026-08-28T04:09:34.020351+00:00", "kind": "readme", "missing": false, "url": "https://github.com/serialport/node-serialport"}, {"content_hash": "d7a7f29ae3c96607f82b4736f91d4084bf50ec9292d83199917381ea8c00fd3c", "fetched_at": "2026-08-29T08:46:11.442272+00:00", "kind": "homepage", "missing": false, "url": "https://serialport.io"}, {"content_hash": "45d1d897e13863b4062d912860f0560ace10552bd6eb2fde609ddb8fdee975ea", "fetched_at": "2026-08-29T08:46:11.450899+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs"}, {"content_hash": "5d8170d73f3319bebae60832412ed643cb0a4d08eee124761a2586757e04fd75", "fetched_at": "2026-08-29T08:46:11.453329+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/next"}, {"content_hash": "c51a841a015f50b9b9ae927d2354a52fc5099dfd4f1cde614ac39f48e2bb76cd", "fetched_at": "2026-08-29T08:46:11.464141+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/11.x.x"}, {"content_hash": "3dae3c6ac7c22759a9e64643ba73d86b8f9e3ff45f01e0925a5ac81d7b8ce515", "fetched_at": "2026-08-29T08:46:11.466057+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/10.x.x"}, {"content_hash": "d416cc1861e0f093954476aa52d3de9ec8d6b00085743cb08ea503da43677c77", "fetched_at": "2026-08-29T08:46:11.467788+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/9.x.x"}, {"content_hash": "4abb45015a33e666685e158f2eafcf5e41f49c6a3db7a6e60b08001a650dc9ba", "fetched_at": "2026-08-29T08:46:11.469638+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/8.x.x"}, {"content_hash": "e101e667dbbc6f0716646fd49fc1b3ff0dfd17bb2fd31fb8860a6fe200a01881", "fetched_at": "2026-08-29T08:46:11.471443+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/7.x.x"}, {"content_hash": "1c8d8cb8b55ebb7b329a9d8d5c922a6d39234a86fa0577ed4334a9cc33aea4c7", "fetched_at": "2026-08-29T08:46:11.473386+00:00", "kind": "site_page", "missing": false, "url": "https://serialport.io/docs/code-of-conduct"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 62, "longevity": 100, "rhythm": 8}, "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": 5839, "days_push": 228, "days_rel": 617, "gap_med": null, "n_releases_24m": 1}, "score": 51, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}