.cv Open Resume File Format
§05 / Ecosystem

One repository. Every surface a consumer might need.

The packages that ship in the cvfile/cv monorepo and how they fit together.

SDK Reference SDKs

@cvfile/sdk

JavaScript / TypeScript pack, extract, inspect, validate. Browser and Node.

cvfile

Python equivalent. Same API surface, idiomatic naming.

github.com/cvfile/cv/sdks/go

Go equivalent. Full pack, extract, inspect, validate surface.

CLI Command line

cv

Single Go binary. Subcommands: pack, extract, inspect, validate, search.

EMB Embeddings

@cvfile/embed

JS chunker plus transformers.js and HF Inference backends. Default model BAAI/bge-m3 (1024-dim, MIT, multilingual).

cvfile[embed]

Python equivalent.

WEB Viewer

@cvfile/viewer-web

Lit web component (cv-embed) with PDF, Markdown and HTML tabs, lazy PDF.js worker, dark/light theming, keyboard nav, mobile layout.

HTTP Server middleware

@cvfile/server

Node Express, Fastify and Hono adapters plus a vanilla http handler.

cvfile.server

Python ASGI (FastAPI/Starlette) and WSGI (Flask/Django).

github.com/cvfile/cv/sdks/go/middleware

Go net/http handler.

AI AI tooling integrations

langchain-cvfile

CVFileLoader emits LangChain Documents, optionally one per embedding chunk.

llama-index-readers-cvfile

CVFileReader emits LlamaIndex Documents with .embedding populated.

cvfile-haystack

Haystack 2.x CVFileToDocument converter component.

cvfile-cv-detector

200-line reference sniffer (cvfile-cv-detector on PyPI, @cvfile/cv-detector on npm, plus Go) that detects .cv wrapping inside any application/pdf and unwraps the /AF Markdown payload. For crawler vendors who want .cv awareness without adopting an SDK.

QA Verified compatible

The same .cv file built by any SDK reads byte-identically in the others. The embeddings.cbor payload survives a round trip through CBOR encoders and decoders in JS, Python and Go. Server middleware in three languages negotiates the same Accept header to the same response.

  1. veraPDF: every shipped fixture passes PDF/A-3u conformance. CI runs the gate via the tools/verapdf-runner/ Docker image.
  2. Malicious corpus: 7 mutated fixtures under spec/test-vectors/malicious/. All three SDK validators reject every one with the same documented error code.
  3. Cross-SDK interop: the producer/consumer matrix is exercised on every pull request.