{"repo":"CaptnCodr/Fli","free":true,"listed":false,"github":"https://github.com/CaptnCodr/Fli","clone":"git clone https://github.com/CaptnCodr/Fli.git","description":"Execute CLI commands from your F# code in F# style!","language":"F#","stars":220,"topics":["fsharp","cli","shell","process","computation-expressions","command-line"],"license":"MIT","category":"cli-tools","readme_excerpt":"Fli Execute CLI commands from your F# code in F# style! Fli is part of the F# Advent Calendar 2022: A little story about Fli Features - Starting processes easily - Execute CLI commands in your favourite shell - F# computation expression syntax - Wrap authenticated CLI tools - No external dependencies Install Get it from Nuget: dotnet add package Fli Usage open Fli and start For example: that starts CMD.exe as Shell and echo Hello World! is the command to execute. Run a file with PowerShell from a specific directory: Executing programs with arguments: an example with git : Add a verb to your executing program: or open a file in the default/assigned program: (Hint: if file extension is not assigned to any installed program, it will throw a System.NullReferenceException ) Write output to a specific file: Write output to a function (logging, printing, etc.): Write output to a stream: Hint: Using Output (new StreamWriter(...)) will redirect the output text to your desired target and not save it into Output.Text nor Output.Error but in order to fix that you can use Output.from : Add environment variables for the executing program: Hint: Output \"\" will be ignored. This is for conditional cases, e.g.: Output (if true then logFilePath else \"\") . Add credentials to program: Hint: Running a process as a different user is supported on all platforms. Other options (Domain, Password) are only available on Windows. As an alternative for not Windows based systems there is: For Windows applic","default_branch":null,"files":null,"tree":[],"storefront":"/r/CaptnCodr","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/CaptnCodr/Fli/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}