Skip to content

Blog

From 188 downloads to a real growth loop.

Abstract rising area sparkline motif in raspberry on graphite

The number, exactly as I know it

The public package is current at @memi-design/cli@1.1.0. The last time I checked the npm page, the weekly download count was 188.

That is the full extent of my knowledge: one spot check, not a dashboard, not a trend line. I am writing the number down anyway because vague growth talk is worse than a small precise number. 188 means the package is visible, installable, and moving. It does not mean memi has distribution.

Part of the small number is self-inflicted

Before reading anything into 188, I have to account for what this package has been called.

The install story has had at least three public shapes. On 2026-03-25 the site announced @sarveshsea/memoire live on npm (commit f2d2878, 2026-03-25), the same day the engine renamed its package so npm install -g memoire would work. Today the package is @memi-design/cli.

My working assumption is that each identity change reset the public download history to zero, so the current counter only sees the weeks since the last rename. I will flag that plainly as inference: nothing in the repos records the resets, and I have not reconstructed the old packages’ counts. But if it holds, the 188 is measuring the youngest of three lifetimes, and the project has repeatedly made itself look newer and smaller than it is. A growth chart that restarts every time you rename is not a chart. Lesson filed under: settle the name before you care about the graph.

What the counter contains

Downloads are a blunt instrument even without renames. The count includes real users, CI runs, package crawlers, security scanners, mirrors, retries, and people who ran the command once out of curiosity. A small number can hide a few serious users. A large one can hide nobody at all.

So the target is not the raw count. The target is a chain:

  • install the package
  • run one useful command
  • connect it to an agent
  • save design memory into the repo
  • run it again when the product changes

Someone who completes that chain has made memi part of how their repo works. One of them is worth more than a thousand drive-by installs, and no public counter distinguishes the two.

Chapter one was discoverability

The first growth instinct, back on 2026-04-08, was to be findable: og:image, JSON-LD, and a sitemap in one pass (commit 10e80e2, 2026-04-08), plus an llms.txt so AI tools could discover the project the way crawlers do (commit d7a96d7, 2026-04-08).

That work was real and I would do it again, but it only solves the top of the funnel. Discoverability without a retention loop produces exactly what a one-time spot check of 188 looks like: people arrive, try, and have no structural reason to stay. Chapter two has to be the loop.

The install path has to be boring

The loop starts with trust, and trust on npm is mostly the absence of surprises: right version, right binary, right README, a macOS app with a current signed release, and a website that agrees with all of it.

That agreement is maintained deliberately, not assumed. Engine releases have been gated on npm propagation lag since April, so a release is not “done” while npm still serves the old version (commit f9fd3843, 2026-04-25). And the site’s install copy gets synced to npm’s latest in its own commits (commit dce2b15, 2026-06-06). Manual lockstep is unglamorous, but every mismatch between the site and the registry sends a new user into a maze, and mazes do not retain anyone.

When the path is boring, the first minute is simple:

npm i -g @memi-design/cli
memi diagnose
memi agent install codex-plugin

Install, inspect, connect. Each command in that block ships today; the loop is prescribed from things that exist, not a roadmap.

What should earn the next downloads

Public artifacts that end in a runnable command:

  • copy-paste agent recipes for Codex and Claude Code
  • before-and-after design-system audits
  • registry examples people can run locally
  • posts and videos showing the run spine, receipts, and artifact review on real work

Every artifact points at a command, not a slogan. If a post cannot end with something the reader can run in under a minute, it is brand, not growth.

The four questions

Every public push gets checked against the same four questions:

  1. What can a new user install today?
  2. What can they run in under a minute?
  3. What proof do we show after it runs?
  4. What reason do they have to keep it installed?

Question four is the whole game. The package stops being a novelty when it protects something expensive in the repo: tokens, components, research decisions, accessibility checks, Figma context, agent behavior. That is what compounds.

The download graph will matter eventually. The name is settled, the path is boring, the loop is defined. 188 is the baseline I wrote down so the next number has something honest to be compared against.