{
  "$comment": "Index of zipnative’s machine-readable artefacts and guides, with LF-normalised sizes. Regenerate with `npm run docs:llms`; verify-docs llms-index-sync enforces freshness. approxTokens = bytes/4, approximate by construction.",
  "site": "https://zipnative.dev",
  "verifiedOn": "2026-09-02",
  "artefacts": [
    {
      "url": "llms.txt",
      "description": "Machine-readable documentation index (the entry point).",
      "bytes": 7858,
      "approxTokens": 1965
    },
    {
      "url": "agent-brief.md",
      "description": "A compact briefing for AI agents writing code with zipnative — paste it into a coding agent's context.",
      "bytes": 3906,
      "approxTokens": 977
    },
    {
      "url": "llms-full.txt",
      "description": "Concatenated documentation: llms.txt + README + every guide.",
      "bytes": 61777,
      "approxTokens": 15444
    },
    {
      "url": "llms-recipes.txt",
      "description": "Every executable recipe, fenced as TypeScript.",
      "bytes": 17888,
      "approxTokens": 4472
    },
    {
      "url": "assets/api.json",
      "description": "The mechanically extracted export surface — the API ground truth.",
      "bytes": 22664,
      "approxTokens": 5666
    },
    {
      "url": "data/errors.json",
      "description": "The frozen error-code and diagnostic registry — code, class, cause, remedy.",
      "bytes": 17241,
      "approxTokens": 4310
    },
    {
      "url": "assets/ecosystem.json",
      "description": "Versions, counts and milestones — the single source of truth.",
      "bytes": 1413,
      "approxTokens": 353
    }
  ],
  "guides": [
    {
      "title": "Conformance and validation",
      "summary": "ZIP has no veraPDF — so zipnative ships the closest thing: the first open clause-by-clause ISO/IEC 21320-1:2015 validator, layered over a six-parser differential extraction matrix. This page is the authority story: what \"valid\" means for a ZIP archive, who checks it, and what a pass actually proves.",
      "html": "guides/conformance.html",
      "markdown": "guides/conformance.md",
      "anchors": [
        "why-there-was-no-verapdf-for-zip",
        "level-0--the-isoiec-21320-12015-validator",
        "level-1--foreign-integrity-pass",
        "level-2--the-differential-extraction-matrix",
        "running-it-locally",
        "where-it-blocks"
      ],
      "bytes": 7878,
      "approxTokens": 1970
    },
    {
      "title": "The zipnative determinism contract",
      "summary": "Reproducible output is a product feature with a written contract: what is guaranteed always, what is guaranteed per environment, and what `compression: { deterministic: true }` pins bit-for-bit on every runtime.",
      "html": "guides/determinism.html",
      "markdown": "guides/determinism.md",
      "anchors": [
        "the-three-levels-of-guarantee",
        "canonicalization-rules-level-1-always",
        "the-frozen-encoder-contract-level-3",
        "documented-determinism-losses",
        "verifying-reproducibility"
      ],
      "bytes": 4846,
      "approxTokens": 1212
    },
    {
      "title": "Errors and error codes",
      "summary": "Every error zipnative throws carries a stable, machine-readable `code` — branch on it, never on message text. The vocabulary below is frozen from 0.8.0: removing or renaming a code is semver-major; additions are semver-minor.",
      "html": "guides/errors.html",
      "markdown": "guides/errors.md",
      "anchors": [
        "the-contract",
        "when-to-branch-on-instanceof-vs-code",
        "the-vocabulary",
        "diagnostics-are-not-errors",
        "see-also"
      ],
      "bytes": 7764,
      "approxTokens": 1941
    },
    {
      "title": "Quickstart",
      "summary": "Install zipnative and cover the four core workflows — reading with random access, secure extraction, deterministic creation, and incremental modification — in about five minutes.",
      "html": "guides/quickstart.html",
      "markdown": "guides/quickstart.md",
      "anchors": [
        "install",
        "read-with-random-access",
        "extract-securely",
        "create--reproducibly",
        "modify-without-recompressing",
        "verify-in-one-call",
        "going-further"
      ],
      "bytes": 3430,
      "approxTokens": 858
    },
    {
      "title": "Security model",
      "summary": "zipnative treats every archive as untrusted input: the default code path is the safe one, every parser loop runs under a named CWE-tagged bound, and ambiguity is refused rather than guessed at.",
      "html": "guides/security.html",
      "markdown": "guides/security.md",
      "anchors": [
        "why-zip-needs-this",
        "the-guards",
        "the-forward-readers-trust-caveat",
        "what-the-engine-never-does",
        "reporting"
      ],
      "bytes": 2405,
      "approxTokens": 601
    },
    {
      "title": "Use cases",
      "summary": "Four production architectures, each built from parts zipnative already ships — one-entry reads that never touch the payload, extraction behind always-on guards, byte-reproducible release artifacts, and forward streaming with no Node in sight. Every arrow in the diagrams below is a public, shipped API — nothing here is aspirational.",
      "html": "guides/use-cases.html",
      "markdown": "guides/use-cases.md",
      "anchors": [
        "case-1--the-manifest-peek",
        "case-2--untrusted-upload-intake",
        "case-3--the-reproducibility-gate",
        "case-4--streaming-intake-at-the-edge",
        "picking-parts-not-a-platform",
        "see-also"
      ],
      "bytes": 11415,
      "approxTokens": 2854
    }
  ]
}
