Vale

Джозеф Като (jdkato), проект vale-cli · лицензия MIT

Проверяет статьи и документацию по вашим правилам стиля и находит канцелярит с подсказкой замены, запретные слова, пустые усиления и длинное тире. Замечания идут по строкам.

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

✓ Проверено 13.10.2026: Ubuntu 24.04 (x86_64) в одноразовом контейнере Docker на сервере, от root: Vale 3.24.0 из архива выпуска на GitHub, без других установок. Что именно проверяли

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

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

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

  • Читает папку или отдельные файлы Markdown, HTML и обычный текст. В Markdown по документации пропускает блоки кода, строчный код и адреса ссылок, пропуск блока кода мы видели в прогоне.
  • Правила хранит в файлах YAML внутри проекта, например «замени это слово на то» или «найди эти слова». В нашем прогоне правила с русскими словами сработали, слово внутри другого слова («неуникальный») правило не задело.
  • Список терминов в двух файлах: accept.txt с правильными написаниями и reject.txt со словами под запрет, каждое найденное слово из reject.txt идёт как ошибка.
  • Отдаёт замечания таблицей для человека, строками или в JSON для агента. Код выхода 1 говорит, что нашлись ошибки (замечания с пометкой error), 0 - что их нет, 2 - что сама проверка не запустилась. С ключом --no-exit код 0 и при найденных ошибках.
  • Командой vale test проверяет сами правила на коротких примерах, это появилось в 3.24.0. Готовые наборы правил (Microsoft, Google, write-good и другие) по документации ставит командой vale sync, мы ставили так свой набор из локального архива.

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

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

В папке docs лежат черновики в Markdown. Заведи в проекте .vale.ini и стиль House: канцелярит с заменой (осуществляет, в настоящее время, данный), список пустых усилений, среди них «уникальный», правило на длинное тире, слово «имейл» в список запретных. Проверь папку и покажи замечания по строкам.

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

Мы прогнали этот сценарий на тестовых файлах. По черновику вышло 7 замечаний, из них 5 ошибок, код выхода 1: «осуществляет» с подсказкой «делает», «в настоящее время» с подсказкой «сейчас», «Данный», два слова из списка усилений, длинное тире и «имейл». Строку в блоке кода и слово «неуникальный» программа не тронула. Чистый файл прошёл с итогом «0 errors, 0 warnings and 0 suggestions», код 0. Сами черновики программа не правила, контрольные суммы до и после совпали.

Паспорт

Кто делает
Джозеф Като (jdkato), проект vale-cli
Сайт
vale.sh
Исходный код
github.com/vale-cli/vale
Лицензия
MIT
Версия
3.24.0 на 13.10.2026
Системы
macOS · Windows · Linux
Где работает
На компьютере, на сервере и в контейнере
Цена
Бесплатно
Проверка
Проверено 13.10

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

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

Что это за программа (каталог smyslokod.ru, официальные источники сверены 13.10.2026):
- официальный сайт: https://vale.sh/
- исходный код: https://github.com/vale-cli/vale
- инструкция по установке: https://docs.vale.sh/topics/installation
- актуальная версия на 13.10.2026: 3.24.0
- лицензия: MIT
- для работы нужно (в отдельных случаях): Asciidoctor - через него Vale читает файлы AsciiDoc, по документации без него их не проверить
- для работы нужно (в отдельных случаях): Docutils (rst2html) - даёт команду rst2html, которой Vale разбирает reStructuredText
- для работы нужно (в отдельных случаях): xsltproc - нужен, если проверяете XML: Vale переводит его в текст через эту программу

Правила:
1. Ничего не устанавливай и не меняй, пока я не скажу «да» на твой план.
2. Ставь только способами из этого промпта. Сторонние сборки, скрипты с форумов и из чужих репозиториев не бери.
3. Мои проекты не трогай: не меняй их файлы, виртуальные окружения и списки зависимостей (package.json, requirements.txt, pyproject.toml).
4. Команды с sudo, правку профиля оболочки (~/.zshrc, ~/.bashrc) и переменной PATH делай только после моего отдельного «да» на каждую.
5. Не проси у меня пароли и ключи и не выводи их. Если нужен пароль администратора, дай команду, я выполню её сам.
6. Файлы .vale.ini и стиль в проекте заводи только по «да» и покажи их человеку. vale sync запускай отдельным «да»: команда качает правила из сети и заменяет одноимённые стили в StylesPath.
7. Для разбора бери --output=JSON. Код 1 означает найденные ошибки по правилам, код 2 говорит о сломанной настройке.
8. Тексты по замечаниям правь только в тех файлах, которые назвал человек, и покажи, что поменял.
9. Ключ NLPEndpoint в .vale.ini не добавляй: с ним текст уходит на чужой адрес.

