A collection of utility scripts organized by programming language, designed for automation and infrastructure management tasks.
.
├── python/ # Python scripts and utilities
├── powershell/ # PowerShell scripts and utilities
├── node/ # Node.js scripts and utilities (placeholder)
├── docs/ # Documentation and conventions
└── output/ # Output directory for generated files
Python scripts are located in python/scripts/ with shared utilities in python/lib/.
Setup:
# Optional: Create and activate virtual environment
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install dependencies
pip install -r python/requirements.txtAvailable Scripts:
prune_glacier_vault.py- Deletes all archives from an AWS Glacier vault
See python/README.md for detailed documentation.
PowerShell scripts are located in powershell/scripts/.
Linting:
Invoke-ScriptAnalyzer -Path powershell -Settings powershell/PSScriptAnalyzerSettings.psd1See powershell/README.md for more information.
Node.js scripts will be located in node/scripts/. Currently a placeholder for future tools.
Setup:
cd node && npm installSee node/README.md for more information.
This repository follows specific conventions for structure, naming, and development practices. Please review docs/CONVENTIONS.md before contributing.
Key conventions:
- Scripts are organized in language-specific folders (python/, powershell/, node/) with
scripts/subdirectories - Use kebab-case for script filenames
- Keep secrets in
.envfiles (not committed to version control) - Add dry-run flags for destructive operations
- Place shared modules in
lib/folders
The output/ directory is used for storing generated files, logs, and artifacts. All files in this directory are git-ignored except for the .gitignore file itself.
When adding new scripts:
- Place them in the appropriate language folder's
scripts/subdirectory (e.g., python/scripts/) - Update the language-specific README with documentation
- Include usage examples and command-line options
- Add tests where applicable
- Follow the naming and structure conventions
See repository license for details.