CliWrap is a .NET library that provides a high-level, fluent interface for launching and managing external command-line processes in a safe and asynchronous manner. It abstracts the complexity of the native process APIs by offering a composable model for configuring commands, arguments, working directories, and stream redirection. The library emphasizes reliability and developer ergonomics, including built-in support for piping, cancellation handling, and deadlock avoidance. CliWrap is fully asynchronous and designed with immutability principles, making it well suited for modern concurrent applications. It also includes flexible mechanisms for capturing standard output and error streams, enabling advanced automation scenarios. Overall, CliWrap simplifies process orchestration in .NET applications while maintaining strong safety and performance guarantees.
Features
- Fluent command configuration API
- Asynchronous process execution
- Flexible input and output piping
- Built-in cancellation support
- Deadlock-safe process handling
- Cross-platform .NET compatibility