Warp — среда разработки с агентами на базе терминала, встроенным coding agent и поддержкой собственных CLI-агентов.
gorules/zen
Кроссплатформенный механизм бизнес-правил на Rust с привязками для Node.js, Python, Go, Java, Kotlin, .NET, iOS и Android.
- Звёзды
- 2,080
- Форки
- 224
- Открытые issues
- 41
- Последний коммит
- 18 часов назад
Что это?
ZEN Engine — это движок бизнес-правил с открытым исходным кодом, который обрабатывает решения, записанные в переносимом формате JSON. Его ядро написано на Rust и доступно через нативные привязки для Node.js, Python, Go, Java, Kotlin, .NET, а также пакеты для Swift и Android, поэтому одни и те же правила одинаково работают на разных платформах. Приложение само отвечает за загрузку JSON — из файловой системы, базы данных или в ответ на вызов сервиса.
Решения можно представлять в виде графов, объединяющих таблицы решений, переключатели, выражения, функции и повторно используемые подрешения, либо в виде документов политик с типизированными моделями данных и таблицами. В условиях используется ZEN Expression Language, синтаксис которого приближен к тому, как бизнес-команды описывают правила. В версии 2.0 появилась статическая проверка типов для политик и графов; решения компилируются один раз при загрузке, до начала обработки.
Проект поддерживает GoRules, которая также предлагает размещённую платформу на базе движка. Внешние вклады в код сейчас не принимаются, за исключением документации и тестов.
Ключевые возможности
- 01Нативные привязки для Node.js, Python, Go, Java, Kotlin, .NET, Swift и Android.
- 02Решения в переносимом формате JSON, которые одинаково работают на всех поддерживаемых платформах.
- 03Визуальные графы решений с таблицами решений, переключателями, выражениями и подрешениями.
- 04Документы политик с типизированными моделями данных, таблицами решений и утверждениями.
- 05Статическая проверка типов и диагностика политик и графов до выполнения.
- 06Предварительная компиляция решений при загрузке для повторной обработки.
Сценарии использования
- Перенос логики ценообразования, проверки соответствия требованиям или одобрения из кода приложения в редактируемые правила.
- Использование одного набора бизнес-правил в серверных службах, написанных на разных языках.
- Выполнение одной и той же логики принятия решений в мобильных приложениях и на серверах.
- Проверка и тестирование бизнес-правил вместе с экспертами предметной области до выпуска.
Быстрый старт
- 1
Установите пакет Node.js
npm i @gorules/zen-engine - 2
Загрузите граф решений JDM и оцените его с входными данными
Что важно знать
- В настоящее время мы не принимаем вклад, за исключением документации и тестов.
- Некоторые платформы поддерживаются не для всех языков: например, musl Linux не поддерживается для Python, Go, Java и .NET.
Темы
Частые вопросы
- Что такое zen?
- Кроссплатформенный механизм бизнес-правил на Rust с привязками для Node.js, Python, Go, Java, Kotlin, .NET, iOS и Android. ZEN Engine — это движок бизнес-правил с открытым исходным кодом, который обрабатывает решения, записанные в переносимом формате JSON. Его ядро написано на Rust и доступно через нативные привязки для Node.js, Python, Go, Java, Kotlin, .NET, а также пакеты для Swift и Android, поэтому одни и те же правила одинаково работают на разных платформах. Приложение само отвечает за загрузку JSON — из файловой системы, базы данных или в ответ на вызов сервиса.
- zen можно использовать бесплатно? Какая у него лицензия?
- zen распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- zen всё ещё поддерживается?
- Активно поддерживается. Последний коммит в zen — 20 окт. 2026 г..
- Для чего можно использовать zen?
- Перенос логики ценообразования, проверки соответствия требованиям или одобрения из кода приложения в редактируемые правила. Использование одного набора бизнес-правил в серверных службах, написанных на разных языках. Выполнение одной и той же логики принятия решений в мобильных приложениях и на серверах. Проверка и тестирование бизнес-правил вместе с экспертами предметной области до выпуска.
- Как установить zen?
- Установите пакет Node.js: npm i @gorules/zen-engine Загрузите граф решений JDM и оцените его с входными данными
- Где скачать zen?
- Исходный код и инструкции по установке — на GitHub: https://github.com/gorules/zen
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Фреймворк на Rust для создания веб-, десктопных и мобильных приложений на единой кодовой базе с компонентами и сигналами в духе React.
Генератор инкрементальных парсеров и библиотека для построения конкретных синтаксических деревьев и их обновления при редактировании исходного кода.
Интерпретатор Python 3 на Rust, который запускает код без привязки к CPython и поддерживает WebAssembly и встраивание в приложения.
Ретроигровой движок для Python, позволяющий создавать пиксельные игры с фиксированной палитрой и экраном низкого разрешения.
Текстовый редактор с открытым исходным кодом, созданный с нуля на чистом Rust: читает и сохраняет .docx, работает на компьютере и в браузере.