TL;DR: I wrote a package manager for typst.
For me it has always been unnecessarily difficult to make templates or packages installable via a local import (#import "@local/..."). In the beginning I used the shell scripts bundled into the typst-package-template. I then tried to use one of the already existing package managers like typship or utpm. Unfortunately neither of them was working for me, either it had missing features or I had issues of how things where implemented.
Therefore I decided to roll out my own tool, gotpm (admittedly I was lazy when deciding on a name). It is not written in rust, but it still is blazingly fast. I quickly want to highlight some of its features:
- installing packages into
{data-dir}/typst/packagesvia a copy or in an editable mode - update imports statements with the latest versions in the
typst universe(orders of magnitudes faster than another tool doing the same I shall mention) - bumping the version in the
typst.tomlfor automated release workflows - It has (in my opinion) nice looking, colored outputs and recognizes if its writing to a
tty - it is self-updatable, so you only install it once
- and in my opinion it has a simple UI
I have mainly build it for myself, but I thought maybe some else might be happy to use it. So check it out if you are interested, or leave some feedback. You can install it with a simple curl:
curl -sSfL https://github.com/npikall/gotpm/releases/latest/download/install.sh | sh