{"adoption": {"forks": 189, "observed_at": "2026-08-28T04:06:08.519222+00:00", "stars": 2041}, "canonical_url": "https://ross.abutalabs.com/products/dante", "card": {"archived": false, "artifact_type": "library", "description": "Just another Medium wysiwyg editor clone", "domain": ["web-development", "frontend", "text-editors", "developer-tools"], "enriched": true, "function": ["editor", "ui-components", "templating"], "health_score": 79, "homepage": "https://dante-editor.dev", "language": "TypeScript", "license": null, "license_family": "other", "maturity": "active", "member_repos": ["michelson/Dante"], "name": "michelson/Dante", "platform": ["browser"], "pushed_at": "2026-08-23T01:47:27+00:00", "repo": "michelson/Dante", "stars": 2041, "tags": ["wysiwyg", "rich-text-editor", "medium-clone", "tiptap", "prosemirror", "react", "block-editor", "collaborative-editing", "web-server", "nodejs"], "topics": ["wysiwyg", "collaborative-editing", "editor", "medium-editor", "medium-clone", "rich-text-editor", "wysiwyg-editor"], "urls": [], "use_cases": ["embed a Medium-style wysiwyg editor in a React app", "rich text editing with image and embed blocks", "save editor content as JSON or HTML", "build a publishing or blogging platform with block editing", "add audio/video recording and dictation to a text editor", "render rich text content outside the editor with a matching renderer"], "what_it_is": "Dante (dante3) is a React-based block-style WYSIWYG rich text editor built on TipTap and ProseMirror, inspired by Medium's editor. It provides configurable blocks for images, embeds, audio/video recording, dictation, and GIFs, plus JSON/HTML serialization and renderer helpers.", "when_to_avoid": ["you need a non-React framework like Vue or Svelte", "you want a plain textarea or markdown-only editor", "you need a fully maintained license — the repo currently lacks a license file despite docs claiming MIT"], "when_to_choose": ["you need a Medium-like block editor in React", "you want TipTap/ProseMirror power with prebuilt media blocks", "you need JSON and HTML content workflows with renderer parity"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/dante", "repo": "michelson/Dante", "role": "main", "score": 67}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:08.519222+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:58:20.579609+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3555269ac2b2153920c9ad6f4e4ef07b29b2d9a0619455a2d2529a903c073da5", "fetched_at": "2026-08-28T04:06:08.519222+00:00", "kind": "readme", "missing": false, "url": "https://github.com/michelson/Dante"}, {"content_hash": "10d9deb99f2cafc5dd06c1e2c71459bf934b9580709de61f3ffd679531f0e6f5", "fetched_at": "2026-08-29T10:38:37.958825+00:00", "kind": "homepage", "missing": false, "url": "https://dante-editor.dev"}, {"content_hash": "7bb3fdeb57c675d190b421310a49f7579712af3c838a291592b88c6a28128eef", "fetched_at": "2026-08-29T10:38:37.968591+00:00", "kind": "site_page", "missing": false, "url": "https://www.dante-editor.dev/posts"}, {"content_hash": "daac21a45b4b9bfee7c495895dbfad4f061678f71ee501e66730ae881d0da84c", "fetched_at": "2026-08-29T10:38:37.972871+00:00", "kind": "site_page", "missing": false, "url": "https://www.dante-editor.dev/posts/extensions"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:08.519222+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:58:20.579609+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3555269ac2b2153920c9ad6f4e4ef07b29b2d9a0619455a2d2529a903c073da5", "fetched_at": "2026-08-28T04:06:08.519222+00:00", "kind": "readme", "missing": false, "url": "https://github.com/michelson/Dante"}, {"content_hash": "10d9deb99f2cafc5dd06c1e2c71459bf934b9580709de61f3ffd679531f0e6f5", "fetched_at": "2026-08-29T10:38:37.958825+00:00", "kind": "homepage", "missing": false, "url": "https://dante-editor.dev"}, {"content_hash": "7bb3fdeb57c675d190b421310a49f7579712af3c838a291592b88c6a28128eef", "fetched_at": "2026-08-29T10:38:37.968591+00:00", "kind": "site_page", "missing": false, "url": "https://www.dante-editor.dev/posts"}, {"content_hash": "daac21a45b4b9bfee7c495895dbfad4f061678f71ee501e66730ae881d0da84c", "fetched_at": "2026-08-29T10:38:37.972871+00:00", "kind": "site_page", "missing": false, "url": "https://www.dante-editor.dev/posts/extensions"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:58:20.579609+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3555269ac2b2153920c9ad6f4e4ef07b29b2d9a0619455a2d2529a903c073da5", "fetched_at": "2026-08-28T04:06:08.519222+00:00", "kind": "readme", "missing": false, "url": "https://github.com/michelson/Dante"}, {"content_hash": "10d9deb99f2cafc5dd06c1e2c71459bf934b9580709de61f3ffd679531f0e6f5", "fetched_at": "2026-08-29T10:38:37.958825+00:00", "kind": "homepage", "missing": false, "url": "https://dante-editor.dev"}, {"content_hash": "7bb3fdeb57c675d190b421310a49f7579712af3c838a291592b88c6a28128eef", "fetched_at": "2026-08-29T10:38:37.968591+00:00", "kind": "site_page", "missing": false, "url": "https://www.dante-editor.dev/posts"}, {"content_hash": "daac21a45b4b9bfee7c495895dbfad4f061678f71ee501e66730ae881d0da84c", "fetched_at": "2026-08-29T10:38:37.972871+00:00", "kind": "site_page", "missing": false, "url": "https://www.dante-editor.dev/posts/extensions"}], "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:08.519222+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:08.519222+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:08.519222+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:58:20.579609+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3555269ac2b2153920c9ad6f4e4ef07b29b2d9a0619455a2d2529a903c073da5", "fetched_at": "2026-08-28T04:06:08.519222+00:00", "kind": "readme", "missing": false, "url": "https://github.com/michelson/Dante"}, {"content_hash": "10d9deb99f2cafc5dd06c1e2c71459bf934b9580709de61f3ffd679531f0e6f5", "fetched_at": "2026-08-29T10:38:37.958825+00:00", "kind": "homepage", "missing": false, "url": "https://dante-editor.dev"}, {"content_hash": "7bb3fdeb57c675d190b421310a49f7579712af3c838a291592b88c6a28128eef", "fetched_at": "2026-08-29T10:38:37.968591+00:00", "kind": "site_page", "missing": false, "url": "https://www.dante-editor.dev/posts"}, {"content_hash": "daac21a45b4b9bfee7c495895dbfad4f061678f71ee501e66730ae881d0da84c", "fetched_at": "2026-08-29T10:38:37.972871+00:00", "kind": "site_page", "missing": false, "url": "https://www.dante-editor.dev/posts/extensions"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:08.519222+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:08.519222+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:58:20.579609+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3555269ac2b2153920c9ad6f4e4ef07b29b2d9a0619455a2d2529a903c073da5", "fetched_at": "2026-08-28T04:06:08.519222+00:00", "kind": "readme", "missing": false, "url": "https://github.com/michelson/Dante"}, {"content_hash": "10d9deb99f2cafc5dd06c1e2c71459bf934b9580709de61f3ffd679531f0e6f5", "fetched_at": "2026-08-29T10:38:37.958825+00:00", "kind": "homepage", "missing": false, "url": "https://dante-editor.dev"}, {"content_hash": "7bb3fdeb57c675d190b421310a49f7579712af3c838a291592b88c6a28128eef", "fetched_at": "2026-08-29T10:38:37.968591+00:00", "kind": "site_page", "missing": false, "url": "https://www.dante-editor.dev/posts"}, {"content_hash": "daac21a45b4b9bfee7c495895dbfad4f061678f71ee501e66730ae881d0da84c", "fetched_at": "2026-08-29T10:38:37.972871+00:00", "kind": "site_page", "missing": false, "url": "https://www.dante-editor.dev/posts/extensions"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:08.519222+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:08.519222+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:08.519222+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:58:20.579609+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3555269ac2b2153920c9ad6f4e4ef07b29b2d9a0619455a2d2529a903c073da5", "fetched_at": "2026-08-28T04:06:08.519222+00:00", "kind": "readme", "missing": false, "url": "https://github.com/michelson/Dante"}, {"content_hash": "10d9deb99f2cafc5dd06c1e2c71459bf934b9580709de61f3ffd679531f0e6f5", "fetched_at": "2026-08-29T10:38:37.958825+00:00", "kind": "homepage", "missing": false, "url": "https://dante-editor.dev"}, {"content_hash": "7bb3fdeb57c675d190b421310a49f7579712af3c838a291592b88c6a28128eef", "fetched_at": "2026-08-29T10:38:37.968591+00:00", "kind": "site_page", "missing": false, "url": "https://www.dante-editor.dev/posts"}, {"content_hash": "daac21a45b4b9bfee7c495895dbfad4f061678f71ee501e66730ae881d0da84c", "fetched_at": "2026-08-29T10:38:37.972871+00:00", "kind": "site_page", "missing": false, "url": "https://www.dante-editor.dev/posts/extensions"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:08.519222+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:08.519222+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:58:20.579609+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3555269ac2b2153920c9ad6f4e4ef07b29b2d9a0619455a2d2529a903c073da5", "fetched_at": "2026-08-28T04:06:08.519222+00:00", "kind": "readme", "missing": false, "url": "https://github.com/michelson/Dante"}, {"content_hash": "10d9deb99f2cafc5dd06c1e2c71459bf934b9580709de61f3ffd679531f0e6f5", "fetched_at": "2026-08-29T10:38:37.958825+00:00", "kind": "homepage", "missing": false, "url": "https://dante-editor.dev"}, {"content_hash": "7bb3fdeb57c675d190b421310a49f7579712af3c838a291592b88c6a28128eef", "fetched_at": "2026-08-29T10:38:37.968591+00:00", "kind": "site_page", "missing": false, "url": "https://www.dante-editor.dev/posts"}, {"content_hash": "daac21a45b4b9bfee7c495895dbfad4f061678f71ee501e66730ae881d0da84c", "fetched_at": "2026-08-29T10:38:37.972871+00:00", "kind": "site_page", "missing": false, "url": "https://www.dante-editor.dev/posts/extensions"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:58:20.579609+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3555269ac2b2153920c9ad6f4e4ef07b29b2d9a0619455a2d2529a903c073da5", "fetched_at": "2026-08-28T04:06:08.519222+00:00", "kind": "readme", "missing": false, "url": "https://github.com/michelson/Dante"}, {"content_hash": "10d9deb99f2cafc5dd06c1e2c71459bf934b9580709de61f3ffd679531f0e6f5", "fetched_at": "2026-08-29T10:38:37.958825+00:00", "kind": "homepage", "missing": false, "url": "https://dante-editor.dev"}, {"content_hash": "7bb3fdeb57c675d190b421310a49f7579712af3c838a291592b88c6a28128eef", "fetched_at": "2026-08-29T10:38:37.968591+00:00", "kind": "site_page", "missing": false, "url": "https://www.dante-editor.dev/posts"}, {"content_hash": "daac21a45b4b9bfee7c495895dbfad4f061678f71ee501e66730ae881d0da84c", "fetched_at": "2026-08-29T10:38:37.972871+00:00", "kind": "site_page", "missing": false, "url": "https://www.dante-editor.dev/posts/extensions"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:58:20.579609+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3555269ac2b2153920c9ad6f4e4ef07b29b2d9a0619455a2d2529a903c073da5", "fetched_at": "2026-08-28T04:06:08.519222+00:00", "kind": "readme", "missing": false, "url": "https://github.com/michelson/Dante"}, {"content_hash": "10d9deb99f2cafc5dd06c1e2c71459bf934b9580709de61f3ffd679531f0e6f5", "fetched_at": "2026-08-29T10:38:37.958825+00:00", "kind": "homepage", "missing": false, "url": "https://dante-editor.dev"}, {"content_hash": "7bb3fdeb57c675d190b421310a49f7579712af3c838a291592b88c6a28128eef", "fetched_at": "2026-08-29T10:38:37.968591+00:00", "kind": "site_page", "missing": false, "url": "https://www.dante-editor.dev/posts"}, {"content_hash": "daac21a45b4b9bfee7c495895dbfad4f061678f71ee501e66730ae881d0da84c", "fetched_at": "2026-08-29T10:38:37.972871+00:00", "kind": "site_page", "missing": false, "url": "https://www.dante-editor.dev/posts/extensions"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:58:20.579609+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3555269ac2b2153920c9ad6f4e4ef07b29b2d9a0619455a2d2529a903c073da5", "fetched_at": "2026-08-28T04:06:08.519222+00:00", "kind": "readme", "missing": false, "url": "https://github.com/michelson/Dante"}, {"content_hash": "10d9deb99f2cafc5dd06c1e2c71459bf934b9580709de61f3ffd679531f0e6f5", "fetched_at": "2026-08-29T10:38:37.958825+00:00", "kind": "homepage", "missing": false, "url": "https://dante-editor.dev"}, {"content_hash": "7bb3fdeb57c675d190b421310a49f7579712af3c838a291592b88c6a28128eef", "fetched_at": "2026-08-29T10:38:37.968591+00:00", "kind": "site_page", "missing": false, "url": "https://www.dante-editor.dev/posts"}, {"content_hash": "daac21a45b4b9bfee7c495895dbfad4f061678f71ee501e66730ae881d0da84c", "fetched_at": "2026-08-29T10:38:37.972871+00:00", "kind": "site_page", "missing": false, "url": "https://www.dante-editor.dev/posts/extensions"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4338, "days_push": 11, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 67, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}