Шаги:
0. Определи, где ты работаешь: мой компьютер, сервер или контейнер. Какая система и процессор, какие менеджеры пакетов есть (Homebrew, apt, winget, uv, pipx). Ставить нужно туда, где ты сам запускаешь команды.
   - на компьютере: работает в терминале без окна, замечания печатает прямо туда.
   - на сервере: подходит для проверки текстов перед выкладкой и в CI. Ошибки по правилам дают код 1, на него можно настроить остановку сборки.
   - в контейнере: мы проверяли в контейнере Ubuntu 24.04 от root. Проект выпускает и свой образ Docker jdkato/vale, его мы не запускали.
1. Проверь, не стоит ли программа уже: vale --version ; which -a vale. Если стоит и запускается, ничего не ставь и переходи к шагу 5.
2. Обязательных зависимостей у программы нет, то, что нужно в отдельных случаях, перечислено выше. Проверь свободное место на диске: нужно Архив для Linux x86-64 весит 13 052 499 байт, файл vale внутри 55 963 072 байт (около 53,4 МиБ), больше программа ничего не ставит. vale.exe в архиве для Windows весит 56 706 048 байт. Скачанные наборы правил лежат в папке StylesPath проекта, их размер зависит от набора. Сколько займёт установка через Homebrew, мы не мерили..
3. Составь план: каким одним способом из списка ниже будешь ставить, что появится на диске и сколько места займёт, что поменяется в системе и как потом удалить. Покажи план и жди моего «да».
   Способы из официальных источников:
   - macOS, Homebrew: brew install vale (так советует документация, формула на 13.10.2026 ставит 3.24.0. Ни установку, ни удаление через Homebrew мы не проверяли)
   - Windows, winget: winget install -e --id errata-ai.Vale (так советует документация, в каталоге winget на 13.10.2026 есть 3.24.0. Удаляют командой winget uninstall по документации winget. Ни установку, ни удаление мы не проверяли)
   - Linux, готовый файл с GitHub: mkdir -p ~/.local/bin && curl -fsSL -o /tmp/vale.tgz https://github.com/vale-cli/vale/releases/download/v3.24.0/vale_3.24.0_Linux_64-bit.tar.gz && echo "867534ddb678abca7f214bc4706ead0922bd5252ffe8035fc227013f66c8b214  /tmp/vale.tgz" | sha256sum -c - && tar -xzf /tmp/vale.tgz -C ~/.local/bin vale && rm /tmp/vale.tgz (это архив для x86-64, для ARM64 на странице выпуска лежит vale_3.24.0_Linux_arm64.tar.gz со своей суммой. Архив 13 052 499 байт, сумму мы сверили с файлом checksums со страницы выпуска. Команда кладёт один файл vale в ~/.local/bin, эта папка должна быть в PATH. Мы ставили ровно так, за 1 секунду)
4. Установи по согласованному плану. Если что-то идёт не так, как в плане, остановись и спроси.
5. Проверь результат:
   - vale --version: программа запускается без ошибки;
   - Сделай тестовый проект: .vale.ini с StylesPath = styles и словарём Terms, стиль House с правилами на канцелярит с заменой, пустые усиления и длинное тире, accept.txt и reject.txt со словом «имейл». Положи в docs черновик с нарушениями, блоком кода и словом «неуникальный» и чистый файл. Проверь папку с выводом JSON и сверь каждое замечание, коды выхода 1 и 0, режим только ошибок, --no-exit, код 2 на несуществующей настройке, vale test для правил, vale sync из локального архива. Сверь контрольные суммы исходных файлов до и после. Делай это во временной папке и не трогай мои файлы.
     export PATH=$HOME/.local/bin:$PATH
     vale --version
     vale ls-dirs
     cd proj
     vale --output=JSON docs/
     vale docs/clean.md
     vale --no-color docs/draft.md
     vale --minAlertLevel=error --output=line docs/draft.md
     vale --no-exit --output=line docs/draft.md
     vale --config=missing.ini docs/draft.md
     vale test styles
     cd /work/proj2 && vale sync --plain-progress && vale --output=line docs/a.md
   - если ты работаешь в папке моего проекта, покажи git status: от установки в проекте не должно появиться изменений.
