{"adoption": {"forks": 333, "observed_at": "2026-08-28T04:06:06.127448+00:00", "stars": 2017}, "canonical_url": "https://ross.abutalabs.com/products/node-pty", "card": {"archived": false, "artifact_type": "library", "description": "Fork pseudoterminals in Node.JS", "domain": ["developer-tools"], "enriched": true, "function": ["cli", "developer-tools"], "health_score": 100, "homepage": null, "language": "TypeScript", "license": "NOASSERTION", "license_family": "other", "maturity": "stable", "member_repos": ["microsoft/node-pty"], "name": "microsoft/node-pty", "platform": ["windows", "cross-platform"], "pushed_at": "2026-08-25T16:49:54+00:00", "repo": "microsoft/node-pty", "stars": 2017, "tags": ["pty", "pseudoterminal", "forkpty", "conpty", "terminal-emulator", "process-spawning", "command-line", "terminal-emulation", "nodejs", "linux", "macos"], "topics": ["terminal", "pty", "pseudoterminal", "forkpty", "winpty", "openpty", "conpty"], "urls": [], "use_cases": ["build a terminal emulator in Node.js with xterm.js", "make CLI programs think they are running in a real terminal", "capture control sequences from interactive programs", "embed an interactive shell inside an Electron app", "run and resize pseudo-terminal processes programmatically", "build a browser-based terminal over HTTP"], "what_it_is": "node-pty provides forkpty(3) bindings for Node.js, allowing you to spawn processes with pseudoterminal file descriptors and interact with them via reads and writes. It supports Linux, macOS, and Windows (via the conpty API), and powers terminal emulators like VS Code and Hyper.", "when_to_avoid": ["you only need to run child processes without TTY semantics (use child_process)", "your app is not Node.js/JavaScript based", "you need to support Windows versions older than 10 1809"], "when_to_choose": ["you need real PTY behavior (control sequences, TTY detection) in a Node.js app", "you are building a terminal emulator, IDE terminal panel, or SSH-in-browser tool", "you need cross-platform PTY support including Windows conpty"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/node-pty", "repo": "microsoft/node-pty", "role": "main", "score": 75}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:06.127448+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:00:41.114201+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1dd89b5cbb5464e3dc3a233b8660a41d29040284ab49d427807ebb7dfb4dc6f5", "fetched_at": "2026-08-28T04:06:06.127448+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/node-pty"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:06.127448+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:00:41.114201+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1dd89b5cbb5464e3dc3a233b8660a41d29040284ab49d427807ebb7dfb4dc6f5", "fetched_at": "2026-08-28T04:06:06.127448+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/node-pty"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:00:41.114201+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1dd89b5cbb5464e3dc3a233b8660a41d29040284ab49d427807ebb7dfb4dc6f5", "fetched_at": "2026-08-28T04:06:06.127448+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/node-pty"}], "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:06.127448+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:06.127448+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:06.127448+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:00:41.114201+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1dd89b5cbb5464e3dc3a233b8660a41d29040284ab49d427807ebb7dfb4dc6f5", "fetched_at": "2026-08-28T04:06:06.127448+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/node-pty"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:06.127448+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:06.127448+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:00:41.114201+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1dd89b5cbb5464e3dc3a233b8660a41d29040284ab49d427807ebb7dfb4dc6f5", "fetched_at": "2026-08-28T04:06:06.127448+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/node-pty"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:06.127448+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:06.127448+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:06.127448+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:00:41.114201+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1dd89b5cbb5464e3dc3a233b8660a41d29040284ab49d427807ebb7dfb4dc6f5", "fetched_at": "2026-08-28T04:06:06.127448+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/node-pty"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:06.127448+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:06.127448+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:00:41.114201+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1dd89b5cbb5464e3dc3a233b8660a41d29040284ab49d427807ebb7dfb4dc6f5", "fetched_at": "2026-08-28T04:06:06.127448+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/node-pty"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:00:41.114201+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1dd89b5cbb5464e3dc3a233b8660a41d29040284ab49d427807ebb7dfb4dc6f5", "fetched_at": "2026-08-28T04:06:06.127448+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/node-pty"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:00:41.114201+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1dd89b5cbb5464e3dc3a233b8660a41d29040284ab49d427807ebb7dfb4dc6f5", "fetched_at": "2026-08-28T04:06:06.127448+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/node-pty"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:00:41.114201+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1dd89b5cbb5464e3dc3a233b8660a41d29040284ab49d427807ebb7dfb4dc6f5", "fetched_at": "2026-08-28T04:06:06.127448+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/node-pty"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 30}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3757, "days_push": 8, "days_rel": 254, "gap_med": null, "n_releases_24m": 1}, "score": 75, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}