https://github.com/josefkuchar/typst-dl
Download a Typst package from an HTTP(S) Git repository into Typst's local package directory.
https://github.com/josefkuchar/typst-dl
download downloader git package package-manager registry toml typst
Last synced: about 22 hours ago
JSON representation
Download a Typst package from an HTTP(S) Git repository into Typst's local package directory.
- Host: GitHub
- URL: https://github.com/josefkuchar/typst-dl
- Owner: JosefKuchar
- License: mit
- Created: 2026-04-24T10:45:08.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2026-04-24T11:40:03.000Z (3 months ago)
- Last Synced: 2026-04-24T12:33:52.527Z (3 months ago)
- Topics: download, downloader, git, package, package-manager, registry, toml, typst
- Language: TypeScript
- Homepage:
- Size: 29.3 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# typst-dl
[](https://www.npmjs.com/package/typst-dl)
Download a Typst package from an HTTP(S) Git repository into Typst's local package directory.
Typst Universe packages are published by opening a pull request against
`typst/packages`. `typst-dl` solves the pre-publish and out-of-tree case: install a
package directly from its Git repository while developing, testing, or using a
package that is not in Typst Universe yet.
## Install
```bash
npm install -g typst-dl
```
You can also run it without installing:
```bash
npx typst-dl
```
## CLI usage
```bash
npx typst-dl https://github.com/stuxf/basic-typst-resume-template
```
The command prints the installed package identifier:
```text
Installed @git/:
```
Use that identifier in your Typst file with `#import`:
```typst
#import "@git/:": *
```
For example, a package whose `typst.toml` contains `name = "my-package"` and
`version = "1.0.0"` can be imported as:
```typst
#import "@git/my-package:1.0.0": *
```
```text
typst-dl [--namespace ] [--data-dir ] [--force]
```
Options:
- `--namespace`, `-n`: override the namespace, defaults to `git`
- `--data-dir`: override Typst's data directory
- `--force`: replace an already installed `{namespace}/{name}/{version}`
- `--help`, `-h`: print usage information
## Behavior
- Clones the repository with a shallow clone.
- Reads `typst.toml` from the repository root.
- Detects `package.name` and `package.version`.
- Installs the package to:
```text
{data-dir}/typst/packages/{namespace}/{name}/{version}
```
Default namespace: `git`
`{data-dir}` is resolved the same way Typst does:
- Linux: `$XDG_DATA_HOME` or `~/.local/share`
- macOS: `~/Library/Application Support`
- Windows: `%APPDATA%`
## Notes
- Currently supports HTTP(S) Git repository URLs.
- Respects `package.exclude` from `typst.toml`.
- Does not keep the cloned `.git` directory in the installed package.