Typst

Typst GmbH и участники проекта на GitHub · лицензия Apache-2.0

Собирает PDF из текстовой разметки: счёт, КП, отчёт. Данные берёт из JSON или CSV и сама считает итоги по формулам шаблона.

macOS · Windows · LinuxНа компьютере, на сервере и в контейнереБесплатно, Apache-2.0

✓ Проверено 08.10.2026: Ubuntu 24.04.5 (x86_64) в одноразовом контейнере Docker на сервере: Typst 0.15.1 из готового файла выпуска на GitHub, для проверки PDF poppler-utils 24.02.0 из apt. Что именно проверяли

Установить агентом ↓

Какую задачу решает

Собирает PDF из текстового файла с разметкой: счёт, коммерческое предложение, отчёт. Данные можно держать отдельно в JSON или CSV, и тогда один шаблон даёт новый документ на каждый набор данных.

  • Собирает PDF из файла .typ, в нашем прогоне одностраничный тестовый счёт собрался за 145 мс.
  • Подставляет в шаблон данные из JSON и сама считает суммы и итоги по формулам шаблона, так было в нашем прогоне. Файлы CSV по документации читаются функцией csv.
  • Принимает значения из командной строки (--input номер=значение), так из одного шаблона выходят счета с разными номерами.
  • Сохраняет страницы картинками PNG с нужной плотностью точек (--ppi).
  • При ошибке в разметке отвечает кодом 1, называет строку и PDF не создаёт, агент видит, что поправить.

Пример результата

Говоришь агенту

В папке docs лежат шаблон счёта invoice.typ и данные data.json: номер счёта, покупатель и три позиции. Собери invoice.pdf, проверь, что итог посчитан верно, и сделай вторую копию с номером T-0043.

Что получится

Рядом появятся invoice.pdf и копия с номером T-0043. Агент вытащит текст из PDF и сверит номер, покупателя, строки и итог с data.json. Этот сценарий мы прогнали на тестовых данных: одна страница A4, итог 8750 руб. совпал с расчётом, шрифты встроены в файл, data.json и шаблон после работы не изменились.

Паспорт

Кто делает
Typst GmbH и участники проекта на GitHub
Сайт
typst.app
Исходный код
github.com/typst/typst
Инструкция
typst.app/docs
Лицензия
Apache-2.0
Версия
0.15.1 на 08.10.2026
Системы
macOS · Windows · Linux
Где работает
На компьютере, на сервере и в контейнере
Цена
Бесплатно
Проверка
Проверено 08.10

Установить агентом

Для Claude Code, Codex, Hermes и любого агента с терминалом
Установи программу «Typst». Работай по шагам и после каждого коротко говори, что сделал.

Что это за программа (каталог smyslokod.ru, официальные источники сверены 08.10.2026):
- официальный сайт: https://typst.app/
- исходный код: https://github.com/typst/typst
- инструкция по установке: https://typst.app/docs/
- актуальная версия на 08.10.2026: 0.15.1
- лицензия: Apache-2.0
- для работы нужно (в отдельных случаях): Homebrew - на Mac Typst ставится через него
- для работы нужно (в отдельных случаях): Свои шрифты - если документу нужен фирменный шрифт, папку с ним передают ключом --font-path

