Warp é um ambiente de desenvolvimento agentivo baseado no terminal, com um agente de programação integrado ou suporte aos seus próprios agentes de CLI.
gorules/zen
Mecanismo multiplataforma de regras de negócio escrito em Rust, com bindings para Node.js, Python, Go, Java, Kotlin, .NET, iOS e Android.
- Estrelas
- 2,080
- Forks
- 224
- Issues abertas
- 41
- Último commit
- há 18 horas
O que é?
O ZEN Engine é um mecanismo de regras de negócio open source que avalia decisões escritas em JSON portátil. O núcleo é escrito em Rust e disponibilizado por meio de bindings nativos para Node.js, Python, Go, Java, Kotlin, .NET, além de pacotes para Swift e Android, para que as mesmas regras sejam executadas de forma idêntica em diferentes plataformas. Cabe à aplicação carregar o JSON, seja do sistema de arquivos, de um banco de dados ou de uma chamada a serviço.
As decisões podem ser modeladas como grafos que combinam tabelas de decisão, switches, expressões, funções e subdecisões reutilizáveis, ou como documentos de políticas com modelos de dados tipados e tabelas. As condições usam a ZEN Expression Language, projetada para se aproximar da forma como as equipes de negócio descrevem regras. A versão 2.0 adiciona verificação estática de tipos em políticas e grafos, e compila as decisões uma vez, no momento do carregamento, antes da avaliação.
O projeto é mantido pela GoRules, que também oferece uma plataforma hospedada baseada no mecanismo. No momento, não são aceitas contribuições externas de código, exceto para documentação e testes.
Recursos principais
- 01Bindings nativos para Node.js, Python, Go, Java, Kotlin, .NET, Swift e Android.
- 02Decisões armazenadas como JSON portátil, executadas da mesma forma em todas as plataformas compatíveis.
- 03Grafos visuais de decisão com tabelas de decisão, switches, expressões e subdecisões.
- 04Documentos de políticas com modelos de dados tipados, tabelas de decisão e asserções.
- 05Verificação estática de tipos e diagnósticos em políticas e grafos antes da execução.
- 06Decisões pré-compiladas no carregamento para avaliação repetida.
Casos de uso
- Transferir a lógica de preços, elegibilidade ou aprovação do código da aplicação para regras editáveis.
- Compartilhar o mesmo conjunto de regras de negócio entre serviços de backend escritos em linguagens diferentes.
- Executar a mesma lógica de decisão em aplicativos móveis e servidores.
- Revisar e testar regras de negócio com especialistas de domínio antes do lançamento.
Início rápido
- 1
Instale o pacote Node.js
npm i @gorules/zen-engine - 2
Carregue um grafo de decisão JDM e avalie-o com dados de entrada
Antes de usar
- No momento, não aceitamos contribuições, exceto documentação e testes.
- Algumas plataformas não são compatíveis com todas as linguagens, como musl Linux para Python, Go, Java e .NET.
Tópicos
Perguntas frequentes
- O que é zen?
- Mecanismo multiplataforma de regras de negócio escrito em Rust, com bindings para Node.js, Python, Go, Java, Kotlin, .NET, iOS e Android. O ZEN Engine é um mecanismo de regras de negócio open source que avalia decisões escritas em JSON portátil. O núcleo é escrito em Rust e disponibilizado por meio de bindings nativos para Node.js, Python, Go, Java, Kotlin, .NET, além de pacotes para Swift e Android, para que as mesmas regras sejam executadas de forma idêntica em diferentes plataformas. Cabe à aplicação carregar o JSON, seja do sistema de arquivos, de um banco de dados ou de uma chamada a serviço.
- zen é gratuito? Qual é a licença?
- zen é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- zen ainda é mantido?
- Manutenção ativa. O último commit de zen foi em 20 de out. de 2026.
- Para que posso usar zen?
- Transferir a lógica de preços, elegibilidade ou aprovação do código da aplicação para regras editáveis. Compartilhar o mesmo conjunto de regras de negócio entre serviços de backend escritos em linguagens diferentes. Executar a mesma lógica de decisão em aplicativos móveis e servidores. Revisar e testar regras de negócio com especialistas de domínio antes do lançamento.
- Como instalar zen?
- Instale o pacote Node.js: npm i @gorules/zen-engine Carregue um grafo de decisão JDM e avalie-o com dados de entrada
- Onde consigo zen?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/gorules/zen
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Framework Rust para criar apps web, desktop e mobile a partir de uma única base de código, com componentes no estilo React e signals.
Um gerador de parsers incremental e uma biblioteca de parsing que cria árvores de sintaxe concreta e as atualiza conforme os arquivos-fonte são editados.
Interpretador de Python 3 escrito em Rust, capaz de executar código Python sem bindings de CPython, com suporte a WebAssembly e incorporação em aplicações.
Uma engine de jogos retrô para Python que permite criar jogos em pixel art com paleta fixa e tela de baixa resolução.
Processador de texto de código aberto, desenvolvido do zero em Rust puro, que lê e grava arquivos .docx e funciona no desktop e no navegador.