{"adoption": {"forks": 492, "observed_at": "2026-08-28T04:09:58.585367+00:00", "stars": 7377}, "canonical_url": "https://ross.abutalabs.com/products/turbo", "card": {"archived": false, "artifact_type": "library", "description": "The speed of a single-page web application without having to write any JavaScript", "domain": ["web-development", "frontend"], "enriched": true, "function": ["frontend-framework", "ssr", "websocket", "templating"], "health_score": 97, "homepage": "https://turbo.hotwired.dev", "language": "JavaScript", "license": "MIT", "license_family": "permissive", "maturity": "stable", "member_repos": ["hotwired/turbo", "hotwired/turbo-rails"], "name": "Turbo", "platform": ["browser"], "pushed_at": "2026-08-26T16:32:45+00:00", "repo": "hotwired/turbo", "stars": 7377, "tags": ["hotwire", "html-over-the-wire", "turbo-drive", "turbo-frames", "turbo-streams", "turbo-native", "ruby-on-rails", "spa-alternative", "nodejs", "web-server"], "topics": [], "urls": [{"kind": "homepage", "url": "https://turbo.hotwired.dev"}, {"kind": "site_page", "url": "https://turbo.hotwired.dev/handbook/installing"}], "use_cases": ["make a server-rendered app feel like a single-page application without writing JavaScript", "update parts of a page in real time over WebSocket using only HTML", "lazy-load independent sections of a page with Turbo Frames", "accelerate form submissions and navigation without full page reloads", "wrap a web app in native iOS and Android shells with Turbo Native", "add reactive UI to a Rails monolith via the turbo-rails gem"], "what_it_is": "Turbo is a JavaScript library from the Hotwire stack that accelerates links and form submissions, decomposes pages into lazily loaded frames, and streams HTML page changes over WebSocket or SSE. It lets server-rendered applications feel like single-page apps without writing custom JavaScript, and pairs with Turbo Native for iOS and Android apps.", "when_to_avoid": ["you need a highly interactive client-side UI with complex local state and offline support", "your frontend is already built with React, Vue, or another SPA framework", "you need a JSON API for third-party clients rather than HTML delivery", "you require fine-grained client-side rendering control that HTML-over-the-wire cannot provide"], "when_to_choose": ["you have a server-rendered app (especially Rails) and want SPA-like speed without a JavaScript frontend framework", "you want real-time page updates delivered as HTML over WebSocket or SSE", "you prefer HTML-over-the-wire over building and maintaining a JSON API plus SPA", "you want to reuse your web app as the core of native mobile apps"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/repos/hotwired/turbo", "repo": "hotwired/turbo", "role": "main", "score": 88}, {"path": "/repos/hotwired/turbo-rails", "repo": "hotwired/turbo-rails", "role": "plugin", "score": 84}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:58.585367+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:38:22.798007+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a0d05b616df596b19bf289be91ee609e5b3b6a3019ae6e5b838e793353f6e750", "fetched_at": "2026-08-28T04:09:58.585367+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hotwired/turbo"}, {"content_hash": "76f02c21cf423dea15a41ec8710e2532b71f30fe7622442e91bf2446566e9b03", "fetched_at": "2026-08-29T08:33:55.414206+00:00", "kind": "homepage", "missing": false, "url": "https://turbo.hotwired.dev"}, {"content_hash": "6a7d7715e1424f1103fbf6db8359d7292f781a949068d7d8dea1f8e1b7a4ebb5", "fetched_at": "2026-08-29T08:33:55.423151+00:00", "kind": "site_page", "missing": false, "url": "https://turbo.hotwired.dev/handbook/installing"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:58.585367+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:38:22.798007+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a0d05b616df596b19bf289be91ee609e5b3b6a3019ae6e5b838e793353f6e750", "fetched_at": "2026-08-28T04:09:58.585367+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hotwired/turbo"}, {"content_hash": "76f02c21cf423dea15a41ec8710e2532b71f30fe7622442e91bf2446566e9b03", "fetched_at": "2026-08-29T08:33:55.414206+00:00", "kind": "homepage", "missing": false, "url": "https://turbo.hotwired.dev"}, {"content_hash": "6a7d7715e1424f1103fbf6db8359d7292f781a949068d7d8dea1f8e1b7a4ebb5", "fetched_at": "2026-08-29T08:33:55.423151+00:00", "kind": "site_page", "missing": false, "url": "https://turbo.hotwired.dev/handbook/installing"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:38:22.798007+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a0d05b616df596b19bf289be91ee609e5b3b6a3019ae6e5b838e793353f6e750", "fetched_at": "2026-08-28T04:09:58.585367+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hotwired/turbo"}, {"content_hash": "76f02c21cf423dea15a41ec8710e2532b71f30fe7622442e91bf2446566e9b03", "fetched_at": "2026-08-29T08:33:55.414206+00:00", "kind": "homepage", "missing": false, "url": "https://turbo.hotwired.dev"}, {"content_hash": "6a7d7715e1424f1103fbf6db8359d7292f781a949068d7d8dea1f8e1b7a4ebb5", "fetched_at": "2026-08-29T08:33:55.423151+00:00", "kind": "site_page", "missing": false, "url": "https://turbo.hotwired.dev/handbook/installing"}], "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:58.585367+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:58.585367+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:58.585367+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:38:22.798007+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a0d05b616df596b19bf289be91ee609e5b3b6a3019ae6e5b838e793353f6e750", "fetched_at": "2026-08-28T04:09:58.585367+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hotwired/turbo"}, {"content_hash": "76f02c21cf423dea15a41ec8710e2532b71f30fe7622442e91bf2446566e9b03", "fetched_at": "2026-08-29T08:33:55.414206+00:00", "kind": "homepage", "missing": false, "url": "https://turbo.hotwired.dev"}, {"content_hash": "6a7d7715e1424f1103fbf6db8359d7292f781a949068d7d8dea1f8e1b7a4ebb5", "fetched_at": "2026-08-29T08:33:55.423151+00:00", "kind": "site_page", "missing": false, "url": "https://turbo.hotwired.dev/handbook/installing"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:58.585367+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:58.585367+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:38:22.798007+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a0d05b616df596b19bf289be91ee609e5b3b6a3019ae6e5b838e793353f6e750", "fetched_at": "2026-08-28T04:09:58.585367+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hotwired/turbo"}, {"content_hash": "76f02c21cf423dea15a41ec8710e2532b71f30fe7622442e91bf2446566e9b03", "fetched_at": "2026-08-29T08:33:55.414206+00:00", "kind": "homepage", "missing": false, "url": "https://turbo.hotwired.dev"}, {"content_hash": "6a7d7715e1424f1103fbf6db8359d7292f781a949068d7d8dea1f8e1b7a4ebb5", "fetched_at": "2026-08-29T08:33:55.423151+00:00", "kind": "site_page", "missing": false, "url": "https://turbo.hotwired.dev/handbook/installing"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:58.585367+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:58.585367+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:58.585367+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:38:22.798007+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a0d05b616df596b19bf289be91ee609e5b3b6a3019ae6e5b838e793353f6e750", "fetched_at": "2026-08-28T04:09:58.585367+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hotwired/turbo"}, {"content_hash": "76f02c21cf423dea15a41ec8710e2532b71f30fe7622442e91bf2446566e9b03", "fetched_at": "2026-08-29T08:33:55.414206+00:00", "kind": "homepage", "missing": false, "url": "https://turbo.hotwired.dev"}, {"content_hash": "6a7d7715e1424f1103fbf6db8359d7292f781a949068d7d8dea1f8e1b7a4ebb5", "fetched_at": "2026-08-29T08:33:55.423151+00:00", "kind": "site_page", "missing": false, "url": "https://turbo.hotwired.dev/handbook/installing"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:58.585367+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:58.585367+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:38:22.798007+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a0d05b616df596b19bf289be91ee609e5b3b6a3019ae6e5b838e793353f6e750", "fetched_at": "2026-08-28T04:09:58.585367+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hotwired/turbo"}, {"content_hash": "76f02c21cf423dea15a41ec8710e2532b71f30fe7622442e91bf2446566e9b03", "fetched_at": "2026-08-29T08:33:55.414206+00:00", "kind": "homepage", "missing": false, "url": "https://turbo.hotwired.dev"}, {"content_hash": "6a7d7715e1424f1103fbf6db8359d7292f781a949068d7d8dea1f8e1b7a4ebb5", "fetched_at": "2026-08-29T08:33:55.423151+00:00", "kind": "site_page", "missing": false, "url": "https://turbo.hotwired.dev/handbook/installing"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:38:22.798007+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a0d05b616df596b19bf289be91ee609e5b3b6a3019ae6e5b838e793353f6e750", "fetched_at": "2026-08-28T04:09:58.585367+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hotwired/turbo"}, {"content_hash": "76f02c21cf423dea15a41ec8710e2532b71f30fe7622442e91bf2446566e9b03", "fetched_at": "2026-08-29T08:33:55.414206+00:00", "kind": "homepage", "missing": false, "url": "https://turbo.hotwired.dev"}, {"content_hash": "6a7d7715e1424f1103fbf6db8359d7292f781a949068d7d8dea1f8e1b7a4ebb5", "fetched_at": "2026-08-29T08:33:55.423151+00:00", "kind": "site_page", "missing": false, "url": "https://turbo.hotwired.dev/handbook/installing"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:38:22.798007+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a0d05b616df596b19bf289be91ee609e5b3b6a3019ae6e5b838e793353f6e750", "fetched_at": "2026-08-28T04:09:58.585367+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hotwired/turbo"}, {"content_hash": "76f02c21cf423dea15a41ec8710e2532b71f30fe7622442e91bf2446566e9b03", "fetched_at": "2026-08-29T08:33:55.414206+00:00", "kind": "homepage", "missing": false, "url": "https://turbo.hotwired.dev"}, {"content_hash": "6a7d7715e1424f1103fbf6db8359d7292f781a949068d7d8dea1f8e1b7a4ebb5", "fetched_at": "2026-08-29T08:33:55.423151+00:00", "kind": "site_page", "missing": false, "url": "https://turbo.hotwired.dev/handbook/installing"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:38:22.798007+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a0d05b616df596b19bf289be91ee609e5b3b6a3019ae6e5b838e793353f6e750", "fetched_at": "2026-08-28T04:09:58.585367+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hotwired/turbo"}, {"content_hash": "76f02c21cf423dea15a41ec8710e2532b71f30fe7622442e91bf2446566e9b03", "fetched_at": "2026-08-29T08:33:55.414206+00:00", "kind": "homepage", "missing": false, "url": "https://turbo.hotwired.dev"}, {"content_hash": "6a7d7715e1424f1103fbf6db8359d7292f781a949068d7d8dea1f8e1b7a4ebb5", "fetched_at": "2026-08-29T08:33:55.423151+00:00", "kind": "site_page", "missing": false, "url": "https://turbo.hotwired.dev/handbook/installing"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 68}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2095, "days_push": 7, "days_rel": 216, "gap_med": 27, "n_releases_24m": 10}, "score": 88, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}