# JevMade content schema — `jevmade.entry/2`

`data/entries.json` is the whole registry as structured content, separated from
presentation so it can migrate into a headless CMS or database unchanged.

```jsonc
{
  "schema": "jevmade.entry/2",
  "generatedAt": "2026-09-19",
  "count": 485,
  "entries": [ Entry ]
}
```

## Entry

| field | type | notes |
|---|---|---|
| `id` | string | unique slug |
| `name` | string | project/page name as its maker titled it |
| `maker` | string | person, team, or org who made it — `Unattributed` when the source names nobody |
| `makerUrl` | string (url) | maker's profile or site |
| `url` | string (url) | primary source — repo, live site, post, or article |
| `category` | enum | `official`, `sdks-clients`, `integrations`, `agent-tooling`, `browser-computer-use`, `applications`, `demos-bots`, `benchmarks-research`, `articles-threads`, `community-lists` |
| `primitives` | enum[] | `choice`, `score`, `noul` — empty when the maker doesn't state them |
| `platform` | string? | language or platform (e.g. `Python`, `TypeScript`, `web`) |
| `added` | date | when the entry first appeared in a public list/registry |
| `created` | date? | repo creation date when known |
| `summary` | string | one-line what-it-does |
| `detail` | string? | longer description from the primary source |
| `figures` | string[] | maker-reported numbers (speed, cost, scale) — claims, not verified measurements |
| `links` | {url,label}[] | all source links; first is the primary source |
| `stars` | object? | `{value, source:"api.github.com", capturedAt}` — build-time snapshot |
| `tags` | string[] | repo topics |
| `preview` | object | card preview — `{kind:"shape", primitive, text, sourceUrl}` (the real question shape the project sends Jev), `{kind:"snippet", lines[], sourceUrl}` (real code/output/quote ≤5 lines), `{kind:"image", src, credit}` (maker-published image, bundled locally), or `{kind:"plate"}` (typographic spec plate rendered from real metadata only). No invented numbers anywhere. |
| `verification` | object | `{status, checkedAt, sourceOpened, method}` — the source we actually opened |

`verification.status` is `verified` only when the primary source itself was
opened and checked during the 2026-09-19 build. Entries whose sources could not
be opened were excluded, not guessed.
