The module author used good form in dividing things up between the functions (cmdlets) that user should call from the PowerShell commandline and shouldn't change (1Poshword.psm1) and helper functions whose names are subject to change if he ever rewrites something (lib.ps1).
- Use platform-appropriate native tools (e.g. clip.exe/pbcopy/xclip as mentioned)
- Use appropriate path separators (tip: just use / always - Windows handles it fine)
- Be mindful of case-sensitive file paths
- Use platform-appropriate newline (fixed a bug here just this morning)
- Avoid BOMs when writing files, unix doesn't like them (use [IO.File]::WriteAllText, not Out-File. Sad.)
- Need to restrict yourself to powershell cmdlets and .NET APIs that are available in the open-source version of powershell[1] - https://github.com/PowerShell/PowerShell [2] - https://github.com/PowerShell/PowerShell/#get-powershell
To be pronounced in Sean Connery's voice... though that'd be more like 1Pashword.
awesome