powershell-dev-toolkit
Health Uyari
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 5 GitHub stars
Code Gecti
- Code scan — Scanned 2 files during light audit, no dangerous patterns found
Permissions Gecti
- Permissions — No dangerous permissions requested
Bu listing icin henuz AI raporu yok.
A collection of PowerShell productivity scripts for Windows developers. Streamline your workflow with SSH tunneling, project management, AI integration, and 30+ developer commands.
PowerShell Dev Toolkit for Windows
A comprehensive collection of PowerShell productivity scripts for Windows developers. Streamline your development workflow with SSH tunneling, project management, AI integration, and much more.
Features
- SSH Management - Easy SSH connections and database tunneling with credential management
- Development Tools - Auto-detecting dev servers, port management, project detection
- Code Search - Fast project-wide search with smart filtering
- Git Integration - Enhanced git status and branch information
- AI Assistant Integration - Generate AI rules files for Cursor IDE, Claude, and other AI coding assistants
- Log Monitoring - Real-time log file watching with filtering
- Quick Commands - 30+ productivity commands with short aliases
Quick Start
Option A: Install from PowerShell Gallery (recommended)
# Install the module
Install-Module PowerShellDevToolkit -Scope CurrentUser
# Or using the newer PSResourceGet
Install-PSResource PowerShellDevToolkit
# Import it (add this line to your $PROFILE to load automatically)
Import-Module PowerShellDevToolkit
# First-run setup: creates config.json and the creds folder, then opens the config
Initialize-Toolkit
# Store your SSH username and password (encrypted with Windows DPAPI)
New-SSHCredential
# Verify installation
helpme
Option B: Install from source
- Clone the repository
git clone https://github.com/joshuaevan/powershell-dev-toolkit.git
cd powershell-dev-toolkit
- Run the setup script
.\Setup-Environment.ps1
- Create your configuration
Initialize-Toolkit # creates config.json, opens it in your editor
New-SSHCredential # stores your SSH username/password
- Reload your profile
. $PROFILE
Requirements
Essential
- Windows 10/11
- PowerShell 5.1+ (comes with Windows)
- Git - Download
Recommended
- WSL (Windows Subsystem for Linux) - For better SSH support
wsl --install - Notepad++ - For quick file editing - Download
Optional (Install as needed)
- Node.js & npm - For JavaScript/Node projects - Download
- PHP - For PHP/Laravel projects - Download
- Python - For Python projects - Download
- Composer - For PHP dependency management - Download
Configuration
Initialize-Toolkit creates config.json and a creds folder in the toolkit
data folder. Where that is depends on how you installed:
| Install type | Data folder |
|---|---|
| Git clone | The repo root (same as previous versions) |
| PowerShell Gallery | %LOCALAPPDATA%\PowerShellDevToolkit |
Either, with PSDT_HOME set |
$env:PSDT_HOME |
helpme shows the resolved path. Set PSDT_SKIP_UPDATE_CHECK=1 to disable the
startup update check, or set toolkit.updateCheckDays to 0 in config.json.
Key Commands
Toolkit
Initialize-Toolkit # First-run setup (config.json + creds folder)
New-SSHCredential # Store SSH username/password
Update-Toolkit # Update from git or the PowerShell Gallery
SSH & Remote Access
cssh myserver # SSH to server
tunnel myserver postgres # PostgreSQL tunnel (port 5432)
tunnel myserver mysql 3307 # MySQL tunnel with custom local port
cssh <Tab> # Tab-complete server aliases from config.json
Development
serve # Auto-detect & start dev server
serve -Port 8080 # Custom port
port 3000 # Check what's using port 3000
port 3000 -Kill # Kill process on port
search "function login" # Search codebase
gs # Pretty git status
Project Management
context # Generate project summary
context -Copy # Copy to clipboard
proj # Detect project type
useenv # Load .env file
AI Integration
ai-rules php # Generate .airules for PHP (default)
ai-rules laravel -RuleType Cursor # Generate .cursorrules for Laravel
ai-rules react -RuleType Claude # Generate .clauderules for React
ai-rules -Auto # Auto-detect project type
File & Directory
e .\file.ps1 -Line 42 # Edit in Notepad++
touch .\newfile.txt # Create file or update timestamp
ll # Enhanced directory listing
la # List all including hidden
mkcd new-project # Create dir and cd into it
open .\document.pdf # Open with default app
Utilities
which node # Find command location
sudo notepad hosts # Run as administrator
reload # Reload PowerShell profile
grep "pattern" *.ps1 # Search text in files
ip # Show IPv4 addresses
tail .\app.log -Filter "error" # Watch and filter logs
rc -Interactive # Browse command history
Full Command Reference
Run helpme to see all commands, or check the complete documentation.
Configuration
SSH Setup
- Configure servers in
config.json:
{
"ssh": {
"credentialFile": "ssh-credentials.xml",
"servers": {
"myserver": {
"hostname": "server.example.com",
"description": "Production server"
},
"aws-server": {
"hostname": "ec2-xxx.amazonaws.com",
"description": "AWS EC2 instance",
"keyFile": "aws-key.pem"
}
}
}
}
- Store SSH credentials (password auth):
# Create creds directory
New-Item -Path ".\creds" -ItemType Directory -Force
# Store encrypted credentials
$cred = Get-Credential -UserName 'your-ssh-username'
$cred | Export-Clixml '.\creds\ssh-credentials.xml'
- Or use key file authentication (.pem):
# Copy your key file to creds directory
Copy-Item 'C:\path\to\your-key.pem' '.\creds\your-key.pem'
# Still need credential file for username
$cred = Get-Credential -UserName 'ec2-user'
$cred | Export-Clixml '.\creds\ssh-credentials.xml'
Editor Integration
Configure your preferred editor in config.json:
{
"editor": {
"notepadPlusPlus": "C:\\Program Files\\Notepad++\\notepad++.exe"
}
}
Customization
Module Structure
The toolkit is organized as a standard PowerShell module:
PowerShellDevToolkit/
PowerShellDevToolkit.psd1 # Module manifest (version, exports)
PowerShellDevToolkit.psm1 # Root module (auto-loader)
Public/ # Exported functions (one per file)
Private/ # Internal helpers (not exported)
Adding Custom Commands
- Create a new
Verb-Noun.ps1file inPowerShellDevToolkit\Public\ - Wrap your code in a function with the same name
- Add the function name to
FunctionsToExportin the.psd1 - Optionally add an alias in the
.psm1andAliasesToExportin the.psd1 - Run
Import-Module .\PowerShellDevToolkit -Forceto reload
Extending SSH Servers
Edit config.json to add more servers:
"servers": {
"prod": {
"hostname": "prod.example.com",
"description": "Production"
},
"staging": {
"hostname": "staging.example.com",
"description": "Staging"
},
"aws": {
"hostname": "ec2-xxx.amazonaws.com",
"description": "AWS EC2",
"keyFile": "aws-key.pem"
}
}
Note: For key file auth, place
.pemfiles in.\creds\and setkeyFilein config.
Testing
Run the full test suite locally with one command:
.\Invoke-Tests.ps1
Tests also run automatically on every push and pull request via GitHub Actions CI.
Documentation
Contributing
Contributions are welcome! Please feel free to submit a Pull Request. For major changes:
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Troubleshooting
Scripts won't execute
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
SSH commands not working
- Check if WSL is installed:
wsl --version - If not, install Posh-SSH:
Install-Module -Name Posh-SSH - Verify credentials file exists:
Test-Path .\creds\ssh-credentials.xml
Missing commands after setup
# Reload your profile
. $PROFILE
# Or rerun setup
.\Setup-Environment.ps1 -UpdateProfile
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- Built for developers who love PowerShell or Have no choice but to use it
- Inspired by Unix productivity tools
- Optimized for Windows 10/11 development environments
Support
- Issues: GitHub Issues
- Discussions: GitHub Discussions
Made for Windows developers
Star this repo if you find it helpful!
Yorumlar (0)
Yorum birakmak icin giris yap.
Yorum birakSonuc bulunamadi