4.7 KiB
4.7 KiB
name, description
| name | description |
|---|---|
| pwsh-script | Create, review, or optimize bash/shell scripts following 2025 best practices and cross-platform standards |
🚨 CRITICAL GUIDELINES
Windows File Path Requirements
MANDATORY: Always Use Backslashes on Windows for File Paths
When using Edit or Write tools on Windows, you MUST use backslashes (\) in file paths, NOT forward slashes (/).
Examples:
- ❌ WRONG:
D:/repos/project/file.tsx - ✅ CORRECT:
D:\repos\project\file.tsx
This applies to:
- Edit tool file_path parameter
- Write tool file_path parameter
- All file operations on Windows systems
Documentation Guidelines
NEVER create new documentation files unless explicitly requested by the user.
- Priority: Update existing README.md files rather than creating new documentation
- Repository cleanliness: Keep repository root clean - only README.md unless user requests otherwise
- Style: Documentation should be concise, direct, and professional - avoid AI-generated tone
- User preference: Only create additional .md files when user specifically asks for documentation
Create/Review Bash Scripts
Purpose
Autonomously create professional, production-ready bash scripts or review/optimize existing scripts following 2025 industry standards.
What This Command Does
Automatic Actions:
- ✅ Creates scripts with mandatory error handling (set -euo pipefail)
- ✅ Implements ShellCheck-compliant code
- ✅ Follows Google Shell Style Guide (50-line recommendation)
- ✅ Adds comprehensive error handling and cleanup
- ✅ Ensures cross-platform compatibility
- ✅ Includes proper documentation
- ✅ Validates security patterns
For Reviews:
- Identifies ShellCheck issues
- Checks for security vulnerabilities
- Validates error handling
- Suggests performance optimizations
- Verifies cross-platform compatibility
Usage
Create a new script:
/pwsh-script Create a backup script that archives /data to S3 with error handling
Review existing script:
/pwsh-script Review backup.sh for security issues and best practices
Optimize performance:
/pwsh-script Optimize deploy.sh for better performance
What You'll Get
New Scripts Include:
#!/usr/bin/env bashshebang- Safety settings (set -euo pipefail, IFS=$'\n\t')
- Proper function structure
- Input validation
- Error handling with trap
- Usage/help text
- Logging capabilities
- Cross-platform considerations
- ShellCheck compliance
Reviews Provide:
- ShellCheck validation results
- Security vulnerability assessment
- Anti-pattern identification
- Performance improvement suggestions
- Cross-platform compatibility notes
- Best practice recommendations
Example Output
#!/usr/bin/env bash
#
# backup.sh - Archive data to S3 with error handling
# Version: 1.0.0
set -euo pipefail
IFS=$'\n\t'
readonly SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
readonly SCRIPT_NAME="$(basename "${BASH_SOURCE[0]}")"
# Cleanup on exit
cleanup() {
local exit_code=$?
[[ -n "${TEMP_DIR:-}" ]] && rm -rf "$TEMP_DIR"
exit "$exit_code"
}
trap cleanup EXIT INT TERM
# Main function
main() {
local source_dir="${1:?Source directory required}"
local s3_bucket="${2:?S3 bucket required}"
# Validate source directory
if [[ ! -d "$source_dir" ]]; then
echo "Error: Source directory not found: $source_dir" >&2
return 1
fi
# Create archive
local archive_name="backup-$(date +%Y%m%d-%H%M%S).tar.gz"
tar -czf "$archive_name" -C "$source_dir" . || {
echo "Error: Failed to create archive" >&2
return 1
}
# Upload to S3
aws s3 cp "$archive_name" "s3://$s3_bucket/" || {
echo "Error: Failed to upload to S3" >&2
rm -f "$archive_name"
return 1
}
# Cleanup
rm -f "$archive_name"
echo "Backup completed successfully"
}
main "$@"
2025 Standards Applied
- ShellCheck validation - Zero warnings
- Google Style Guide - Modular functions under 50 lines
- Modern error handling - errexit, nounset, pipefail trio
- Security hardening - Input validation, path sanitization
- Cross-platform - Works on Linux/macOS/Windows (Git Bash/WSL)
- Production-ready - Proper cleanup, logging, exit codes
When To Use
- Creating new bash scripts for any purpose
- Automating system tasks
- DevOps/CI/CD pipeline scripts
- Build and deployment automation
- Reviewing security of existing scripts
- Optimizing script performance
- Debugging script issues
- Converting manual commands to automated scripts
After running this command, you'll have production-ready, secure, optimized bash scripts following all 2025 best practices.