Getting Started — Your First CV in 10 Minutes¶
Step 1: Bootstrap¶
In your local system, bootstrap the template using this command:
Replace the version with the latest or any release (after 2.0.0) if needed:
Step 2: Install Fonts¶
In order to make Typst render correctly, you will have to install the required fonts:
- Roboto
- Source Sans 3 (or Source Sans Pro)
Step 3: File Structure Map¶
After bootstrapping, your project will contain these files:
| File / Directory | Purpose |
|---|---|
cv.typ |
Entry point (edit to add/remove modules) |
letter.typ |
Cover letter entry point |
profile_en/metadata.toml |
Complete configuration for the English profile |
profile_en/*.typ |
Your English content modules (edit these) |
profile_<name>/... |
Other profile variants (fr, de, it, zh provided as examples) |
assets/ |
Your profile photo and logos |
Tip
Don't edit the package source files under @preview/brilliant-cv — they are managed by the Typst package manager.
Step 4: Configure profile_en/metadata.toml¶
All customization for the English profile goes through profile_en/metadata.toml — it is a complete, self-contained CV configuration. See the Configuration Reference for the full set of fields.
The most important keys to set first:
awesome_color— your accent color ("skyblue","red","nephritis","concrete","darknight")first_name/last_name— your name displayed in the header[personal.info]— your contact details (email, phone, GitHub, LinkedIn, etc.)header_quote— italic tagline below your namecv_footer/letter_footer— text shown in the footer
Step 5: Add Your First Entry¶
Open profile_en/education.typ and replace its contents with:
#import "@preview/brilliant-cv:4.0.1": cv-section, cv-entry
#cv-section("Education")
#cv-entry(
title: [Master of Data Science],
society: [University of California],
date: [2018 - 2020],
location: [USA],
description: list(
[Thesis: Predicting Customer Churn using ML],
),
)
Each profile module file (education.typ, professional.typ, projects.typ, certificates.typ, publications.typ, skills.typ) imports from @preview/brilliant-cv and emits cv-* calls — cv.typ includes them in order. Add new sections by creating a new module file under profile_en/ and adding its name to the import-modules((...)) call in cv.typ.
Step 6: Compile¶
Step 7: (Optional) Add More Profiles¶
If you maintain CVs in multiple languages or for different target roles, copy profile_en/ to profile_<name>/ and edit the fields that differ. Each profile is independent — there is no shared root config to coordinate. See Recipes → Adding a New Profile for details.
Step 8: Go Beyond¶
It is recommended to:
- Use
gitto manage your project — track changes and tag releases of your CV (git tag cv-v1,git tag cv-v2). - Use
typstyleandpre-committo keep your.typfiles consistently formatted. - Use
typosto catch spelling mistakes if your CV is in English. - Wire up CI to compile your CV on every push — see Recipes → CI/CD with GitHub Actions.