{"adoption": {"forks": 85, "observed_at": "2026-08-28T04:04:20.873913+00:00", "stars": 1316}, "canonical_url": "https://ross.abutalabs.com/products/maru", "card": {"archived": false, "artifact_type": "framework", "description": "Elixir RESTful Framework ", "domain": ["web-development", "backend", "apis"], "enriched": true, "function": ["api-framework", "web-framework", "routing", "middleware", "form-handling"], "health_score": 20, "homepage": "https://maru.readme.io", "language": "Elixir", "license": "BSD-3-Clause", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["elixir-maru/maru"], "name": "elixir-maru/maru", "platform": ["elixir"], "pushed_at": "2019-09-13T14:08:13+00:00", "repo": "elixir-maru/maru", "stars": 1316, "tags": ["rest-api", "grape-inspired", "dsl", "parameter-validation", "api-versioning", "plug-based", "web-server"], "topics": [], "urls": [], "use_cases": ["build a RESTful JSON API in Elixir", "validate and coerce request parameters with a DSL", "version an HTTP API via path, header, or query param", "mount modular routers into a larger API", "add a lightweight API layer alongside Phoenix", "handle file uploads in multipart API endpoints"], "what_it_is": "Maru is a REST-like API micro-framework for Elixir, inspired by Ruby's Grape, providing a DSL for routing, parameter validation and coercion, versioning, and middleware via Plug. It can run standalone on Cowboy or complement frameworks like Phoenix, but intentionally excludes templating, database connections, and session handling.", "when_to_avoid": ["you need a full-stack web framework with views and sessions", "you need actively maintained software with recent releases", "you want GraphQL or non-REST API styles", "you need built-in database integration"], "when_to_choose": ["you want a Grape-like DSL for Elixir APIs", "you need declarative parameter validation and type coercion", "you want API versioning built in", "you prefer a minimal framework without ORM or templating"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/maru", "repo": "elixir-maru/maru", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:20.873913+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:48:28.382723+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "52aa4efbf2b248b610f954f44beb9fc8fe6c799b046c6d313da7187e85c0675b", "fetched_at": "2026-08-28T04:04:20.873913+00:00", "kind": "readme", "missing": false, "url": "https://github.com/elixir-maru/maru"}, {"content_hash": "5e1cf97464dfbf33c6d54752e99437ce8234dd6cf2a7dddc51ca1577a6f93e50", "fetched_at": "2026-08-29T12:07:00.510082+00:00", "kind": "homepage", "missing": false, "url": "https://maru.readme.io"}, {"content_hash": "5e1cf97464dfbf33c6d54752e99437ce8234dd6cf2a7dddc51ca1577a6f93e50", "fetched_at": "2026-08-29T12:07:00.519314+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs"}, {"content_hash": "69bb9d0e4a3a23f20199f498924cb4d162d4ed44d8293ef160f01cb127db27c8", "fetched_at": "2026-08-29T12:07:00.521277+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/basic-usage"}, {"content_hash": "ff00766f12c96e1f385949211c9e17ad81e50d37fab0899550b3993a9a0202ff", "fetched_at": "2026-08-29T12:07:00.523134+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/upgrade-instructions-from-v011"}, {"content_hash": "05e59fc7307c758b216ead1995aab41eff0a3f3ac0996bbc3e4c1bfd7199a2d3", "fetched_at": "2026-08-29T12:07:00.524810+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/router"}, {"content_hash": "52feb39b25eefaf8c145b25f6aecaecbe58c86db0cc09abb85ea2872e8fe43ea", "fetched_at": "2026-08-29T12:07:00.526508+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/pipelines-1"}, {"content_hash": "4371c66417433da4ceeb385c59f509c1362f0432a465811e0c6218d996d00389", "fetched_at": "2026-08-29T12:07:00.528134+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/versioning-2"}, {"content_hash": "8fd1449c6677081280ead29ae2326b4bbac7968ef1c8c07a9e27c62a7cf6dc3b", "fetched_at": "2026-08-29T12:07:00.530193+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/parameters"}, {"content_hash": "e1fe080b7150881c1aac39e15212127cad245a935be13fb1587f0851e35b6e4f", "fetched_at": "2026-08-29T12:07:00.532048+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/middleware-1"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:20.873913+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:48:28.382723+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "52aa4efbf2b248b610f954f44beb9fc8fe6c799b046c6d313da7187e85c0675b", "fetched_at": "2026-08-28T04:04:20.873913+00:00", "kind": "readme", "missing": false, "url": "https://github.com/elixir-maru/maru"}, {"content_hash": "5e1cf97464dfbf33c6d54752e99437ce8234dd6cf2a7dddc51ca1577a6f93e50", "fetched_at": "2026-08-29T12:07:00.510082+00:00", "kind": "homepage", "missing": false, "url": "https://maru.readme.io"}, {"content_hash": "5e1cf97464dfbf33c6d54752e99437ce8234dd6cf2a7dddc51ca1577a6f93e50", "fetched_at": "2026-08-29T12:07:00.519314+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs"}, {"content_hash": "69bb9d0e4a3a23f20199f498924cb4d162d4ed44d8293ef160f01cb127db27c8", "fetched_at": "2026-08-29T12:07:00.521277+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/basic-usage"}, {"content_hash": "ff00766f12c96e1f385949211c9e17ad81e50d37fab0899550b3993a9a0202ff", "fetched_at": "2026-08-29T12:07:00.523134+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/upgrade-instructions-from-v011"}, {"content_hash": "05e59fc7307c758b216ead1995aab41eff0a3f3ac0996bbc3e4c1bfd7199a2d3", "fetched_at": "2026-08-29T12:07:00.524810+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/router"}, {"content_hash": "52feb39b25eefaf8c145b25f6aecaecbe58c86db0cc09abb85ea2872e8fe43ea", "fetched_at": "2026-08-29T12:07:00.526508+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/pipelines-1"}, {"content_hash": "4371c66417433da4ceeb385c59f509c1362f0432a465811e0c6218d996d00389", "fetched_at": "2026-08-29T12:07:00.528134+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/versioning-2"}, {"content_hash": "8fd1449c6677081280ead29ae2326b4bbac7968ef1c8c07a9e27c62a7cf6dc3b", "fetched_at": "2026-08-29T12:07:00.530193+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/parameters"}, {"content_hash": "e1fe080b7150881c1aac39e15212127cad245a935be13fb1587f0851e35b6e4f", "fetched_at": "2026-08-29T12:07:00.532048+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/middleware-1"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:48:28.382723+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "52aa4efbf2b248b610f954f44beb9fc8fe6c799b046c6d313da7187e85c0675b", "fetched_at": "2026-08-28T04:04:20.873913+00:00", "kind": "readme", "missing": false, "url": "https://github.com/elixir-maru/maru"}, {"content_hash": "5e1cf97464dfbf33c6d54752e99437ce8234dd6cf2a7dddc51ca1577a6f93e50", "fetched_at": "2026-08-29T12:07:00.510082+00:00", "kind": "homepage", "missing": false, "url": "https://maru.readme.io"}, {"content_hash": "5e1cf97464dfbf33c6d54752e99437ce8234dd6cf2a7dddc51ca1577a6f93e50", "fetched_at": "2026-08-29T12:07:00.519314+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs"}, {"content_hash": "69bb9d0e4a3a23f20199f498924cb4d162d4ed44d8293ef160f01cb127db27c8", "fetched_at": "2026-08-29T12:07:00.521277+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/basic-usage"}, {"content_hash": "ff00766f12c96e1f385949211c9e17ad81e50d37fab0899550b3993a9a0202ff", "fetched_at": "2026-08-29T12:07:00.523134+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/upgrade-instructions-from-v011"}, {"content_hash": "05e59fc7307c758b216ead1995aab41eff0a3f3ac0996bbc3e4c1bfd7199a2d3", "fetched_at": "2026-08-29T12:07:00.524810+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/router"}, {"content_hash": "52feb39b25eefaf8c145b25f6aecaecbe58c86db0cc09abb85ea2872e8fe43ea", "fetched_at": "2026-08-29T12:07:00.526508+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/pipelines-1"}, {"content_hash": "4371c66417433da4ceeb385c59f509c1362f0432a465811e0c6218d996d00389", "fetched_at": "2026-08-29T12:07:00.528134+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/versioning-2"}, {"content_hash": "8fd1449c6677081280ead29ae2326b4bbac7968ef1c8c07a9e27c62a7cf6dc3b", "fetched_at": "2026-08-29T12:07:00.530193+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/parameters"}, {"content_hash": "e1fe080b7150881c1aac39e15212127cad245a935be13fb1587f0851e35b6e4f", "fetched_at": "2026-08-29T12:07:00.532048+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/middleware-1"}], "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:04:20.873913+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:20.873913+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:20.873913+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:48:28.382723+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "52aa4efbf2b248b610f954f44beb9fc8fe6c799b046c6d313da7187e85c0675b", "fetched_at": "2026-08-28T04:04:20.873913+00:00", "kind": "readme", "missing": false, "url": "https://github.com/elixir-maru/maru"}, {"content_hash": "5e1cf97464dfbf33c6d54752e99437ce8234dd6cf2a7dddc51ca1577a6f93e50", "fetched_at": "2026-08-29T12:07:00.510082+00:00", "kind": "homepage", "missing": false, "url": "https://maru.readme.io"}, {"content_hash": "5e1cf97464dfbf33c6d54752e99437ce8234dd6cf2a7dddc51ca1577a6f93e50", "fetched_at": "2026-08-29T12:07:00.519314+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs"}, {"content_hash": "69bb9d0e4a3a23f20199f498924cb4d162d4ed44d8293ef160f01cb127db27c8", "fetched_at": "2026-08-29T12:07:00.521277+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/basic-usage"}, {"content_hash": "ff00766f12c96e1f385949211c9e17ad81e50d37fab0899550b3993a9a0202ff", "fetched_at": "2026-08-29T12:07:00.523134+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/upgrade-instructions-from-v011"}, {"content_hash": "05e59fc7307c758b216ead1995aab41eff0a3f3ac0996bbc3e4c1bfd7199a2d3", "fetched_at": "2026-08-29T12:07:00.524810+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/router"}, {"content_hash": "52feb39b25eefaf8c145b25f6aecaecbe58c86db0cc09abb85ea2872e8fe43ea", "fetched_at": "2026-08-29T12:07:00.526508+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/pipelines-1"}, {"content_hash": "4371c66417433da4ceeb385c59f509c1362f0432a465811e0c6218d996d00389", "fetched_at": "2026-08-29T12:07:00.528134+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/versioning-2"}, {"content_hash": "8fd1449c6677081280ead29ae2326b4bbac7968ef1c8c07a9e27c62a7cf6dc3b", "fetched_at": "2026-08-29T12:07:00.530193+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/parameters"}, {"content_hash": "e1fe080b7150881c1aac39e15212127cad245a935be13fb1587f0851e35b6e4f", "fetched_at": "2026-08-29T12:07:00.532048+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/middleware-1"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:20.873913+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:20.873913+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:48:28.382723+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "52aa4efbf2b248b610f954f44beb9fc8fe6c799b046c6d313da7187e85c0675b", "fetched_at": "2026-08-28T04:04:20.873913+00:00", "kind": "readme", "missing": false, "url": "https://github.com/elixir-maru/maru"}, {"content_hash": "5e1cf97464dfbf33c6d54752e99437ce8234dd6cf2a7dddc51ca1577a6f93e50", "fetched_at": "2026-08-29T12:07:00.510082+00:00", "kind": "homepage", "missing": false, "url": "https://maru.readme.io"}, {"content_hash": "5e1cf97464dfbf33c6d54752e99437ce8234dd6cf2a7dddc51ca1577a6f93e50", "fetched_at": "2026-08-29T12:07:00.519314+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs"}, {"content_hash": "69bb9d0e4a3a23f20199f498924cb4d162d4ed44d8293ef160f01cb127db27c8", "fetched_at": "2026-08-29T12:07:00.521277+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/basic-usage"}, {"content_hash": "ff00766f12c96e1f385949211c9e17ad81e50d37fab0899550b3993a9a0202ff", "fetched_at": "2026-08-29T12:07:00.523134+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/upgrade-instructions-from-v011"}, {"content_hash": "05e59fc7307c758b216ead1995aab41eff0a3f3ac0996bbc3e4c1bfd7199a2d3", "fetched_at": "2026-08-29T12:07:00.524810+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/router"}, {"content_hash": "52feb39b25eefaf8c145b25f6aecaecbe58c86db0cc09abb85ea2872e8fe43ea", "fetched_at": "2026-08-29T12:07:00.526508+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/pipelines-1"}, {"content_hash": "4371c66417433da4ceeb385c59f509c1362f0432a465811e0c6218d996d00389", "fetched_at": "2026-08-29T12:07:00.528134+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/versioning-2"}, {"content_hash": "8fd1449c6677081280ead29ae2326b4bbac7968ef1c8c07a9e27c62a7cf6dc3b", "fetched_at": "2026-08-29T12:07:00.530193+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/parameters"}, {"content_hash": "e1fe080b7150881c1aac39e15212127cad245a935be13fb1587f0851e35b6e4f", "fetched_at": "2026-08-29T12:07:00.532048+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/middleware-1"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:20.873913+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:20.873913+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:20.873913+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:48:28.382723+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "52aa4efbf2b248b610f954f44beb9fc8fe6c799b046c6d313da7187e85c0675b", "fetched_at": "2026-08-28T04:04:20.873913+00:00", "kind": "readme", "missing": false, "url": "https://github.com/elixir-maru/maru"}, {"content_hash": "5e1cf97464dfbf33c6d54752e99437ce8234dd6cf2a7dddc51ca1577a6f93e50", "fetched_at": "2026-08-29T12:07:00.510082+00:00", "kind": "homepage", "missing": false, "url": "https://maru.readme.io"}, {"content_hash": "5e1cf97464dfbf33c6d54752e99437ce8234dd6cf2a7dddc51ca1577a6f93e50", "fetched_at": "2026-08-29T12:07:00.519314+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs"}, {"content_hash": "69bb9d0e4a3a23f20199f498924cb4d162d4ed44d8293ef160f01cb127db27c8", "fetched_at": "2026-08-29T12:07:00.521277+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/basic-usage"}, {"content_hash": "ff00766f12c96e1f385949211c9e17ad81e50d37fab0899550b3993a9a0202ff", "fetched_at": "2026-08-29T12:07:00.523134+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/upgrade-instructions-from-v011"}, {"content_hash": "05e59fc7307c758b216ead1995aab41eff0a3f3ac0996bbc3e4c1bfd7199a2d3", "fetched_at": "2026-08-29T12:07:00.524810+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/router"}, {"content_hash": "52feb39b25eefaf8c145b25f6aecaecbe58c86db0cc09abb85ea2872e8fe43ea", "fetched_at": "2026-08-29T12:07:00.526508+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/pipelines-1"}, {"content_hash": "4371c66417433da4ceeb385c59f509c1362f0432a465811e0c6218d996d00389", "fetched_at": "2026-08-29T12:07:00.528134+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/versioning-2"}, {"content_hash": "8fd1449c6677081280ead29ae2326b4bbac7968ef1c8c07a9e27c62a7cf6dc3b", "fetched_at": "2026-08-29T12:07:00.530193+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/parameters"}, {"content_hash": "e1fe080b7150881c1aac39e15212127cad245a935be13fb1587f0851e35b6e4f", "fetched_at": "2026-08-29T12:07:00.532048+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/middleware-1"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:20.873913+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:20.873913+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:48:28.382723+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "52aa4efbf2b248b610f954f44beb9fc8fe6c799b046c6d313da7187e85c0675b", "fetched_at": "2026-08-28T04:04:20.873913+00:00", "kind": "readme", "missing": false, "url": "https://github.com/elixir-maru/maru"}, {"content_hash": "5e1cf97464dfbf33c6d54752e99437ce8234dd6cf2a7dddc51ca1577a6f93e50", "fetched_at": "2026-08-29T12:07:00.510082+00:00", "kind": "homepage", "missing": false, "url": "https://maru.readme.io"}, {"content_hash": "5e1cf97464dfbf33c6d54752e99437ce8234dd6cf2a7dddc51ca1577a6f93e50", "fetched_at": "2026-08-29T12:07:00.519314+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs"}, {"content_hash": "69bb9d0e4a3a23f20199f498924cb4d162d4ed44d8293ef160f01cb127db27c8", "fetched_at": "2026-08-29T12:07:00.521277+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/basic-usage"}, {"content_hash": "ff00766f12c96e1f385949211c9e17ad81e50d37fab0899550b3993a9a0202ff", "fetched_at": "2026-08-29T12:07:00.523134+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/upgrade-instructions-from-v011"}, {"content_hash": "05e59fc7307c758b216ead1995aab41eff0a3f3ac0996bbc3e4c1bfd7199a2d3", "fetched_at": "2026-08-29T12:07:00.524810+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/router"}, {"content_hash": "52feb39b25eefaf8c145b25f6aecaecbe58c86db0cc09abb85ea2872e8fe43ea", "fetched_at": "2026-08-29T12:07:00.526508+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/pipelines-1"}, {"content_hash": "4371c66417433da4ceeb385c59f509c1362f0432a465811e0c6218d996d00389", "fetched_at": "2026-08-29T12:07:00.528134+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/versioning-2"}, {"content_hash": "8fd1449c6677081280ead29ae2326b4bbac7968ef1c8c07a9e27c62a7cf6dc3b", "fetched_at": "2026-08-29T12:07:00.530193+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/parameters"}, {"content_hash": "e1fe080b7150881c1aac39e15212127cad245a935be13fb1587f0851e35b6e4f", "fetched_at": "2026-08-29T12:07:00.532048+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/middleware-1"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:48:28.382723+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "52aa4efbf2b248b610f954f44beb9fc8fe6c799b046c6d313da7187e85c0675b", "fetched_at": "2026-08-28T04:04:20.873913+00:00", "kind": "readme", "missing": false, "url": "https://github.com/elixir-maru/maru"}, {"content_hash": "5e1cf97464dfbf33c6d54752e99437ce8234dd6cf2a7dddc51ca1577a6f93e50", "fetched_at": "2026-08-29T12:07:00.510082+00:00", "kind": "homepage", "missing": false, "url": "https://maru.readme.io"}, {"content_hash": "5e1cf97464dfbf33c6d54752e99437ce8234dd6cf2a7dddc51ca1577a6f93e50", "fetched_at": "2026-08-29T12:07:00.519314+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs"}, {"content_hash": "69bb9d0e4a3a23f20199f498924cb4d162d4ed44d8293ef160f01cb127db27c8", "fetched_at": "2026-08-29T12:07:00.521277+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/basic-usage"}, {"content_hash": "ff00766f12c96e1f385949211c9e17ad81e50d37fab0899550b3993a9a0202ff", "fetched_at": "2026-08-29T12:07:00.523134+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/upgrade-instructions-from-v011"}, {"content_hash": "05e59fc7307c758b216ead1995aab41eff0a3f3ac0996bbc3e4c1bfd7199a2d3", "fetched_at": "2026-08-29T12:07:00.524810+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/router"}, {"content_hash": "52feb39b25eefaf8c145b25f6aecaecbe58c86db0cc09abb85ea2872e8fe43ea", "fetched_at": "2026-08-29T12:07:00.526508+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/pipelines-1"}, {"content_hash": "4371c66417433da4ceeb385c59f509c1362f0432a465811e0c6218d996d00389", "fetched_at": "2026-08-29T12:07:00.528134+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/versioning-2"}, {"content_hash": "8fd1449c6677081280ead29ae2326b4bbac7968ef1c8c07a9e27c62a7cf6dc3b", "fetched_at": "2026-08-29T12:07:00.530193+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/parameters"}, {"content_hash": "e1fe080b7150881c1aac39e15212127cad245a935be13fb1587f0851e35b6e4f", "fetched_at": "2026-08-29T12:07:00.532048+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/middleware-1"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:48:28.382723+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "52aa4efbf2b248b610f954f44beb9fc8fe6c799b046c6d313da7187e85c0675b", "fetched_at": "2026-08-28T04:04:20.873913+00:00", "kind": "readme", "missing": false, "url": "https://github.com/elixir-maru/maru"}, {"content_hash": "5e1cf97464dfbf33c6d54752e99437ce8234dd6cf2a7dddc51ca1577a6f93e50", "fetched_at": "2026-08-29T12:07:00.510082+00:00", "kind": "homepage", "missing": false, "url": "https://maru.readme.io"}, {"content_hash": "5e1cf97464dfbf33c6d54752e99437ce8234dd6cf2a7dddc51ca1577a6f93e50", "fetched_at": "2026-08-29T12:07:00.519314+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs"}, {"content_hash": "69bb9d0e4a3a23f20199f498924cb4d162d4ed44d8293ef160f01cb127db27c8", "fetched_at": "2026-08-29T12:07:00.521277+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/basic-usage"}, {"content_hash": "ff00766f12c96e1f385949211c9e17ad81e50d37fab0899550b3993a9a0202ff", "fetched_at": "2026-08-29T12:07:00.523134+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/upgrade-instructions-from-v011"}, {"content_hash": "05e59fc7307c758b216ead1995aab41eff0a3f3ac0996bbc3e4c1bfd7199a2d3", "fetched_at": "2026-08-29T12:07:00.524810+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/router"}, {"content_hash": "52feb39b25eefaf8c145b25f6aecaecbe58c86db0cc09abb85ea2872e8fe43ea", "fetched_at": "2026-08-29T12:07:00.526508+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/pipelines-1"}, {"content_hash": "4371c66417433da4ceeb385c59f509c1362f0432a465811e0c6218d996d00389", "fetched_at": "2026-08-29T12:07:00.528134+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/versioning-2"}, {"content_hash": "8fd1449c6677081280ead29ae2326b4bbac7968ef1c8c07a9e27c62a7cf6dc3b", "fetched_at": "2026-08-29T12:07:00.530193+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/parameters"}, {"content_hash": "e1fe080b7150881c1aac39e15212127cad245a935be13fb1587f0851e35b6e4f", "fetched_at": "2026-08-29T12:07:00.532048+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/middleware-1"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:48:28.382723+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "52aa4efbf2b248b610f954f44beb9fc8fe6c799b046c6d313da7187e85c0675b", "fetched_at": "2026-08-28T04:04:20.873913+00:00", "kind": "readme", "missing": false, "url": "https://github.com/elixir-maru/maru"}, {"content_hash": "5e1cf97464dfbf33c6d54752e99437ce8234dd6cf2a7dddc51ca1577a6f93e50", "fetched_at": "2026-08-29T12:07:00.510082+00:00", "kind": "homepage", "missing": false, "url": "https://maru.readme.io"}, {"content_hash": "5e1cf97464dfbf33c6d54752e99437ce8234dd6cf2a7dddc51ca1577a6f93e50", "fetched_at": "2026-08-29T12:07:00.519314+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs"}, {"content_hash": "69bb9d0e4a3a23f20199f498924cb4d162d4ed44d8293ef160f01cb127db27c8", "fetched_at": "2026-08-29T12:07:00.521277+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/basic-usage"}, {"content_hash": "ff00766f12c96e1f385949211c9e17ad81e50d37fab0899550b3993a9a0202ff", "fetched_at": "2026-08-29T12:07:00.523134+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/upgrade-instructions-from-v011"}, {"content_hash": "05e59fc7307c758b216ead1995aab41eff0a3f3ac0996bbc3e4c1bfd7199a2d3", "fetched_at": "2026-08-29T12:07:00.524810+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/router"}, {"content_hash": "52feb39b25eefaf8c145b25f6aecaecbe58c86db0cc09abb85ea2872e8fe43ea", "fetched_at": "2026-08-29T12:07:00.526508+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/pipelines-1"}, {"content_hash": "4371c66417433da4ceeb385c59f509c1362f0432a465811e0c6218d996d00389", "fetched_at": "2026-08-29T12:07:00.528134+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/versioning-2"}, {"content_hash": "8fd1449c6677081280ead29ae2326b4bbac7968ef1c8c07a9e27c62a7cf6dc3b", "fetched_at": "2026-08-29T12:07:00.530193+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/parameters"}, {"content_hash": "e1fe080b7150881c1aac39e15212127cad245a935be13fb1587f0851e35b6e4f", "fetched_at": "2026-08-29T12:07:00.532048+00:00", "kind": "site_page", "missing": false, "url": "https://maru.readme.io/docs/middleware-1"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "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": 4263, "days_push": 2546, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}