Driver open source e multiplataforma, executado em modo de usuário, para mesas digitalizadoras, compatível com Windows, Linux e macOS e com interface gráfica configurável.
Tyrrrz/CliWrap
Biblioteca .NET para iniciar processos de linha de comando com configuração fluente, redirecionamento de stdin/stdout/stderr e cancelamento assíncrono.
- Estrelas
- 5,010
- Forks
- 285
- Issues abertas
- 3
- Último commit
- anteontem
O que é?
CliWrap é uma biblioteca .NET que encapsula System.Diagnostics.Process em uma API fluente e imutável para executar ferramentas de linha de comando. Um comando é criado chamando Cli.Wrap com o caminho de um executável e, em seguida, configurando argumentos, diretório de trabalho, variáveis de ambiente e outras opções antes de chamar ExecuteAsync ou um dos métodos de execução de nível mais alto.
Os fluxos padrão de entrada, saída e erro podem ser conectados a arquivos, streams, arrays de bytes, strings, buffers StringBuilder, delegates ou outros comandos, e os comandos podem ser encadeados com operadores de pipe. Métodos auxiliares coletam a saída em buffers ou expõem o processo como um fluxo de eventos baseado em pull ou push para reagir à saída em tempo real.
A biblioteca oferece suporte ao cancelamento com encerramento forçado e sinais de interrupção graceful, e, por padrão, lança uma exceção quando o código de saída é diferente de zero. Não tem dependências externas e tem como alvo .NET Standard 2.0, .NET Core 3.0+ e .NET Framework 4.6.2+.
Recursos principais
- 01Configuração fluente e imutável de comandos, incluindo argumentos, diretório de trabalho e variáveis de ambiente.
- 02Redirecionamento flexível de stdin, stdout e stderr para arquivos, streams, strings, delegates ou outros comandos.
- 03Execução com saída em buffer e fluxos de eventos baseados em pull ou push para processá-la.
- 04API assíncrona com suporte a cancelamento forçado e graceful.
- 05Por padrão, códigos de saída diferentes de zero lançam uma exceção; é possível desativar essa validação.
- 06Sem dependências externas.
Casos de uso
- Chamar ferramentas externas, como git, ffmpeg ou docker, em uma aplicação .NET.
- Transmitir a saída de um processo em tempo real para logs ou para uma interface.
- Encadear ferramentas de linha de comando usando entrada e saída redirecionadas.
- Executar processos longos com timeouts e encerramento graceful.
Início rápido
- 1
Instale o pacote NuGet CliWrap
dotnet add package CliWrap - 2
Importe o namespace e chame Cli.Wrap(...) com o caminho do executável; em seguida, execute ExecuteAsync() no seu código C#
Antes de usar
- O README exige que você concorde com termos de uso de caráter político sobre Rússia e Ucrânia antes de usar o projeto ou seu código-fonte.
- O suporte às opções de política de recursos varia entre plataformas.
- As opções de credenciais, exceto o nome de usuário, estão disponíveis somente no Windows.
Em coleções
Tópicos
Perguntas frequentes
- O que é CliWrap?
- Biblioteca .NET para iniciar processos de linha de comando com configuração fluente, redirecionamento de stdin/stdout/stderr e cancelamento assíncrono. CliWrap é uma biblioteca .NET que encapsula System.Diagnostics.Process em uma API fluente e imutável para executar ferramentas de linha de comando. Um comando é criado chamando Cli.Wrap com o caminho de um executável e, em seguida, configurando argumentos, diretório de trabalho, variáveis de ambiente e outras opções antes de chamar ExecuteAsync ou um dos métodos de execução de nível mais alto.
- CliWrap é gratuito? Qual é a licença?
- CliWrap é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- CliWrap ainda é mantido?
- Manutenção ativa. O último commit de CliWrap foi em 4 de nov. de 2026.
- Para que posso usar CliWrap?
- Chamar ferramentas externas, como git, ffmpeg ou docker, em uma aplicação .NET. Transmitir a saída de um processo em tempo real para logs ou para uma interface. Encadear ferramentas de linha de comando usando entrada e saída redirecionadas. Executar processos longos com timeouts e encerramento graceful.
- Como instalar CliWrap?
- Instale o pacote NuGet CliWrap: dotnet add package CliWrap Importe o namespace e chame Cli.Wrap(...) com o caminho do executável; em seguida, execute ExecuteAsync() no seu código C#
- Onde consigo CliWrap?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/Tyrrrz/CliWrap
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Um framework C# para CLI sem dependências e sem alocações, seguro para AOT, que gera código de parsing e roteamento em tempo de compilação por meio de um Source Generator.
Framework de aplicações modular e multi-tenant e CMS open source, desenvolvido com ASP.NET Core.
Umbraco é um sistema de gerenciamento de conteúdo gratuito e open source para .NET, usado para criar sites e experiências digitais.
Editor de PDF gratuito e de código aberto para Windows, com mecanismo PDF 2.0 integrado para visualizar, anotar, aplicar OCR, mesclar, dividir, assinar e muito mais.
Uma biblioteca C# para gerar documentos PDF com código fluente e fortemente tipado, em vez de converter HTML para PDF.