{"adoption": {"forks": 443, "observed_at": "2026-08-28T04:07:29.365907+00:00", "stars": 2914}, "canonical_url": "https://ross.abutalabs.com/products/nand2tetris", "card": {"archived": false, "artifact_type": "learning-resource", "description": "计算机系统要素-从零开始构建现代计算机", "domain": ["compilers", "operating-systems", "hardware", "education", "tutorials"], "enriched": true, "function": ["compiler", "interpreter", "parser", "programming-language", "developer-tools"], "health_score": 77, "homepage": null, "language": "JavaScript", "license": "MIT", "license_family": "permissive", "maturity": "stable", "member_repos": ["woai3c/nand2tetris"], "name": "woai3c/nand2tetris", "platform": ["cross-platform"], "pushed_at": "2026-07-29T09:52:30+00:00", "repo": "woai3c/nand2tetris", "stars": 2914, "tags": ["nand2tetris", "solutions", "computer-architecture", "assembler", "virtual-machine", "jack-language", "tecs", "self-study", "chinese", "computer-science", "javascript", "nodejs"], "topics": [], "urls": [], "use_cases": ["learn how computers work from first principles", "build a compiler step by step", "study nand2tetris project solutions in JavaScript", "understand computer architecture hands-on", "implement an assembler and virtual machine", "prepare for systems programming interviews", "self-study computer science fundamentals"], "what_it_is": "A repository of JavaScript solutions for the Nand2Tetris course projects, where learners build a complete computer system from NAND gates up through an assembler, VM, compiler, and OS. It accompanies the book 'The Elements of Computing Systems' and includes links to solutions in other languages plus bundled tools and test cases.", "when_to_avoid": ["you want production-ready compilers or emulators rather than educational code", "you need solutions in a language other than JavaScript (though links to other versions exist)", "you want a full course platform rather than exercise answers"], "when_to_choose": ["you want worked JavaScript solutions while working through the Nand2Tetris book", "you learn best by building hardware and software layers from scratch", "you need reference implementations to check your own project answers"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/nand2tetris", "repo": "woai3c/nand2tetris", "role": "main", "score": 75}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:29.365907+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:34:12.999306+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "44f4c4dbaf32d3fa5f7658d6e9d9147a34c5219383177a8c6ada2ac6ac968b31", "fetched_at": "2026-08-28T04:07:29.365907+00:00", "kind": "readme", "missing": false, "url": "https://github.com/woai3c/nand2tetris"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:29.365907+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:34:12.999306+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "44f4c4dbaf32d3fa5f7658d6e9d9147a34c5219383177a8c6ada2ac6ac968b31", "fetched_at": "2026-08-28T04:07:29.365907+00:00", "kind": "readme", "missing": false, "url": "https://github.com/woai3c/nand2tetris"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:34:12.999306+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "44f4c4dbaf32d3fa5f7658d6e9d9147a34c5219383177a8c6ada2ac6ac968b31", "fetched_at": "2026-08-28T04:07:29.365907+00:00", "kind": "readme", "missing": false, "url": "https://github.com/woai3c/nand2tetris"}], "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:07:29.365907+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:29.365907+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:29.365907+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:34:12.999306+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "44f4c4dbaf32d3fa5f7658d6e9d9147a34c5219383177a8c6ada2ac6ac968b31", "fetched_at": "2026-08-28T04:07:29.365907+00:00", "kind": "readme", "missing": false, "url": "https://github.com/woai3c/nand2tetris"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:29.365907+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:29.365907+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:34:12.999306+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "44f4c4dbaf32d3fa5f7658d6e9d9147a34c5219383177a8c6ada2ac6ac968b31", "fetched_at": "2026-08-28T04:07:29.365907+00:00", "kind": "readme", "missing": false, "url": "https://github.com/woai3c/nand2tetris"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:29.365907+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:29.365907+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:29.365907+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:34:12.999306+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "44f4c4dbaf32d3fa5f7658d6e9d9147a34c5219383177a8c6ada2ac6ac968b31", "fetched_at": "2026-08-28T04:07:29.365907+00:00", "kind": "readme", "missing": false, "url": "https://github.com/woai3c/nand2tetris"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:29.365907+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:29.365907+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:34:12.999306+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "44f4c4dbaf32d3fa5f7658d6e9d9147a34c5219383177a8c6ada2ac6ac968b31", "fetched_at": "2026-08-28T04:07:29.365907+00:00", "kind": "readme", "missing": false, "url": "https://github.com/woai3c/nand2tetris"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:34:12.999306+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "44f4c4dbaf32d3fa5f7658d6e9d9147a34c5219383177a8c6ada2ac6ac968b31", "fetched_at": "2026-08-28T04:07:29.365907+00:00", "kind": "readme", "missing": false, "url": "https://github.com/woai3c/nand2tetris"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:34:12.999306+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "44f4c4dbaf32d3fa5f7658d6e9d9147a34c5219383177a8c6ada2ac6ac968b31", "fetched_at": "2026-08-28T04:07:29.365907+00:00", "kind": "readme", "missing": false, "url": "https://github.com/woai3c/nand2tetris"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:34:12.999306+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "44f4c4dbaf32d3fa5f7658d6e9d9147a34c5219383177a8c6ada2ac6ac968b31", "fetched_at": "2026-08-28T04:07:29.365907+00:00", "kind": "readme", "missing": false, "url": "https://github.com/woai3c/nand2tetris"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 95, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2902, "days_push": 35, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 75, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}