6. Итог одним сообщением: что установлено, какой версии и куда, сколько места заняло, что поменялось в системе и как всё удалить (macOS, Homebrew: brew uninstall vale; Windows, winget: winget uninstall -e --id errata-ai.Vale; Linux, готовый файл с GitHub: rm -f ~/.local/bin/vale).

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

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

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

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

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

    brew install vale

    так советует документация, формула на 13.10.2026 ставит 3.24.0. Ни установку, ни удаление через Homebrew мы не проверяли

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

    winget install -e --id errata-ai.Vale

    так советует документация, в каталоге winget на 13.10.2026 есть 3.24.0. Удаляют командой winget uninstall по документации winget. Ни установку, ни удаление мы не проверяли

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

    mkdir -p ~/.local/bin && curl -fsSL -o /tmp/vale.tgz https://github.com/vale-cli/vale/releases/download/v3.24.0/vale_3.24.0_Linux_64-bit.tar.gz && echo "867534ddb678abca7f214bc4706ead0922bd5252ffe8035fc227013f66c8b214 /tmp/vale.tgz" | sha256sum -c - && tar -xzf /tmp/vale.tgz -C ~/.local/bin vale && rm /tmp/vale.tgz

    это архив для x86-64, для ARM64 на странице выпуска лежит vale_3.24.0_Linux_arm64.tar.gz со своей суммой. Архив 13 052 499 байт, сумму мы сверили с файлом checksums со страницы выпуска. Команда кладёт один файл vale в ~/.local/bin, эта папка должна быть в PATH. Мы ставили ровно так, за 1 секунду

Как удалить

  • macOS, Homebrew: brew uninstall vale
  • Windows, winget: winget uninstall -e --id errata-ai.Vale
  • Linux, готовый файл с GitHub: rm -f ~/.local/bin/vale

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

  • Asciidoctor (в отдельных случаях) - через него Vale читает файлы AsciiDoc, по документации без него их не проверить
  • Docutils (rst2html) (в отдельных случаях) - даёт команду rst2html, которой Vale разбирает reStructuredText
  • xsltproc (в отдельных случаях) - нужен, если проверяете XML: Vale переводит его в текст через эту программу

Системы

  • macOS - документация советует Homebrew, есть готовые архивы для Intel и Apple Silicon. На Mac мы не проверяли.
  • Windows - winget по документации проекта, есть готовые архивы для x64 и ARM64. На Windows мы не проверяли.
  • Linux - мы проверяли на Ubuntu 24.04 x86-64: готовый файл из архива выпуска, отдельные библиотеки ставить не пришлось. Архив есть и для ARM64.

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

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

  • На компьютере - работает в терминале без окна, замечания печатает прямо туда.
  • На сервере - подходит для проверки текстов перед выкладкой и в CI. Ошибки по правилам дают код 1, на него можно настроить остановку сборки.
  • В контейнере - мы проверяли в контейнере Ubuntu 24.04 от root. Проект выпускает и свой образ Docker jdkato/vale, его мы не запускали.

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

Место на диске
Архив для Linux x86-64 весит 13 052 499 байт, файл vale внутри 55 963 072 байт (около 53,4 МиБ), больше программа ничего не ставит. vale.exe в архиве для Windows весит 56 706 048 байт. Скачанные наборы правил лежат в папке StylesPath проекта, их размер зависит от набора. Сколько займёт установка через Homebrew, мы не мерили.
Память
Память мы не мерили. Проверка двух тестовых файлов заняла 193 мс вместе с запуском программы.
Видеокарта
Видеокарта не нужна.
Сеть
Для установки нужна сеть: архив скачивается с github.com, в нашем прогоне соединения шли к 140.82.121.4 и 185.199.108-111.133 (адреса GitHub). Внутри контейнера netwatch записал его DNS 127.0.0.11. Во время проверки текстов соединений не было. vale sync ходит в сеть, когда пакет назван по имени или адресом: список имён берёт из library.json на GitHub, архивы качает по ссылкам из него. Из локального архива vale sync в нашем прогоне сеть не тронул.

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

Лицензия MIT. Свободная лицензия, текст лежит в репозитории и в архиве выпуска. У автора есть сервис Vale CMS с бесплатным и платными тарифами, сама программа и правила бесплатные. Текст лицензии

Цена: Бесплатно. Программа и правила бесплатные, лицензия MIT. У автора есть сервис Vale CMS для правки правил в браузере. Тариф Free бесплатный, Pro стоит 19 долларов в месяц, Site 1000 долларов в год. Сервер MCP при нём по документации относится к платной части. Для работы программы сервис не нужен.

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

  • Markup AI (ранее Acrolinx) - Корпоративная система проверки текстов по правилам стиля и списку терминов компании. Цены на сайте нет, доступ через заявку на показ.

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

  • LanguageTool - Проверяет орфографию, пунктуацию и грамматику, в том числе русского текста. Vale по документации занят прежде всего правилами стиля, грамматику лучше проверять отдельной программой.

