Hi! I’m the creator of brilliant-cv and just arrive in this forum :_)
The answer depends on what you want to customize. There are two layers:
Layer 1: Things you already own (no package modifications needed)
The template/ directory is entirely yours after typst init. You can freely:
Date format in entries: just pass whatever string you want as the date parameter:
#cv-entry(
title: [Software Engineer],
date: [January 2023 – Present], // any format you like
...
)
Date in cover letter: override in your letter.typ:
#show: letter.with(metadata, date: "15 March 2026", ...)
Define helper functions: put them directly in your module files (modules_en/professional.typ, etc.) — these are plain Typst files you own
Layout/style: all visual knobs (colors, fonts, spacing, paper size) live in metadata.toml
Layer 2: Modifying the package’s core functions
If you want to change things in src/ (entry layout, section styles, etc.), you need a local fork (You may follow the CONTRIBUTING.md in my repository for more detailed instructions):
Clone the repo:
git clone https://github.com/yunanwg/brilliant-CV.git
cd brilliant-CV
Install utpm, then link the local copy so Typst uses it instead of the cached version:
just link
# or: utpm ws link --force --no-copy
Now edit anything in src/ and your changes take effect immediately. Run just dev for watch mode.
The downside of this approach is that you maintain a fork — pulling upstream changes requires a manual merge. The upside is full control.
Staying compatible with updates
Template layer (Layer 1): always safe. The public API (cv-entry, cv-section, etc.) follows semantic versioning and we keep backward-compatible aliases when renaming parameters.
Fork approach (Layer 2): you own the risk. We use conventional commits and keep a clean git history, so merging upstream changes is usually straightforward.
If something you need isn’t configurable today, feel free to open a feature request or PR — we’re generally happy to add new metadata.toml knobs for reasonable customization needs rather than forcing everyone to fork.