{"adoption": {"forks": 333, "observed_at": "2026-08-28T04:07:47.397720+00:00", "stars": 3170}, "canonical_url": "https://ross.abutalabs.com/products/analog", "card": {"archived": false, "artifact_type": "framework", "description": "The fullstack meta-framework for Angular. Powered by Vite and Nitro", "domain": ["web-development", "frontend", "backend", "developer-tools"], "enriched": true, "function": ["web-framework", "ssr", "static-site-generator", "routing", "http-server", "build-tool"], "health_score": 100, "homepage": "https://analogjs.org", "language": "TypeScript", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["analogjs/analog"], "name": "analogjs/analog", "platform": ["cross-platform"], "pushed_at": "2026-08-26T21:08:11+00:00", "repo": "analogjs/analog", "stars": 3170, "tags": ["angular", "vite", "nitro", "meta-framework", "fullstack", "file-based-routing", "api-routes", "markdown-content", "nodejs", "web-server"], "topics": ["angular", "vite", "framework", "meta-framework", "router", "web", "ssr", "server-side-rendering", "ssg", "static-site-generator", "fullstack", "nitro"], "urls": [], "use_cases": ["build a fullstack Angular app with SSR", "generate a static site from Angular components", "add file-based routing to Angular", "create API routes alongside an Angular frontend", "serve markdown content as routes in Angular", "migrate an existing Angular app to a meta-framework", "deploy Angular apps to multiple platforms via Nitro"], "what_it_is": "Analog is a fullstack meta-framework for building applications and websites with Angular, powered by Vite and Nitro. It provides file-based routing, API/server routes, server-side data fetching, and hybrid SSR/SSG support, similar to Next.js or Nuxt but for the Angular ecosystem.", "when_to_avoid": ["you are not using Angular as your frontend framework", "you need a minimal setup without a meta-framework layer", "your project depends on tooling incompatible with Vite", "you require Angular versions older than v17"], "when_to_choose": ["you want a Next.js/Nuxt-like developer experience with Angular", "you need SSR, SSG, or hybrid rendering for an Angular project", "you want Vite-powered builds and file-based routing in Angular", "you need integrated API/server routes with your Angular frontend"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/analog", "repo": "analogjs/analog", "role": "main", "score": 95}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.397720+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:45:29.305202+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9855f59b29b239c704d195d1a89f1c5bb3919d13e2012b3033388866a5dc99ca", "fetched_at": "2026-08-28T04:07:47.397720+00:00", "kind": "readme", "missing": false, "url": "https://github.com/analogjs/analog"}, {"content_hash": "a9df14a0a037fbecb4127caeb319008bd5af94a2e029bbeda58f29b023edabf3", "fetched_at": "2026-08-29T09:39:55.406183+00:00", "kind": "homepage", "missing": false, "url": "https://analogjs.org"}, {"content_hash": "8e937e1762e582cdc9cd9cf63393fd224957ce3809989b48cfd1ae08f4368678", "fetched_at": "2026-08-29T09:39:55.420386+00:00", "kind": "site_page", "missing": false, "url": "https://analogjs.org/docs/introduction"}, {"content_hash": "8a0af9df46a559330f08018795849613a40dafe86e92cdd098a223c6b0c8df59", "fetched_at": "2026-08-29T09:39:55.422687+00:00", "kind": "site_page", "missing": false, "url": "https://analogjs.org/docs/support"}, {"content_hash": "3bbdfdfa32e9e8fc74fbdae72604ac22e7226fea1324b7c5059a32d35a2311ab", "fetched_at": "2026-08-29T09:39:55.425507+00:00", "kind": "site_page", "missing": false, "url": "https://analogjs.org/docs/getting-started"}, {"content_hash": "4c7ae8ca5785fd90cd2080f922d9ab5b786129056b077f04a37f3654a8a3de68", "fetched_at": "2026-08-29T09:39:55.427792+00:00", "kind": "site_page", "missing": false, "url": "https://analogjs.org/docs/contributors"}, {"content_hash": "7503507be53946945dbf09194722cdb0f73b84c11036cb63b09b809e3eee990f", "fetched_at": "2026-08-29T09:39:55.430304+00:00", "kind": "site_page", "missing": false, "url": "https://analogjs.org/docs/contributing"}, {"content_hash": "b81be413cbb07f39c830777da1fbf392d3b81d19c70dc1db3f38e4687bf55ca6", "fetched_at": "2026-08-29T09:39:55.432741+00:00", "kind": "site_page", "missing": false, "url": "https://analogjs.org/docs/sponsoring"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.397720+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:45:29.305202+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9855f59b29b239c704d195d1a89f1c5bb3919d13e2012b3033388866a5dc99ca", "fetched_at": "2026-08-28T04:07:47.397720+00:00", "kind": "readme", "missing": false, "url": "https://github.com/analogjs/analog"}, {"content_hash": "a9df14a0a037fbecb4127caeb319008bd5af94a2e029bbeda58f29b023edabf3", "fetched_at": "2026-08-29T09:39:55.406183+00:00", "kind": "homepage", "missing": false, "url": "https://analogjs.org"}, {"content_hash": "8e937e1762e582cdc9cd9cf63393fd224957ce3809989b48cfd1ae08f4368678", "fetched_at": "2026-08-29T09:39:55.420386+00:00", "kind": "site_page", "missing": false, "url": "https://analogjs.org/docs/introduction"}, {"content_hash": "8a0af9df46a559330f08018795849613a40dafe86e92cdd098a223c6b0c8df59", "fetched_at": "2026-08-29T09:39:55.422687+00:00", "kind": "site_page", "missing": false, "url": "https://analogjs.org/docs/support"}, {"content_hash": "3bbdfdfa32e9e8fc74fbdae72604ac22e7226fea1324b7c5059a32d35a2311ab", "fetched_at": "2026-08-29T09:39:55.425507+00:00", "kind": "site_page", "missing": false, "url": "https://analogjs.org/docs/getting-started"}, {"content_hash": "4c7ae8ca5785fd90cd2080f922d9ab5b786129056b077f04a37f3654a8a3de68", "fetched_at": "2026-08-29T09:39:55.427792+00:00", "kind": "site_page", "missing": false, "url": "https://analogjs.org/docs/contributors"}, {"content_hash": "7503507be53946945dbf09194722cdb0f73b84c11036cb63b09b809e3eee990f", "fetched_at": "2026-08-29T09:39:55.430304+00:00", "kind": "site_page", "missing": false, "url": "https://analogjs.org/docs/contributing"}, {"content_hash": "b81be413cbb07f39c830777da1fbf392d3b81d19c70dc1db3f38e4687bf55ca6", "fetched_at": "2026-08-29T09:39:55.432741+00:00", "kind": "site_page", "missing": false, "url": "https://analogjs.org/docs/sponsoring"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:45:29.305202+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9855f59b29b239c704d195d1a89f1c5bb3919d13e2012b3033388866a5dc99ca", "fetched_at": "2026-08-28T04:07:47.397720+00:00", "kind": "readme", "missing": false, "url": "https://github.com/analogjs/analog"}, {"content_hash": "a9df14a0a037fbecb4127caeb319008bd5af94a2e029bbeda58f29b023edabf3", "fetched_at": "2026-08-29T09:39:55.406183+00:00", "kind": "homepage", "missing": false, "url": "https://analogjs.org"}, {"content_hash": "8e937e1762e582cdc9cd9cf63393fd224957ce3809989b48cfd1ae08f4368678", "fetched_at": "2026-08-29T09:39:55.420386+00:00", "kind": "site_page", "missing": false, "url": "https://analogjs.org/docs/introduction"}, {"content_hash": "8a0af9df46a559330f08018795849613a40dafe86e92cdd098a223c6b0c8df59", "fetched_at": "2026-08-29T09:39:55.422687+00:00", "kind": "site_page", "missing": false, "url": "https://analogjs.org/docs/support"}, {"content_hash": "3bbdfdfa32e9e8fc74fbdae72604ac22e7226fea1324b7c5059a32d35a2311ab", "fetched_at": "2026-08-29T09:39:55.425507+00:00", "kind": "site_page", "missing": false, "url": "https://analogjs.org/docs/getting-started"}, {"content_hash": "4c7ae8ca5785fd90cd2080f922d9ab5b786129056b077f04a37f3654a8a3de68", "fetched_at": "2026-08-29T09:39:55.427792+00:00", "kind": "site_page", "missing": false, "url": "https://analogjs.org/docs/contributors"}, {"content_hash": "7503507be53946945dbf09194722cdb0f73b84c11036cb63b09b809e3eee990f", "fetched_at": "2026-08-29T09:39:55.430304+00:00", "kind": "site_page", "missing": false, "url": "https://analogjs.org/docs/contributing"}, {"content_hash": "b81be413cbb07f39c830777da1fbf392d3b81d19c70dc1db3f38e4687bf55ca6", "fetched_at": "2026-08-29T09:39:55.432741+00:00", "kind": "site_page", "missing": false, "url": "https://analogjs.org/docs/sponsoring"}], "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:47.397720+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.397720+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.397720+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:45:29.305202+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9855f59b29b239c704d195d1a89f1c5bb3919d13e2012b3033388866a5dc99ca", "fetched_at": "2026-08-28T04:07:47.397720+00:00", "kind": "readme", "missing": false, "url": "https://github.com/analogjs/analog"}, {"content_hash": "a9df14a0a037fbecb4127caeb319008bd5af94a2e029bbeda58f29b023edabf3", "fetched_at": "2026-08-29T09:39:55.406183+00:00", "kind": "homepage", "missing": false, "url": "https://analogjs.org"}, {"content_hash": "8e937e1762e582cdc9cd9cf63393fd224957ce3809989b48cfd1ae08f4368678", "fetched_at": "2026-08-29T09:39:55.420386+00:00", "kind": "site_page", "missing": false, "url": "https://analogjs.org/docs/introduction"}, {"content_hash": "8a0af9df46a559330f08018795849613a40dafe86e92cdd098a223c6b0c8df59", "fetched_at": "2026-08-29T09:39:55.422687+00:00", "kind": "site_page", "missing": false, "url": "https://analogjs.org/docs/support"}, {"content_hash": "3bbdfdfa32e9e8fc74fbdae72604ac22e7226fea1324b7c5059a32d35a2311ab", "fetched_at": "2026-08-29T09:39:55.425507+00:00", "kind": "site_page", "missing": false, "url": "https://analogjs.org/docs/getting-started"}, {"content_hash": "4c7ae8ca5785fd90cd2080f922d9ab5b786129056b077f04a37f3654a8a3de68", "fetched_at": "2026-08-29T09:39:55.427792+00:00", "kind": "site_page", "missing": false, "url": "https://analogjs.org/docs/contributors"}, {"content_hash": "7503507be53946945dbf09194722cdb0f73b84c11036cb63b09b809e3eee990f", "fetched_at": "2026-08-29T09:39:55.430304+00:00", "kind": "site_page", "missing": false, "url": "https://analogjs.org/docs/contributing"}, {"content_hash": "b81be413cbb07f39c830777da1fbf392d3b81d19c70dc1db3f38e4687bf55ca6", "fetched_at": "2026-08-29T09:39:55.432741+00:00", "kind": "site_page", "missing": false, "url": "https://analogjs.org/docs/sponsoring"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.397720+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.397720+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:45:29.305202+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9855f59b29b239c704d195d1a89f1c5bb3919d13e2012b3033388866a5dc99ca", "fetched_at": "2026-08-28T04:07:47.397720+00:00", "kind": "readme", "missing": false, "url": "https://github.com/analogjs/analog"}, {"content_hash": "a9df14a0a037fbecb4127caeb319008bd5af94a2e029bbeda58f29b023edabf3", "fetched_at": "2026-08-29T09:39:55.406183+00:00", "kind": "homepage", "missing": false, "url": "https://analogjs.org"}, {"content_hash": "8e937e1762e582cdc9cd9cf63393fd224957ce3809989b48cfd1ae08f4368678", "fetched_at": "2026-08-29T09:39:55.420386+00:00", "kind": "site_page", "missing": false, "url": "https://analogjs.org/docs/introduction"}, {"content_hash": "8a0af9df46a559330f08018795849613a40dafe86e92cdd098a223c6b0c8df59", "fetched_at": "2026-08-29T09:39:55.422687+00:00", "kind": "site_page", "missing": false, "url": "https://analogjs.org/docs/support"}, {"content_hash": "3bbdfdfa32e9e8fc74fbdae72604ac22e7226fea1324b7c5059a32d35a2311ab", "fetched_at": "2026-08-29T09:39:55.425507+00:00", "kind": "site_page", "missing": false, "url": "https://analogjs.org/docs/getting-started"}, {"content_hash": "4c7ae8ca5785fd90cd2080f922d9ab5b786129056b077f04a37f3654a8a3de68", "fetched_at": "2026-08-29T09:39:55.427792+00:00", "kind": "site_page", "missing": false, "url": "https://analogjs.org/docs/contributors"}, {"content_hash": "7503507be53946945dbf09194722cdb0f73b84c11036cb63b09b809e3eee990f", "fetched_at": "2026-08-29T09:39:55.430304+00:00", "kind": "site_page", "missing": false, "url": "https://analogjs.org/docs/contributing"}, {"content_hash": "b81be413cbb07f39c830777da1fbf392d3b81d19c70dc1db3f38e4687bf55ca6", "fetched_at": "2026-08-29T09:39:55.432741+00:00", "kind": "site_page", "missing": false, "url": "https://analogjs.org/docs/sponsoring"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.397720+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.397720+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.397720+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:45:29.305202+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9855f59b29b239c704d195d1a89f1c5bb3919d13e2012b3033388866a5dc99ca", "fetched_at": "2026-08-28T04:07:47.397720+00:00", "kind": "readme", "missing": false, "url": "https://github.com/analogjs/analog"}, {"content_hash": "a9df14a0a037fbecb4127caeb319008bd5af94a2e029bbeda58f29b023edabf3", "fetched_at": "2026-08-29T09:39:55.406183+00:00", "kind": "homepage", "missing": false, "url": "https://analogjs.org"}, {"content_hash": "8e937e1762e582cdc9cd9cf63393fd224957ce3809989b48cfd1ae08f4368678", "fetched_at": "2026-08-29T09:39:55.420386+00:00", "kind": "site_page", "missing": false, "url": "https://analogjs.org/docs/introduction"}, {"content_hash": "8a0af9df46a559330f08018795849613a40dafe86e92cdd098a223c6b0c8df59", "fetched_at": "2026-08-29T09:39:55.422687+00:00", "kind": "site_page", "missing": false, "url": "https://analogjs.org/docs/support"}, {"content_hash": "3bbdfdfa32e9e8fc74fbdae72604ac22e7226fea1324b7c5059a32d35a2311ab", "fetched_at": "2026-08-29T09:39:55.425507+00:00", "kind": "site_page", "missing": false, "url": "https://analogjs.org/docs/getting-started"}, {"content_hash": "4c7ae8ca5785fd90cd2080f922d9ab5b786129056b077f04a37f3654a8a3de68", "fetched_at": "2026-08-29T09:39:55.427792+00:00", "kind": "site_page", "missing": false, "url": "https://analogjs.org/docs/contributors"}, {"content_hash": "7503507be53946945dbf09194722cdb0f73b84c11036cb63b09b809e3eee990f", "fetched_at": "2026-08-29T09:39:55.430304+00:00", "kind": "site_page", "missing": false, "url": "https://analogjs.org/docs/contributing"}, {"content_hash": "b81be413cbb07f39c830777da1fbf392d3b81d19c70dc1db3f38e4687bf55ca6", "fetched_at": "2026-08-29T09:39:55.432741+00:00", "kind": "site_page", "missing": false, "url": "https://analogjs.org/docs/sponsoring"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.397720+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.397720+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:45:29.305202+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9855f59b29b239c704d195d1a89f1c5bb3919d13e2012b3033388866a5dc99ca", "fetched_at": "2026-08-28T04:07:47.397720+00:00", "kind": "readme", "missing": false, "url": "https://github.com/analogjs/analog"}, {"content_hash": "a9df14a0a037fbecb4127caeb319008bd5af94a2e029bbeda58f29b023edabf3", "fetched_at": "2026-08-29T09:39:55.406183+00:00", "kind": "homepage", "missing": false, "url": "https://analogjs.org"}, {"content_hash": "8e937e1762e582cdc9cd9cf63393fd224957ce3809989b48cfd1ae08f4368678", "fetched_at": "2026-08-29T09:39:55.420386+00:00", "kind": "site_page", "missing": false, "url": "https://analogjs.org/docs/introduction"}, {"content_hash": "8a0af9df46a559330f08018795849613a40dafe86e92cdd098a223c6b0c8df59", "fetched_at": "2026-08-29T09:39:55.422687+00:00", "kind": "site_page", "missing": false, "url": "https://analogjs.org/docs/support"}, {"content_hash": "3bbdfdfa32e9e8fc74fbdae72604ac22e7226fea1324b7c5059a32d35a2311ab", "fetched_at": "2026-08-29T09:39:55.425507+00:00", "kind": "site_page", "missing": false, "url": "https://analogjs.org/docs/getting-started"}, {"content_hash": "4c7ae8ca5785fd90cd2080f922d9ab5b786129056b077f04a37f3654a8a3de68", "fetched_at": "2026-08-29T09:39:55.427792+00:00", "kind": "site_page", "missing": false, "url": "https://analogjs.org/docs/contributors"}, {"content_hash": "7503507be53946945dbf09194722cdb0f73b84c11036cb63b09b809e3eee990f", "fetched_at": "2026-08-29T09:39:55.430304+00:00", "kind": "site_page", "missing": false, "url": "https://analogjs.org/docs/contributing"}, {"content_hash": "b81be413cbb07f39c830777da1fbf392d3b81d19c70dc1db3f38e4687bf55ca6", "fetched_at": "2026-08-29T09:39:55.432741+00:00", "kind": "site_page", "missing": false, "url": "https://analogjs.org/docs/sponsoring"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:45:29.305202+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9855f59b29b239c704d195d1a89f1c5bb3919d13e2012b3033388866a5dc99ca", "fetched_at": "2026-08-28T04:07:47.397720+00:00", "kind": "readme", "missing": false, "url": "https://github.com/analogjs/analog"}, {"content_hash": "a9df14a0a037fbecb4127caeb319008bd5af94a2e029bbeda58f29b023edabf3", "fetched_at": "2026-08-29T09:39:55.406183+00:00", "kind": "homepage", "missing": false, "url": "https://analogjs.org"}, {"content_hash": "8e937e1762e582cdc9cd9cf63393fd224957ce3809989b48cfd1ae08f4368678", "fetched_at": "2026-08-29T09:39:55.420386+00:00", "kind": "site_page", "missing": false, "url": "https://analogjs.org/docs/introduction"}, {"content_hash": "8a0af9df46a559330f08018795849613a40dafe86e92cdd098a223c6b0c8df59", "fetched_at": "2026-08-29T09:39:55.422687+00:00", "kind": "site_page", "missing": false, "url": "https://analogjs.org/docs/support"}, {"content_hash": "3bbdfdfa32e9e8fc74fbdae72604ac22e7226fea1324b7c5059a32d35a2311ab", "fetched_at": "2026-08-29T09:39:55.425507+00:00", "kind": "site_page", "missing": false, "url": "https://analogjs.org/docs/getting-started"}, {"content_hash": "4c7ae8ca5785fd90cd2080f922d9ab5b786129056b077f04a37f3654a8a3de68", "fetched_at": "2026-08-29T09:39:55.427792+00:00", "kind": "site_page", "missing": false, "url": "https://analogjs.org/docs/contributors"}, {"content_hash": "7503507be53946945dbf09194722cdb0f73b84c11036cb63b09b809e3eee990f", "fetched_at": "2026-08-29T09:39:55.430304+00:00", "kind": "site_page", "missing": false, "url": "https://analogjs.org/docs/contributing"}, {"content_hash": "b81be413cbb07f39c830777da1fbf392d3b81d19c70dc1db3f38e4687bf55ca6", "fetched_at": "2026-08-29T09:39:55.432741+00:00", "kind": "site_page", "missing": false, "url": "https://analogjs.org/docs/sponsoring"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:45:29.305202+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9855f59b29b239c704d195d1a89f1c5bb3919d13e2012b3033388866a5dc99ca", "fetched_at": "2026-08-28T04:07:47.397720+00:00", "kind": "readme", "missing": false, "url": "https://github.com/analogjs/analog"}, {"content_hash": "a9df14a0a037fbecb4127caeb319008bd5af94a2e029bbeda58f29b023edabf3", "fetched_at": "2026-08-29T09:39:55.406183+00:00", "kind": "homepage", "missing": false, "url": "https://analogjs.org"}, {"content_hash": "8e937e1762e582cdc9cd9cf63393fd224957ce3809989b48cfd1ae08f4368678", "fetched_at": "2026-08-29T09:39:55.420386+00:00", "kind": "site_page", "missing": false, "url": "https://analogjs.org/docs/introduction"}, {"content_hash": "8a0af9df46a559330f08018795849613a40dafe86e92cdd098a223c6b0c8df59", "fetched_at": "2026-08-29T09:39:55.422687+00:00", "kind": "site_page", "missing": false, "url": "https://analogjs.org/docs/support"}, {"content_hash": "3bbdfdfa32e9e8fc74fbdae72604ac22e7226fea1324b7c5059a32d35a2311ab", "fetched_at": "2026-08-29T09:39:55.425507+00:00", "kind": "site_page", "missing": false, "url": "https://analogjs.org/docs/getting-started"}, {"content_hash": "4c7ae8ca5785fd90cd2080f922d9ab5b786129056b077f04a37f3654a8a3de68", "fetched_at": "2026-08-29T09:39:55.427792+00:00", "kind": "site_page", "missing": false, "url": "https://analogjs.org/docs/contributors"}, {"content_hash": "7503507be53946945dbf09194722cdb0f73b84c11036cb63b09b809e3eee990f", "fetched_at": "2026-08-29T09:39:55.430304+00:00", "kind": "site_page", "missing": false, "url": "https://analogjs.org/docs/contributing"}, {"content_hash": "b81be413cbb07f39c830777da1fbf392d3b81d19c70dc1db3f38e4687bf55ca6", "fetched_at": "2026-08-29T09:39:55.432741+00:00", "kind": "site_page", "missing": false, "url": "https://analogjs.org/docs/sponsoring"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:45:29.305202+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9855f59b29b239c704d195d1a89f1c5bb3919d13e2012b3033388866a5dc99ca", "fetched_at": "2026-08-28T04:07:47.397720+00:00", "kind": "readme", "missing": false, "url": "https://github.com/analogjs/analog"}, {"content_hash": "a9df14a0a037fbecb4127caeb319008bd5af94a2e029bbeda58f29b023edabf3", "fetched_at": "2026-08-29T09:39:55.406183+00:00", "kind": "homepage", "missing": false, "url": "https://analogjs.org"}, {"content_hash": "8e937e1762e582cdc9cd9cf63393fd224957ce3809989b48cfd1ae08f4368678", "fetched_at": "2026-08-29T09:39:55.420386+00:00", "kind": "site_page", "missing": false, "url": "https://analogjs.org/docs/introduction"}, {"content_hash": "8a0af9df46a559330f08018795849613a40dafe86e92cdd098a223c6b0c8df59", "fetched_at": "2026-08-29T09:39:55.422687+00:00", "kind": "site_page", "missing": false, "url": "https://analogjs.org/docs/support"}, {"content_hash": "3bbdfdfa32e9e8fc74fbdae72604ac22e7226fea1324b7c5059a32d35a2311ab", "fetched_at": "2026-08-29T09:39:55.425507+00:00", "kind": "site_page", "missing": false, "url": "https://analogjs.org/docs/getting-started"}, {"content_hash": "4c7ae8ca5785fd90cd2080f922d9ab5b786129056b077f04a37f3654a8a3de68", "fetched_at": "2026-08-29T09:39:55.427792+00:00", "kind": "site_page", "missing": false, "url": "https://analogjs.org/docs/contributors"}, {"content_hash": "7503507be53946945dbf09194722cdb0f73b84c11036cb63b09b809e3eee990f", "fetched_at": "2026-08-29T09:39:55.430304+00:00", "kind": "site_page", "missing": false, "url": "https://analogjs.org/docs/contributing"}, {"content_hash": "b81be413cbb07f39c830777da1fbf392d3b81d19c70dc1db3f38e4687bf55ca6", "fetched_at": "2026-08-29T09:39:55.432741+00:00", "kind": "site_page", "missing": false, "url": "https://analogjs.org/docs/sponsoring"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 87}, "computed_at": "2026-09-03T02:39:23.370411+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1519, "days_push": 7, "days_rel": 7, "gap_med": 7, "n_releases_24m": 84}, "score": 95, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}