{"adoption": {"forks": 612, "observed_at": "2026-08-28T04:06:24.143864+00:00", "stars": 2191}, "canonical_url": "https://ross.abutalabs.com/products/piranhacore", "card": {"archived": false, "artifact_type": "framework", "description": "Piranha CMS is the friendly editor-focused CMS for .NET that can be used both as an integrated CMS or as a headless API.", "domain": ["cms", "web-development", "backend", "self-hosted"], "enriched": true, "function": ["web-framework", "templating", "api-framework", "image-processing"], "health_score": 98, "homepage": "http://piranhacms.org", "language": "C#", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["PiranhaCMS/piranha.core"], "name": "PiranhaCMS/piranha.core", "platform": ["cross-platform", "dotnet", "windows"], "pushed_at": "2026-08-09T11:03:53+00:00", "repo": "PiranhaCMS/piranha.core", "stars": 2191, "tags": ["cms", "headless-cms", "asp-net-core", "entity-framework-core", "razor-pages", "content-management", "admin-panel", "decoupled-architecture", "web-server", "linux", "macos", "docker"], "topics": ["dotnet-core", "cms", "cms-framework", "entityframeworkcore", "piranha", "asp-net-core", "asp-net-core-mvc", "asp-net-core-razor-pages", "dotnet6"], "urls": [], "use_cases": ["build a website with a CMS on ASP.NET Core", "add a headless CMS API to serve content to apps", "set up a blog or content site in .NET", "give content editors a friendly admin panel with block editing", "manage a media library with image scaling and cropping", "create a small to medium .NET web application with content management"], "what_it_is": "Piranha CMS is a lightweight, decoupled, open-source content management system for .NET 8 built on ASP.NET Core and Entity Framework Core. It can be used as an integrated CMS with Razor Pages/MVC or as a headless content API, with a Vue.js-based admin panel for editors.", "when_to_avoid": ["you need an enterprise CMS with heavy out-of-the-box marketing features", "your stack is not .NET", "you require a large plugin/marketplace ecosystem", "you need a fully no-code hosted solution"], "when_to_choose": ["you're building on .NET/ASP.NET Core and want a lightweight, extensible CMS", "you need both integrated rendering and headless API delivery from one platform", "editor experience and a clean admin UI are priorities", "you want a MIT-licensed, package-based CMS with project templates"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/piranhacore", "repo": "PiranhaCMS/piranha.core", "role": "main", "score": 85}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:24.143864+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:47:28.185095+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "aae631bcd486e857e478972c17a55b681483c72bd30c97a3f4ad4c6f68947c61", "fetched_at": "2026-08-28T04:06:24.143864+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PiranhaCMS/piranha.core"}, {"content_hash": "42931c5a8cfaada2b1acfbe820459ef1daa2972295ebcb2e82cbcb0dcd30d3c3", "fetched_at": "2026-08-29T10:27:52.555180+00:00", "kind": "homepage", "missing": false, "url": "http://piranhacms.org"}, {"content_hash": "5c85c7aa1ea29bf81d397b8913f1fff8a275c9615e02347c9d36c8214aaf7bba", "fetched_at": "2026-08-29T10:27:52.564409+00:00", "kind": "site_page", "missing": false, "url": "https://piranhacms.org/features"}, {"content_hash": "82e22601dee00580295a84421bff734d3197f7865f2e44ab015af715689b6d5f", "fetched_at": "2026-08-29T10:27:52.566509+00:00", "kind": "site_page", "missing": false, "url": "https://piranhacms.org/about-us"}, {"content_hash": "17709bb2bce3dfc951a6d43427b37573f306aa25187e56c88a48ad88c1961522", "fetched_at": "2026-08-29T10:27:52.593791+00:00", "kind": "site_page", "missing": false, "url": "https://piranhacms.org/docs"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:24.143864+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:47:28.185095+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "aae631bcd486e857e478972c17a55b681483c72bd30c97a3f4ad4c6f68947c61", "fetched_at": "2026-08-28T04:06:24.143864+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PiranhaCMS/piranha.core"}, {"content_hash": "42931c5a8cfaada2b1acfbe820459ef1daa2972295ebcb2e82cbcb0dcd30d3c3", "fetched_at": "2026-08-29T10:27:52.555180+00:00", "kind": "homepage", "missing": false, "url": "http://piranhacms.org"}, {"content_hash": "5c85c7aa1ea29bf81d397b8913f1fff8a275c9615e02347c9d36c8214aaf7bba", "fetched_at": "2026-08-29T10:27:52.564409+00:00", "kind": "site_page", "missing": false, "url": "https://piranhacms.org/features"}, {"content_hash": "82e22601dee00580295a84421bff734d3197f7865f2e44ab015af715689b6d5f", "fetched_at": "2026-08-29T10:27:52.566509+00:00", "kind": "site_page", "missing": false, "url": "https://piranhacms.org/about-us"}, {"content_hash": "17709bb2bce3dfc951a6d43427b37573f306aa25187e56c88a48ad88c1961522", "fetched_at": "2026-08-29T10:27:52.593791+00:00", "kind": "site_page", "missing": false, "url": "https://piranhacms.org/docs"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:47:28.185095+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "aae631bcd486e857e478972c17a55b681483c72bd30c97a3f4ad4c6f68947c61", "fetched_at": "2026-08-28T04:06:24.143864+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PiranhaCMS/piranha.core"}, {"content_hash": "42931c5a8cfaada2b1acfbe820459ef1daa2972295ebcb2e82cbcb0dcd30d3c3", "fetched_at": "2026-08-29T10:27:52.555180+00:00", "kind": "homepage", "missing": false, "url": "http://piranhacms.org"}, {"content_hash": "5c85c7aa1ea29bf81d397b8913f1fff8a275c9615e02347c9d36c8214aaf7bba", "fetched_at": "2026-08-29T10:27:52.564409+00:00", "kind": "site_page", "missing": false, "url": "https://piranhacms.org/features"}, {"content_hash": "82e22601dee00580295a84421bff734d3197f7865f2e44ab015af715689b6d5f", "fetched_at": "2026-08-29T10:27:52.566509+00:00", "kind": "site_page", "missing": false, "url": "https://piranhacms.org/about-us"}, {"content_hash": "17709bb2bce3dfc951a6d43427b37573f306aa25187e56c88a48ad88c1961522", "fetched_at": "2026-08-29T10:27:52.593791+00:00", "kind": "site_page", "missing": false, "url": "https://piranhacms.org/docs"}], "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:06:24.143864+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:24.143864+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:24.143864+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:47:28.185095+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "aae631bcd486e857e478972c17a55b681483c72bd30c97a3f4ad4c6f68947c61", "fetched_at": "2026-08-28T04:06:24.143864+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PiranhaCMS/piranha.core"}, {"content_hash": "42931c5a8cfaada2b1acfbe820459ef1daa2972295ebcb2e82cbcb0dcd30d3c3", "fetched_at": "2026-08-29T10:27:52.555180+00:00", "kind": "homepage", "missing": false, "url": "http://piranhacms.org"}, {"content_hash": "5c85c7aa1ea29bf81d397b8913f1fff8a275c9615e02347c9d36c8214aaf7bba", "fetched_at": "2026-08-29T10:27:52.564409+00:00", "kind": "site_page", "missing": false, "url": "https://piranhacms.org/features"}, {"content_hash": "82e22601dee00580295a84421bff734d3197f7865f2e44ab015af715689b6d5f", "fetched_at": "2026-08-29T10:27:52.566509+00:00", "kind": "site_page", "missing": false, "url": "https://piranhacms.org/about-us"}, {"content_hash": "17709bb2bce3dfc951a6d43427b37573f306aa25187e56c88a48ad88c1961522", "fetched_at": "2026-08-29T10:27:52.593791+00:00", "kind": "site_page", "missing": false, "url": "https://piranhacms.org/docs"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:24.143864+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:24.143864+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:47:28.185095+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "aae631bcd486e857e478972c17a55b681483c72bd30c97a3f4ad4c6f68947c61", "fetched_at": "2026-08-28T04:06:24.143864+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PiranhaCMS/piranha.core"}, {"content_hash": "42931c5a8cfaada2b1acfbe820459ef1daa2972295ebcb2e82cbcb0dcd30d3c3", "fetched_at": "2026-08-29T10:27:52.555180+00:00", "kind": "homepage", "missing": false, "url": "http://piranhacms.org"}, {"content_hash": "5c85c7aa1ea29bf81d397b8913f1fff8a275c9615e02347c9d36c8214aaf7bba", "fetched_at": "2026-08-29T10:27:52.564409+00:00", "kind": "site_page", "missing": false, "url": "https://piranhacms.org/features"}, {"content_hash": "82e22601dee00580295a84421bff734d3197f7865f2e44ab015af715689b6d5f", "fetched_at": "2026-08-29T10:27:52.566509+00:00", "kind": "site_page", "missing": false, "url": "https://piranhacms.org/about-us"}, {"content_hash": "17709bb2bce3dfc951a6d43427b37573f306aa25187e56c88a48ad88c1961522", "fetched_at": "2026-08-29T10:27:52.593791+00:00", "kind": "site_page", "missing": false, "url": "https://piranhacms.org/docs"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:24.143864+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:24.143864+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:24.143864+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:47:28.185095+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "aae631bcd486e857e478972c17a55b681483c72bd30c97a3f4ad4c6f68947c61", "fetched_at": "2026-08-28T04:06:24.143864+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PiranhaCMS/piranha.core"}, {"content_hash": "42931c5a8cfaada2b1acfbe820459ef1daa2972295ebcb2e82cbcb0dcd30d3c3", "fetched_at": "2026-08-29T10:27:52.555180+00:00", "kind": "homepage", "missing": false, "url": "http://piranhacms.org"}, {"content_hash": "5c85c7aa1ea29bf81d397b8913f1fff8a275c9615e02347c9d36c8214aaf7bba", "fetched_at": "2026-08-29T10:27:52.564409+00:00", "kind": "site_page", "missing": false, "url": "https://piranhacms.org/features"}, {"content_hash": "82e22601dee00580295a84421bff734d3197f7865f2e44ab015af715689b6d5f", "fetched_at": "2026-08-29T10:27:52.566509+00:00", "kind": "site_page", "missing": false, "url": "https://piranhacms.org/about-us"}, {"content_hash": "17709bb2bce3dfc951a6d43427b37573f306aa25187e56c88a48ad88c1961522", "fetched_at": "2026-08-29T10:27:52.593791+00:00", "kind": "site_page", "missing": false, "url": "https://piranhacms.org/docs"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:24.143864+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:24.143864+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:47:28.185095+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "aae631bcd486e857e478972c17a55b681483c72bd30c97a3f4ad4c6f68947c61", "fetched_at": "2026-08-28T04:06:24.143864+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PiranhaCMS/piranha.core"}, {"content_hash": "42931c5a8cfaada2b1acfbe820459ef1daa2972295ebcb2e82cbcb0dcd30d3c3", "fetched_at": "2026-08-29T10:27:52.555180+00:00", "kind": "homepage", "missing": false, "url": "http://piranhacms.org"}, {"content_hash": "5c85c7aa1ea29bf81d397b8913f1fff8a275c9615e02347c9d36c8214aaf7bba", "fetched_at": "2026-08-29T10:27:52.564409+00:00", "kind": "site_page", "missing": false, "url": "https://piranhacms.org/features"}, {"content_hash": "82e22601dee00580295a84421bff734d3197f7865f2e44ab015af715689b6d5f", "fetched_at": "2026-08-29T10:27:52.566509+00:00", "kind": "site_page", "missing": false, "url": "https://piranhacms.org/about-us"}, {"content_hash": "17709bb2bce3dfc951a6d43427b37573f306aa25187e56c88a48ad88c1961522", "fetched_at": "2026-08-29T10:27:52.593791+00:00", "kind": "site_page", "missing": false, "url": "https://piranhacms.org/docs"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:47:28.185095+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "aae631bcd486e857e478972c17a55b681483c72bd30c97a3f4ad4c6f68947c61", "fetched_at": "2026-08-28T04:06:24.143864+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PiranhaCMS/piranha.core"}, {"content_hash": "42931c5a8cfaada2b1acfbe820459ef1daa2972295ebcb2e82cbcb0dcd30d3c3", "fetched_at": "2026-08-29T10:27:52.555180+00:00", "kind": "homepage", "missing": false, "url": "http://piranhacms.org"}, {"content_hash": "5c85c7aa1ea29bf81d397b8913f1fff8a275c9615e02347c9d36c8214aaf7bba", "fetched_at": "2026-08-29T10:27:52.564409+00:00", "kind": "site_page", "missing": false, "url": "https://piranhacms.org/features"}, {"content_hash": "82e22601dee00580295a84421bff734d3197f7865f2e44ab015af715689b6d5f", "fetched_at": "2026-08-29T10:27:52.566509+00:00", "kind": "site_page", "missing": false, "url": "https://piranhacms.org/about-us"}, {"content_hash": "17709bb2bce3dfc951a6d43427b37573f306aa25187e56c88a48ad88c1961522", "fetched_at": "2026-08-29T10:27:52.593791+00:00", "kind": "site_page", "missing": false, "url": "https://piranhacms.org/docs"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:47:28.185095+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "aae631bcd486e857e478972c17a55b681483c72bd30c97a3f4ad4c6f68947c61", "fetched_at": "2026-08-28T04:06:24.143864+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PiranhaCMS/piranha.core"}, {"content_hash": "42931c5a8cfaada2b1acfbe820459ef1daa2972295ebcb2e82cbcb0dcd30d3c3", "fetched_at": "2026-08-29T10:27:52.555180+00:00", "kind": "homepage", "missing": false, "url": "http://piranhacms.org"}, {"content_hash": "5c85c7aa1ea29bf81d397b8913f1fff8a275c9615e02347c9d36c8214aaf7bba", "fetched_at": "2026-08-29T10:27:52.564409+00:00", "kind": "site_page", "missing": false, "url": "https://piranhacms.org/features"}, {"content_hash": "82e22601dee00580295a84421bff734d3197f7865f2e44ab015af715689b6d5f", "fetched_at": "2026-08-29T10:27:52.566509+00:00", "kind": "site_page", "missing": false, "url": "https://piranhacms.org/about-us"}, {"content_hash": "17709bb2bce3dfc951a6d43427b37573f306aa25187e56c88a48ad88c1961522", "fetched_at": "2026-08-29T10:27:52.593791+00:00", "kind": "site_page", "missing": false, "url": "https://piranhacms.org/docs"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:47:28.185095+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "aae631bcd486e857e478972c17a55b681483c72bd30c97a3f4ad4c6f68947c61", "fetched_at": "2026-08-28T04:06:24.143864+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PiranhaCMS/piranha.core"}, {"content_hash": "42931c5a8cfaada2b1acfbe820459ef1daa2972295ebcb2e82cbcb0dcd30d3c3", "fetched_at": "2026-08-29T10:27:52.555180+00:00", "kind": "homepage", "missing": false, "url": "http://piranhacms.org"}, {"content_hash": "5c85c7aa1ea29bf81d397b8913f1fff8a275c9615e02347c9d36c8214aaf7bba", "fetched_at": "2026-08-29T10:27:52.564409+00:00", "kind": "site_page", "missing": false, "url": "https://piranhacms.org/features"}, {"content_hash": "82e22601dee00580295a84421bff734d3197f7865f2e44ab015af715689b6d5f", "fetched_at": "2026-08-29T10:27:52.566509+00:00", "kind": "site_page", "missing": false, "url": "https://piranhacms.org/about-us"}, {"content_hash": "17709bb2bce3dfc951a6d43427b37573f306aa25187e56c88a48ad88c1961522", "fetched_at": "2026-08-29T10:27:52.593791+00:00", "kind": "site_page", "missing": false, "url": "https://piranhacms.org/docs"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 96, "longevity": 100, "rhythm": 61}, "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": 3817, "days_push": 24, "days_rel": 48, "gap_med": 240.0, "n_releases_24m": 3}, "score": 85, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}