{"adoption": {"forks": 1175, "observed_at": "2026-08-28T04:10:37.235586+00:00", "stars": 9802}, "canonical_url": "https://ross.abutalabs.com/products/clean-code-typescript", "card": {"archived": false, "artifact_type": "learning-resource", "description": "Clean Code concepts adapted for TypeScript", "domain": ["developer-tools", "tutorials", "documentation", "programming-languages"], "enriched": true, "function": ["documentation", "developer-tools"], "health_score": 38, "homepage": "https://labs42io.github.io/clean-code-typescript", "language": "TypeScript", "license": "MIT", "license_family": "permissive", "maturity": "stable", "member_repos": ["labs42io/clean-code-typescript"], "name": "labs42io/clean-code-typescript", "platform": ["cross-platform"], "pushed_at": "2025-07-01T14:56:36+00:00", "repo": "labs42io/clean-code-typescript", "stars": 9802, "tags": ["clean-code", "typescript", "best-practices", "solid-principles", "coding-guidelines", "code-quality", "refactoring", "code-review", "style-guide", "nodejs"], "topics": ["clean-code", "typescript", "best-practices", "solid", "coding-guidelines", "clean-architecture", "principles"], "urls": [], "use_cases": ["learn clean code best practices for typescript", "typescript coding guidelines with good and bad examples", "how to write readable maintainable typescript code", "solid principles explained for typescript", "reference for typescript code review standards", "improve code quality in a typescript team", "error handling and testing conventions in typescript"], "what_it_is": "A guide adapting Robert C. Martin's Clean Code principles to TypeScript, published as a documentation site with concise bad-vs-good code examples. It covers variables, functions, objects and classes, SOLID, testing, concurrency, error handling, formatting, and comments as advisory guidelines rather than enforceable rules.", "when_to_avoid": ["You need automatically enforceable lint rules instead of manual guidelines - use ESLint with a config like eslint-config-airbnb-typescript", "You require an official or prescriptive style guide rather than opinionated advice", "You need runnable tooling such as a CLI or library, since this is purely documentation"], "when_to_choose": ["You want a readable, example-driven reference for producing clean TypeScript code", "You need a shared coding guideline document to align a TypeScript team during onboarding or reviews", "You are coming to TypeScript from JavaScript or another language and want idiomatic patterns"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/clean-code-typescript", "repo": "labs42io/clean-code-typescript", "role": "main", "score": 45}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:10:37.235586+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:20:59.933460+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "676d2560c1faf6fa0a64acb56415ee044f64769a93b3422608137805eacd2dac", "fetched_at": "2026-08-28T04:10:37.235586+00:00", "kind": "readme", "missing": false, "url": "https://github.com/labs42io/clean-code-typescript"}, {"content_hash": "7bc7f2415360921bb7e56ca17f0215484bafacb36113746b4c0084c047c5f8ed", "fetched_at": "2026-08-29T08:20:57.419050+00:00", "kind": "homepage", "missing": false, "url": "https://labs42io.github.io/clean-code-typescript"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:10:37.235586+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:20:59.933460+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "676d2560c1faf6fa0a64acb56415ee044f64769a93b3422608137805eacd2dac", "fetched_at": "2026-08-28T04:10:37.235586+00:00", "kind": "readme", "missing": false, "url": "https://github.com/labs42io/clean-code-typescript"}, {"content_hash": "7bc7f2415360921bb7e56ca17f0215484bafacb36113746b4c0084c047c5f8ed", "fetched_at": "2026-08-29T08:20:57.419050+00:00", "kind": "homepage", "missing": false, "url": "https://labs42io.github.io/clean-code-typescript"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:20:59.933460+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "676d2560c1faf6fa0a64acb56415ee044f64769a93b3422608137805eacd2dac", "fetched_at": "2026-08-28T04:10:37.235586+00:00", "kind": "readme", "missing": false, "url": "https://github.com/labs42io/clean-code-typescript"}, {"content_hash": "7bc7f2415360921bb7e56ca17f0215484bafacb36113746b4c0084c047c5f8ed", "fetched_at": "2026-08-29T08:20:57.419050+00:00", "kind": "homepage", "missing": false, "url": "https://labs42io.github.io/clean-code-typescript"}], "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:10:37.235586+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:10:37.235586+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:10:37.235586+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:20:59.933460+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "676d2560c1faf6fa0a64acb56415ee044f64769a93b3422608137805eacd2dac", "fetched_at": "2026-08-28T04:10:37.235586+00:00", "kind": "readme", "missing": false, "url": "https://github.com/labs42io/clean-code-typescript"}, {"content_hash": "7bc7f2415360921bb7e56ca17f0215484bafacb36113746b4c0084c047c5f8ed", "fetched_at": "2026-08-29T08:20:57.419050+00:00", "kind": "homepage", "missing": false, "url": "https://labs42io.github.io/clean-code-typescript"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:10:37.235586+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:10:37.235586+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:20:59.933460+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "676d2560c1faf6fa0a64acb56415ee044f64769a93b3422608137805eacd2dac", "fetched_at": "2026-08-28T04:10:37.235586+00:00", "kind": "readme", "missing": false, "url": "https://github.com/labs42io/clean-code-typescript"}, {"content_hash": "7bc7f2415360921bb7e56ca17f0215484bafacb36113746b4c0084c047c5f8ed", "fetched_at": "2026-08-29T08:20:57.419050+00:00", "kind": "homepage", "missing": false, "url": "https://labs42io.github.io/clean-code-typescript"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:10:37.235586+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:10:37.235586+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:10:37.235586+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:20:59.933460+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "676d2560c1faf6fa0a64acb56415ee044f64769a93b3422608137805eacd2dac", "fetched_at": "2026-08-28T04:10:37.235586+00:00", "kind": "readme", "missing": false, "url": "https://github.com/labs42io/clean-code-typescript"}, {"content_hash": "7bc7f2415360921bb7e56ca17f0215484bafacb36113746b4c0084c047c5f8ed", "fetched_at": "2026-08-29T08:20:57.419050+00:00", "kind": "homepage", "missing": false, "url": "https://labs42io.github.io/clean-code-typescript"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:10:37.235586+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:10:37.235586+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:20:59.933460+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "676d2560c1faf6fa0a64acb56415ee044f64769a93b3422608137805eacd2dac", "fetched_at": "2026-08-28T04:10:37.235586+00:00", "kind": "readme", "missing": false, "url": "https://github.com/labs42io/clean-code-typescript"}, {"content_hash": "7bc7f2415360921bb7e56ca17f0215484bafacb36113746b4c0084c047c5f8ed", "fetched_at": "2026-08-29T08:20:57.419050+00:00", "kind": "homepage", "missing": false, "url": "https://labs42io.github.io/clean-code-typescript"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:20:59.933460+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "676d2560c1faf6fa0a64acb56415ee044f64769a93b3422608137805eacd2dac", "fetched_at": "2026-08-28T04:10:37.235586+00:00", "kind": "readme", "missing": false, "url": "https://github.com/labs42io/clean-code-typescript"}, {"content_hash": "7bc7f2415360921bb7e56ca17f0215484bafacb36113746b4c0084c047c5f8ed", "fetched_at": "2026-08-29T08:20:57.419050+00:00", "kind": "homepage", "missing": false, "url": "https://labs42io.github.io/clean-code-typescript"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:20:59.933460+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "676d2560c1faf6fa0a64acb56415ee044f64769a93b3422608137805eacd2dac", "fetched_at": "2026-08-28T04:10:37.235586+00:00", "kind": "readme", "missing": false, "url": "https://github.com/labs42io/clean-code-typescript"}, {"content_hash": "7bc7f2415360921bb7e56ca17f0215484bafacb36113746b4c0084c047c5f8ed", "fetched_at": "2026-08-29T08:20:57.419050+00:00", "kind": "homepage", "missing": false, "url": "https://labs42io.github.io/clean-code-typescript"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:20:59.933460+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "676d2560c1faf6fa0a64acb56415ee044f64769a93b3422608137805eacd2dac", "fetched_at": "2026-08-28T04:10:37.235586+00:00", "kind": "readme", "missing": false, "url": "https://github.com/labs42io/clean-code-typescript"}, {"content_hash": "7bc7f2415360921bb7e56ca17f0215484bafacb36113746b4c0084c047c5f8ed", "fetched_at": "2026-08-29T08:20:57.419050+00:00", "kind": "homepage", "missing": false, "url": "https://labs42io.github.io/clean-code-typescript"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 29, "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": 2780, "days_push": 428, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 45, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}