Zero-Hallucination Physical Barrier
Your master career profile in doc/USER_PROFILE.md is the absolute truth. The state-machine is physically prevented from inventing unverified metrics or tools.
A deterministic open-source developer tool that fits your verified master profile to any target job description. Truthful keyword alignment, automated gap logging, and minimal hallucinations.
// Single Source of Truth: doc/USER_PROFILE.md
doc/GAPS.md.
Core Invariants
Designed for objective profile-to-job fit rather than chatbot guesswork. It treats resume alignment as a strict constraint-satisfaction problem bounded by your verified career history.
Your master career profile in doc/USER_PROFILE.md is the absolute truth. The state-machine is physically prevented from inventing unverified metrics or tools.
If Typst code fails compilation, a dedicated syntax fixer analyzes compiler stderr and repairs braces, imports, and escaping in a closed loop without user intervention.
Mathematical regex boundary matching validates mandatory vs. optional requirements and enforces an anti-stuffing density threshold (< 2%) to prevent keyword penalties.
When a target job requires skills missing from your profile, Cveck writes them into doc/GAPS.md and doc/gaps.json to build your study roadmap.
Route requests to DeepSeek, NVIDIA NIM, Claude, OpenAI, or any custom OpenAI/Anthropic-compatible endpoint (including local backends like Ollama, vLLM, or LM Studio) with real-time token tracking.
First-class localization across English (en), Brazilian Portuguese (pt_BR), and Mandarin Chinese (zh) via compiled Babel catalogs.
StateGraph Workflow
A cyclic state graph executing deterministic nodes with automated retry loops.
Parses job posting into canonical skills and mandatory criteria.
Isolates unmatched skills against USER_PROFILE.md.
Atomically writes gaps into study backlog (JSON/MD).
Generates STAR Typst source respecting strict budget (14-17 bullets).
Compiles vector PDF and extracts plain text via pdftotext.
Evaluates keyword coverage, passing score to committer or cv_refiner.
Community & Contribution
Cveck is 100% open source under the MIT License. Contributions across templates, translations, scoring rules, and providers are welcome.
Pick an area that fits your skills and submit a pull request:
Design and submit new localized Typst resume layouts in templates/ (e.g., Spanish, German, French, Japanese, or alternative design themes).
Add new language catalogs or refine existing GNU gettext translations in src/locales/ using Babel.
Add new LLM providers, local inference backends, or tested open models into src/presets.json.
Improve keyword boundary matching, regex edge cases, and token optimization in src/tools/ and LangGraph nodes.
Local Setup
Prerequisites: Python 3.11+, Typst CLI in system PATH, and Poppler (pdftotext).
# 1. Clone repository & install in editable mode
git clone https://github.com/FranciscoOssian/cveck.git
cd cveck
pip install -e .
# 2. Add API keys to .env (or select Ollama for 100% offline local inference)
cp .env.example .env
# 3. Fill doc/USER_PROFILE.md and launch interactive CLI
cveck
Reference
No. cveck is 100% free and open-source software (FOSS) licensed under MIT. It runs locally on your machine with zero telemetry, zero accounts, and zero cloud lock-in.
Yes. cveck supports any local OpenAI-compatible server (such as Ollama, vLLM, or LM Studio). You can run open-weight models locally (e.g. llama3.1:8b, qwen2.5:7b) via the interactive /provider menu with zero API costs.
Typst compiles in milliseconds, produces clean vector typography, supports programmatic layouts with reliable column breaking, and eliminates fragile LaTeX macro errors.