Skip to content

Repository files navigation

Code a CV

CI Latest release Downloads Platforms Homebrew License

Still naming it like CV_ElonMusk_Facebook_final_v2.pdf? Just focus on your work experiences, mark it down, and let cac do the rest. That’s the idea behind CV as Code.

Write your CV as code and render it as PDF or HTML. Keep your content in version control, choose a theme, and rebuild consistently.

  • Author in Markdown, or use JSON, YAML, and TOML.
  • Import and export the supported JSON Resume subset.
  • Check content and format source files without an LLM.
  • Customize PDF layouts with reusable themes.

⭐ Your star can help make Code a CV better

Quick start

Install cac on macOS or Linux:

brew install voxvanhieu/tap/code-a-cv
Other installations

npm

With Node.js 24 or newer, install on macOS, Linux, or Windows:

npm install -g @voxvanhieu/code-a-cv@latest

Windows

Winget installation will be available in a future release. For now, download cac-x86_64-pc-windows-msvc.zip from the latest release, extract cac.exe, and add its directory to PATH.

Linux

The Homebrew command above also works on Linux. You can also build cac from source.

Install from source

Install Rust 1.92 or newer, then run:

git clone https://github.com/voxvanhieu/code-a-cv.git
cd code-a-cv
cargo install --path crates/cac --locked

Create a CV:

mkdir my-cv
cd my-cv
cac init

Edit the generated cv.md, then build your PDF:

cac build

Open offering/cv.pdf. This is your carefully prepared offering to the hiring gods. Continue with the usage guide for authoring, settings, and output options.

Write and maintain your CV

Task Command Guide
Start or import a CV cac init Getting started
Check content cac check cv.md Content checks
Format the source in place cac fmt Formatting
Render PDF or HTML cac build Building and settings
Convert source formats cac convert cv.md --to json Conversion

See FieldMark syntax for headings and optional fields, and example projects for complete CVs and rendered results.

Choose or create a theme

The classic theme is included. Follow using themes to find, install, and select another design.

To create your own, use cac theme init, cac theme test, and cac theme pack. The theme contribution guide explains the workflow; the shared theme contract defines the rendering requirements.

Development

Rust 1.92+

See the development guide for setup, architecture, testing, pull requests, and releases.

Roadmap

  • More themes
  • Rebuild automatically when files change
  • Create job-specific CV versions with tags
  • Fit a CV to a page limit
  • Check the rendered PDF for missing content
  • WebAssembly support
  • Stunning local Web UI with Tauri
  • VS Code extension

License

Code a CV is available under the MIT License.

About

Don't waste your time formatting the CV. Code them all.

Topics

Resources

Contributing

Stars

6 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages