English | 简体中文
typush 用于开发与发布 Typst 包,覆盖本地开发、校验、安装,以及提交到 Typst Universe。
项目名称由 Typst 与 push 组合而成,意为将包推送到 universe。
使用 Homebrew(macOS / Linux):
brew install Vncntvx/tap/typush使用 Go 安装:
go install github.com/Vncntvx/typush@latest也可以直接从 Releases 下载对应平台的预编译二进制文件。
publish universe 与 dev --check 命令依赖 GitHub CLI。安装 gh 并执行 gh auth login 完成登录即可;使用 typush login universe 可以检查当前的认证状态。
创建新包:
typush init开发模板或本地调试时,将当前目录链接到 @preview 命名空间:
typush dev发布到 Universe:
typush publish universe更详细的各命令用法与参数说明请参阅 使用指南。
typush --help
typush init [name] # 交互式初始化 typst.toml、README.md、LICENSE 与入口文件
typush bump [patch|minor|major|<ver>] [-i files] [-t tag] [-n] # 递增版本号(支持 -i 多文件同步与 -n 模拟运行)
typush check [--local] [--no-compile] # 校验包规范与编译状态
typush list [namespace] [-a] [-t] [--json] # 列出已安装包(-a 包含缓存,-t 树状层级)
typush install <ns> [-n] # 安装到指定命名空间(支持 -n 模拟运行)
typush uninstall <target> [-y] [-n] # 卸载指定版本、整个包或命名空间
typush clone <package> [dest] [-f] [-n] # 从 Universe 下载官方包源码并解压到本地
typush download <repo> [-c ref] [-n ns] [--subdir dir] [...] # 从 Git 仓库下载并安装包(支持指定子目录)
typush dev [--check] # 链接到 @preview(优先通过官方 CDN 检查命名冲突)
typush dev list # 列出 @preview 中已有的开发软链接及路径
typush clean [package] [-n] # 清理 @preview 中的开发软链接(支持 -n 模拟运行)
typush search <query> [--limit 20] [--json] # 搜索 Universe 包
typush info <package>[:version] [--json] # 查看 Universe 包元数据与版本历史
typush outdated [path] [--json] # 检查 .typ 文件中的过时依赖
typush update [package...] [-n] [--file path] # 更新 .typ 中的依赖版本(支持 -n 模拟运行)
typush metadata [field] [--json] # 查看包元数据(可提取单字段或输出 JSON)
typush path [namespace] # 显示本地 Typst 包数据目录路径
typush completion <bash|zsh|fish|powershell> # 生成 shell 自动补全脚本
typush exclude <globs...> [-n] # 将指定文件添加到发布排除列表(支持 -n 模拟运行)
typush login universe # 验证 GitHub CLI 认证状态
typush publish universe [-n] # 校验并提交 PR 到 Universe(支持 -n 模拟运行)
typush pr status [number|url] # 查看 PR 状态与审查意见(默认自动匹配当前包)
typush pr checks [number|url] [-w] # 查看或等待 Universe 官方 CI 结果
typush ci plan [--packages "a b"] # 扫描工作区并输出 CI matrix JSON
typush ci generate [...] [-n] # 生成自动化发布工作流(支持 -n 预览)publish 提交前先在本地跑一遍 Universe 校验,覆盖未知字段、作者格式、分类、SPDX 许可证、必要文件、模板缩略图与排除规则。
当系统路径中存在 typst(或通过 TYPST_BIN 环境变量指定)时,typush check 会在本地运行官方 CI 的检查项:
- 编译:普通包检查导入是否成功;模板包在隔离临时目录中先执行
typst init @preview/<name>:<version>再编译入口文件。检查全程不读写本机的 Typst 数据。可用--no-compile跳过编译,或用--local仅检查元数据格式。 - README:检查图片缺失的 alt 文本、失效的相对链接、GFM 语法支持,以及是否使用了指向默认分支的可变链接。
- 文件:禁止携带字体文件,检查是否遗漏排除了样例/测试文件或大文件,并提示未引用的手册文件。
- 导入:检查入口文件是否存在相对导入、包自引用版本是否与当前版本一致,以及模板中的导入路径是否合规。
go build ./...
go test ./...
go vet ./...
gofmt -l .