From 1661e5ec9f2ddff17c6b2f830acf01cec3fd98e2 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste THERY Date: Wed, 28 Oct 2026 00:23:50 +0700 Subject: [PATCH 1/3] fix(landing): render the real npm download count in the static page The counter started from 0 and counted up after hydration, so the served HTML, link previews, crawlers, agents reading the page, and readers without JavaScript saw "0 Ragmir downloads/month on npm". It now starts from the build-time count and only animates later changes. --- .../ragmir-landing/src/components/npm-download-counter.tsx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/ragmir-landing/src/components/npm-download-counter.tsx b/packages/ragmir-landing/src/components/npm-download-counter.tsx index cc096e3f..b9212c54 100644 --- a/packages/ragmir-landing/src/components/npm-download-counter.tsx +++ b/packages/ragmir-landing/src/components/npm-download-counter.tsx @@ -28,8 +28,10 @@ export function NpmDownloadCounter({ locale, align = "start", }: NpmDownloadCounterProps): React.JSX.Element { - const [displayCount, setDisplayCount] = useState(0) - const displayCountRef = useRef(0) + // Start from the real count so the server-rendered page, crawlers, and readers without + // JavaScript see it; the count-up only animates later changes. + const [displayCount, setDisplayCount] = useState(downloads) + const displayCountRef = useRef(downloads) const animationRef = useRef(0) useEffect(() => { From 8474680965d0a53dbac5b7e6a86b22c102293977 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste THERY Date: Wed, 28 Oct 2026 00:23:50 +0700 Subject: [PATCH 2/3] feat(landing): back the hero with measured benchmark numbers Most landing pages of successful open-source tools show a measured claim in the hero; Ragmir's four hero tiles were qualitative. A proof line under the download count now states the README benchmark (93% of real developer questions find the right file in the top 10, 40 ms median search on a 43,874-chunk monorepo) in English and French and links to the benchmarks. The public contract test locks the numbers and the link. --- packages/ragmir-landing/messages/en.json | 5 +++++ packages/ragmir-landing/messages/fr.json | 5 +++++ .../src/components/sections/hero.astro | 12 ++++++++++++ packages/ragmir-landing/src/public-contract.test.ts | 8 ++++++++ 4 files changed, 30 insertions(+) diff --git a/packages/ragmir-landing/messages/en.json b/packages/ragmir-landing/messages/en.json index 39769c6c..45248b68 100644 --- a/packages/ragmir-landing/messages/en.json +++ b/packages/ragmir-landing/messages/en.json @@ -23,6 +23,11 @@ "hero_primary_cta": "Install Ragmir", "hero_secondary_cta": "See use cases", "hero_npm_downloads_label": "Ragmir downloads/month on npm", + "hero_proof_recall_value": "93%", + "hero_proof_recall_label": "of real developer questions find the right file in the top 10", + "hero_proof_speed_value": "40 ms", + "hero_proof_speed_label": "median search on a 43,874-chunk monorepo", + "hero_proof_link": "See the benchmarks", "hero_metric_private_value": "Fewer tokens", "hero_metric_private_label": "Cited passages, never the same one twice.", "hero_metric_precision_value": "Verifiable citations", diff --git a/packages/ragmir-landing/messages/fr.json b/packages/ragmir-landing/messages/fr.json index e65eee66..e2cba1cf 100644 --- a/packages/ragmir-landing/messages/fr.json +++ b/packages/ragmir-landing/messages/fr.json @@ -23,6 +23,11 @@ "hero_primary_cta": "Installer Ragmir", "hero_secondary_cta": "Voir les cas d'usage", "hero_npm_downloads_label": "téléchargements/mois de Ragmir sur npm", + "hero_proof_recall_value": "93 %", + "hero_proof_recall_label": "des vraies questions de développeurs trouvent le bon fichier dans le top 10", + "hero_proof_speed_value": "40 ms", + "hero_proof_speed_label": "de recherche médiane sur un monorepo de 43 874 passages", + "hero_proof_link": "Voir les benchmarks", "hero_metric_private_value": "Moins de tokens", "hero_metric_private_label": "Des passages cités, jamais deux fois le même.", "hero_metric_precision_value": "Citations vérifiables", diff --git a/packages/ragmir-landing/src/components/sections/hero.astro b/packages/ragmir-landing/src/components/sections/hero.astro index 93c54c19..1f91daee 100644 --- a/packages/ragmir-landing/src/components/sections/hero.astro +++ b/packages/ragmir-landing/src/components/sections/hero.astro @@ -73,6 +73,18 @@ const heroTitleLines = [ /> )} +

+ {t("hero_proof_recall_value")} + {` ${t("hero_proof_recall_label")} · `} + {t("hero_proof_speed_value")} + {` ${t("hero_proof_speed_label")}. `} + + {t("hero_proof_link")} + +

{heroMetrics.map((metric) => (
diff --git a/packages/ragmir-landing/src/public-contract.test.ts b/packages/ragmir-landing/src/public-contract.test.ts index 11b5801b..e853abf0 100644 --- a/packages/ragmir-landing/src/public-contract.test.ts +++ b/packages/ragmir-landing/src/public-contract.test.ts @@ -125,6 +125,14 @@ describe("landing public contract", () => { expect(heroSource).not.toContain("hero_subtagline") }) + it("should back the hero with the measured benchmark numbers of the README", () => { + expect([en.hero_proof_recall_value, en.hero_proof_speed_value]).toEqual(["93%", "40 ms"]) + expect([fr.hero_proof_recall_value, fr.hero_proof_speed_value]).toEqual(["93 %", "40 ms"]) + expect(en.hero_proof_speed_label).toContain("43,874-chunk monorepo") + expect(heroSource).toContain('t("hero_proof_recall_value")') + expect(heroSource).toContain("https://github.com/jcode-works/jcode-ragmir#benchmarks") + }) + it("should position Ragmir as the evidence layer for agentic RAG workflows", () => { expect(en.seo_home_title).toContain("Agentic RAG for developers") expect(fr.seo_home_title).toContain("RAG agentique pour développeurs") From 9537bb687d09a87564de43c878b732173bb7e77d Mon Sep 17 00:00:00 2001 From: Jean-Baptiste THERY Date: Wed, 28 Oct 2026 00:23:50 +0700 Subject: [PATCH 3/3] docs: lead both READMEs with the measured recall and latency Like the READMEs of mem0, Zod, and Orama, both READMEs now state a measured proof right under the tagline: 93% of real developer questions find the right file in the top 10 and median search takes 40 ms on a 43,874-chunk monorepo, with a link to the benchmarks. --- README.md | 5 +++++ packages/ragmir-core/README.md | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/README.md b/README.md index bc8a456b..0267d079 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,11 @@ Cited project context for coding agents. Local, fast, and offline by default.

+

+ 93% of real developer questions find the right file in the top 10 · 40 ms median search on a + 43,874-chunk monorepo · benchmarks +

+

npm version CI diff --git a/packages/ragmir-core/README.md b/packages/ragmir-core/README.md index cf2a1c7e..3b4f4842 100644 --- a/packages/ragmir-core/README.md +++ b/packages/ragmir-core/README.md @@ -10,6 +10,11 @@ Cited project context for coding agents. Local, fast, and offline by default.

+

+ 93% of real developer questions find the right file in the top 10 · 40 ms median search on a + 43,874-chunk monorepo · benchmarks +

+

npm version npm downloads