О чём помнить

  • Безопасность. Агент запускает vale в терминале сам (exec). Программа читает файлы, которые ей передали, файл настройки .vale.ini из папки проекта или выше по дереву, общую настройку из папки пользователя и правила из StylesPath (read). Сама проверка печатает замечания, в нашем прогоне исходные файлы после неё совпали по sha256. Команда vale sync пишет в StylesPath проекта (write): создаёт папку, удаляет и пересобирает в ней .vale-config, стиль с тем же именем заменяет целиком (acts). Входа в учётные записи и ключей программа не просит.
  • Файлы AsciiDoc, reStructuredText, XML, DITA и Typst Vale по исходному коду разбирает чужими программами из PATH и запускает их сам (exec), это asciidoctor и ruby, rst2html и python, xsltproc, dita, typst2vast. Markdown, HTML и обычный текст он читает без посторонней помощи.
  • Чужие наборы правил подключай с оглядкой, vale sync скачивает их по имени или по любой ссылке на архив. Правила script на языке Tengo выполняются при проверке, по исходному коду 3.24.0 им доступны только модули text, fmt и math, без файлов и сети. Если в .vale.ini есть ключ NLPEndpoint, текст уходит на этот адрес запросом POST: в чужой настройке проверь этот ключ до запуска.
  • Встроенная проверка орфографии Vale.Spelling работает со словарём американского английского, русские слова пропускает: на нашем русском тексте она не дала ни одного замечания. Русский словарь Hunspell по документации подключают ключом dictionaries, мы это не проверяли. Сообщения встроенных правил на английском, например «Avoid using 'имейл'».
  • Код 1 означает, что в тексте нашлись ошибки по правилам, программа при этом отработала. Предупреждения и подсказки код выхода не меняют. Сбой настройки даёт код 2.

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

E100 [--config] Runtime error ... path 'missing.ini' does not exist ... Execution stopped with code 2.

Нет файла настройки по указанному пути. В прогоне программа вернула код 2 и ничего не проверила. Проверь путь в --config или запусти vale из папки, где лежит .vale.ini.

The StylesPath '...' doesn't exist.

По документации путь StylesPath считается от папки самого файла .vale.ini и папка должна существовать. Мы получили эту ошибку в первом прогоне, когда положили настройку в папку выше проекта. Создай папку или поправь путь. vale sync создаёт её сам, если в настройке есть Packages.

Слово из reject.txt не отмечено, хотя стиль House включён

Слова из словаря проверяет встроенный стиль Vale (правило Vale.Avoid), а его не включили в BasedOnStyles. Мы на этом ошиблись в первом прогоне. Добавь Vale в BasedOnStyles: BasedOnStyles = Vale, House.

Проверка

✓ Проверено 13.10.2026: Ubuntu 24.04 (x86_64) в одноразовом контейнере Docker на сервере, от root: Vale 3.24.0 из архива выпуска на GitHub, без других установок.

Когда
13.10.2026
Среда
Ubuntu 24.04 (x86_64) в одноразовом контейнере Docker на сервере, от root: Vale 3.24.0 из архива выпуска на GitHub, без других установок
Объём
Установили и прогнали задачу на тестовых данных
Что именно сделали
  1. Одноразовый контейнер Ubuntu 24.04 без данных и ключей. Скачали архив vale_3.24.0_Linux_64-bit.tar.gz со страницы выпуска, сверили sha256 с суммой выпуска и положили файл vale в ~/.local/bin. vale --version вывел «vale version 3.24.0».
  2. Скрипт прогона сам сделал тестовый проект: .vale.ini, стиль House из четырёх правил на русском, словарь с запретным словом «имейл», черновик в Markdown с нарушениями и блоком кода и чистый файл.
  3. Проверили папку docs с выводом JSON за 193 мс. Код выхода 1, 7 замечаний, из них 5 ошибок, каждое скрипт сверил по строке и тексту. Подсказка замены пришла в виде «Пиши 'делает' вместо 'осуществляет'.». Строку в блоке кода и слово «неуникальный» программа не отметила.
  4. Чистый файл прошёл с кодом 0. Режим только ошибок убрал из вывода пустые усиления, ключ --no-exit дал код 0. Несуществующая настройка дала ошибку E100 и код 2.
  5. Команда vale test прогнала два примера для правила канцелярита, оба прошли. vale sync поставил набор правил из локального архива, правило из него нашло восклицательный знак в заголовке, соединений не было.
  6. Встроенная проверка орфографии на русском тексте не дала замечаний. С WordTemplate без границ слова правило поймало «уникальный» внутри «неуникальный».
  7. Исходные файлы после всех проверок совпали по sha256. Во время проверки текстов netwatch соединений не записал. Каждый результат скрипт сверил сам и только после этого напечатал TASK_OK.
  8. Удалили файл vale и проверили, что команда больше не находится. Контейнер после прогона удалён вместе с тестовыми файлами.
ДатаВерсияОбъёмГдеИтог
13.10.20263.24.0задачаконтейнер, Linuxполучилось

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

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

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