npm search discoverability, as measured

Declaring keywords is not discoverability. This page records where the packages this repository publishes actually rank in npm registry search for the discovery terms the package metadata claims — including the queries where they do not rank at all, which is the half a keyword list can never tell you.

Every row below is projected from a dated record in docs/data/npm-search-observations.v1.json, validated against schemas/npm-search-observations.v1.json. Each observation must report every tracked package, found or not, so a query where Honua does not appear cannot be dropped from the page. Records are immutable per observation: re-observing a query adds a record and the page projects the newest one, so a rank that got worse stays in the file as provenance.

How the numbers were taken

npm run docs:npm-search:observe   # re-query the live registry and rewrite the records
npm run docs:npm-search           # regenerate this page from the committed records

Search ranking is a moving, unowned target: it depends on npm's own scoring, on download counts, and on what else was published that week. Treat every row as an observation with a date on it, not as a property of the package.

One consequence worth stating plainly: these ranks reflect the metadata as published, not the metadata in the working tree. Improving a package's keywords cannot move its rank until the next release carries them to the registry, so a row here can lag a merged fix by a whole release cycle.

Tracked packages

Observed rankings

Query Package Result Observed Registry matches
maplibre arcgis migration @honua/sdk-js page 5 (rank 86) 2026-08-25 20,325
@honua/mcp-server not in the top 250
create-honua-app not in the top 250
arcgis migration @honua/sdk-js page 1 (rank 2) 2026-08-25 19,260
@honua/mcp-server not in the top 250
create-honua-app not in the top 250
maplibre gis sdk @honua/sdk-js page 7 (rank 130) 2026-08-25 163,397
@honua/mcp-server not in the top 250
create-honua-app not in the top 250
ogc api features client @honua/mcp-server page 11 (rank 209) 2026-08-25 1,013,526
@honua/sdk-js not in the top 250
create-honua-app not in the top 250
stac client typescript @honua/sdk-js not in the top 250 2026-08-25 600,845
@honua/mcp-server not in the top 250
create-honua-app not in the top 250
geocoding maplibre @honua/sdk-js page 5 (rank 96) 2026-08-25 2,446
@honua/mcp-server not in the top 250
create-honua-app not in the top 250
mcp server geospatial @honua/sdk-js not in the top 250 2026-08-25 382,631
@honua/mcp-server not in the top 250
create-honua-app not in the top 250

What each query is for

Tracked targets

A target that is not met is reported here rather than removed. These are tracked, non-gating metrics on #499: CI fails when this page drifts from its records, never because a rank is disappointing — the SDK does not own npm's ranking function.

What this page does not claim

The declared keywords and descriptions these queries test are gated separately by npm run verify:discoverability, which covers every package this repository publishes.

Ecosystem directory entries and the external submission ledger live in maplibre-plugin-directory.md.