{"adoption": {"forks": 671, "observed_at": "2026-08-28T04:11:27.405652+00:00", "stars": 19101}, "canonical_url": "https://ross.abutalabs.com/products/adonisjs", "card": {"archived": false, "artifact_type": "framework", "description": "AdonisJS is a TypeScript-first web framework for building web apps and API servers. It comes with support for testing, modern tooling, an ecosystem of official packages, and more.", "domain": ["web-development", "backend", "developer-tools", "apis"], "enriched": true, "function": ["web-framework", "orm", "auth", "routing", "middleware", "templating", "testing", "form-handling", "api-framework", "http-server"], "health_score": 99, "homepage": "https://adonisjs.com", "language": "TypeScript", "license": "MIT", "license_family": "permissive", "maturity": "stable", "member_repos": ["adonisjs/core", "adonisjs/lucid"], "name": "AdonisJS", "platform": ["cross-platform"], "pushed_at": "2026-08-21T05:06:03+00:00", "repo": "adonisjs/core", "stars": 19101, "tags": ["mvc", "batteries-included", "fullstack", "typescript-first", "nodejs-framework", "opinionated", "nodejs", "typescript", "web-server"], "topics": ["nodejs", "nodejs-framework", "typescript", "typescript-framework", "framework", "web-framework", "core", "mvc-framework"], "urls": [{"kind": "homepage", "url": "https://adonisjs.com"}, {"kind": "site_page", "url": "https://adonisjs.com/about"}, {"kind": "site_page", "url": "https://docs.adonisjs.com"}], "use_cases": ["build a fullstack web app in typescript on node.js", "create a REST API server with an ORM and authentication", "mvc framework with routing, controllers, and validation included", "build server-rendered web apps with sessions and auth", "replace express with a batteries-included node framework", "build microservices in typescript with testing built in"], "what_it_is": "AdonisJS is a batteries-included, TypeScript-first fullstack MVC web framework for Node.js. It ships with an ORM (Lucid), authentication, validation, routing, middleware, mail, queues, and testing as a cohesive official ecosystem.", "when_to_avoid": ["you want a minimal, unopinionated framework to compose your own stack (use Express or Fastify)", "you need to integrate many trendy third-party libraries that expect a bare-bones setup", "your team prefers maximum flexibility over conventions", "you are building outside the Node.js ecosystem"], "when_to_choose": ["you want an opinionated, cohesive framework where ORM, auth, and validation work together out of the box", "you prefer TypeScript-first development with strong conventions", "you want to ship products without assembling and wiring many separate packages", "you value stability and a stable API over chasing trends"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/repos/adonisjs/core", "repo": "adonisjs/core", "role": "main", "score": 98}, {"path": "/repos/adonisjs/lucid", "repo": "adonisjs/lucid", "role": "plugin", "score": 90}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:11:27.405652+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:00:32.043014+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "999dcfc740b122d46471afe98322e235fc90ba9ebdfa4b909b21127a200ebdac", "fetched_at": "2026-08-28T04:11:27.405652+00:00", "kind": "readme", "missing": false, "url": "https://github.com/adonisjs/core"}, {"content_hash": "bc9dffa4f586fe7fe41644b8392538b7b8656b1e7ba6ff7254b8966567fdfe4d", "fetched_at": "2026-08-29T07:59:35.454057+00:00", "kind": "homepage", "missing": false, "url": "https://adonisjs.com"}, {"content_hash": "b04c8fbc17ef5e165b1686d480137e29969f4818399732157c399061b347a081", "fetched_at": "2026-08-29T07:59:35.465157+00:00", "kind": "site_page", "missing": false, "url": "https://adonisjs.com/about"}, {"content_hash": "1dca1f19fd4a8b692cb0c5daaa80636582670f84edc05db6aa73bcaa455bbd68", "fetched_at": "2026-08-29T07:59:35.463369+00:00", "kind": "site_page", "missing": false, "url": "https://docs.adonisjs.com"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:11:27.405652+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:00:32.043014+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "999dcfc740b122d46471afe98322e235fc90ba9ebdfa4b909b21127a200ebdac", "fetched_at": "2026-08-28T04:11:27.405652+00:00", "kind": "readme", "missing": false, "url": "https://github.com/adonisjs/core"}, {"content_hash": "bc9dffa4f586fe7fe41644b8392538b7b8656b1e7ba6ff7254b8966567fdfe4d", "fetched_at": "2026-08-29T07:59:35.454057+00:00", "kind": "homepage", "missing": false, "url": "https://adonisjs.com"}, {"content_hash": "b04c8fbc17ef5e165b1686d480137e29969f4818399732157c399061b347a081", "fetched_at": "2026-08-29T07:59:35.465157+00:00", "kind": "site_page", "missing": false, "url": "https://adonisjs.com/about"}, {"content_hash": "1dca1f19fd4a8b692cb0c5daaa80636582670f84edc05db6aa73bcaa455bbd68", "fetched_at": "2026-08-29T07:59:35.463369+00:00", "kind": "site_page", "missing": false, "url": "https://docs.adonisjs.com"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:00:32.043014+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "999dcfc740b122d46471afe98322e235fc90ba9ebdfa4b909b21127a200ebdac", "fetched_at": "2026-08-28T04:11:27.405652+00:00", "kind": "readme", "missing": false, "url": "https://github.com/adonisjs/core"}, {"content_hash": "bc9dffa4f586fe7fe41644b8392538b7b8656b1e7ba6ff7254b8966567fdfe4d", "fetched_at": "2026-08-29T07:59:35.454057+00:00", "kind": "homepage", "missing": false, "url": "https://adonisjs.com"}, {"content_hash": "b04c8fbc17ef5e165b1686d480137e29969f4818399732157c399061b347a081", "fetched_at": "2026-08-29T07:59:35.465157+00:00", "kind": "site_page", "missing": false, "url": "https://adonisjs.com/about"}, {"content_hash": "1dca1f19fd4a8b692cb0c5daaa80636582670f84edc05db6aa73bcaa455bbd68", "fetched_at": "2026-08-29T07:59:35.463369+00:00", "kind": "site_page", "missing": false, "url": "https://docs.adonisjs.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:11:27.405652+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:11:27.405652+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:11:27.405652+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:00:32.043014+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "999dcfc740b122d46471afe98322e235fc90ba9ebdfa4b909b21127a200ebdac", "fetched_at": "2026-08-28T04:11:27.405652+00:00", "kind": "readme", "missing": false, "url": "https://github.com/adonisjs/core"}, {"content_hash": "bc9dffa4f586fe7fe41644b8392538b7b8656b1e7ba6ff7254b8966567fdfe4d", "fetched_at": "2026-08-29T07:59:35.454057+00:00", "kind": "homepage", "missing": false, "url": "https://adonisjs.com"}, {"content_hash": "b04c8fbc17ef5e165b1686d480137e29969f4818399732157c399061b347a081", "fetched_at": "2026-08-29T07:59:35.465157+00:00", "kind": "site_page", "missing": false, "url": "https://adonisjs.com/about"}, {"content_hash": "1dca1f19fd4a8b692cb0c5daaa80636582670f84edc05db6aa73bcaa455bbd68", "fetched_at": "2026-08-29T07:59:35.463369+00:00", "kind": "site_page", "missing": false, "url": "https://docs.adonisjs.com"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:11:27.405652+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:11:27.405652+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:00:32.043014+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "999dcfc740b122d46471afe98322e235fc90ba9ebdfa4b909b21127a200ebdac", "fetched_at": "2026-08-28T04:11:27.405652+00:00", "kind": "readme", "missing": false, "url": "https://github.com/adonisjs/core"}, {"content_hash": "bc9dffa4f586fe7fe41644b8392538b7b8656b1e7ba6ff7254b8966567fdfe4d", "fetched_at": "2026-08-29T07:59:35.454057+00:00", "kind": "homepage", "missing": false, "url": "https://adonisjs.com"}, {"content_hash": "b04c8fbc17ef5e165b1686d480137e29969f4818399732157c399061b347a081", "fetched_at": "2026-08-29T07:59:35.465157+00:00", "kind": "site_page", "missing": false, "url": "https://adonisjs.com/about"}, {"content_hash": "1dca1f19fd4a8b692cb0c5daaa80636582670f84edc05db6aa73bcaa455bbd68", "fetched_at": "2026-08-29T07:59:35.463369+00:00", "kind": "site_page", "missing": false, "url": "https://docs.adonisjs.com"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:11:27.405652+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:11:27.405652+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:11:27.405652+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:00:32.043014+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "999dcfc740b122d46471afe98322e235fc90ba9ebdfa4b909b21127a200ebdac", "fetched_at": "2026-08-28T04:11:27.405652+00:00", "kind": "readme", "missing": false, "url": "https://github.com/adonisjs/core"}, {"content_hash": "bc9dffa4f586fe7fe41644b8392538b7b8656b1e7ba6ff7254b8966567fdfe4d", "fetched_at": "2026-08-29T07:59:35.454057+00:00", "kind": "homepage", "missing": false, "url": "https://adonisjs.com"}, {"content_hash": "b04c8fbc17ef5e165b1686d480137e29969f4818399732157c399061b347a081", "fetched_at": "2026-08-29T07:59:35.465157+00:00", "kind": "site_page", "missing": false, "url": "https://adonisjs.com/about"}, {"content_hash": "1dca1f19fd4a8b692cb0c5daaa80636582670f84edc05db6aa73bcaa455bbd68", "fetched_at": "2026-08-29T07:59:35.463369+00:00", "kind": "site_page", "missing": false, "url": "https://docs.adonisjs.com"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:11:27.405652+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:11:27.405652+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:00:32.043014+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "999dcfc740b122d46471afe98322e235fc90ba9ebdfa4b909b21127a200ebdac", "fetched_at": "2026-08-28T04:11:27.405652+00:00", "kind": "readme", "missing": false, "url": "https://github.com/adonisjs/core"}, {"content_hash": "bc9dffa4f586fe7fe41644b8392538b7b8656b1e7ba6ff7254b8966567fdfe4d", "fetched_at": "2026-08-29T07:59:35.454057+00:00", "kind": "homepage", "missing": false, "url": "https://adonisjs.com"}, {"content_hash": "b04c8fbc17ef5e165b1686d480137e29969f4818399732157c399061b347a081", "fetched_at": "2026-08-29T07:59:35.465157+00:00", "kind": "site_page", "missing": false, "url": "https://adonisjs.com/about"}, {"content_hash": "1dca1f19fd4a8b692cb0c5daaa80636582670f84edc05db6aa73bcaa455bbd68", "fetched_at": "2026-08-29T07:59:35.463369+00:00", "kind": "site_page", "missing": false, "url": "https://docs.adonisjs.com"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:00:32.043014+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "999dcfc740b122d46471afe98322e235fc90ba9ebdfa4b909b21127a200ebdac", "fetched_at": "2026-08-28T04:11:27.405652+00:00", "kind": "readme", "missing": false, "url": "https://github.com/adonisjs/core"}, {"content_hash": "bc9dffa4f586fe7fe41644b8392538b7b8656b1e7ba6ff7254b8966567fdfe4d", "fetched_at": "2026-08-29T07:59:35.454057+00:00", "kind": "homepage", "missing": false, "url": "https://adonisjs.com"}, {"content_hash": "b04c8fbc17ef5e165b1686d480137e29969f4818399732157c399061b347a081", "fetched_at": "2026-08-29T07:59:35.465157+00:00", "kind": "site_page", "missing": false, "url": "https://adonisjs.com/about"}, {"content_hash": "1dca1f19fd4a8b692cb0c5daaa80636582670f84edc05db6aa73bcaa455bbd68", "fetched_at": "2026-08-29T07:59:35.463369+00:00", "kind": "site_page", "missing": false, "url": "https://docs.adonisjs.com"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:00:32.043014+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "999dcfc740b122d46471afe98322e235fc90ba9ebdfa4b909b21127a200ebdac", "fetched_at": "2026-08-28T04:11:27.405652+00:00", "kind": "readme", "missing": false, "url": "https://github.com/adonisjs/core"}, {"content_hash": "bc9dffa4f586fe7fe41644b8392538b7b8656b1e7ba6ff7254b8966567fdfe4d", "fetched_at": "2026-08-29T07:59:35.454057+00:00", "kind": "homepage", "missing": false, "url": "https://adonisjs.com"}, {"content_hash": "b04c8fbc17ef5e165b1686d480137e29969f4818399732157c399061b347a081", "fetched_at": "2026-08-29T07:59:35.465157+00:00", "kind": "site_page", "missing": false, "url": "https://adonisjs.com/about"}, {"content_hash": "1dca1f19fd4a8b692cb0c5daaa80636582670f84edc05db6aa73bcaa455bbd68", "fetched_at": "2026-08-29T07:59:35.463369+00:00", "kind": "site_page", "missing": false, "url": "https://docs.adonisjs.com"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:00:32.043014+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "999dcfc740b122d46471afe98322e235fc90ba9ebdfa4b909b21127a200ebdac", "fetched_at": "2026-08-28T04:11:27.405652+00:00", "kind": "readme", "missing": false, "url": "https://github.com/adonisjs/core"}, {"content_hash": "bc9dffa4f586fe7fe41644b8392538b7b8656b1e7ba6ff7254b8966567fdfe4d", "fetched_at": "2026-08-29T07:59:35.454057+00:00", "kind": "homepage", "missing": false, "url": "https://adonisjs.com"}, {"content_hash": "b04c8fbc17ef5e165b1686d480137e29969f4818399732157c399061b347a081", "fetched_at": "2026-08-29T07:59:35.465157+00:00", "kind": "site_page", "missing": false, "url": "https://adonisjs.com/about"}, {"content_hash": "1dca1f19fd4a8b692cb0c5daaa80636582670f84edc05db6aa73bcaa455bbd68", "fetched_at": "2026-08-29T07:59:35.463369+00:00", "kind": "site_page", "missing": false, "url": "https://docs.adonisjs.com"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 98, "longevity": 100, "rhythm": 98}, "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": 4036, "days_push": 12, "days_rel": 12, "gap_med": 16, "n_releases_24m": 30}, "score": 98, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}