Keep your PowerShell development environments perfectly synchronized across all your machines
Tired of manually syncing your development environment across multiple machines?
We've all been there - following lengthy OneNote instructions, manually installing tools, copy-pasting configurations, and hoping you didn't miss anything. Every new machine or reinstall meant hours of tedious setup work.
PowerShell DevKit eliminates that pain:
- ✅ One command to set up your complete environment
- ✅ Git-based configuration keeps everything in sync
- ✅ Automatic updates across all your machines
- ✅ Intelligent recovery when things go wrong
- ✅ Consistent experience whether you're on your desktop, laptop, or fresh Windows install
Clone once, run Setup.ps1, and you're done. Your perfect PowerShell environment, reproduced identically everywhere.
- Single Source of Truth - Git repository manages all configurations
- Multi-Machine Ready - Same setup on desktop, laptop, and VMs
- Update Once, Deploy Everywhere - Push changes, pull on other machines
- No Manual Steps - Automated installation and configuration
- Component-Based Design - Modular, maintainable, and extensible
- Intelligent Failure Recovery - Detailed logging with smart suggestions
- Shared Component Library - Single source of truth for all scripts
- Comprehensive Testing - Built-in validation and diagnostics
- One-Command Setup - Complete environment in minutes
- Automatic Updates - Keep everything current with
Update.ps1 - Dependency Management - Intelligent package manager integration
- Failure Diagnostics - Advanced troubleshooting with actionable suggestions
- oh-my-posh Themes - Beautiful, informative prompts
- Git Integration - Visual git status and branch information
- Smart Navigation - zoxide for intelligent directory jumping
- Fuzzy Finding - Advanced file and history search
- Yazi File Manager - Modern, fast, git-aware file browser
- Native Package Management - Uses Yazi's built-in
ya pkgsystem - Git-Based Configuration - Separate repository for easy sharing
- Automatic Updates - Keep everything current with one command
- oh-my-posh - Prompt theme engine with git integration
- Yazi - Modern terminal file manager with git-managed config
- fzf - Fuzzy finder for files and command history
- zoxide - Smart directory navigation (learns your habits)
- PSFzf - Fuzzy finding integration for PowerShell
- Terminal-Icons - Beautiful file and folder icons
- F7History - Enhanced command history search
- posh-git - Git status in your prompt
- Git-managed configuration - Auto-synced across machines
- Auto-installed plugins - git, githead (custom fork with bug fixes)
- Themes - flexoki-light, vscode-dark-plus
- Optional enhancements - FFmpeg, 7-Zip, jq, Poppler, fd, ripgrep, ImageMagick
# 1. Clone the repository
git clone https://github.com/Tsabo/PowerShell-DevKit.git
cd PowerShell-DevKit
# 2. Run setup (as Administrator recommended)
.\Scripts\Setup.ps1
# 3. Reload your profile
. $PROFILE-
🚀 Getting Started
- Quick Start - Get running in 5 minutes
- Installation - Detailed setup guide
- Requirements - What you need
-
📦 Components
- Overview - All installed components
- oh-my-posh - Prompt theming
- Yazi - File manager
- PowerShell - Profile configuration
- Optional Components - Extra tools
-
📜 Scripts
- Overview - Script comparison
- Setup.ps1 - Installation
- Test.ps1 - Validation
- Update.ps1 - Updates
- Deploy-Terminal.ps1 - Terminal config
-
⚙️ Configuration
- Customization Guide - Overview
- Custom Modules - Your own modules
- Custom Profile - Personal settings
- Themes - Visual customization
-
🏗️ Architecture
- System Overview - Design principles
- Components - Component system
- Failure Recovery - Error handling
-
💻 Development
- Contributing - How to contribute
- Developer Reference - Command cheatsheet
- Testing - Testing procedures
-
❓ Help
- Troubleshooting - Common issues
- FAQ - Frequently asked questions
!!! success "Eliminate Manual Setup" Stop following lengthy OneNote instructions. One command sets up your complete development environment, consistently across all machines.
!!! tip "Stay Synchronized" Git-based configuration means your environment stays in sync. Update on one machine, pull on others. No more configuration drift.
!!! info "Enterprise-Grade Quality" Production-ready practices: comprehensive error handling, detailed logging, intelligent recovery suggestions, and extensive testing.
!!! example "Modern Tools" Seamlessly integrates the best modern CLI tools with smart defaults. Everything just works together.
We welcome contributions! Whether it's bug fixes, new features, improved documentation, or sharing your custom configurations.
How to Contribute:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Run validation:
.\Scripts\Validate-Code.ps1 - Test your changes:
.\Scripts\Test.ps1 - Commit with conventional commits (
git commit -m 'feat: add amazing feature') - Push to your branch
- Open a Pull Request
Resources:
- Contributing Guide - Detailed contribution workflow
- Developer Reference - Command cheatsheet and best practices
- Testing Guide - How to test your changes
Ideas for Contributions:
- Additional component integrations
- Enhanced failure recovery suggestions
- New custom PowerShell modules
- Improved Yazi configurations
- Theme customizations
- Documentation improvements
This project is licensed under the MIT License - see the LICENSE file for details.
Made with ❤️ for PowerShell developers who value their time
Documentation • GitHub • Issues • Discussions