diff --git a/README.md b/README.md index bc8a456..0267d07 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 cf2a1c7..3b4f484 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 diff --git a/packages/ragmir-landing/messages/en.json b/packages/ragmir-landing/messages/en.json index 39769c6..45248b6 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 e65eee6..e2cba1c 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/npm-download-counter.tsx b/packages/ragmir-landing/src/components/npm-download-counter.tsx index cc096e3..b9212c5 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(() => { diff --git a/packages/ragmir-landing/src/components/sections/hero.astro b/packages/ragmir-landing/src/components/sections/hero.astro index 93c54c1..1f91dae 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 11b5801..e853abf 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")