-
winget-cli
WinGet is the Windows Package Manager. This project includes a CLI (Command Line Interface), PowerShell modules, and a COM (Component Object Model) API (Application Programming Interface).
The Winget module is a wreck. The way it is designed, unfortunately, neither fits the object oriented approach of PowerShell nor follows the PowerShell guidelines for cmdlets.
For instance https://github.com/microsoft/winget-cli/issues/3820 or https://github.com/microsoft/winget-cli/issues/3231.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
I don’t like powershell because it’s so surprising in a billion ways from bash. The tab being replaced with right arrow screws me up, and so does not having the normal commands, and it’s quite opinionated about naming.
That said, powershell seems more capable than bash if you know it well, because it has a better type system and arguments are easier to mess with, whereas bash things are amorphous strings.
https://github.com/bionicles/tree_plus/blob/main/tests/more_...
That’s a slightly out of date version of what I use to provision stuff on my windows machine to test things, and can show what’s possible a bit.
-
-
UniGetUI
UniGetUI: The Graphical Interface for your package managers. Could be terribly described as a package manager manager to manage your package managers
UniGetUI (formerly WingetUI) is a really great tool since it supports multiple package managers.
https://github.com/marticliment/UniGetUI
-
There are some third party tools like PowerShell Pro tools or PowerShell Ultimate (https://ironmansoftware.com/). I appreciate they cost, but if you are a builder of tools for others, they really can help massively!
-
CSharpRepl
A command line C# REPL with syntax highlighting – explore the language, libraries and nuget packages interactively.
Adding packages is `dotnet add {PackageName}`. That's it.
Worrying about version compatibility for new projects has stopped being an issue long time ago. The package either targets NS2.0 or whatever latest LTS currently is, in which case you just add its reference, or it doesn't in which case you use something else.
If it does, in 98% situations it just works. In the last 2% it has native dependencies which means either a) the package ships with binaries build for all popular platforms, b) the package adds a platform-specific dependent package automatically, or manually and mentions that in README, or c) the package comes with windows only native dll, which is happens with ancient poorly maintained packages, it's a rare case nowadays but it does happen.
As someone whose primary PL is C#, I found https://github.com/waf/CSharpRepl and https://github.com/dotnet-script/dotnet-script far more accessible and useful. Compilation caching for the latter works relatively well to make startup latency tolerable.
Or I just do `dotnet new console -o MyScriptName --aot`, echo code into Program.cs and `dotnet publish -o .` it. Some do that with Rust as well. Especially useful if you need your script to go through a lot of data quickly and parallelize that well too.
-
Adding packages is `dotnet add {PackageName}`. That's it.
Worrying about version compatibility for new projects has stopped being an issue long time ago. The package either targets NS2.0 or whatever latest LTS currently is, in which case you just add its reference, or it doesn't in which case you use something else.
If it does, in 98% situations it just works. In the last 2% it has native dependencies which means either a) the package ships with binaries build for all popular platforms, b) the package adds a platform-specific dependent package automatically, or manually and mentions that in README, or c) the package comes with windows only native dll, which is happens with ancient poorly maintained packages, it's a rare case nowadays but it does happen.
As someone whose primary PL is C#, I found https://github.com/waf/CSharpRepl and https://github.com/dotnet-script/dotnet-script far more accessible and useful. Compilation caching for the latter works relatively well to make startup latency tolerable.
Or I just do `dotnet new console -o MyScriptName --aot`, echo code into Program.cs and `dotnet publish -o .` it. Some do that with Rust as well. Especially useful if you need your script to go through a lot of data quickly and parallelize that well too.
-
Related posts
-
No changelog in windows store. not the end of the world but why not.
-
Are there "IT"? companies where I can send my computer in to have them set up my computer so certain libraries or headers are added to my paths and set up my coding environments?
-
Electric - A Windows Package Manager that's 2x Faster than Winget and 5x Faster than Chocolatey
-
Ask HN: What Windows apps/programs do you use daily and recommend?
-
Fresh W11 Install - Winget acting weird