Правила:
1. Ничего не устанавливай и не меняй, пока я не скажу «да» на твой план.
2. Ставь только способами из этого промпта. Сторонние сборки, скрипты с форумов и из чужих репозиториев не бери.
3. Мои проекты не трогай: не меняй их файлы, виртуальные окружения и списки зависимостей (package.json, requirements.txt, pyproject.toml).
4. Команды с sudo, правку профиля оболочки (~/.zshrc, ~/.bashrc) и переменной PATH делай только после моего отдельного «да» на каждую.
5. Не проси у меня пароли и ключи и не выводи их. Если нужен пароль администратора, дай команду, я выполню её сам.
6. Перед сборкой покажи мне шаблон и данные. Итоговый PDF проверь: вытащи текст и сверь числа с данными, назови число страниц.
7. Пакеты из реестра (#import "@preview/...") подключай только с моего «да», назови пакет и его версию.
8. Не запускай typst update и не расширяй папку проекта ключом --root без моего разрешения.
9. Готовый PDF сохраняй под новым именем, существующие файлы не перезаписывай.

Шаги:
0. Определи, где ты работаешь: мой компьютер, сервер или контейнер. Какая система и процессор, какие менеджеры пакетов есть (Homebrew, apt, winget, uv, pipx). Ставить нужно туда, где ты сам запускаешь команды.
   - на компьютере: на Mac проще поставить через Homebrew, на Windows через winget, на Linux готовым файлом.
   - на сервере: окно программе не нужно. В нашем прогоне сборка счёта, картинки и проверок не открыла ни одного сетевого соединения.
   - в контейнере: мы проверяли в контейнере Ubuntu 24.04. Кириллица в нашем счёте набрана шрифтом Libertinus Serif, он встроен в PDF, список доступных шрифтов показывает typst fonts.
1. Проверь, не стоит ли программа уже: typst --version ; which -a typst. Если стоит и запускается, ничего не ставь и переходи к шагу 5.
2. Обязательных зависимостей у программы нет, то, что нужно в отдельных случаях, перечислено выше. Проверь свободное место на диске: нужно Готовый файл 0.15.1 для Linux x86_64 занял 54 МБ (55 739 488 байт), архив весит 17 462 992 байта. Скачанные пакеты шаблонов ложатся в кэш ~/.cache/typst/packages и занимают ещё место. Сколько займёт установка через Homebrew или winget, мы не мерили..
3. Составь план: каким одним способом из списка ниже будешь ставить, что появится на диске и сколько места займёт, что поменяется в системе и как потом удалить. Покажи план и жди моего «да».
   Способы из официальных источников:
   - macOS, Homebrew: brew install typst (ставит текущую версию из формулы, на 08.10.2026 это 0.15.1. Для работы формула других пакетов не ставит, pkgconf и rust указаны в ней только для сборки из исходников. На Mac мы не проверяли)
   - Windows, winget: winget install --id Typst.Typst (команда из README проекта. По манифесту winget ставит typst.exe из выпуска 0.15.1 на GitHub и даёт команду typst. На Windows мы не проверяли)
   - Linux, готовый файл с GitHub: curl -LO https://github.com/typst/typst/releases/download/v0.15.1/typst-x86_64-unknown-linux-musl.tar.xz && tar -xJf typst-x86_64-unknown-linux-musl.tar.xz && mkdir -p ~/.local/bin && cp typst-x86_64-unknown-linux-musl/typst ~/.local/bin/typst (так мы ставили в прогоне, архив для x86_64 (для ARM64 есть typst-aarch64-unknown-linux-musl.tar.xz). README велит положить файл в папку из PATH. Если ~/.local/bin в PATH нет, команду вызывают полным путём. Сверить архив можно по контрольной сумме sha256 на странице выпуска)
4. Установи по согласованному плану. Если что-то идёт не так, как в плане, остановись и спроси.
5. Проверь результат:
   - typst --version: программа запускается без ошибки;
   - Сделай шаблон счёта invoice.typ и файл data.json с номером, покупателем и тремя позициями. Собери PDF и вытащи из него текст: номер, покупатель, все позиции и итог должны совпасть с данными, итог посчитан шаблоном. Сохрани страницу картинкой PNG, собери копию с другим номером через --input. Убедись, что файл с ошибкой в разметке даёт код 1 и PDF не создаётся. Сверь контрольные суммы исходных файлов до и после работы. Делай это во временной папке и не трогай мои файлы.
     typst --version
     typst fonts
     typst compile docs/invoice.typ docs/invoice.pdf
     typst compile docs/invoice.typ 'docs/invoice-{p}.png' --ppi 100
     typst compile --input number=T-0043 docs/invoice.typ docs/invoice-T-0043.pdf
     typst compile docs/broken.typ docs/broken.pdf
     typst compile docs/escape.typ docs/escape.pdf
     pdftotext -layout docs/invoice.pdf invoice.txt
   - если ты работаешь в папке моего проекта, покажи git status: от установки в проекте не должно появиться изменений.
6. Итог одним сообщением: что установлено, какой версии и куда, сколько места заняло, что поменялось в системе и как всё удалить (macOS, Homebrew: brew uninstall typst; Windows, winget: winget uninstall --id Typst.Typst; Linux, готовый файл с GitHub: rm ~/.local/bin/typst).

Если на любом шаге ошибка, не чини наугад: покажи текст ошибки и скажи, что, по-твоему, случилось. Частые проблемы: https://smyslokod.ru/cli/typst#problemy

Промпт собран из официальных инструкций, сверенных 08.10.2026. Агент сначала проверит, что уже стоит, покажет план с местом на диске и способом удаления и без твоего «да» ничего не поставит.

Как ставят вручную

Способы из официальных источников, у каждого ссылка на первоисточник.

  • macOS · Homebrew · источник

    brew install typst

    ставит текущую версию из формулы, на 08.10.2026 это 0.15.1. Для работы формула других пакетов не ставит, pkgconf и rust указаны в ней только для сборки из исходников. На Mac мы не проверяли

  • Windows · winget · источник

    winget install --id Typst.Typst

    команда из README проекта. По манифесту winget ставит typst.exe из выпуска 0.15.1 на GitHub и даёт команду typst. На Windows мы не проверяли

  • Linux · готовый файл с GitHub · источник

    curl -LO https://github.com/typst/typst/releases/download/v0.15.1/typst-x86_64-unknown-linux-musl.tar.xz && tar -xJf typst-x86_64-unknown-linux-musl.tar.xz && mkdir -p ~/.local/bin && cp typst-x86_64-unknown-linux-musl/typst ~/.local/bin/typst

    так мы ставили в прогоне, архив для x86_64 (для ARM64 есть typst-aarch64-unknown-linux-musl.tar.xz). README велит положить файл в папку из PATH. Если ~/.local/bin в PATH нет, команду вызывают полным путём. Сверить архив можно по контрольной сумме sha256 на странице выпуска

Как удалить

  • macOS, Homebrew: brew uninstall typst
  • Windows, winget: winget uninstall --id Typst.Typst
  • Linux, готовый файл с GitHub: rm ~/.local/bin/typst

Что нужно для работы

  • Homebrew (в отдельных случаях) - на Mac Typst ставится через него
  • Свои шрифты (в отдельных случаях) - если документу нужен фирменный шрифт, папку с ним передают ключом --font-path

Системы

  • macOS - ставится через Homebrew, у выпуска есть и готовые файлы для Apple silicon и Intel. На Mac мы Typst не ставили и не запускали.
  • Windows - по манифесту winget ставит typst.exe из выпуска на GitHub, в нём есть записи для x64 и ARM64 и зависимость Microsoft Visual C++ Redistributable. На Windows мы не проверяли.
  • Linux - готовый файл из выпуска на GitHub в нашем прогоне хватило скопировать в папку из PATH, ничего больше ставить не пришлось. Есть сборки для x86_64, ARM64, ARMv7 и RISC-V. Пакеты дистрибутивов и Snap тоже есть, версия в них бывает старше.

Где запускать

Ставить нужно туда, где работает агент: на твой компьютер, сервер или в контейнер.

  • На компьютере - на Mac проще поставить через Homebrew, на Windows через winget, на Linux готовым файлом.
  • На сервере - окно программе не нужно. В нашем прогоне сборка счёта, картинки и проверок не открыла ни одного сетевого соединения.
  • В контейнере - мы проверяли в контейнере Ubuntu 24.04. Кириллица в нашем счёте набрана шрифтом Libertinus Serif, он встроен в PDF, список доступных шрифтов показывает typst fonts.

Сколько ресурсов нужно

Место на диске
Готовый файл 0.15.1 для Linux x86_64 занял 54 МБ (55 739 488 байт), архив весит 17 462 992 байта. Скачанные пакеты шаблонов ложатся в кэш ~/.cache/typst/packages и занимают ещё место. Сколько займёт установка через Homebrew или winget, мы не мерили.
Видеокарта
В нашем прогоне видеокарта не понадобилась.
Сеть
Для установки нужна сеть: архив скачивался с github.com, загрузка переадресуется на release-assets.githubusercontent.com. Во время сборки нашего счёта Typst не открыла ни одного соединения. В сеть программа ходит, когда документ подключает пакет из реестра (#import "@preview/..."): по документации она скачивает его с packages.typst.org один раз и дальше берёт из кэша. Команда typst update обращается к api.github.com и скачивает новый выпуск. В прогоне apt ещё ходил к archive.ubuntu.com, security.ubuntu.com и deb.nodesource.com, этот источник Node.js прописан в образе песочницы: так мы ставили poppler-utils, чтобы проверить PDF, самой Typst он не нужен.

Счёт на одну страницу собирался за 145-166 мс в трёх прогонах.

Лицензия и платные замены

Лицензия Apache-2.0. Консольная программа свободная, лицензия Apache License 2.0 лежит в репозитории и в архиве выпуска. Платные тарифы есть у веб-приложения на typst.app, программе на компьютере они не нужны. Текст лицензии

Цена: Бесплатно. Консольная программа бесплатная. Веб-приложение на typst.app платное сверх бесплатного тарифа: Typst Pro стоит $7.99 в месяц, цена со страницы тарифов 08.10.2026.

Платные замены

  • Typst Pro (веб-приложение) - Редактор Typst в браузере от тех же авторов. По странице тарифов Pro добавляет комментарии, 2 ГБ места на проект и синхронизацию с GitHub и GitLab, она помечена как экспериментальная. $7.99 в месяц, есть бесплатный тариф. Оплату из России мы не проверяли.

Бесплатные замены

  • Pandoc - Переводит документы между форматами. PDF собирает внешней программой: по руководству при -t latex это pdflatex, при -t typst сама Typst.
  • TeX Live (LaTeX) - Набор TeX для Linux, macOS и Windows. По словам сайта, в нём собраны свободные программы, макропакеты и шрифты.

О чём помнить

  • Безопасность. Агент запускает typst в терминале сам (exec). Программа читает файл разметки и то, что он подключает: данные, картинки, другие файлы (read), а ещё шрифты системы и кэш пакетов. Корень проекта по исходному коду - папка главного файла, ключ --root его меняет. В прогоне шаблон попытался прочитать файл выше этой папки, и Typst отказала с ошибкой «would escape the project root». PDF или картинку Typst пишет с правами пользователя по пути, который агент задаёт в команде (write). Команда typst update заменяет саму программу новой версией с GitHub, старую по исходному коду сохраняет копией (acts). Входа в аккаунты и ключей Typst не просит.
  • Пакет из реестра (#import "@preview/...") Typst скачивает с packages.typst.org при первой сборке. Пакеты пишут участники сообщества, и их код работает при сборке документа. Сами мы пакеты из реестра не подключали.
  • У Typst свой язык разметки. По руководству Pandoc переводит в него документы (-t typst), среди входных форматов Pandoc есть docx и latex. Такой перевод мы не прогоняли.
  • Команды brew и winget без номера ставят ту версию, что сейчас в их каталоге. Мы проверили 0.15.1. Если стоят две копии, which -a typst покажет, какая вызывается первой.

Частые проблемы

error: expected expression, рядом номер строки, код выхода 1

Ошибка в разметке. PDF при этом не создаётся, так было в прогоне. Открой названную строку и поправь разметку, затем собери заново.

error: path ... would escape the project root

Шаблон читает файл выше корня проекта. Если ключа --root нет, корнем по исходному коду Typst считается папка главного файла. Перенеси файл в папку проекта или задай общий корень ключом --root. Ключ даёт программе читать всё внутри новой папки.

typst --version показывает старую версию, хотя ставили 0.15.1

Стоят две копии, например из пакета дистрибутива и в ~/.local/bin, и первой в PATH стоит старая. Посмотри which -a typst и вызывай нужную копию полным путём. Правку PATH агент делает только с твоего «да».

Проверка

✓ Проверено 08.10.2026: Ubuntu 24.04.5 (x86_64) в одноразовом контейнере Docker на сервере: Typst 0.15.1 из готового файла выпуска на GitHub, для проверки PDF poppler-utils 24.02.0 из apt.

Когда
08.10.2026
Среда
Ubuntu 24.04.5 (x86_64) в одноразовом контейнере Docker на сервере: Typst 0.15.1 из готового файла выпуска на GitHub, для проверки PDF poppler-utils 24.02.0 из apt
Объём
Установили и прогнали задачу на тестовых данных
Что именно сделали
  1. Одноразовый контейнер Ubuntu 24.04.5 без данных и ключей. Скачали с GitHub архив typst-x86_64-unknown-linux-musl.tar.xz (17 462 992 байта) и сверили его контрольную сумму sha256 с той, что указана у выпуска.
  2. Распаковали архив и скопировали файл typst в ~/.local/bin. Он занял 54 МБ, typst --version вывел «typst 0.15.1 (9dfd3a08)». Ничего больше ставить не пришлось.
  3. Скрипт прогона сам написал тестовый шаблон счёта invoice.typ и файл data.json: номер T-0042, тестовый покупатель, три позиции, итог шаблон считает сам.
  4. Собрали invoice.pdf за 145 мс. По pdfinfo это одна страница A4, в PDF встроены шрифты Libertinus Serif.
  5. Вытащили текст из PDF командой pdftotext и сверили: номер и дата, покупатель, все три позиции и строка «Итого: 8750 руб.», это совпало с расчётом по data.json.
  6. Сохранили страницу картинкой PNG с --ppi 100, вышло 827 на 1169 точек. Собрали копию с номером T-0043 через --input, в её тексте стоит новый номер.
  7. Файл с ошибкой в разметке дал код 1 и сообщение с номером строки, PDF не появился. Попытка шаблона прочитать файл выше папки проекта закончилась ошибкой «would escape the project root».
  8. Контрольные суммы data.json и шаблона после работы не изменились. Каждый результат скрипт сверил сам и только после этого напечатал TASK_OK.
  9. Сетевые соединения записаны по этапам. Архив скачивался с github.com и release-assets.githubusercontent.com. apt ставил poppler-utils для проверки PDF и ходил к archive.ubuntu.com, security.ubuntu.com и deb.nodesource.com: этот источник Node.js уже был прописан в образе песочницы. Во время задачи Typst не открыла ни одного соединения.
  10. Удалили файл ~/.local/bin/typst, после этого команда typst не находится. Контейнер удалён.
ДатаВерсияОбъёмГдеИтог
08.10.20260.15.1задачаконтейнер, Linuxполучилось

«Проверено» ставим, только когда сами поставили программу и прогнали её на задаче. Сверка ссылок и вывод версии так не называются.

Похожие программы

Программу делают её авторы. Мы сверяем официальные источники и описываем, что ей нужно, но код остаётся чужим. Перед установкой посмотри план агента: что он поставит и что поменяет в системе.