{"adoption": {"forks": 619, "observed_at": "2026-08-28T04:11:17.161617+00:00", "stars": 16755}, "canonical_url": "https://ross.abutalabs.com/products/suitenumerique-docs", "card": {"archived": false, "artifact_type": "application", "description": "Docs is an open-source text editor: web-native, made for real-time collaboration, cleanly structured documents and sub-documents with full ownership of your data. Built to scale with Django and React.", "domain": ["developer-tools", "documentation", "self-hosted"], "enriched": true, "function": ["editor", "self-hosted", "documentation", "markdown"], "health_score": 100, "homepage": "https://docs.la-suite.eu/", "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "stable", "member_repos": ["suitenumerique/docs"], "name": "suitenumerique/docs", "platform": ["self-hosted", "python"], "pushed_at": "2026-08-26T12:49:47+00:00", "repo": "suitenumerique/docs", "stars": 16755, "tags": ["collaborative-editing", "real-time-collaboration", "notion-alternative", "google-docs-alternative", "knowledge-base", "wiki", "rich-text-editor", "block-editor", "yjs", "blocknote", "django", "react", "document-editor", "team-collaboration", "digital-public-goods", "web-server", "docker", "nodejs"], "topics": ["knowledge", "wiki", "blocknotejs", "collaborative", "yjs", "django", "reactjs", "g2g", "government", "documentation", "knowledge-base", "opensource", "realtime-collaboration", "mit", "mit-license", "self-hosted"], "urls": [], "use_cases": ["self-host a Notion or Google Docs alternative with full data ownership", "collaboratively edit documents in real time with live cursors and comments", "build a team knowledge base with nested pages and hierarchies", "share documents with granular view/comment/edit permissions or public links", "write and organize internal documentation with rich text and markdown", "import docx or markdown files and export to docx, odt, or pdf", "keep team documents on my own infrastructure instead of a SaaS vendor", "collaborative writing platform for government or public organizations"], "what_it_is": "Docs (La Suite Numérique) is an open-source, self-hostable collaborative text editor and knowledge base positioned as an alternative to Notion and Google Docs. It pairs a Django REST backend with a React/BlockNote.js block editor and Yjs-powered real-time collaboration, offering nested sub-documents, granular access control, version history, and docx/markdown import with docx/odt/pdf export.", "when_to_avoid": ["You need a static-site documentation generator for code projects (use MkDocs or Docusaurus instead)", "You need native desktop or mobile offline-first editors rather than a web app", "You want Notion-style databases, spreadsheets, or a large plugin marketplace", "You need a lightweight single-user notes app and don't want to run a server"], "when_to_choose": ["You want a self-hosted, open-source Notion/Google Docs alternative where you own the data", "Your team needs browser-based real-time co-editing with presence, comments, and sharing", "You need hierarchical documents and sub-pages forming a searchable knowledge base", "You require granular access control including external guests and public share links", "You are a public organization or company that prefers EU-backed, MIT-licensed software"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/suitenumerique-docs", "repo": "suitenumerique/docs", "role": "main", "score": 93}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:11:17.161617+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:04:45.519107+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bb7bbe5090bf7f12fafe867cdc5f73d96b5e3adeb53ddd2daadf7f644747dfc7", "fetched_at": "2026-08-28T04:11:17.161617+00:00", "kind": "readme", "missing": false, "url": "https://github.com/suitenumerique/docs"}, {"content_hash": "911cf4080099bd6dbd47f9f8486c72f8f8e4c90643816abe249b858287d58e78", "fetched_at": "2026-08-29T08:01:59.843205+00:00", "kind": "homepage", "missing": false, "url": "https://docs.la-suite.eu/"}, {"content_hash": "bec4aa4b2a5511c860c20d7ddfccad6afc8d3271556a61e8c20a98f7c8655ec8", "fetched_at": "2026-08-29T08:01:59.852979+00:00", "kind": "site_page", "missing": false, "url": "https://demo.docs.la-suite.eu/docs/6d1b6f7f-db33-4673-9277-4bf47b9881ec"}, {"content_hash": "911cf4080099bd6dbd47f9f8486c72f8f8e4c90643816abe249b858287d58e78", "fetched_at": "2026-08-29T08:01:59.854927+00:00", "kind": "site_page", "missing": false, "url": "https://docs.la-suite.eu/index.html"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:11:17.161617+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:04:45.519107+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bb7bbe5090bf7f12fafe867cdc5f73d96b5e3adeb53ddd2daadf7f644747dfc7", "fetched_at": "2026-08-28T04:11:17.161617+00:00", "kind": "readme", "missing": false, "url": "https://github.com/suitenumerique/docs"}, {"content_hash": "911cf4080099bd6dbd47f9f8486c72f8f8e4c90643816abe249b858287d58e78", "fetched_at": "2026-08-29T08:01:59.843205+00:00", "kind": "homepage", "missing": false, "url": "https://docs.la-suite.eu/"}, {"content_hash": "bec4aa4b2a5511c860c20d7ddfccad6afc8d3271556a61e8c20a98f7c8655ec8", "fetched_at": "2026-08-29T08:01:59.852979+00:00", "kind": "site_page", "missing": false, "url": "https://demo.docs.la-suite.eu/docs/6d1b6f7f-db33-4673-9277-4bf47b9881ec"}, {"content_hash": "911cf4080099bd6dbd47f9f8486c72f8f8e4c90643816abe249b858287d58e78", "fetched_at": "2026-08-29T08:01:59.854927+00:00", "kind": "site_page", "missing": false, "url": "https://docs.la-suite.eu/index.html"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:04:45.519107+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bb7bbe5090bf7f12fafe867cdc5f73d96b5e3adeb53ddd2daadf7f644747dfc7", "fetched_at": "2026-08-28T04:11:17.161617+00:00", "kind": "readme", "missing": false, "url": "https://github.com/suitenumerique/docs"}, {"content_hash": "911cf4080099bd6dbd47f9f8486c72f8f8e4c90643816abe249b858287d58e78", "fetched_at": "2026-08-29T08:01:59.843205+00:00", "kind": "homepage", "missing": false, "url": "https://docs.la-suite.eu/"}, {"content_hash": "bec4aa4b2a5511c860c20d7ddfccad6afc8d3271556a61e8c20a98f7c8655ec8", "fetched_at": "2026-08-29T08:01:59.852979+00:00", "kind": "site_page", "missing": false, "url": "https://demo.docs.la-suite.eu/docs/6d1b6f7f-db33-4673-9277-4bf47b9881ec"}, {"content_hash": "911cf4080099bd6dbd47f9f8486c72f8f8e4c90643816abe249b858287d58e78", "fetched_at": "2026-08-29T08:01:59.854927+00:00", "kind": "site_page", "missing": false, "url": "https://docs.la-suite.eu/index.html"}], "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:17.161617+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:11:17.161617+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:11:17.161617+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:04:45.519107+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bb7bbe5090bf7f12fafe867cdc5f73d96b5e3adeb53ddd2daadf7f644747dfc7", "fetched_at": "2026-08-28T04:11:17.161617+00:00", "kind": "readme", "missing": false, "url": "https://github.com/suitenumerique/docs"}, {"content_hash": "911cf4080099bd6dbd47f9f8486c72f8f8e4c90643816abe249b858287d58e78", "fetched_at": "2026-08-29T08:01:59.843205+00:00", "kind": "homepage", "missing": false, "url": "https://docs.la-suite.eu/"}, {"content_hash": "bec4aa4b2a5511c860c20d7ddfccad6afc8d3271556a61e8c20a98f7c8655ec8", "fetched_at": "2026-08-29T08:01:59.852979+00:00", "kind": "site_page", "missing": false, "url": "https://demo.docs.la-suite.eu/docs/6d1b6f7f-db33-4673-9277-4bf47b9881ec"}, {"content_hash": "911cf4080099bd6dbd47f9f8486c72f8f8e4c90643816abe249b858287d58e78", "fetched_at": "2026-08-29T08:01:59.854927+00:00", "kind": "site_page", "missing": false, "url": "https://docs.la-suite.eu/index.html"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:11:17.161617+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:11:17.161617+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:04:45.519107+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bb7bbe5090bf7f12fafe867cdc5f73d96b5e3adeb53ddd2daadf7f644747dfc7", "fetched_at": "2026-08-28T04:11:17.161617+00:00", "kind": "readme", "missing": false, "url": "https://github.com/suitenumerique/docs"}, {"content_hash": "911cf4080099bd6dbd47f9f8486c72f8f8e4c90643816abe249b858287d58e78", "fetched_at": "2026-08-29T08:01:59.843205+00:00", "kind": "homepage", "missing": false, "url": "https://docs.la-suite.eu/"}, {"content_hash": "bec4aa4b2a5511c860c20d7ddfccad6afc8d3271556a61e8c20a98f7c8655ec8", "fetched_at": "2026-08-29T08:01:59.852979+00:00", "kind": "site_page", "missing": false, "url": "https://demo.docs.la-suite.eu/docs/6d1b6f7f-db33-4673-9277-4bf47b9881ec"}, {"content_hash": "911cf4080099bd6dbd47f9f8486c72f8f8e4c90643816abe249b858287d58e78", "fetched_at": "2026-08-29T08:01:59.854927+00:00", "kind": "site_page", "missing": false, "url": "https://docs.la-suite.eu/index.html"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:11:17.161617+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:11:17.161617+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:11:17.161617+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:04:45.519107+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bb7bbe5090bf7f12fafe867cdc5f73d96b5e3adeb53ddd2daadf7f644747dfc7", "fetched_at": "2026-08-28T04:11:17.161617+00:00", "kind": "readme", "missing": false, "url": "https://github.com/suitenumerique/docs"}, {"content_hash": "911cf4080099bd6dbd47f9f8486c72f8f8e4c90643816abe249b858287d58e78", "fetched_at": "2026-08-29T08:01:59.843205+00:00", "kind": "homepage", "missing": false, "url": "https://docs.la-suite.eu/"}, {"content_hash": "bec4aa4b2a5511c860c20d7ddfccad6afc8d3271556a61e8c20a98f7c8655ec8", "fetched_at": "2026-08-29T08:01:59.852979+00:00", "kind": "site_page", "missing": false, "url": "https://demo.docs.la-suite.eu/docs/6d1b6f7f-db33-4673-9277-4bf47b9881ec"}, {"content_hash": "911cf4080099bd6dbd47f9f8486c72f8f8e4c90643816abe249b858287d58e78", "fetched_at": "2026-08-29T08:01:59.854927+00:00", "kind": "site_page", "missing": false, "url": "https://docs.la-suite.eu/index.html"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:11:17.161617+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:11:17.161617+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:04:45.519107+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bb7bbe5090bf7f12fafe867cdc5f73d96b5e3adeb53ddd2daadf7f644747dfc7", "fetched_at": "2026-08-28T04:11:17.161617+00:00", "kind": "readme", "missing": false, "url": "https://github.com/suitenumerique/docs"}, {"content_hash": "911cf4080099bd6dbd47f9f8486c72f8f8e4c90643816abe249b858287d58e78", "fetched_at": "2026-08-29T08:01:59.843205+00:00", "kind": "homepage", "missing": false, "url": "https://docs.la-suite.eu/"}, {"content_hash": "bec4aa4b2a5511c860c20d7ddfccad6afc8d3271556a61e8c20a98f7c8655ec8", "fetched_at": "2026-08-29T08:01:59.852979+00:00", "kind": "site_page", "missing": false, "url": "https://demo.docs.la-suite.eu/docs/6d1b6f7f-db33-4673-9277-4bf47b9881ec"}, {"content_hash": "911cf4080099bd6dbd47f9f8486c72f8f8e4c90643816abe249b858287d58e78", "fetched_at": "2026-08-29T08:01:59.854927+00:00", "kind": "site_page", "missing": false, "url": "https://docs.la-suite.eu/index.html"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:04:45.519107+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bb7bbe5090bf7f12fafe867cdc5f73d96b5e3adeb53ddd2daadf7f644747dfc7", "fetched_at": "2026-08-28T04:11:17.161617+00:00", "kind": "readme", "missing": false, "url": "https://github.com/suitenumerique/docs"}, {"content_hash": "911cf4080099bd6dbd47f9f8486c72f8f8e4c90643816abe249b858287d58e78", "fetched_at": "2026-08-29T08:01:59.843205+00:00", "kind": "homepage", "missing": false, "url": "https://docs.la-suite.eu/"}, {"content_hash": "bec4aa4b2a5511c860c20d7ddfccad6afc8d3271556a61e8c20a98f7c8655ec8", "fetched_at": "2026-08-29T08:01:59.852979+00:00", "kind": "site_page", "missing": false, "url": "https://demo.docs.la-suite.eu/docs/6d1b6f7f-db33-4673-9277-4bf47b9881ec"}, {"content_hash": "911cf4080099bd6dbd47f9f8486c72f8f8e4c90643816abe249b858287d58e78", "fetched_at": "2026-08-29T08:01:59.854927+00:00", "kind": "site_page", "missing": false, "url": "https://docs.la-suite.eu/index.html"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:04:45.519107+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bb7bbe5090bf7f12fafe867cdc5f73d96b5e3adeb53ddd2daadf7f644747dfc7", "fetched_at": "2026-08-28T04:11:17.161617+00:00", "kind": "readme", "missing": false, "url": "https://github.com/suitenumerique/docs"}, {"content_hash": "911cf4080099bd6dbd47f9f8486c72f8f8e4c90643816abe249b858287d58e78", "fetched_at": "2026-08-29T08:01:59.843205+00:00", "kind": "homepage", "missing": false, "url": "https://docs.la-suite.eu/"}, {"content_hash": "bec4aa4b2a5511c860c20d7ddfccad6afc8d3271556a61e8c20a98f7c8655ec8", "fetched_at": "2026-08-29T08:01:59.852979+00:00", "kind": "site_page", "missing": false, "url": "https://demo.docs.la-suite.eu/docs/6d1b6f7f-db33-4673-9277-4bf47b9881ec"}, {"content_hash": "911cf4080099bd6dbd47f9f8486c72f8f8e4c90643816abe249b858287d58e78", "fetched_at": "2026-08-29T08:01:59.854927+00:00", "kind": "site_page", "missing": false, "url": "https://docs.la-suite.eu/index.html"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:04:45.519107+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bb7bbe5090bf7f12fafe867cdc5f73d96b5e3adeb53ddd2daadf7f644747dfc7", "fetched_at": "2026-08-28T04:11:17.161617+00:00", "kind": "readme", "missing": false, "url": "https://github.com/suitenumerique/docs"}, {"content_hash": "911cf4080099bd6dbd47f9f8486c72f8f8e4c90643816abe249b858287d58e78", "fetched_at": "2026-08-29T08:01:59.843205+00:00", "kind": "homepage", "missing": false, "url": "https://docs.la-suite.eu/"}, {"content_hash": "bec4aa4b2a5511c860c20d7ddfccad6afc8d3271556a61e8c20a98f7c8655ec8", "fetched_at": "2026-08-29T08:01:59.852979+00:00", "kind": "site_page", "missing": false, "url": "https://demo.docs.la-suite.eu/docs/6d1b6f7f-db33-4673-9277-4bf47b9881ec"}, {"content_hash": "911cf4080099bd6dbd47f9f8486c72f8f8e4c90643816abe249b858287d58e78", "fetched_at": "2026-08-29T08:01:59.854927+00:00", "kind": "site_page", "missing": false, "url": "https://docs.la-suite.eu/index.html"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 69, "rhythm": 99}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 967, "days_push": 7, "days_rel": 9, "gap_med": 8, "n_releases_24m": 58}, "score": 93, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}