CLAUDE.md · rendercv/rendercv
CLAUDE.md from rendercv/rendercv: 88 lines covering What is RenderCV?, Core Pipeline, Commands, Source Layout and more.
Template by rendercv
Chalk Labs
Need help deploying CLAUDE.md · rendercv/rendercv?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code. Read the repository before you give any tool access to your data.
curl -fsSL https://raw.githubusercontent.com/rendercv/rendercv/main/CLAUDE.md -o CLAUDE.md
Read it and adapt it to your project before use.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: code-generation, testing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
What's in it
A CLAUDE.md file: project memory Claude Code loads at the start of every session.
- For
- Claude Code
- Length
- 88 lines
- File
CLAUDE.md
Sections
- What is RenderCV?
- Core Pipeline
- Commands
- Source Layout
- Testing
- Code Conventions
First lines (shown under the repo's MIT license)
# CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
## What is RenderCV?
RenderCV is a resume/CV builder for academics and engineers. Users write CVs in YAML, and RenderCV produces PDFs with professional typography. It supports multiple themes (classic, moderncv, sb2nov, engineeringresumes, engineeringclassic) and custom themes. Deployed at rendercv.com as a web app.
## Core Pipeline
```
YAML → (ruamel.yaml) → Python dict → (pydantic) → RenderCVModel → (jinja2) → Typst file → (typst) → PDF
```
1. **Parse**: `ruamel.yaml` reads YAML into Python dicts (`schema/yaml_reader.py`)
2. **Validate**: `pydantic` validates into `RenderCVModel` (`schema/models/rendercv_model.py`)
3. **Template**: `jinja2` renders Typst templates with model data (`renderer/templater/templater.py`)
4. **Compile**: `typst` Python bindings compile `.typ` to PDF (`renderer/pdf_png.py`)
Markdown in YAML fields is converted to Typst syntax via the `markdown` library (`renderer/templater/markdown_parser.py`).
## Commands
```bash
just sync # Install dependencies
just test # Run tests (parallel via pytest-xdist)
just check # Lint (ruff) + type-check (ty) + pre-commit hooks
just format # Format (black + ruff)
just update-testdata # Regenerate reference files for tests
just test-coverage # Run tests with coverage report
just update-schema # Regenerate JSON schema
just update-examples # Update example output files
```
Run a single test:
```bash
uv run --frozen --all-extras pytest tests/renderer/templater/test_date.py -x
```
Run tests matching a keyword:
```bash
uv run --frozen --all-extras pytest -k "test_markdown_to_typst" -x
```
## Source Layout
```
src/rendercv/
cli/ # Typer CLI (render, new, create-theme commands)
render_command/run_rendercv.py # Main render orchestration
schema/ # Data models and validation
models/
cv/ # CV content models (entries, sections)
design/ # Theme models (classic, moderncv, etc.)
locale/ # Localization model
settings/ # Rendering settings
rendercv_model.py # Top-level RenderCVModel
rendercv_model_builder.py # Builds RenderCVModel from YAML with overrides
renderer/ # Output generation
templater/
templates/typst/ # Jinja2 templates for Typst output (per theme)
templater.py # Jinja2 rendering logic
markdown_parser.py # Markdown → Typst conversion
typst.py # Typst source file generation
pdf_png.py # PDF/PNG compilation
html.py # HTML output
markdown.py # Markdown output
```
## Testing
Tests mirror the source structure: `src/rendercv/renderer/templater/date.py` → `tests/renderer/templater/test_date.py`.
**Reference file testing**: Renderer tests compare generated output against reference files in test data directories. Use `just update-testdata` to regenerate references when output intentionally changes.
**Key fixtures** (in `tests/renderer/conftest.py`):
- `minimal_rendercv_model` / `full_rendercv_model` — pre-built models for testing
- `compare_file_with_reference` — compares generated output against reference files
## Code Conventions
- **No private API syntax**: Never use underscore-prefixed names (`_Foo`, `_bar`). All names are public.
- **Strict typing**: Every function, variable, and class attribute must have type annotations.
- **Python 3.12+ syntax**: Use `type` statements for aliases, `X | Y` unions, `X | None` for optionals.
- **Docstrings**: Google-style with Why/Args/Returns/Raises sections.
- **`just check` must show zero errors** before committing.
- Use `uv`, never `pip` or `python` directly.Signals
- Stars
- 17,827
- Forks
- 1,372
- Open issues
- 55
- Last commit (this folder)
- Mar 19, 2026 (7 months ago)
- Last release
- Mar 21, 2026 (7 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/rendercv/rendercv
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get CLAUDE.md · rendercv/rendercv running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
CLAUDE.md · rendercv/rendercv. Agent Mart. https://agentmart.dev/templates/rendercv-rendercv-claude-md (last updated 2026-10-24)