Skip to content

Latest commit

 

History

History
242 lines (165 loc) · 8.19 KB

File metadata and controls

242 lines (165 loc) · 8.19 KB

PowerShell DevKit

PowerShell 7+ License MIT Windows

Keep your PowerShell development environments perfectly synchronized across all your machines

Quick Start View on GitHub


🎯 The Problem It Solves

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.


✨ Key Features

🔄 Environment Synchronization

  • 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

🏗️ Enterprise Architecture

  • 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

🎯 Smart Automation

  • 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

🎨 Rich Terminal Experience

  • 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

🗂️ Modern Tooling

  • Yazi File Manager - Modern, fast, git-aware file browser
  • Native Package Management - Uses Yazi's built-in ya pkg system
  • Git-Based Configuration - Separate repository for easy sharing
  • Automatic Updates - Keep everything current with one command

📦 What's Included

Core Tools

  • 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)

PowerShell Modules

  • 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

Yazi Ecosystem

  • 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

View all components →


🚀 Quick Start

# 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

Detailed installation guide →


📚 Documentation


💡 Why PowerShell DevKit?

!!! 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.


🤝 Contributing

We welcome contributions! Whether it's bug fixes, new features, improved documentation, or sharing your custom configurations.

How to Contribute:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Make your changes
  4. Run validation: .\Scripts\Validate-Code.ps1
  5. Test your changes: .\Scripts\Test.ps1
  6. Commit with conventional commits (git commit -m 'feat: add amazing feature')
  7. Push to your branch
  8. Open a Pull Request

Resources:

Ideas for Contributions:

  • Additional component integrations
  • Enhanced failure recovery suggestions
  • New custom PowerShell modules
  • Improved Yazi configurations
  • Theme customizations
  • Documentation improvements

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.


Made with ❤️ for PowerShell developers who value their time

DocumentationGitHubIssuesDiscussions