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