Skip to main content

Schema-driven, LLM-assisted engine that compiles a graph-of-atoms career corpus into job-targeted CVs, resumes, and cover letters.

Project description

tool_cv_corpus

Schema-driven, LLM-assisted engine that compiles a graph-of-atoms career corpus into job-targeted CVs, resumes, and cover letters.

ci License: Apache-2.0 Python 3.12+

Why

Most resume tooling treats a CV as a document you edit. Every new target becomes a rewrite, the sourcing behind each bullet gets lost, and one-off prose mixes with data you wanted to re-use.

tool_cv_corpus inverts the model:

  1. Your corpus is structured, sourced career data with provenance.
  2. A target is a job posting you are applying to.
  3. The engine resolves corpus against target, scores claims by fit, applies visibility rules, and emits a format-agnostic RenderedResume.
  4. Pluggable renderers turn it into PDF (Typst), JSON Resume, DOCX, or HTML.

Pipeline

flowchart LR
    LI[LinkedIn export] --> ING[ingesters]
    MD[Markdown + YAML] --> ING
    GH[GitHub profile] --> ING
    OR[ORCID] --> ING
    ING --> CORPUS[(corpus<br/>graph of atoms)]
    CORPUS --> LOAD[loader]
    TARGET[target] --> LOAD
    LOAD --> GEN[generator + LLM cache]
    GEN --> RR[RenderedResume<br/>intermediate]
    RR --> TYPST[typst -> PDF]
    RR --> JR[JSON Resume]
    RR --> DOCX[DOCX]
    RR --> HTML[HTML]

Quick start

uv add tool-cv-corpus
cv-corpus doctor                       # verify install
cv-corpus init my_career               # scaffold a corpus
cv-corpus validate my_career           # run 11 checks
cv-corpus schema --out schemas/        # export JSON Schemas

Try the bundled synthetic example:

cv-corpus validate examples/corpus_jordan_taylor

Entity kinds

person, organization, role, project, achievement, skill, education, publication, artifact, testimonial, cover_letter_seed, target, source_doc. Plus Claim records layered on top for sourced assertions.

See docs/architecture/schema.md for the design invariants.

Plugins

Three entry-point groups discover renderers, ingesters, and LLM providers at install time:

  • tool_cv_corpus.renderers - typst, json_resume, docx, html
  • tool_cv_corpus.ingesters - markdown, linkedin_export, github_profile, orcid
  • tool_cv_corpus.llm_providers - anthropic, openai (stub)

Write your own: see docs/plugin_authoring/index.md.

Configuration

Variable Effect
CV_CORPUS_SOURCE_STORE Override CAS root (default: platformdirs)
CV_CORPUS_MODEL Override default LLM model
ANTHROPIC_API_KEY Anthropic provider auth
OPENAI_API_KEY OpenAI provider auth (stub)

Status

Version 0.1.0 ships the schema, CLI surface, validator with 11 ordered checks, the default plugin set, CI matrix across 3 OS x 2 Python versions, and trusted-publishing release wiring.

The claim-scoring and target-aware generation phases are stubs; contributions welcome.

Contributing

Read CONTRIBUTING.md and code_of_conduct.md first. Conventional commits and SSH-signed commits are required for maintainers; contributors can open PRs without signing and a maintainer will squash-merge.

License

Apache 2.0. See LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tool_cv_corpus-0.2.0.tar.gz (178.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tool_cv_corpus-0.2.0-py3-none-any.whl (84.9 kB view details)

Uploaded Python 3

File details

Details for the file tool_cv_corpus-0.2.0.tar.gz.

File metadata

  • Download URL: tool_cv_corpus-0.2.0.tar.gz
  • Upload date:
  • Size: 178.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for tool_cv_corpus-0.2.0.tar.gz
Algorithm Hash digest
SHA256 e67cb8adb54e2cdeb1f1c0207b37484b6321ca300e0bce46f9c540fba02c799c
MD5 fee9738837d9b685eb5a96a664dde70f
BLAKE2b-256 155726808fe04019429a6b38f1a2cd169c47ac7ed93e8b1bd2b1b26d3af67f28

See more details on using hashes here.

Provenance

The following attestation bundles were made for tool_cv_corpus-0.2.0.tar.gz:

Publisher: release.yml on iam6ft7in/tool_cv_corpus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tool_cv_corpus-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: tool_cv_corpus-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 84.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for tool_cv_corpus-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3d40f9b8e7188863e0d05f880a496fcb3c17fe62966b972d662ef3dd4de9536d
MD5 a78697fc69321c2d6c5d72b221783f97
BLAKE2b-256 d7c8a8d54a786973df377bdb5eaa73207466c33bd20e79be4e425fdce799cd71

See more details on using hashes here.

Provenance

The following attestation bundles were made for tool_cv_corpus-0.2.0-py3-none-any.whl:

Publisher: release.yml on iam6ft7in/tool_cv_corpus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page