You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Welcome to [**ResumeCraftr**](https://resumecraftr.app), the open-source tool designed to optimize resumes for ATS (Applicant Tracking Systems) using AI and Markdown formatting. ResumeCraftr extracts, restructures, and formats CVs to ensure they meet ATS requirements while maintaining readability and professionalism.
3
+
Welcome to [**ResumeCraftr**](https://resumecraftr.app), the open-source tool designed to optimize resumes for ATS (Applicant Tracking Systems) using modern, Python-only tooling. ResumeCraftr now leans on LangChain graph pipelines, embedded ChromaDB retrieval, and PyMuPDF rendering to extract, tailor, and format CVs while keeping the stack lightweight and future-proof.
4
4
5
5
---
6
6
@@ -14,6 +14,10 @@ ResumeCraftr now fully supports Windows, making it easier for more users to opti
14
14
15
15
ResumeCraftr now allows you to create and manage CV sections interactively without needing to parse an existing CV. This makes it easier to build your resume from scratch or update specific sections.
16
16
17
+
### 🌟 LangChain-native RAG & PyMuPDF 📚
18
+
19
+
LLM interactions now run through LangChain graph pipelines with retrieval backed by an embedded ChromaDB store, and PDFs are rendered via PyMuPDF for precise, dependency-free styling.
20
+
17
21
---
18
22
19
23
## What's New? Discover AI Craftr 🌐
@@ -22,9 +26,9 @@ ResumeCraftr now allows you to create and manage CV sections interactively witho
22
26
23
27
---
24
28
25
-
## Release Notes v0.4.0
29
+
## Release Notes v0.5.0-beta1
26
30
27
-
You can find the release notes for version `v0.4.0`[here](https://github.com/raestrada/ResumeCraftr/releases/tag/v0.4.0).
31
+
You can find the release notes for version `v0.5.0-beta1`[here](https://github.com/raestrada/ResumeCraftr/releases/tag/v0.5.0-beta1).
28
32
29
33
## Step 1: Install ResumeCraftr
30
34
@@ -33,7 +37,7 @@ First, install **ResumeCraftr** using [pipx](https://pypa.github.io/pipx/), a to
Copy file name to clipboardExpand all lines: docs/getting_started.md
+82-84Lines changed: 82 additions & 84 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# Getting Started with ResumeCraftr
2
2
3
-
ResumeCraftr is an ATS-focused minimalist CV generator that leverages OpenAI and Pandoc to parse, optimize, and format resumes. This guide will walk you through the setup and usage of ResumeCraftr, along with tips for customizing your experience.
3
+
ResumeCraftr is an ATS-focused minimalist CV generator that now leverages LangChain graph pipelines, an embedded ChromaDB store, and PyMuPDF to parse, optimize, and format resumes using only Python-native tooling. This guide walks you through the modernized setup and usage of ResumeCraftr, along with tips for customizing your experience.
4
4
5
5
---
6
6
@@ -14,9 +14,9 @@ ResumeCraftr now fully supports Windows, making it easier for more users to opti
14
14
15
15
ResumeCraftr now allows you to create and manage CV sections interactively without needing to parse an existing CV. This makes it easier to build your resume from scratch or update specific sections.
16
16
17
-
### 🌟 Improved PDF Generation! 📄
17
+
### 🌟 Embedded RAG & PyMuPDF! 📄
18
18
19
-
ResumeCraftr now uses Pandoc to convert Markdown to PDF, making the process more robust and less prone to errors. This also makes it easier to preview and edit your resume before generating the final PDF.
19
+
ResumeCraftr now routes every LLM call through LangChain/ LangGraph, persists knowledge in an on-disk ChromaDB (SQLite) store, and renders PDFs directly through PyMuPDF for precise styling.
20
20
21
21
---
22
22
@@ -25,45 +25,31 @@ ResumeCraftr now uses Pandoc to convert Markdown to PDF, making the process more
25
25
Ensure you have `pipx` installed, then install ResumeCraftr with:
Prefer not to export environment variables? Create `~/.resumecraftr/openrouter_api_key.txt` and paste your OpenRouter key inside—ResumeCraftr will load it from that file first and fall back to the env vars. On Windows PowerShell, use `$env:OPENROUTER_API_KEY = "sk-or-v1..."`. Storing secrets in a `.env` file also works because the CLI loads dotenv automatically at startup.
67
53
68
54
---
69
55
@@ -72,17 +58,19 @@ For Fedora:
72
58
ResumeCraftr operates within a dedicated workspace directory called `cv-workspace`. To set up this workspace, run:
73
59
74
60
```bash
75
-
resumecraftr setup --language EN --gpt-model gpt-4o-mini
61
+
resumecraftr setup --language EN --provider openrouter --model deepseek/deepseek-chat
76
62
```
77
63
78
64
### Key Options:
79
65
-`--language`: Sets the primary language of your CV (e.g., `EN` for English or `ES` for Spanish).
80
-
-`--gpt-model`: Specifies the GPT model to use. For testing, we recommend using `gpt-4o-mini`.
66
+
-`--provider`: Selects the LangChain provider (`openai`, `openrouter`, or `ollama`).
67
+
-`--model`: Specifies the model string compatible with the chosen provider (defaults to `deepseek/deepseek-chat`).
68
+
-`--temperature`: Controls the creativity of generations (default `0.4`).
81
69
82
-
This will create the `cv-workspace` directory with the following files:
83
-
-**`cv-workspace/resume_template.md`**: The Markdown template used for PDF generation. You can modify this file to customize the CV layout and style.
84
-
-**`cv-workspace/resumecraftr.json`**: The main configuration file.
85
-
-**`cv-workspace/custom.md`**: A file for adding supplementary information and custom instructions for ChatGPT.
70
+
This will create the `cv-workspace` directory with:
71
+
-**`cv-workspace/resumecraftr.json`**: The main configuration file (see below).
72
+
-**`cv-workspace/custom.md`**: A file for supplementary information and custom instructions.
-**`primary_language`**: The language of the CV and job descriptions (e.g., `EN`, `ES`).
113
-
-**`output_format`**: Output format, typically `pdf`.
114
-
-**`template_name`**: Name of the Markdown template used for PDF generation.
115
-
-**`chat_gpt`**: OpenAI settings such as the model, temperature, and top_p.
116
-
-**`extracted_files`**: List of extracted text files from your CVs.
117
-
-**`job_descriptions`**: List of job description files used for optimization.
112
+
-**`llm`**: LangChain provider/model/temperature/max tokens used for all generations.
113
+
-**`retrieval`**: Embedded ChromaDB settings plus embedding model/provider.
114
+
-**`pdf`**: Styling knobs consumed by the PyMuPDF renderer.
115
+
-**`extracted_files`** & **`job_descriptions`**: Workspace bookkeeping for imported resumes and stored jobs.
118
116
119
117
---
120
118
@@ -221,7 +219,7 @@ After adding the job description, tailor the resume with:
221
219
resumecraftr tailor-cv
222
220
```
223
221
224
-
This step ensures that your resume highlights relevant skills and experience based on the job description. ResumeCraftr uses OpenAI to rewrite and structure the content to be ATS-friendly.
222
+
This step ensures that your resume highlights relevant skills and experience based on the job description. ResumeCraftr now routes the optimization through a LangChain + LangGraph pipeline backed by ChromaDB retrieval, so every section is grounded in your workspace knowledge base.
225
223
226
224
### Language Optimization
227
225
@@ -238,40 +236,40 @@ For example, if you configured ResumeCraftr with `--language ES` (Spanish), the
238
236
239
237
## Exporting Your Resume to PDF
240
238
241
-
Once you're satisfied with your resume, you can export it to PDF using:
239
+
Once you're satisfied with your resume, you can export it to PDF using PyMuPDF:
242
240
243
241
```bash
242
+
# Use the default (latest) tailored sections and bundled template
244
243
resumecraftr export-pdf
245
-
```
246
-
247
-
By default, the resume will be generated in the language specified in your `resumecraftr.json` file (set during the `setup` command). If you want to generate the resume in a different language, use the `--translate` option:
248
244
249
-
```bash
250
-
resumecraftr export-pdf --translate EN # Generate in English
251
-
resumecraftr export-pdf --translate ES # Generate in Spanish
245
+
# Specify sections file, template, and destination
246
+
resumecraftr export-pdf \
247
+
--sections senior-role.tailored_sections.json \
248
+
--template modern \
249
+
--output output/senior-role.pdf
252
250
```
253
251
254
252
The command will:
255
-
1. Find all `.extracted_sections.json` files in your workspace
256
-
2. Let you choose which one to use if multiple files exist
257
-
3. Generate a Markdown file and convert it to PDF using Pandoc
258
-
4. Save the resulting PDF in your workspace
259
-
260
-
The PDF will be formatted according to the template in `resume_template.md`, which you can customize to match your preferred style.
0 commit comments