{"id":14063812,"url":"https://github.com/jhwohlgemuth/pwsh-prelude","last_synced_at":"2025-10-15T04:43:41.458Z","repository":{"id":48866899,"uuid":"291529522","full_name":"jhwohlgemuth/pwsh-prelude","owner":"jhwohlgemuth","description":"PowerShell “standard” library for supercharging your productivity. Provides a powerful cross-platform scripting environment enabling efficient analysis and sustainable science in myriad contexts.","archived":false,"fork":false,"pushed_at":"2024-10-23T21:28:31.000Z","size":2781,"stargazers_count":37,"open_issues_count":13,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-02T04:34:33.196Z","etag":null,"topics":["applied-mathematics","cli","cli-app","data-science","hacktoberfest","library","mathematics","powershell","powershell-module","statistics","text-processing","text-to-speech","user-interface"],"latest_commit_sha":null,"homepage":"","language":"PowerShell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jhwohlgemuth.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-08-30T18:35:04.000Z","updated_at":"2025-02-03T16:45:20.000Z","dependencies_parsed_at":"2023-02-18T21:15:56.044Z","dependency_job_id":"33eb4e1f-41a1-46d2-a6e7-4260a89177a0","html_url":"https://github.com/jhwohlgemuth/pwsh-prelude","commit_stats":null,"previous_names":[],"tags_count":64,"template":false,"template_full_name":null,"purl":"pkg:github/jhwohlgemuth/pwsh-prelude","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jhwohlgemuth%2Fpwsh-prelude","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jhwohlgemuth%2Fpwsh-prelude/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jhwohlgemuth%2Fpwsh-prelude/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jhwohlgemuth%2Fpwsh-prelude/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jhwohlgemuth","download_url":"https://codeload.github.com/jhwohlgemuth/pwsh-prelude/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jhwohlgemuth%2Fpwsh-prelude/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279049925,"owners_count":26093382,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-15T02:00:07.814Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["applied-mathematics","cli","cli-app","data-science","hacktoberfest","library","mathematics","powershell","powershell-module","statistics","text-processing","text-to-speech","user-interface"],"created_at":"2024-08-13T07:03:31.281Z","updated_at":"2025-10-15T04:43:41.425Z","avatar_url":"https://github.com/jhwohlgemuth.png","language":"PowerShell","funding_links":[],"categories":["PowerShell","工具"],"sub_categories":[],"readme":"PowerShell Prelude \u003csup\u003e[1](#1)\u003c/sup\u003e\n==================\n[![CodeFactor](https://www.codefactor.io/repository/github/jhwohlgemuth/pwsh-prelude/badge?style=for-the-badge \"Code Quality\")](https://www.codefactor.io/repository/github/jhwohlgemuth/pwsh-prelude)\n[![AppVeyor branch](https://img.shields.io/appveyor/build/jhwohlgemuth/Prelude/master?logo=appveyor\u0026style=for-the-badge \"Appveyor Build Status\")](https://ci.appveyor.com/project/jhwohlgemuth/Prelude)\n[![Code Coverage](https://img.shields.io/codecov/c/github/jhwohlgemuth/pwsh-prelude/master?style=for-the-badge\u0026token=3NMKOGN0Q8\u0026logo=codecov \"Codecov Code Coverage\")](https://codecov.io/gh/jhwohlgemuth/pwsh-prelude/)\n[![PowerShell Gallery Version](https://img.shields.io/powershellgallery/v/Prelude?label=version\u0026style=for-the-badge\u0026logo=powershell \"PowerShell Gallery Version\")](https://www.powershellgallery.com/packages/Prelude)\n[![Code Size](https://img.shields.io/github/languages/code-size/jhwohlgemuth/pwsh-prelude.svg?style=for-the-badge)](#quick-start)\n\u003e A \"standard\" library for PowerShell inspired by the preludes of [Haskell](https://hackage.haskell.org/package/base-4.7.0.2/docs/Prelude.html), [ReasonML](https://reazen.github.io/relude/#/), [Rust](https://doc.rust-lang.org/std/prelude/index.html), [Purescript](https://pursuit.purescript.org/packages/purescript-prelude), [Elm](https://github.com/elm/core), [Scala cats/scalaz](https://github.com/fosskers/scalaz-and-cats), and [others](https://lodash.com/docs). It provides useful helpers, functions, utilities, wrappers, [type accelerators](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_type_accelerators?view=powershell-7.1), and aliases for things you might find yourself wanting to do on a somewhat regular basis - from meta-programming to linear algebra.\n\nGetting Started\n---------------\n\n1. Open PowerShell prompt (or [Windows Terminal app](https://www.microsoft.com/en-us/p/windows-terminal/9n0dx20hk701?activetab=pivot:overviewtab))\n\n2. Install Prelude module via [PowerShell Gallery](https://www.powershellgallery.com/)\n```PowerShell\nInstall-Module -Name Prelude -Scope CurrentUser\n```\n\n2. **[ALTERNATIVE]** Download this repo and save the [./Prelude](./Prelude) folder to your modules directory. You can list your module directories by executing `$Env:PSModulePath -split ';'` in your PowerShell terminal. Choose one that suits your needs and permissions.\n\n3. Import Prelude into current context\n```PowerShell\nImport-Module -Name Prelude\n```\n\n\u003e [!NOTE]\n\u003e For scripts, add `#Requires -Modules Prelude` to the top of your file - the \"Requires\" directive will prevent your script from running without the required module dependencies ([reference](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_requires?view=powershell-7.1))\n\nWhat's Prelude?\n---------------\n\u003e Are you new to PowerShell? If so, please look through [this presentation](https://powershell.surge.sh) for a quick introduction to the merits and magic of PowerShell and how Prelude makes it even better. If you are already familiar with another language (like Python or JavaScript), you can look at these [comparisons of Prelude to other popular languages, libraries, and tools](./examples/Compare.md).\n\nPowerShell isn't limited to purely functional programming like Haskell or confined to a browser like Elm. \nInteracting with the host computer (and other computers) is a large part of PowerShell’s power and purpose. \nA prelude for PowerShell should be more than “just” a library of utility functions. It should also help “fill the gaps” in the language that one finds after constant use, within and beyond\u003csup\u003e[5](#5)\u003c/sup\u003e the typical use cases. \nThe myriad use cases include:\n- Linear algebra, graph theory, and statistics\n- Data shaping, analysis, and visualization\n- Local and remote automation\n- Creating command line [user interfaces](./kitchensink.ps1)\n- PowerShell meta-programming\n- **See the [examples folder](./examples) for detailed examples**\n\n\u003e \"It's almost like someone just browsed the [awesome-powershell](https://github.com/janikvonrotz/awesome-powershell) repository, read some PowerShell scripting blogs, wrote some C# versions of algorithms, and then added all their favorite functions and aliases into a grab-bag module…\"  \n*- Anonymous*\n\nSo what, big deal, who cares?\n-----------------------------\n\nThis module provides [data types](#type-accelerators) and patterns for scripting within a [ubiquitous terminal environment](https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell-core-on-linux?view=powershell-7). Prelude enables complex analysis, strives to make your scripts more sustainable, encourages you to put away the black boxes\u003csup\u003e[6](#6)\u003c/sup\u003e, and empowers you to take control of your productivity. It works almost everywhere and can be \"installed\"\u003csup\u003e[7](#7)\u003c/sup\u003e without system/administrator/root privileges.\n\n\u003e [!TIP]\n\u003e For maximum effectiveness, it's recommended that you add `Import-Module -Name Prelude` to your Windows Terminal `$PROFILE`. [**I certainly do**](https://github.com/jhwohlgemuth/my-shell-setup).\n\u003c!-- vale off --\u003e\nNaturally, it has ***ZERO external dependencies***\u003csup\u003e[2](#2)\u003c/sup\u003e and (mostly) works on Linux\u003csup\u003e[3](#3)\u003c/sup\u003e ;)\n\u003c!-- vale on --\u003e\nThings You Can Do With Prelude\n------------------------------\n\u003e Although `Prelude` has more than the standard \"standard\" library, it still comes packed with functions engineered to enhance script sustainability\n\n- List all permutations of a word\n```PowerShell\n'cat' | Get-Permutation\n\n# or use the \"method\" format, and make a list\n'cat'.Permutations() | Join-StringsWithGrammar # \"cat, cta, tca, tac, atc, and act\"\n```\n- Perform various operations on strings\n```PowerShell\n$Abc = 'b' | insert -To 'ac' -At 2\n$Abc = 'abcd' | remove -Last\n```\n- Create templates for easy repetitive string interpolation using handlebars syntax\n    \u003cdiv align=\"center\"\u003e\n      \u003ca href=\"#\"\u003e\u003cimg alt=\"Templates are easy and can be nested!\" src=\"http://www.jasonwohlgemuth.com/pwsh-prelude/images/template.gif\" alt=\"String interpolation templates\" width=\"1280\"/\u003e\u003c/a\u003e\n    \u003c/div\u003e\n- Leverage higher-order functions like reduce to add the first 100 integers (Just like Gauss!)\n```PowerShell\n$Sum = 1..100 | reduce { Param($A, $B) $A + $B }\n\n# or with the -Add switch\n$Sum = 1..100 | reduce -Add\n```\n- Execute code on a remote computer\n```PowerShell\n{ whoami } | irc -ComputerNames PCNAME\n```\n- Make your computer talk \u003csup\u003e[3](#3)\u003c/sup\u003e\n```PowerShell\nsay 'Hello World'\n```\n- Make a remote computer talk\n```PowerShell\n{ say 'Hello World' } | irc -ComputerNames PCNAME\n```\n- Use events to communicate within your script/app\n```PowerShell\n{ 'Event triggered' | Write-Color -Red } | on 'SomeEvent'\n\n# You can even listen to variables!!!\n# Declare a value for boot\n$Boot = 42\n# Create a callback\n$Callback = {\n  $Data = $Event.MessageData\n  say \"$($Data.Name) was changed from $($Data.OldValue), to $($Data.Value)\"\n}\n# Start the variable listener\n$Callback | listenTo 'Boot' -Variable\n# Change the value of boot and have your computer tell you what changed\n$Boot = 43\n```\n- Create complex UI elements like paginated multi-select menus\n    \u003cdiv align=\"center\"\u003e\n      \u003ca href=\"#\"\u003e\u003cimg alt=\"Batteries include user input\" src=\"http://www.jasonwohlgemuth.com/pwsh-prelude/images/multiselect.gif\" alt=\"Multi-select Menu\" width=\"1280\"/\u003e\u003c/a\u003e\n    \u003c/div\u003e\n\n- Create a full form in the terminal (see the [./kitchensink.ps1](./kitchensink.ps1) for a more extensive example)\n```PowerShell\n'Example' | Write-Title\n$Fullname = input 'Full Name?' -Indent 4\n$Username = input 'Username?' -MaxLength 10 -Indent 4\n$Age = input 'Age?' -Number -Indent 4\n$Pass = input 'Password?' -Secret -Indent 4\n$Word = input 'Favorite Saiya-jin?' -Autocomplete -Indent 4 -Choices @('Goku','Gohan','Goten','Vegeta','Trunks')\n'Favorite number?' | Write-Label -Indent 4 -NewLine\n$Choice = menu @('one'; 'two'; 'three') -Indent 4\n```\n- Visualize file sizes in a directory with one line of code!\n```PowerShell\nGet-ChildItem -File | Invoke-Reduce -FileInfo | Write-BarChart\n```\n\nBe More Productive\n------------------\n\u003e [!TIP]\n\u003e `Prelude` includes a handful of functions and aliases that will make you more productive\n\n- Create a new file\n```powershell\ntouch somefile.txt\n```\n- Create a new directory and then enter it\n```PowerShell\ntake ~/path/to/some/folder\n```\n- Find duplicate files (based on hash of content)\n```PowerShell\nGet-Location | Find-Duplicate\n```\n- Print out file/folder structure of a directory (like `tree`)\n```PowerShell\nConvertFrom-FolderStructure | Out-Tree\n```\n\n- Identify bad links using your browser bookmarks export\n```PowerShell\n'bookmarks.html' | Import-Html | Get-HtmlElement 'a' | prop 'href' | ? { -not (Test-Url $_) }\n```\n\n### **And then…**\n- Use complex values\n- Calculate matrix inverses\n- Solve linear systems\n- Calculate matrix norms\n- Compute eigenvalues and eigenvectors\n- …and more!\n\nFunctions\u003csup\u003e[3](#3)\u003c/sup\u003e\n---------\n\u003e [!TIP]\n\u003e List all functions with `Get-Command -Module Prelude -CommandType Function`. Use `Get-Help \u003cFunction-Name\u003e` to see usage details. Also, consider looking at [Prelude.psd1](./Prelude/Prelude.psd1) for a complete list of functions and aliases.\n\nAliases\n-------\n\u003e [!TIP]\n\u003e Use `Get-Alias \u003cName\u003e` to see alias details. **Example**: `Get-Alias dra`\n\n```PowerShell\n# View all Prelude aliases\nGet-Alias | Where-Object { $_.Source -eq 'Prelude' }\n```\n\nType Accelerators\n-----------------\n- `[Complex]`\n  \u003e Shortcut for `System.Numerics.Complex` provided for convenience\n  ```PowerShell\n  $C = [Complex]::New(1, 7)\n\n  # ...or use the helper function\n  $C = complex 1 7\n\n  # Complex values have a custom format ps1xml file\n  # simply return a complex value to see the beauty\n  $C\n\n  # ...or format complex values for us in your scripts\n  $C | Format-ComplexValue -WithColor | Write-Label\n  ```\n\n  \u003e [!NOTE]\n  \u003e Full class name is `System.Numerics.Complex`\n\n- `[Coordinate]`\n  \u003e Class for working with geodetic and Cartesian earth coordinate values.\n  ```PowerShell\n  $Omaha = [Coordinate]@{ latitude = 41.25; longitude = -96 }\n  $Omaha.ToString()\n  # 41°15'0\"N 96°0'0\"W\n\n  $Omaha.ToCartesian()\n  # -501980.225469305, -4776022.81392779, 4183337.21339675\n\n  # Calculate distance between two points on the earth\n  $SanDiego = [Coordinate]@{ latitude = 32.7157 ; longitude = -117.1611 }\n  $Distance = $Omaha - $SanDiego\n  # Distance = 2097705.740066118 (meters)\n  ```\n\n  \u003e [!NOTE]\n  \u003e Full class name is `Prelude.Geodetic.Coordinate`\n\n- `[Datum]`\n  \u003e Namespace for geodetic constants\n  ```PowerShell\n  [Datum]::Radius | Write-Color -Cyan\n  # output 6371001\n  ```\n\n  \u003e [!NOTE]\n  \u003e Full class name is `Prelude.Geodetic.Datum`\n\n- `[Matrix]`\n  \u003e Perform all kinds of matrix math. Tested on many math books - 100% Guaranteed to make homework easier\u003csup\u003e[4](#4)\u003c/sup\u003e\n\n  \u003cdiv align=\"center\"\u003e\n      \u003ca href=\"#\"\u003e\u003cimg alt=\"Matrix arithmetic is so easy!\" src=\"http://www.jasonwohlgemuth.com/pwsh-prelude/images/matrix.gif\" alt=\"Matrix math!\" width=\"1280\"/\u003e\u003c/a\u003e\n  \u003c/div\u003e\n\n  ```PowerShell\n  $A = [Matrix]::New(3)\n  $A.Rows = 1..9\n\n  # ...or use the helper function\n  $A = 1..9 | matrix 3,3\n\n  # ...and then do math!\n  $A.Det() -eq 0 # true, looks like this matrix isn't going to have an inverse!\n\n  # ...and more math\n  $B = 2 * $A\n  $Product = $A * $B\n  $Sum = $A + $B\n  $IsEqual = $A -eq $B # $IsEqual is False\n  $I = matrix 3,3 -Identity\n  $IsEqual = (2 * $I) -eq ($I + $I) # now $IsEqual is True!\n\n  # fit a simple linear regression model\n  $X0 = 1,1,1,1,1 | matrix 5,1\n  $X1 = -2,-1,0,1,2 | matrix 5,1\n  $X = $X0.Augment($X1)\n  $Y = 0,0,1,1,3 | matrix 5,1\n  $B = ($X.Transpose() * $X).Inverse() * ($X.Transpose() * $Y)\n  # ==\u003e The result is a 2x1 matrix with the desired values (1 and 0.7, in this case)\n\n  ```\n\n  \u003e [!NOTE]\n  \u003e Full class name is `Prelude.Matrix`\n\n- `[Node]`\n  \u003e Simple node data structure for use with Graph data structure\n  ```PowerShell\n  $A = [Node]'a'\n  $B = [Node]'b'\n  $C = [Node]'c'\n  ```\n\n  \u003e [!NOTE]\n  \u003e Full class name is `Prelude.Node`\n\n- `[Edge]`\n  \u003e Simple edge data structure for use with Graph data structure. Edges are composed of two nodes and an optional weight (default weight is `1`).\n  \n  \u003e Un-weighted graphs can be constructed by using default weight of 1 for all associated edges).\n  ```PowerShell\n  $AB = [Edge]::New($A, $B)\n  $BC = [Edge]::New($B, $C)\n  \n  # OR you can use PowerShell helper functions\n\n  $AB = New-Edge $A $B\n  $BC = New-Edge $B $C\n  ```\n\n  \u003e [!NOTE]\n  \u003e Full class name is `Prelude.Edge`\n\n- `[DirectedEdge]`\n  \u003e Exactly like `[Edge]`, but directed.\n  ```PowerShell\n  $AB = [DirectedEdge]::New($A, $B)\n  $BC = [DirectedEdge]::New($B, $C)\n  \n  # OR you can use PowerShell helper functions\n\n  $AB = New-Edge -From $A -To $B -Directed\n  $BC = New-Edge -From $B -To $C -Directed\n  ```\n\n  \u003e [!NOTE]\n  \u003e Full class name is `Prelude.DirectedEdge`\n\n- `[Graph]`\n  \u003e Data structure to model objects (nodes) and relations (edges). Named `[Graph]` instead of `[Network]` to avoid confusion with computer networks, a common use case for PowerShell. \n  ```PowerShell\n  $Nodes = $A, $B, $C\n  $Edges = $AB, $BC\n  $G = New-Graph $Nodes $Edges\n\n  # OR create graph using just edges\n  # (necessary nodes are \"auto\" added)\n\n  $G = [Graph]::New($Edges)\n\n  # Add nodes\n  $D = [Node]'d'\n  $G.Add($D)\n\n  # View adjacency matrix\n  $G.AdjacencyMatrix\n\n  # algorithms and other cool stuff are UNDER CONSTRUCTION\n\n  ```\n\n  \u003e [!NOTE]\n  \u003e Full class name is `Prelude.Graph`\n\nType Extensions\n---------------\n\u003e [!TIP]\n\u003e For details on how to extend types with `Types.ps1xml` files, see [About Types.ps1xml](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_types.ps1xml?view=powershell-7)\n\nPrelude uses type extensions to provide method versions of most core functions. This may be useful in some situations (or if you just don't feel like using pipelines…)\n\n**Examples**\n```PowerShell\n# Factorials\n(4).Factorial() # 24\n\n# Permutations as a property (similar property for numbers and arrays)\n'cat'.Permutations() # 'cat','cta','tca','tac','atc','act'\n\n# Flatten an array\n@(1,@(2,3,@(4,5))).Flatten() # 1,2,3,4,5\n\n# Reduce an array just like you would in other languages like JavaScript\n$Add = { Param($a,$b) $a + $b }\n@(1,2,3).Reduce($Add, 0) # 6\n\n```\n\n\u003e [!NOTE]\n\u003e For the full list of functions, read through the `ps1xml` files in the [types directory](./Prelude/types).\n\nContributing\n------------\nHave an idea? Want to help contribute? Check out the [contributing guide](./.github/CONTRIBUTING.md).\n\nCredits\n-------\n- [Microsoft](https://www.microsoft.com)\n  - [PowerShell](https://github.com/powershell/powershell) (d'uh)\n  - [Windows Terminal](https://github.com/jhwohlgemuth/env/tree/master/dev-with-windows-terminal)\n  - [VS Code](https://code.visualstudio.com/) - *My editor of choice for writing PowerShell*\n  - [Visual Studio 2019](https://visualstudio.microsoft.com/vs/) - *the editor I use for writing C#*\n- [Pester](https://pester.dev/) - *testing*\n- [PSScriptAnalyzer](https://github.com/PowerShell/PSScriptAnalyzer) - *static analysis (linting)*\n- [BenchmarkDotNet](https://benchmarkdotnet.org/) - *C# benchmarks*\n- [CODECOGS](https://www.codecogs.com/latex/eqneditor.php) - *LaTeX in examples/README.md*\n- [janikvonrotz/awesome-powershell](https://github.com/janikvonrotz/awesome-powershell) - *inspiration*\n- [chrisseroka/ps-menu](https://github.com/chrisseroka/ps-menu) - *inspiration*\n- [PrateekKumarSingh/Graphical](https://github.com/PrateekKumarSingh/graphical) - *inspiration*\n- [mattifestation/PowerShellArsenal](https://github.com/mattifestation/PowerShellArsenal) - *inspiration*\n- [PowerShellMafia/PowerSploit](https://github.com/PowerShellMafia/PowerSploit) - *inspiration*\n- [NetworkX](https://networkx.org/) - *inspiration*\n- [C# Algorithms](https://github.com/aalhour/C-Sharp-Algorithms) - *inspiration* \u0026 *reference implementation*\n- [Math.NET Numerics](https://numerics.mathdotnet.com/) - *inspiration*\n- [MartinSGill/Profile](https://github.com/MartinSGill/Profile) - *inspiration*\n- [Lodash](https://lodash.com/docs/) and [ramdajs](https://ramdajs.com/docs/) - *inspiration*\n\n-------------\n\n**Footnotes**\n-------------\n\n[1]\n---\n\u003e This module is ***NOT*** an \"official\" Microsoft PowerShell prelude module\n\n[2]\n---\n\u003e This code is inspired and enabled by [several people and projects](#Credits)\n\n[3]\n---\n\u003e The following functions aren't supported on Linux:\n- `Invoke-ListenForWord`\n- `Invoke-Speak`\n- `Import-Html`\n- `Use-Grammar`\n- `Use-Speech`\n- `Use-Web`\n\n[4]\n---\n\u003e Results may vary. The 100% guarantee is 100% uncertain in 100% of cases.\n\n[5]\n---\n\u003e Sometimes ***way*** beyond :)\n\n[6]\n---\n\u003e Compiled code, closed source software, arcane code snippets copy/pasted from the internet nether-realm, etc…\n\n[7]\n---\n\u003e The installation of Prelude can be as simple as copying the [./Prelude](./Prelude) folder into one of the directories in your `$Env:PSModulePath` variable.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjhwohlgemuth%2Fpwsh-prelude","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjhwohlgemuth%2Fpwsh-prelude","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjhwohlgemuth%2Fpwsh-prelude/lists"}