Repository navigation
v0.1.0
First official release of typush, a CLI tool for developing, validating, and publishing Typst packages.
Key Features
- Package Scaffolding (
typush init): Interactively generatestypst.toml, default entrypointsrc/lib.typ,README.md, andLICENSE. Automatically infers git author (Name <email>) and repository HTTPS URL from git configuration. Supports template packages with customizable template directories and entrypoints. - Local Development and Debugging (
typush dev,typush dev list,typush clean): Symlinks the current package directory into the local@previewnamespace, allowing other local Typst documents to#importand test changes in real time without reinstallation.dev listdisplays all active symlinks and resolved targets;cleanremoves development links with optional--dry-runpreview. - Local Specification and Compiler Verification (
typush check): Replicates official Universe CI validation locally and offline. Verifies package metadata (kebab-case, SemVer, SPDX license expressions, allowed categories and disciplines), documentation links and image alt text, forbidden font files (.ttf/.otf), and runs isolated compilation checks whentypstis installed. - Version Bumping (
typush bump): Increments or setspackage.versionintypst.tomlusingpatch,minor,major, or explicit version arguments, enforcing anti-downgrade checks and updating self-referential package versions inREADME.md. - Universe Submission (
typush publish universe): Automates pull request submission to the officialtypst/packagesrepository. Uses GitHub CLI (gh) for authentication, provisions user forks, utilizes Gitsparse-checkoutto upload only the package directory in a single commit, and opens pre-checked Draft Pull Requests. - Pull Request and CI Tracking (
typush pr status,typush pr checks): Displays PR metadata and reviewer comments, and monitors official upstream GitHub Actions check runs with optional-w, --watchwaiting.
Installation
Using Go:
go install github.com/Vncntvx/typush@v0.1.0Or download precompiled binaries for macOS, Linux, and Windows from the Assets below.
Acknowledgments
Thanks to @maxchang3 in PR #1 for contributing the Git Trees API directory traversal fix.