Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,11 @@
<strong>Cited project context for coding agents. Local, fast, and offline by default.</strong>
</p>

<p align="center">
93% of real developer questions find the right file in the top 10 · 40 ms median search on a
43,874-chunk monorepo · <a href="#benchmarks">benchmarks</a>
</p>

<p align="center">
<a href="https://www.npmjs.com/package/@jcode.labs/ragmir"><img alt="npm version" src="https://img.shields.io/npm/v/@jcode.labs/ragmir?color=cb3837&logo=npm"></a>
<a href="https://github.com/jcode-works/jcode-ragmir/actions/workflows/ci.yml"><img alt="CI" src="https://github.com/jcode-works/jcode-ragmir/actions/workflows/ci.yml/badge.svg"></a>
Expand Down
5 changes: 5 additions & 0 deletions packages/ragmir-core/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,11 @@
<strong>Cited project context for coding agents. Local, fast, and offline by default.</strong>
</p>

<p align="center">
93% of real developer questions find the right file in the top 10 · 40 ms median search on a
43,874-chunk monorepo · <a href="https://github.com/jcode-works/jcode-ragmir#benchmarks">benchmarks</a>
</p>

<p align="center">
<a href="https://www.npmjs.com/package/@jcode.labs/ragmir"><img alt="npm version" src="https://img.shields.io/npm/v/@jcode.labs/ragmir?color=cb3837&logo=npm"></a>
<a href="https://www.npmjs.com/package/@jcode.labs/ragmir"><img alt="npm downloads" src="https://img.shields.io/npm/dm/@jcode.labs/ragmir?color=cb3837"></a>
Expand Down
5 changes: 5 additions & 0 deletions packages/ragmir-landing/messages/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down
5 changes: 5 additions & 0 deletions packages/ragmir-landing/messages/fr.json
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<number>(0)

useEffect(() => {
Expand Down
12 changes: 12 additions & 0 deletions packages/ragmir-landing/src/components/sections/hero.astro
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,18 @@ const heroTitleLines = [
/>
</div>
)}
<p class="mt-3 max-w-xl text-xs leading-5 text-white/85">
<strong class="font-black text-white">{t("hero_proof_recall_value")}</strong>
{` ${t("hero_proof_recall_label")} · `}
<strong class="font-black text-white">{t("hero_proof_speed_value")}</strong>
{` ${t("hero_proof_speed_label")}. `}
<a
class="font-semibold text-white underline underline-offset-2 hover:text-white/80"
href="https://github.com/jcode-works/jcode-ragmir#benchmarks"
>
{t("hero_proof_link")}
</a>
</p>
<div class="mt-8 grid max-w-xl grid-cols-2 gap-2">
{heroMetrics.map((metric) => (
<div class="rounded-xl bg-muted px-3 py-2.5">
Expand Down
8 changes: 8 additions & 0 deletions packages/ragmir-landing/src/public-contract.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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")
Expand Down
Loading