My GitHub Repositories
(I write a lot of code)
Some Stats:
- 1756 ★
- 535 followers
- 122 public repos
- StartAutomating(89)
- PowerShellWeb(16)
- PoshWeb(17)
- 92 of my repos are original
- 30 of my repos are forks
- 299 forks of my repos
- 1756 watchers of my repos
- 1984 open issues in my repos
PSDevOps
PowerShell Tools for DevOps
★ 149 | Forks: 31 | Watchers: 149 | Open Issues: 44
Created: 2019-11-17 | Updated: 2026-01-29
- That PSDevOps module lets you define your steps in isolated script files.... Bonus points of this approach include debugging and syntax highlighting. Bash and PowerShell are both supported. github.com/StartAutomat...
— @
Irregular
Regular Expressions made Strangely Simple
★ 109 | Forks: 9 | Watchers: 109 | Open Issues: 44
Created: 2019-09-16 | Updated: 2026-02-15
- There's also this #PowerShell module I use for #regex generation that's pretty darn popular. Has over a hundred complicated expressions to use, and New-Regex is your best friend. Unfortunately this has turned me into a #regex monster 👾 github.com/StartAutomat...
— @
PipeScript
A Metaprogramming Language for PowerShell (and anything else)
★ 105 | Forks: 8 | Watchers: 105 | Open Issues: 370
Created: 2022-06-21 | Updated: 2026-02-09
- Cool! I don't mean to dissuade, and I do regret to inform you: The PowerShell "Simpsons / James did it first joke" is true in this case as well. I included an OpenAPI PowerShell generator in PipeScript a couple of years ago. Several other protocols are also supported. 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.
★ 90 | Forks: 8 | Watchers: 90 | Open Issues: 48
Created: 2022-03-18 | Updated: 2026-02-23
- Cool. Public fyi, if you use ugit, git returns objects in #powershell `git branch | get-member` github.com/StartAutomat... Contributions welcome.
— @
EZOut
EZOut is a PowerShell module to help take the pain out of writing format and types XML
★ 73 | Forks: 8 | Watchers: 73 | Open Issues: 48
Created: 2014-05-05 | Updated: 2026-02-21
- Yeah, you won't be able to make their commands pipe cleanly without work. But for just playing the "which is it" whack-a-mole, looking at the type will answer that question and help you whack the mole. Update-TypeData is the command that does it interactively. Or you can use EZOut
— @
obs-powershell
Script OBS with PowerShell
★ 72 | Forks: 4 | Watchers: 72 | Open Issues: 51
Created: 2022-12-09 | Updated: 2026-02-13
- Ummm... Not _exactly_ github.com/StartAutomat... Works over their websocket api, and can connect to any obs instance with the port open on any network 😎 Have fun!
— @
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
- I feel you... part of why I haven't come back to it. That and wanting other people to have a chance to make a mark. Here's the _very_ old Pipeworks Invoke-Parallel (at least 12 years old now [almost a teenager]) github.com/StartAutomat...
— @
Posh
PowerShell made Posh
★ 69 | Forks: 6 | Watchers: 69 | Open Issues: 98
Created: 2023-07-20 | Updated: 2026-02-15
- I'm thinking of adding a list of #PowerShell blogs to #Posh. If anyone has a recommendation of some (with an RSS feed), it would be greatly appreciated. https://github.com/StartAutomating/Posh
— @
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...
— @
PowerArcade
A Retro Arcade Game Console in PowerShell
★ 65 | Forks: 0 | Watchers: 65 | Open Issues: 4
Created: 2020-04-01 | Updated: 2026-01-04
- Btw, for an "older" answer. Here's what I wrote in 2020 as a functional April Fools Day joke: github.com/StartAutomat...
— @
Benchpress
Easy Benchmarking with PowerShell
★ 59 | Forks: 4 | Watchers: 59 | Open Issues: 11
Created: 2019-03-23 | Updated: 2026-02-12
- Want to compare and contrast #performance of a #PowerShell script? There's a module for that: github.com/StartAutomat...
— @
ScriptDeck
PowerShell Tools for Elgato StreamDeck
★ 53 | Forks: 14 | Watchers: 53 | Open Issues: 62
Created: 2021-03-31 | Updated: 2026-02-12
- 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)
— @
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
PSSVG
Script SVGs with PowerShell
★ 41 | Forks: 2 | Watchers: 41 | Open Issues: 120
Created: 2022-09-08 | Updated: 2025-12-17
- Yeah, it's pretty neat. While you're at it, you might want to know about a couple of other repos I make. PixelPosh is built atop PSSVG GitHub.com/StartAutomat... That's a basically full wrapper of the #SVG standard in #PowerShell, with a good batch of examples.
— @
ShowDemo
A simple tool to showcase your scripts.
★ 40 | Forks: 2 | Watchers: 40 | Open Issues: 15
Created: 2022-12-03 | Updated: 2025-11-24
- Never typo during a talk again ShowDemo
— @
RoughDraft
A Fun PowerShell Module for Multimedia (using FFMpeg)
★ 39 | Forks: 3 | Watchers: 39 | Open Issues: 50
Created: 2021-11-29 | Updated: 2026-02-25
- I'm always curious about #PowerShell and #ffmpeg rabbit holes. What did you end up doing ? If you want, feel free to file an issue / open a PR and I'll add it to GitHub.com/StartAutomat...
— @
Eventful
Easy Eventful PowerShell
★ 37 | Forks: 1 | Watchers: 37 | Open Issues: 13
Created: 2021-11-02 | Updated: 2025-12-22
HelpOut
A Helpful Toolkit for Managing PowerShell Help
★ 35 | Forks: 4 | Watchers: 35 | Open Issues: 20
Created: 2019-06-18 | Updated: 2026-01-09
- #PowerShell just got a little more helpful: HelpOut 0.5.2 is out! https://github.com/StartAutomating/HelpOut
— @
PowerShellAI
PowerShell meets GPT - Artificial Intelligence
★ 35 | Forks: 103 | Watchers: 35 | Open Issues: 0
Created: 2023-01-12 | Updated: 2026-02-03
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
★ 24 | Forks: 4 | Watchers: 24 | Open Issues: 10
Created: 2020-01-21 | Updated: 2025-12-20
- 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).
— @
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
★ 20 | Forks: 0 | Watchers: 20 | Open Issues: 31
Created: 2024-04-03 | Updated: 2026-02-13
- Rock #Docker with #PowerShell github.com/StartAutomat...
— @
WebSocket
Work with WebSockets in PowerShell
★ 20 | Forks: 1 | Watchers: 20 | Open Issues: 19
Created: 2024-11-27 | Updated: 2026-02-19
- For a bit more fun, you can also create a #WebSocket server/client with #PowerShell and HttpListener. GitHub.com/PowerShellWe... Gonna be using that to add a #Turtle #Graphics server to another project ( probably build after next )
— @
LightScript
Smarter Lighting with PowerShell
★ 19 | Forks: 4 | Watchers: 19 | Open Issues: 57
Created: 2021-12-23 | Updated: 2025-11-17
- 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...
— @
TerminalVelocity
Fine tuning Windows Terminal
★ 19 | Forks: 1 | Watchers: 19 | Open Issues: 3
Created: 2020-05-14 | Updated: 2026-01-09
- 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.
— @
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
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...
— @
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: 0
Created: 2014-05-07 | Updated: 2026-01-09
Emoji
⟩⚡PowerShell Emoji 😎😉😍🥰🤔😟
★ 15 | Forks: 0 | Watchers: 15 | Open Issues: 23
Created: 2024-02-20 | Updated: 2026-01-09
- Nifty post. Wondering where you first ran across the technique (especially since it's one I proved the concept of ~2 years ago) github.com/StartAutomat... (beware of anyone using Set-Emoji) Everything #PowerShell can do has a dark side. IMO, It's not always wise to give people ideas explicitly.
— @
Turtle
Turtle Graphics in PowerShell
★ 14 | Forks: 5 | Watchers: 14 | Open Issues: 20
Created: 2025-07-23 | Updated: 2026-02-23
Piecemeal
Easy Extensible Plugins for PowerShell
★ 14 | Forks: 1 | Watchers: 14 | Open Issues: 2
Created: 2021-12-19 | Updated: 2025-05-21
PSMetrics
A Module for Metrics in PowerShell
★ 12 | Forks: 1 | Watchers: 12 | Open Issues: 12
Created: 2023-04-25 | Updated: 2025-10-06
CodeCraft
CodeCraft is a Powershell module full of code generators that helps you crank out tedious code.
★ 12 | Forks: 5 | Watchers: 12 | Open Issues: 0
Created: 2014-05-05 | Updated: 2023-09-16
PSPrettifier
Prettify your PowerShell
★ 11 | Forks: 0 | Watchers: 11 | Open Issues: 10
Created: 2022-09-28 | Updated: 2025-05-21
GitPub
Easily Automate Publishing from GitHub
★ 10 | Forks: 2 | Watchers: 10 | Open Issues: 6
Created: 2022-10-10 | Updated: 2026-01-19
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
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
StartAutomating
Save Time, Save Money, Start Automating.
★ 8 | Forks: 0 | Watchers: 8 | Open Issues: 41
Created: 2022-08-28 | Updated: 2025-10-06
PSA
PowerShell Announcements (with AtProtocol)
★ 8 | Forks: 1 | Watchers: 8 | Open Issues: 31
Created: 2023-09-12 | Updated: 2026-01-19
- Cool, and also, I put that out about a year ago in the PSA module. github.com/StartAutomat... Great minds, amiright ?
— @
MarkX
MarkX - Markdown, XML, and PowerShell
★ 8 | Forks: 1 | Watchers: 8 | Open Issues: 4
Created: 2025-12-24 | Updated: 2026-02-26
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
Servers101
Simple Servers in PowerShell
★ 7 | Forks: 1 | Watchers: 7 | Open Issues: 5
Created: 2025-12-07 | Updated: 2026-02-26
- 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.
— @
PSJekyll
PowerShell Tools for Jekyll
★ 7 | Forks: 0 | Watchers: 7 | Open Issues: 31
Created: 2024-09-30 | Updated: 2026-02-11
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
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: 64
Created: 2024-12-21 | Updated: 2026-02-28
- Every once in a while I make a commit message that is kinda epic in it's own right.... github.com/StartAutomat... 😂 Might as well add it to the git log for posterity. 😂
— @
PoshMacros
Sleek and Simple PowerShell Macros
★ 5 | Forks: 0 | Watchers: 5 | Open Issues: 0
Created: 2020-02-09 | Updated: 2023-09-16
ollama-powershell
Ollama PowerShell: Play with AI in PowerShell
★ 5 | Forks: 2 | Watchers: 5 | Open Issues: 0
Created: 2025-03-02 | Updated: 2026-01-29
- 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...
— @
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
- Need to look for #Glassworm or other nefarious invisible scripts? Want to learn more about this new technique attackers can use to hide? I went and made a module for Glass. Be ready for the next #Glassware #Malware attack. github.com/StartAutomat... #CyberSecurity #InfoSec #PowerShell
— @
PSAdapter
Adapt anything into PowerShell Commands
★ 4 | Forks: 1 | Watchers: 4 | Open Issues: 33
Created: 2024-09-08 | Updated: 2026-01-24
- Last night I did a late name drop of an old #PowerShell tool that had been gathering dust on the shelf. GitHub.com/StartAutomat... Learn how to use Cmdlet Adapters and XML to open up whole ecosystems with a small amount of code.
— @
PS3D
PowerShell Tools for 3D Printing
★ 4 | Forks: 0 | Watchers: 4 | Open Issues: 76
Created: 2022-04-25 | Updated: 2025-08-21
PowRoku
Script your Roku with PowerShell
★ 4 | Forks: 0 | Watchers: 4 | Open Issues: 3
Created: 2021-08-03 | Updated: 2025-07-27
TerminalTunes
A Music Player for Terminals
★ 4 | Forks: 1 | Watchers: 4 | Open Issues: 34
Created: 2022-09-24 | Updated: 2026-02-26
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
- Another day, another fun #powershell #pwsh module. Fresh out of the pipeline, I give you all WhereFor: github.com/StartAutomat... Run multiple Where-Object/Foreach-Objects in multiple object pipelines. Happy Scripting!
— @
JSON-LD
Get JSON Linked Data with PowerShell
★ 3 | Forks: 0 | Watchers: 3 | Open Issues: 4
Created: 2025-03-16 | Updated: 2026-02-11
oEmbed
Open Embedding with PowerShell
★ 2 | Forks: 0 | Watchers: 2 | Open Issues: 6
Created: 2025-03-15 | Updated: 2026-02-11
OpenGraph
Get OpenGraph with PowerShell
★ 2 | Forks: 1 | Watchers: 2 | Open Issues: 2
Created: 2025-03-16 | Updated: 2026-02-11
PoshWeb
Cool Indie WebDev Tools with PowerShell
★ 2 | Forks: 0 | Watchers: 2 | Open Issues: 0
Created: 2026-02-21 | Updated: 2026-02-26
GQL
Get GraphQL in PowerShell
★ 2 | Forks: 0 | Watchers: 2 | Open Issues: 5
Created: 2024-12-16 | Updated: 2026-02-11
AI
Automate AI with PowerShell
★ 2 | Forks: 1 | Watchers: 2 | Open Issues: 0
Created: 2025-02-23 | Updated: 2025-12-17
SearchScript
Search PowerShell Scripts
★ 2 | Forks: 0 | Watchers: 2 | Open Issues: 0
Created: 2025-12-12 | Updated: 2025-12-22
- Hey #PowerShell people and #CyberSecurity professionals: I made a quick little module to search scripts, so we can find and fix potential CVE-2025-54100 related problems (or other dangerous anti-patterns, like Invoke-Expression). Hope this Helps! github.com/StartAutomat...
— @
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-02-19
- 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!
— @
formulaic
Formulaic is a PowerShell module containing useful math, physics, and statistcs functions
★ 2 | Forks: 2 | Watchers: 2 | Open Issues: 24
Created: 2014-04-30 | Updated: 2025-05-21
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
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
AtPowerShellSummit
What happens at PowerShell Summit
★ 1 | Forks: 1 | Watchers: 1 | Open Issues: 2
Created: 2025-04-06 | Updated: 2026-02-27
MathML
PowerShell and MathML
★ 1 | Forks: 0 | Watchers: 1 | Open Issues: 0
Created: 2025-10-02 | Updated: 2026-02-11
4kbMarkdownFiles
Performance Testing Parsing of 4kb Markdown Files
★ 1 | Forks: 2 | Watchers: 1 | Open Issues: 3
Created: 2026-01-14 | Updated: 2026-02-23
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
— @
Vector
Vectors in PowerShell
★ 1 | Forks: 0 | Watchers: 1 | Open Issues: 0
Created: 2025-10-04 | Updated: 2026-02-11
PowerShellWeb
PowerShell Web Development
★ 1 | Forks: 0 | Watchers: 1 | Open Issues: 30
Created: 2024-11-03 | Updated: 2024-12-04
HtmxPS
Script Htmx and PowerShell Microservices
★ 1 | Forks: 0 | Watchers: 1 | Open Issues: 47
Created: 2024-10-21 | Updated: 2024-10-22
Shuffle
Simple Shuffle with PowerShell
★ 1 | Forks: 0 | Watchers: 1 | Open Issues: 0
Created: 2025-12-07 | Updated: 2026-01-03
Shape
CSS Shapes with PowerShell
★ 0 | Forks: 0 | Watchers: 0 | Open Issues: 1
Created: 2026-01-04 | Updated: 2026-02-11
Reptile
Read Evaluate Print Terminal Input Loop Editor - A Scaley Simple PowerShell Data REPL.
★ 0 | Forks: 1 | Watchers: 0 | Open Issues: 7
Created: 2025-12-30 | Updated: 2026-02-22
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.
— @
.github
PowerShellWeb Org
★ 0 | Forks: 0 | Watchers: 0 | Open Issues: 1
Created: 2024-09-28 | Updated: 2024-09-29
OpenXML
Automate OpenXML with PowerShell
★ 0 | Forks: 1 | Watchers: 0 | Open Issues: 30
Created: 2025-10-14 | Updated: 2026-02-22
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...
— @
Badger
Build Badges in PowerShell
★ 0 | Forks: 0 | Watchers: 0 | Open Issues: 33
Created: 2024-12-11 | Updated: 2024-12-11
Neocities
Personal Webpages in PowerShell
★ 0 | Forks: 0 | Watchers: 0 | Open Issues: 0
Created: 2025-03-25 | Updated: 2026-02-11
EditFont
Manage and Manipulate fonts with PowerShell
★ 0 | Forks: 0 | Watchers: 0 | Open Issues: 1
Created: 2025-09-14 | Updated: 2025-09-22
Organize
Get Organized - Fast Grouping by multiple conditions
★ 0 | Forks: 0 | Watchers: 0 | Open Issues: 1
Created: 2026-01-05 | Updated: 2026-01-05
- The slightly more recent #PowerShell release is a little mini module for multiple groups: github.com/StartAutomat... Quickly create nested groupings with natural syntax: For example: ~~~PowerShell dir -Recurse -File | organize LastWriteTime.Year/Month/Day ~~~
— @
PechaKucha
PechaKucha Presentations with PowerShell
★ 0 | Forks: 0 | Watchers: 0 | Open Issues: 3
Created: 2025-01-21 | Updated: 2025-01-21
- As for how broken this can be... Last year I gave a #PechaKucha on #SVG (and a bit of #PowerShell) Still need to drop the scripts, but I was able to put the whole 6:40 PechaKucha into a GitHub Issue: github.com/StartAutomat...
— @
Subtitles
Script Subtitles with PowerShell.
★ 0 | Forks: 0 | Watchers: 0 | Open Issues: 4
Created: 2025-12-23 | Updated: 2025-12-24
- Hey #PowerShell people, #accessibility aficionados, and #cybersecurity engineers: In light of the whole "One Battle After Another" thing, I made a module for Subtitles. 🎁 github.com/StartAutomat... Supports #SRT and #VTT 🎁 Lets you Get, Export, and Search-Subtitles. 🎄 #xmas #gift #merryxmas
— @
StandardSiteIndex
An Index of Standard.site Content
★ 0 | Forks: 0 | Watchers: 0 | Open Issues: 3
Created: 2026-01-29 | Updated: 2026-02-27
Gradient
Gradient Generation with PowerShell
★ 0 | Forks: 0 | Watchers: 0 | Open Issues: 3
Created: 2025-12-29 | Updated: 2026-02-23
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
}
}
}
$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>"
".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