No description
  • Shell 57.4%
  • Typst 21.8%
  • Python 13.9%
  • Makefile 4.4%
  • Jinja 2.5%
Find a file Use this template
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Agent 1b083e8794
refactor(template): adopt Copier _subdirectory layout
Move the project scaffold under template/ and set _subdirectory in copier.yml, so the repo root keeps a browsable README describing the template plus copier.yml. Generation output is unchanged.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-05 18:24:44 -04:00
template refactor(template): adopt Copier _subdirectory layout 2026-07-05 18:24:44 -04:00
copier.yml refactor(template): adopt Copier _subdirectory layout 2026-07-05 18:24:44 -04:00
README.md refactor(template): adopt Copier _subdirectory layout 2026-07-05 18:24:44 -04:00

Typst Book Template (Copier)

A Copier template for a Typst book/document, wired for Git LFS (with file locking), LF line endings, lowercase-extension enforcement, typstyle formatting, typos spell-checking, ruff + mypy on the tooling scripts, and a typst compile on push. The project scaffold lives in template/.

Generate a project

pipx install copier          # or: pip install --user copier
copier copy gh:<owner>/typst-template my-book

Copier asks for the project name, author, and description, then writes the project into my-book/. Finish setup there:

cd my-book
git init -b main
./setup.sh                   # checks tools, enables LFS + pre-commit hooks

Update an existing project

Template improvements can be pulled into an already-generated project. From the project root:

copier update

This works because generation records your answers in .copier-answers.yml.

Layout

copier.yml   the questionnaire and Copier settings
template/    the project scaffold copied on generation

Files under template/ ending in .jinja are rendered (the suffix is stripped); everything else is copied verbatim. See copier.yml for the questions.