My GitHub Repositories
(I write a lot of code)
Some Stats:
- 1919 ★
- 560 followers
- 137 public repos
- StartAutomating(90)
- PowerShellWeb(15)
- PoshWeb(32)
- 102 of my repos are original
- 35 of my repos are forks
- 317 forks of my repos
- 1919 watchers of my repos
- 2347 open issues in my repos
Repos
PSDevOps
PowerShell Tools for DevOps
★ 154 | Forks: 31 | Watchers: 154 | Open Issues: 44
Created: 2019-11-17 | Updated: 2026-09-08
- For an example of a module that does this from the get-go, look at github.com/StartAutomat... I friggin _hate_ the "Whose ID is it anyway" problem space. It may be all other developers' fault, but boy am I glad I've got a solid way to workaround.
— @
Irregular
Regular Expressions made Strangely Simple
★ 112 | Forks: 8 | Watchers: 112 | Open Issues: 44
Created: 2019-09-16 | Updated: 2026-08-10
- A bit of both. I'd call it evolution. I don't often write Regex from scratch; I often use tools and old tricks to cobble together regex or double-check syntax. Wrote this a long time ago, before AI. github.com/StartAutomat...
— @
PipeScript
A Metaprogramming Language for PowerShell (and anything else)
★ 110 | Forks: 7 | Watchers: 110 | Open Issues: 370
Created: 2022-06-21 | Updated: 2026-08-14
- I turned 42 today! I also released a massive update to PipeScript! Now, PowerShell can run any interpreted language! Not sure if that's the answer to "life, the universe, and everything", but it's not too shabby ;> github.com/StartAutomat...
— @
ugit
Updated Git: A powerful PowerShell wrapper for git that lets you extend git, automate multiple repos, and output git as objects.
★ 103 | Forks: 9 | Watchers: 103 | Open Issues: 55
Created: 2022-03-18 | Updated: 2026-07-24
- Cool! If you want this with object pipeline support, use ugit. ~~~PowerShell git branch | ? -not IsCurrentBranch | ? BranchName -ne "main" | git branch -d ~~~ Bonus points: this will prompt for confirmation. github.com/StartAutomat...
— @
obs-powershell
Script OBS with PowerShell
★ 88 | Forks: 3 | Watchers: 88 | Open Issues: 38
Created: 2022-12-09 | Updated: 2026-09-21
- Very nice! Btw, I make a couple of modules that might be helpful in these endeavors. #OBS #PowerShell GitHub.com/StartAutomat... And RoughDraft ( general #ffmpeg and #media toolkit ) GitHub.com/StartAutomat... Hope this helps / Happy Holidays 🎄
— @
EZOut
EZOut is a PowerShell module to help take the pain out of writing format and types XML
★ 76 | Forks: 8 | Watchers: 76 | Open Issues: 48
Created: 2014-05-05 | Updated: 2026-10-06
- Flexibly Format with PowerShell https://github.com/StartAutomating/EZOut
— @
Posh
PowerShell made Posh
★ 74 | Forks: 6 | Watchers: 74 | Open Issues: 99
Created: 2023-07-20 | Updated: 2026-09-14
- #PowerShell got a little more color in its cheeks this weekend, with a new release of Posh. #Posh now includes new formatting for: * Get-Service (with color!) * Get-FileHash (grouped by algorithm) * Get-Event gets a table view github.com/StartAutomat...
— @
PowerArcade
A Retro Arcade Game Console in PowerShell
★ 70 | Forks: 0 | Watchers: 70 | Open Issues: 5
Created: 2020-04-01 | Updated: 2026-09-30
- This is actually the right way to do it ( from a perf perspective ) See this #PowerShell project, PowerArcade, for more examples. github.com/StartAutomat...
— @
Pipeworks
PowerShell Pipeworks is a web platform built in Windows PowerShell, and a toolkit for putting it all together with PowerShell
★ 70 | Forks: 15 | Watchers: 70 | Open Issues: 29
Created: 2014-09-02 | Updated: 2025-10-27
- Oh it was fun. This command makes N different UIs from hashtables. I think about half are/were jQueryUI. ( The rise and fall of jQuery was part of why that project got abandoned.... Too much technical debt and too hard to refinance it ) github.com/StartAutomat...
— @
Splatter
Simple Scripts to Supercharge Splatting
★ 68 | Forks: 0 | Watchers: 68 | Open Issues: 26
Created: 2019-07-06 | Updated: 2026-02-25
- 💯 its ridiculously overpowered to just basically be like: Find me all commands that have the letter G in them and have a parameter named X with Y type. Apropos of old fun cool tools that might make Defender yell a bit. GitHub.com/StartAutomat...
— @
ScriptDeck
PowerShell Tools for Elgato StreamDeck
★ 62 | Forks: 15 | Watchers: 62 | Open Issues: 63
Created: 2021-03-31 | Updated: 2026-08-04
- You might also be able to sidestep BurntToast by using the .NET apis directly. Found an ScriptDeck/WindowsPowerShell.StreamDeckPluginTemplate.ps1 at b33ce2b69f1b2fb42387291a6ac05b21e9ee37c9 · StartAutomating/ScriptDeck (github.com) (to long to skeet/tweet/whatever we're calling it)
— @
Benchpress
Easy Benchmarking with PowerShell
★ 59 | Forks: 4 | Watchers: 59 | Open Issues: 11
Created: 2019-03-23 | Updated: 2026-10-06
- Want to compare and contrast #performance of a #PowerShell script? There's a module for that: github.com/StartAutomat...
— @
PSSVG
Script SVGs with PowerShell
★ 45 | Forks: 2 | Watchers: 45 | Open Issues: 120
Created: 2022-09-08 | Updated: 2026-06-20
- Here's a hypnotizing #SVG animation of repeated hexagons ( made with a bit of clever #PowerShell ) github.com/StartAutomat...
— @
RoughDraft
A Fun PowerShell Module for Multimedia (using FFMpeg)
★ 45 | Forks: 5 | Watchers: 45 | Open Issues: 49
Created: 2021-11-29 | Updated: 2026-09-29
- Fun project! I've got about 40k mp3s myself. Fair warning: this can get a lot more complex than md5s. Another common cause of duplicates is bitrate. Need to make a super rename script and release it someday. Until then, there's RoughDraft GitHub.com/StartAutomat...
— @
ScriptCop
ScriptCop is a static analysis and testing tool for Windows PowerShell
★ 44 | Forks: 4 | Watchers: 44 | Open Issues: 1
Created: 2014-05-05 | Updated: 2025-11-18
ShowDemo
A simple tool to showcase your scripts.
★ 41 | Forks: 2 | Watchers: 41 | Open Issues: 15
Created: 2022-12-03 | Updated: 2026-04-13
- Never typo during a talk again ShowDemo
— @
Eventful
Easy Eventful PowerShell
★ 38 | Forks: 1 | Watchers: 38 | Open Issues: 13
Created: 2021-11-02 | Updated: 2026-03-30
PowerShellAI
PowerShell meets GPT - Artificial Intelligence
★ 36 | Forks: 98 | Watchers: 36 | Open Issues: 0
Created: 2023-01-12 | Updated: 2026-08-24
HelpOut
A Helpful Toolkit for Managing PowerShell Help
★ 36 | Forks: 4 | Watchers: 36 | Open Issues: 18
Created: 2019-06-18 | Updated: 2026-08-02
- This is part of why I use / build HelpOut..... GitHub.com/StartAutomat... Cause nobody wants docs that say "doc me" 😉. Future versions will dovetail with PlatyPS vnext for best of both worlds.
— @
Patchy
Patchy is a PowerShell module that helps smooth out the chop of maintaining Windows Updates
★ 27 | Forks: 3 | Watchers: 27 | Open Issues: 0
Created: 2014-05-05 | Updated: 2026-01-09
PSMinifier
A Miniature Minifier For PowerShell
★ 26 | Forks: 5 | Watchers: 26 | Open Issues: 10
Created: 2020-01-21 | Updated: 2026-07-23
- Why stop at just removing comments? StartAutomating/PSMinifier: A Miniature Minifier For PowerShell (github.com) (all seriousness, keep comments in your shipped module, they help... minify only if you want the speed/bandwidth savings).
— @
Turtle
Turtle Graphics in PowerShell
★ 24 | Forks: 9 | Watchers: 24 | Open Issues: 54
Created: 2025-07-23 | Updated: 2026-09-07
- Now is the time to mention that Turtles already live in PowerShell 🐢😎 github.com/PoshWeb/Turtle There's also a graphical shell / repl builder github.com/PoshWeb/Rept... Both are pretty friendly to agents. All part of the Fun: github.com/PoshWeb/Fun
— @
MenuShell
MenuShell is a PowerShell module for rapidly making console menus
★ 22 | Forks: 2 | Watchers: 22 | Open Issues: 1
Created: 2014-05-05 | Updated: 2025-07-22
Rocker
Rock Docker with PowerShell
★ 21 | Forks: 0 | Watchers: 21 | Open Issues: 31
Created: 2024-04-03 | Updated: 2026-04-13
- Want to #rock #docker with #PowerShell? github.com/StartAutomat...
— @
WebSocket
Work with WebSockets in PowerShell
★ 21 | Forks: 3 | Watchers: 21 | Open Issues: 22
Created: 2024-11-27 | Updated: 2026-08-05
TerminalVelocity
Fine tuning Windows Terminal
★ 20 | Forks: 1 | Watchers: 20 | Open Issues: 3
Created: 2020-05-14 | Updated: 2026-08-22
- Changing the tab colors like how? I wrote this a while back, but haven't done in an update round in a while. github.com/StartAutomat... Should be possible to change any part of a profile/terminal, might need updates for newer parts of the schema.
— @
LightScript
Smarter Lighting with PowerShell
★ 20 | Forks: 5 | Watchers: 20 | Open Issues: 58
Created: 2021-12-23 | Updated: 2026-04-13
- Also, if that's an Elgato KeyLight ( or you just want to script the lights in your house), here's another #powershell module to help brighten things up: github.com/StartAutomat...
— @
Fun
A Fun PowerShell Server
★ 17 | Forks: 3 | Watchers: 17 | Open Issues: 49
Created: 2026-06-07 | Updated: 2026-09-10
- So, this works: function /close {"<script>window.close()</script>"} 🤯😱 🤷I think I just accidentally invented the #PowerShell Popup 🤣 🙏 sorry github.com/PoshWeb/Fun
— @
OnQ
Easy Asynchronous Event-Driven Scripting with PowerShell
★ 17 | Forks: 1 | Watchers: 17 | Open Issues: 0
Created: 2021-01-24 | Updated: 2025-11-04
PowerNix
Linux Tools for PowerShell People.
★ 17 | Forks: 1 | Watchers: 17 | Open Issues: 14
Created: 2021-05-19 | Updated: 2026-01-18
AutoBrowse
AutoBrowse is a Windows PowerShell module that lets you automate browsing with Internet Explorer
★ 16 | Forks: 6 | Watchers: 16 | Open Issues: 0
Created: 2014-05-05 | Updated: 2025-10-27
Discovery
Discovery is a powerful PowerShell module that lets you probe the inner depths of the operating system.
★ 16 | Forks: 4 | Watchers: 16 | Open Issues: 1
Created: 2014-05-07 | Updated: 2026-01-09
PowerHistory
PowerShell History Made More Powerful
★ 16 | Forks: 1 | Watchers: 16 | Open Issues: 0
Created: 2020-03-03 | Updated: 2026-01-09
- Some other additional bonus points : history objects are "sticky". Changes to them will persist as long as the session is open. Made a module a while back to play with history objects. Enjoy! github.com/StartAutomat...
— @
Emoji
⟩⚡PowerShell Emoji 😎😉😍🥰🤔😟
★ 15 | Forks: 0 | Watchers: 15 | Open Issues: 23
Created: 2024-02-20 | Updated: 2026-06-27
- More #PowerShell #FridayFun : a new build of the Emoji module. Added a .CSS property to every symbol, and table and custom formatter to view them. github.com/StartAutomat... (Get-Emoji -Name doughnut, 'pil*po*').Css Have fun!
— @
Piecemeal
Easy Extensible Plugins for PowerShell
★ 14 | Forks: 1 | Watchers: 14 | Open Issues: 2
Created: 2021-12-19 | Updated: 2025-05-21
CodeCraft
CodeCraft is a Powershell module full of code generators that helps you crank out tedious code.
★ 13 | Forks: 5 | Watchers: 13 | Open Issues: 0
Created: 2014-05-05 | Updated: 2026-04-27
PSMetrics
A Module for Metrics in PowerShell
★ 13 | Forks: 1 | Watchers: 13 | Open Issues: 12
Created: 2023-04-25 | Updated: 2026-04-13
GitPub
Easily Automate Publishing from GitHub
★ 12 | Forks: 3 | Watchers: 12 | Open Issues: 31
Created: 2022-10-10 | Updated: 2026-10-02
MarkX
MarkX - Markdown, XML, and PowerShell
★ 11 | Forks: 1 | Watchers: 11 | Open Issues: 63
Created: 2025-12-24 | Updated: 2026-08-04
PSPrettifier
Prettify your PowerShell
★ 11 | Forks: 0 | Watchers: 11 | Open Issues: 10
Created: 2022-09-28 | Updated: 2025-05-21
Servers101
Simple Servers in PowerShell
★ 10 | Forks: 2 | Watchers: 10 | Open Issues: 13
Created: 2025-12-07 | Updated: 2026-08-05
- Let's start with the one I updated yesterday: GitHub.com/PoshWeb/Serv... The basic point of this module is to share short servers that help explain / demonstrate how to write web servers. Will be putting more servers into that module over time. Happy to take requests / issues.
— @
StartAutomating
Save Time, Save Money, Start Automating.
★ 9 | Forks: 0 | Watchers: 9 | Open Issues: 46
Created: 2022-08-28 | Updated: 2026-06-09
Winformal
Winformal is a PowerShell module to let you script WinForms with cmdlets
★ 9 | Forks: 2 | Watchers: 9 | Open Issues: 0
Created: 2014-05-08 | Updated: 2025-05-21
PSA
PowerShell Announcements (with AtProtocol)
★ 9 | Forks: 1 | Watchers: 9 | Open Issues: 31
Created: 2023-09-12 | Updated: 2026-04-08
- Monday new #PowerShell module alert: PSAdapter shows you how to adapt anything into commands. GitHub.com/StartAutomat... Write an adapter to an ecosystem and then you can write any number of cmdlets with no code ( just #xml ) Adapters for #JSON, XML, Events, and #DotNet included.
— @
PingMe
PingMe is a PowerShell module to simplify different types of network checks on a machine
★ 9 | Forks: 3 | Watchers: 9 | Open Issues: 0
Created: 2014-05-10 | Updated: 2023-07-17
ollama-powershell
Ollama PowerShell: Play with AI in PowerShell
★ 8 | Forks: 3 | Watchers: 8 | Open Issues: 36
Created: 2025-03-02 | Updated: 2026-09-01
- Hey #PowerShell people and #AI #PromptEngineers I made a wrapper for #ollama One cool feature: Run language models by name For example: phi3 "What is your purpose?" Have fun! github.com/StartAutomat...
— @
SecureSettings
SecureSettings is a small PowerShell module to manage storing settings information securely
★ 7 | Forks: 2 | Watchers: 7 | Open Issues: 0
Created: 2014-05-06 | Updated: 2022-10-16
PSJekyll
PowerShell Tools for Jekyll
★ 7 | Forks: 0 | Watchers: 7 | Open Issues: 31
Created: 2024-09-30 | Updated: 2026-08-05
HeatMap
HeatMap is a PowerShell module for monitoring performance counters in PowerShell
★ 7 | Forks: 2 | Watchers: 7 | Open Issues: 0
Created: 2014-05-05 | Updated: 2022-06-11
PowerCode
A PowerShell Module for Customizing Visual Studio Code
★ 7 | Forks: 0 | Watchers: 7 | Open Issues: 73
Created: 2023-02-23 | Updated: 2025-10-06
MrPowerShell
Jack of all Trades, Master of PowerShell
★ 6 | Forks: 2 | Watchers: 6 | Open Issues: 70
Created: 2024-12-21 | Updated: 2026-10-11
- The reason I suspect it would be the ISP is that another #GitHub workflow synchronized the data just fine. So the X-factors are: The ISP The Machine GitHub workflow run : github.com/StartAutomat...
— @
PowRoku
Script your Roku with PowerShell
★ 5 | Forks: 0 | Watchers: 5 | Open Issues: 3
Created: 2021-08-03 | Updated: 2026-10-07
Glass
Glass is a module for seeing thru invisible characters
★ 5 | Forks: 1 | Watchers: 5 | Open Issues: 0
Created: 2025-10-23 | Updated: 2025-11-02
- Also got a few small modules out.... In order of recency, we've got Glass, which was meant to help find #Glassware #Glassworm messages in files or packages, and help people understand the vector: github.com/StartAutomat...
— @
PoshMacros
Sleek and Simple PowerShell Macros
★ 5 | Forks: 0 | Watchers: 5 | Open Issues: 0
Created: 2020-02-09 | Updated: 2023-09-16
OP
Overpowered module for Open Packages
★ 4 | Forks: 0 | Watchers: 4 | Open Issues: 17
Created: 2025-10-27 | Updated: 2026-08-12
- Just dropped an Overpowered Module for Open Packages: github.com/PoshWeb/OP Talking about how Open Packages are Overpowered at 2:45 at #PSHSummit Anything can become a package! Simple Powerful example: ~~~PowerShell op at://mrpowershell.com/site.standard.document ~~~ More demos coming soon!
— @
Matrix
Matrix Transforms with PowerShell
★ 4 | Forks: 0 | Watchers: 4 | Open Issues: 0
Created: 2026-08-10 | Updated: 2026-09-30
- Thanks for the update. Still missed my module drop this week though 😕 github.com/PoshWeb/Matrix
— @
PoshWeb
WebDev with PowerShell
★ 4 | Forks: 0 | Watchers: 4 | Open Issues: 3
Created: 2026-02-21 | Updated: 2026-08-05
JSON-LD
Get JSON Linked Data with PowerShell
★ 4 | Forks: 1 | Watchers: 4 | Open Issues: 1
Created: 2025-03-16 | Updated: 2026-08-05
- Hey #PowerShell people, JSON-LD 0.1.1 is out! Get Linked Data from any website! New in this version: Support for auto-conversion of Linked Data to #JSONSchema and #AtProto lexicons! ~~~PowerShell (JSONLD 'https://schema.org/Movie').GetJsonSchema() ~~~ github.com/PoshWeb/JSON...
— @
PS3D
PowerShell Tools for 3D Printing
★ 4 | Forks: 0 | Watchers: 4 | Open Issues: 76
Created: 2022-04-25 | Updated: 2025-08-21
TerminalTunes
A Music Player for Terminals
★ 4 | Forks: 1 | Watchers: 4 | Open Issues: 34
Created: 2022-09-24 | Updated: 2026-10-10
PSAdapter
Adapt anything into PowerShell Commands
★ 4 | Forks: 1 | Watchers: 4 | Open Issues: 33
Created: 2024-09-08 | Updated: 2026-04-29
- New #PowerShell module alert: Finally released PSAdapter: github.com/StartAutomat... Demonstration module about CmdletAdapters and how to use them. Make one adapter to build a bridge to a whole ecosystem. Included example adapters for #JSON, #XML, HTML, Events, and any #DotNet api.
— @
PrimeTime
The Power of Primes
★ 3 | Forks: 1 | Watchers: 3 | Open Issues: 0
Created: 2026-07-12 | Updated: 2026-08-05
- New #PowerShell #CSS module alert. It's PrimeTime! github.com/PoshWeb/Prim... A simple prime number animation framework, built with PowerShell and CSS. Its demo page will repeat in ~100 Trillion Years 🤯😱 primetime.poshweb.org
— @
OpenGraph
Get OpenGraph with PowerShell
★ 3 | Forks: 1 | Watchers: 3 | Open Issues: 0
Created: 2025-03-16 | Updated: 2026-08-05
- Hey #PowerShell people, module update alert: The #OpenGraph module just got an update! Now with improved support for unclosed meta tags github.com/PoshWeb/Open... Use this module to see if your sites are #SEO friendly. Have fun!
— @
Reptile
Read Evaluate Print Terminal Input Loop Editor - A Scaley Simple PowerShell Data REPL.
★ 3 | Forks: 2 | Watchers: 3 | Open Issues: 10
Created: 2025-12-30 | Updated: 2026-08-05
- Cool! I'd love to collab a bit on the future format. Specifically: I feel like a new PowerShell Pack format should be able to "snap in" like it was an MMC plugin or launch standalone. I'd love it if we can make both Avalonia apps and local web apps work, a la github.com/PoshWeb/Rept...
— @
Vector
Vectors in PowerShell
★ 3 | Forks: 0 | Watchers: 3 | Open Issues: 0
Created: 2025-10-04 | Updated: 2026-09-30
- Just updated Vector, the #PowerShell #Math module for Vectors. github.com/PoshWeb/Vector Turn anything into vectors and manipulate them in 2D, 3D, or 4D. Have fun!
— @
Zippy
Easy Compression in PowerShell
★ 3 | Forks: 0 | Watchers: 3 | Open Issues: 2
Created: 2026-08-04 | Updated: 2026-09-30
- Just dropped Zippy, a quick PowerShell module for compression: github.com/PoshWeb/Zippy Compress/Expand data using Brotli, Deflate, GZip, or ZLib
— @
SearchScript
Search PowerShell Scripts
★ 3 | Forks: 0 | Watchers: 3 | Open Issues: 1
Created: 2025-12-12 | Updated: 2026-08-03
- Just gave SearchScript a few little updates. Can now Search-Script -For ([type])! Find any references to any type within the #PowerShell AST Enjoy! github.com/StartAutomat...
— @
formulaic
Formulaic is a PowerShell module containing useful math, physics, and statistcs functions
★ 3 | Forks: 2 | Watchers: 3 | Open Issues: 24
Created: 2014-04-30 | Updated: 2026-04-02
PSData
In-Memory .NET Databases in PowerShell
★ 3 | Forks: 0 | Watchers: 3 | Open Issues: 106
Created: 2024-07-21 | Updated: 2025-05-21
WhereFor
Wherefore Art Thou PowerShell? Multiple Object Pipelines
★ 3 | Forks: 0 | Watchers: 3 | Open Issues: 4
Created: 2024-12-07 | Updated: 2025-05-21
- Reposting my little weekend #powershell project.... Ever want to run multiple object pipelines ( conditionally )? I give you WhereFor. github.com/StartAutomat...
— @
Wave
Work with Wave Files in PowerShell
★ 2 | Forks: 2 | Watchers: 2 | Open Issues: 104
Created: 2026-09-13 | Updated: 2026-10-08
- Got my DMTF tone generator working! And then realized the issue number is the star code for "block this number" 🤣 It's the little things github.com/PoshWeb/Wave...
— @
Dice
Roll the Dice and Play with Probability in PowerShell - ⚀ ⚅
★ 2 | Forks: 0 | Watchers: 2 | Open Issues: 1
Created: 2024-08-10 | Updated: 2025-05-21
- Nice script! If you want to take that idea up to 11 and add datatables for long term tracking of all of the Dice rolls, I _might_ have gone a bit overboard with this little module. github.com/StartAutomat... Reminds me I need to build it's sibling module one of these days...
— @
Escape
Escape the pain of escape sequences
★ 2 | Forks: 0 | Watchers: 2 | Open Issues: 0
Created: 2026-02-05 | Updated: 2026-08-01
- New #PowerShell module alert! Escape! Escape the pain of escape sequences github.com/StartAutomat... Initial build has over 100 escape sequences to use without looking up arcane syntax. Hat tip to @sneakyness.com for the inspiration! Have fun!
— @
PowerShellPowerPoints
A Collection of Presentations I've given on PowerShell
★ 2 | Forks: 0 | Watchers: 2 | Open Issues: 0
Created: 2020-05-15 | Updated: 2023-08-10
oEmbed
Open Embedding with PowerShell
★ 2 | Forks: 0 | Watchers: 2 | Open Issues: 6
Created: 2025-03-15 | Updated: 2026-08-05
Shortcut
Simple Shortcuts with PowerShell
★ 2 | Forks: 0 | Watchers: 2 | Open Issues: 1
Created: 2026-08-08 | Updated: 2026-08-09
- Cool! Give Shortcut a try and let me know how it could be improved. Please also feed GitHub with a star. GitHub.com/StartAutomat...
— @
Gradient
Gradient Generation with PowerShell
★ 2 | Forks: 0 | Watchers: 2 | Open Issues: 3
Created: 2025-12-29 | Updated: 2026-08-05
- Aliases rock, especially if they're more clear: For example, I've got a module for CSS gradient generation. The command is Get-Gradient The alias is simple Gradient So I can just type ~~~PowerShell gradient red green blue ~~~ And get back a gradient. 😎 github.com/PoshWeb/Grad...
— @
AI
Automate AI with PowerShell
★ 2 | Forks: 1 | Watchers: 2 | Open Issues: 0
Created: 2025-02-23 | Updated: 2025-12-17
HtmxPS
Script Htmx and PowerShell Microservices
★ 2 | Forks: 0 | Watchers: 2 | Open Issues: 47
Created: 2024-10-21 | Updated: 2026-04-19
GQL
Get GraphQL in PowerShell
★ 2 | Forks: 0 | Watchers: 2 | Open Issues: 5
Created: 2024-12-16 | Updated: 2026-08-05
Organize
Get Organized - Fast Grouping by multiple conditions
★ 1 | Forks: 0 | Watchers: 1 | Open Issues: 1
Created: 2026-01-05 | Updated: 2026-09-04
- Also recently made a tool for hierarchical grouping, in anticipation of similar scenarios. github.com/StartAutomat... Figured I would need something like this to automatically reorganize my media collection, and it's best to keep concerns separated.
— @
OpenXML
Automate OpenXML with PowerShell
★ 1 | Forks: 1 | Watchers: 1 | Open Issues: 32
Created: 2025-10-14 | Updated: 2026-08-05
PowerShellWeb
PowerShell Web Development
★ 1 | Forks: 0 | Watchers: 1 | Open Issues: 30
Created: 2024-11-03 | Updated: 2024-12-04
4kbMarkdownFiles
Performance Testing Parsing of 4kb Markdown Files
★ 1 | Forks: 2 | Watchers: 1 | Open Issues: 3
Created: 2026-01-14 | Updated: 2026-08-05
ROI
Calculate Return on Investment
★ 1 | Forks: 0 | Watchers: 1 | Open Issues: 0
Created: 2026-02-12 | Updated: 2026-02-15
- Hey #PowerShell people, I made a mini-module this weekend: ROI: github.com/StartAutomat... Simple Return on Investment calculator. It has some pretty interesting examples: My top 3: 1. The ROI for writing Open Source 2. The ROI of Automation 3. The highly volatile ROI of #AI
— @
Subtitles
Script Subtitles with PowerShell.
★ 1 | Forks: 1 | Watchers: 1 | Open Issues: 4
Created: 2025-12-23 | Updated: 2026-05-27
- Hey there. While you _can_ you Select-String, you can also use this module I made for Subtitles github.com/StartAutomat... Should be something like: Get-Subtitle $pathToSubtitles | Search-Subtitle -Phrase $phraseToSearch Will spit back out StartTime, EndTime, and Cue.
— @
MathML
PowerShell and MathML
★ 1 | Forks: 0 | Watchers: 1 | Open Issues: 0
Created: 2025-10-02 | Updated: 2026-08-05
StartAutomating.github.io
Save Time, Save Money, Start Automating.
★ 1 | Forks: 0 | Watchers: 1 | Open Issues: 0
Created: 2021-12-28 | Updated: 2024-01-01
Shuffle
Simple Shuffle with PowerShell
★ 1 | Forks: 0 | Watchers: 1 | Open Issues: 0
Created: 2025-12-07 | Updated: 2026-01-03
AtPowerShellSummit
What happens at PowerShell Summit
★ 1 | Forks: 1 | Watchers: 1 | Open Issues: 2
Created: 2025-04-06 | Updated: 2026-10-07
CTAN
PowerShell module for the Comprehensive TeX Archive Network
★ 0 | Forks: 0 | Watchers: 0 | Open Issues: 0
Created: 2026-01-24 | Updated: 2026-01-25
- In other #PowerShell module releases of the weekend, there's CTAN. github.com/StartAutomat... Just a quick PowerShell module to help you work with the Comprehensive #TeX archive network API.
— @
AtGitHub
At Protocol and GitHub
★ 0 | Forks: 0 | Watchers: 0 | Open Issues: 6
Created: 2025-05-28 | Updated: 2025-10-24
- Monitor #GitHub activity on #AtProto / #BlueSky ( built with #PowerShell, #WebSocket, and #GitHubActions ) github.com/PowerShellWe...
— @
Shape
CSS Shapes with PowerShell
★ 0 | Forks: 0 | Watchers: 0 | Open Issues: 3
Created: 2026-01-04 | Updated: 2026-08-05
Badger
Build Badges in PowerShell
★ 0 | Forks: 0 | Watchers: 0 | Open Issues: 33
Created: 2024-12-11 | Updated: 2024-12-11
Glyph
Manage and Manipulate fonts with PowerShell
★ 0 | Forks: 0 | Watchers: 0 | Open Issues: 2
Created: 2025-09-14 | Updated: 2026-08-03
PocketMarkdown
Pocket Blog to Markdown
★ 0 | Forks: 0 | Watchers: 0 | Open Issues: 2
Created: 2026-04-12 | Updated: 2026-08-05
- Another answer to "What Have I Done?" github.com/PoshWeb/Pock... Dropped this this weekend, partially as a test of using some other tech to release modules. Will be making a pocket blog post and expanding it soon. Then it's @offprint.app 's turn. Then @leaflet.pub . Who's next?
— @
PoshaKucha
PechaKucha Presentations with PowerShell
★ 0 | Forks: 1 | Watchers: 0 | Open Issues: 12
Created: 2025-01-21 | Updated: 2026-08-01
.github
PoshWeb GitHub Profile
★ 0 | Forks: 0 | Watchers: 0 | Open Issues: 0
Created: 2026-07-11 | Updated: 2026-10-11
Neocities
Personal Webpages in PowerShell
★ 0 | Forks: 0 | Watchers: 0 | Open Issues: 0
Created: 2025-03-25 | Updated: 2026-08-05
Lerp
Linear Interpolation in PowerShell
★ 0 | Forks: 0 | Watchers: 0 | Open Issues: 0
Created: 2026-07-14 | Updated: 2026-08-05
- Now officially at two #PowerShell #Math modules in one day! github.com/PoshWeb/Lerp
— @
StandardSiteIndex
An Index of Standard.site Content
★ 0 | Forks: 0 | Watchers: 0 | Open Issues: 3
Created: 2026-01-29 | Updated: 2026-05-22
.github
PowerShellWeb Org
★ 0 | Forks: 0 | Watchers: 0 | Open Issues: 1
Created: 2024-09-28 | Updated: 2024-09-29
View Source
<#
.SYNOPSIS
Gets my GitHub repositories
.DESCRIPTION
Gets my GitHub repositories and displays them as HTML.
.EXAMPLE
./index.html.ps1
.LINK
https://MrPowerShell.com/GitHub
#>
#requires -Module PSDevOps
param(
[string]
$did = 'did:plc:hlchta7bwmobyum375ltycg5',
[string]
$GitHubUserName = 'StartAutomating',
[Alias('GitHubOrgs','GitHubOrg')]
[string[]]
$GitHubOrganizations = @('StartAutomating', 'PowerShellWeb','PoshWeb')
)
$Title = "My GitHub Repos"
$Description = "Most of My GitHub repositories"
if (-not $script:CachedRepoList) {
$script:CachedRepoList = [Ordered]@{}
$connectedToGitHub = Connect-GitHub
$myGitHubInfo = api.github.com/users/<username> -username $GitHubUserName
foreach ($githubOrg in $gitHubOrganizations) {
$script:CachedRepoList[$githubOrg] = api.github.com/users/<username>/repos -username $githubOrg -perPage 100
}
}
$myRepos = @($script:CachedRepoList.Values) | . { process { $_ } }
$myRepos | ConvertTo-Json -Depth 10 | Set-Content -Path $PSScriptRoot/Repos.json
$myReposByPopularity = $myRepos | Where-Object -Not Fork | Sort-Object stargazers_count -Descending
$totalStars = ($myRepos | Measure-Object -Property stargazers_count -Sum).Sum
if (-not $atProtocolData -and $at.AtData) {
$atProtocolData = $at.AtData
}
$postsAboutRepos =
if ($atProtocolData) {
foreach ($message in @($atProtocolData.Tables['app.bsky.feed.post'].Select("did = '$($did -replace '_', ':')'", "createdAt DESC")).message) {
$messageLink = $message.commit.record.embed.external.uri -as [uri]
if (-not $messageLink) { continue }
if ($messageLink.DnsSafeHost -match 'github\.com$') {
$message
}
}
}
$gitHubStats = Invoke-RestMethod https://ghstats.dev/api/card?username=$GitHubUserName
$gitHubStats |
Select-Xml //* |
ForEach-Object {
$node =$_.Node
switch ($node.LocalName) {
circle {
if ($node.Class) {
$node.Class = "foreground-stroke $($node.Class)"
} else {
$node.SetAttribute("class", "foreground-stroke")
}
}
text {
if ($node.Class) {
$node.Class = "foreground-fill $($node.Class)"
} else {
$node.SetAttribute("class", "foreground-fill")
}
}
path {
if ($node.Class) {
$node.Class = "foreground-fill foreground-stroke $($node.Class)"
} else {
$node.SetAttribute("class", "foreground-fill foreground-stroke")
}
}
svg {
$node.SetAttribute("class", "foreground-fill foreground-stroke")
}
style {
$node.InnerText = $node.InnerText -replace 'fill:.+?;'
}
}
}
$gitHubStats.svg.Class += " github-stats"
"<style>"
".github-stats { text-align: center}"
"</style>"
$markdown = @(
"# My GitHub Repositories"
"(I write a lot of code)"
"## Some Stats:"
" * $totalStars ★"
" * [$($myGitHubInfo.followers) followers](https://github.com/$GitHubUserName/?tab=followers)"
" * $($myRepos.Count) public repos"
foreach ($key in $script:CachedRepoList.Keys) {
" * [$($key)](https://github.com/$key/?tab=repositories)($($script:CachedRepoList[$key].Count))"
}
" * $($($myRepos | Where-Object -Not Fork | Measure-Object).Count) of my repos are original"
" * $($($myRepos | Where-Object Fork | Measure-Object).Count) of my repos are forks"
" * $($($myRepos | Measure-Object -Property forks_count -Sum).Sum) forks of my repos"
" * $($($myRepos | Measure-Object -Property watchers_count -Sum).Sum) watchers of my repos"
" * $($($myRepos | Measure-Object -Property open_issues_count -Sum).Sum) open issues in my repos"
) -join [Environment]::NewLine
(ConvertFrom-Markdown -InputObject $markdown).Html
"<style>"
".stats-grid { display: grid; place-items: center; }"
".center-text { text-align: center; }"
"</style>"
"<section class='stats-grid'>"
$gitHubStats.OuterXml
"</section>"
"<h3 class='center-text'>Repos</h3>"
"<style>"
".github-repos { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 2.5em; margin: 2.5em}"
".github-repo-sorter { font-size: 1.5em; text-align: center;}"
".repo-thumbnail { max-width: 100%; height: auto; }"
"</style>"
"<div class='github-repo-sorter'>"
"Sort by:"
"<select id='sort-repos'>"
"<option value='repoRandom'>Random</option>"
"<option value='repoStars' selected>Stars</option>"
"<option value='repoUpdatedAt'>Updated At</option>"
"<option value='repoCreatedAt'>Created At</option>"
"<option value='repoOpenIssues'>Open Issues</option>"
"<option value='repoForks'>Forks</option>"
"<option value='repoName'>Name</option>"
"<option value='repoWatchers'>Watchers</option>"
"</select>"
"<script>"
"document.getElementById('sort-repos').addEventListener('change', function(event) {"
" const sortBy = event.target.value;"
" const container = document.querySelector('.github-repos');"
" const repos = Array.from(container.children);"
" repos.sort((a, b) => {"
" if (sortBy === 'repoStars') {"
" return parseInt(b.dataset.repoStars) - parseInt(a.dataset.repoStars);"
" } else if (sortBy === 'repoForks') {"
" return parseInt(b.dataset.repoForks) - parseInt(a.dataset.repoForks);"
" } else if (sortBy === 'repoOpenIssues') {"
" return parseInt(b.dataset.repoOpenIssues) - parseInt(a.dataset.repoOpenIssues);"
" } else if (sortBy === 'repoName') {"
" return a.dataset.repoName.localeCompare(b.dataset.repoName);"
" } else if (sortBy === 'repoWatchers') {"
" return parseInt(b.dataset.repoWatchers) - parseInt(a.dataset.repoWatchers);"
" } else if (sortBy === 'repoCreatedAt') {"
" return new Date(b.dataset.repoCreatedAt) - new Date(a.dataset.repoCreatedAt);"
" } else if (sortBy === 'repoUpdatedAt') {"
" return new Date(b.dataset.repoUpdatedAt) - new Date(a.dataset.repoUpdatedAt);"
" } else if (sortBy === 'repoRandom') {"
" return Math.random() - 0.5;"
" }"
" return 0;"
" });"
" for (let i = 0; i < repos.length; i++) {"
" repos[i].style.order = i + 1;"
" }"
"});"
"</script>"
"</div>"
"<div class='github-repos'>"
foreach ($repoInfo in $myRepos | Where-Object Fork -Not | Sort-Object stargazers_count -Descending) {
$attributes = [Ordered]@{
'class' = 'github-repo'
'data-repo-name' = $repoInfo.Name
'data-repo-url' = $repoInfo.html_url
'data-repo-stars' = $repoInfo.stargazers_count
'data-repo-forks' = $repoInfo.forks_count
'data-repo-watchers' = $repoInfo.watchers_count
'data-repo-open-issues' = $repoInfo.open_issues_count
'data-repo-created-at' = $repoInfo.created_at.ToString('o')
'data-repo-updated-at' = $repoInfo.updated_at.ToString('o')
}
$attributeString = @(
foreach ($attributeName in $attributes.Keys) {
"$attributeName='$($attributes[$attributeName])'"
}
) -join ' '
"<div $attributeString>"
"<h2><a href='$($repoInfo.html_url)'>$($repoInfo.Name)</a></h2>"
"<p>$([Web.HttpUtility]::HtmlEncode($repoInfo.Description))</p>"
"<p>★ $($repoInfo.stargazers_count) | Forks: $($repoInfo.forks_count) | Watchers: $($repoInfo.watchers_count) | Open Issues: $($repoInfo.open_issues_count)</p>"
"<p>Created: $($repoInfo.created_at.ToString('yyyy-MM-dd')) | Updated: $($repoInfo.updated_at.ToString('yyyy-MM-dd'))</p>"
if ($postsAboutRepos) {
$post = $postsAboutRepos | Where-Object { $_.commit.record.embed.external.uri -match "^$([Regex]::Escape($repoInfo.html_url))" } | Get-Random
if ($post) {
$thumbRef = $post.commit.record.embed.external.thumb.ref.'$link'
$imageTag = if ($thumbRef) {
"<img class='repo-thumbnail' src='https://cdn.bsky.app/img/feed_thumbnail/plain/$($post.did)/$thumbRef@png' alt='Thumbnail' />"
} else { '' }
"<blockquote>$imageTag - $(
[Web.HttpUtility]::HtmlEncode($post.commit.record.text)
) <br/>— <a href='https://bsky.app/profile/$($post.did)/post/$($post.commit.rkey)'>@$($post.author.handle)</a></blockquote>"
}
}
"</div>"
}
"</div>"
#region View Source
"<details id='view-source'>"
"<summary>View Source</summary>"
"<pre><code class='language-powershell'>"
[Web.HttpUtility]::HtmlEncode("$($MyInvocation.MyCommand.ScriptBlock)")
"</code></pre>"
"</details>"
#endregion View Source