{"adoption": {"forks": 180, "observed_at": "2026-08-28T04:04:21.974513+00:00", "stars": 1322}, "canonical_url": "https://ross.abutalabs.com/products/js-dos", "card": {"archived": false, "artifact_type": "library", "description": "The best API for running dos programs in browser", "domain": ["gaming-tools", "web-development", "frontend", "simulation", "cross-platform"], "enriched": true, "function": ["game-engine", "simulation", "wasm", "graphics", "audio-processing", "sdk"], "health_score": 100, "homepage": "https://js-dos.com", "language": "TypeScript", "license": null, "license_family": "other", "maturity": "active", "member_repos": ["caiiiycuk/js-dos"], "name": "caiiiycuk/js-dos", "platform": ["browser", "wasm", "cross-platform"], "pushed_at": "2026-08-24T16:12:13+00:00", "repo": "caiiiycuk/js-dos", "stars": 1322, "tags": ["dosbox", "dos-emulation", "emulator-frontend", "webassembly", "retro-gaming", "3dfx", "ipx-networking", "windows-9x", "opfs", "multiplayer", "nodejs", "web"], "topics": ["js", "browser", "dosbox", "dos"], "urls": [], "use_cases": ["run dos games in the browser", "embed a dos emulator in my web app", "play windows 95/98 games in browser", "add multiplayer to browser dos games", "stream large dos disk images without a backend", "save and load dos game state in the browser", "run dos programs in node.js"], "what_it_is": "js-dos is a TypeScript library and API for running DOS and Windows 9x programs in the browser or Node.js, acting as a frontend for DOSBox/DOSBox-X emulators compiled to WebAssembly. It offers advanced features like 3Dfx-accelerated rendering, IPX networking over WebRTC, multiplayer, save/load persistence via OPFS, and streaming of large disk images.", "when_to_avoid": ["you need to emulate non-DOS platforms like consoles or arcade systems", "you want a general-purpose emulator frontend for desktop use rather than web embedding", "you require a permissively licensed dependency and cannot accept the project's missing license", "you need production mobile support on v8, which is still work-in-progress"], "when_to_choose": ["you want to run DOS or Win9x software in a browser with minimal setup", "you need advanced features like 3Dfx rendering, IPX networking, or multiplayer", "you want to serve huge DOS games via backendless disk streaming", "you need both browser and Node.js execution"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/js-dos", "repo": "caiiiycuk/js-dos", "role": "main", "score": 97}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:21.974513+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:47:07.787213+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2884a01da819e4d0270abf5163c9634da6a105268880646ce965f9652d15e460", "fetched_at": "2026-08-28T04:04:21.974513+00:00", "kind": "readme", "missing": false, "url": "https://github.com/caiiiycuk/js-dos"}, {"content_hash": "ba72c386743f599cecbda66d840d027046b5a7dcecbfaf3adea7365157672957", "fetched_at": "2026-08-29T12:06:15.048355+00:00", "kind": "homepage", "missing": false, "url": "https://js-dos.com"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:21.974513+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:47:07.787213+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2884a01da819e4d0270abf5163c9634da6a105268880646ce965f9652d15e460", "fetched_at": "2026-08-28T04:04:21.974513+00:00", "kind": "readme", "missing": false, "url": "https://github.com/caiiiycuk/js-dos"}, {"content_hash": "ba72c386743f599cecbda66d840d027046b5a7dcecbfaf3adea7365157672957", "fetched_at": "2026-08-29T12:06:15.048355+00:00", "kind": "homepage", "missing": false, "url": "https://js-dos.com"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:47:07.787213+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2884a01da819e4d0270abf5163c9634da6a105268880646ce965f9652d15e460", "fetched_at": "2026-08-28T04:04:21.974513+00:00", "kind": "readme", "missing": false, "url": "https://github.com/caiiiycuk/js-dos"}, {"content_hash": "ba72c386743f599cecbda66d840d027046b5a7dcecbfaf3adea7365157672957", "fetched_at": "2026-08-29T12:06:15.048355+00:00", "kind": "homepage", "missing": false, "url": "https://js-dos.com"}], "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:04:21.974513+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:21.974513+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:21.974513+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:47:07.787213+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2884a01da819e4d0270abf5163c9634da6a105268880646ce965f9652d15e460", "fetched_at": "2026-08-28T04:04:21.974513+00:00", "kind": "readme", "missing": false, "url": "https://github.com/caiiiycuk/js-dos"}, {"content_hash": "ba72c386743f599cecbda66d840d027046b5a7dcecbfaf3adea7365157672957", "fetched_at": "2026-08-29T12:06:15.048355+00:00", "kind": "homepage", "missing": false, "url": "https://js-dos.com"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:21.974513+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:21.974513+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:47:07.787213+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2884a01da819e4d0270abf5163c9634da6a105268880646ce965f9652d15e460", "fetched_at": "2026-08-28T04:04:21.974513+00:00", "kind": "readme", "missing": false, "url": "https://github.com/caiiiycuk/js-dos"}, {"content_hash": "ba72c386743f599cecbda66d840d027046b5a7dcecbfaf3adea7365157672957", "fetched_at": "2026-08-29T12:06:15.048355+00:00", "kind": "homepage", "missing": false, "url": "https://js-dos.com"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:21.974513+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:21.974513+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:21.974513+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:47:07.787213+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2884a01da819e4d0270abf5163c9634da6a105268880646ce965f9652d15e460", "fetched_at": "2026-08-28T04:04:21.974513+00:00", "kind": "readme", "missing": false, "url": "https://github.com/caiiiycuk/js-dos"}, {"content_hash": "ba72c386743f599cecbda66d840d027046b5a7dcecbfaf3adea7365157672957", "fetched_at": "2026-08-29T12:06:15.048355+00:00", "kind": "homepage", "missing": false, "url": "https://js-dos.com"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:21.974513+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:21.974513+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:47:07.787213+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2884a01da819e4d0270abf5163c9634da6a105268880646ce965f9652d15e460", "fetched_at": "2026-08-28T04:04:21.974513+00:00", "kind": "readme", "missing": false, "url": "https://github.com/caiiiycuk/js-dos"}, {"content_hash": "ba72c386743f599cecbda66d840d027046b5a7dcecbfaf3adea7365157672957", "fetched_at": "2026-08-29T12:06:15.048355+00:00", "kind": "homepage", "missing": false, "url": "https://js-dos.com"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:47:07.787213+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2884a01da819e4d0270abf5163c9634da6a105268880646ce965f9652d15e460", "fetched_at": "2026-08-28T04:04:21.974513+00:00", "kind": "readme", "missing": false, "url": "https://github.com/caiiiycuk/js-dos"}, {"content_hash": "ba72c386743f599cecbda66d840d027046b5a7dcecbfaf3adea7365157672957", "fetched_at": "2026-08-29T12:06:15.048355+00:00", "kind": "homepage", "missing": false, "url": "https://js-dos.com"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:47:07.787213+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2884a01da819e4d0270abf5163c9634da6a105268880646ce965f9652d15e460", "fetched_at": "2026-08-28T04:04:21.974513+00:00", "kind": "readme", "missing": false, "url": "https://github.com/caiiiycuk/js-dos"}, {"content_hash": "ba72c386743f599cecbda66d840d027046b5a7dcecbfaf3adea7365157672957", "fetched_at": "2026-08-29T12:06:15.048355+00:00", "kind": "homepage", "missing": false, "url": "https://js-dos.com"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:47:07.787213+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2884a01da819e4d0270abf5163c9634da6a105268880646ce965f9652d15e460", "fetched_at": "2026-08-28T04:04:21.974513+00:00", "kind": "readme", "missing": false, "url": "https://github.com/caiiiycuk/js-dos"}, {"content_hash": "ba72c386743f599cecbda66d840d027046b5a7dcecbfaf3adea7365157672957", "fetched_at": "2026-08-29T12:06:15.048355+00:00", "kind": "homepage", "missing": false, "url": "https://js-dos.com"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 93}, "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": 4266, "days_push": 9, "days_rel": 51, "gap_med": 9.5, "n_releases_24m": 25}, "score": 97, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}