A collection of useful tools and scripts in various languages (mainly shell) covering different development purposes.
pkgman/- Universal package manager CLI with state tracking across 13 managers; manifest-driveninstall/upgrade/sync --prune/adoptsem-ver/- Semantic version bumping and managementgit-tag/- Git tag management with semantic versioningver-kit/- Universal version extraction and update toolkitlib/common/loam/- Generic bash stdlib (logging, OS detection, filesystem, networking).template/- Template for creating new tools (also tested)
These are tools and scripts in various languages (mainly shell) covering different development purposes. Each tool is:
- Generic - Useful across different projects
- Long-term - Built to last and remain relevant
- Well-tested - Includes comprehensive tests
- Documented - Each tool has its own README
# Clone the shed
git clone https://github.com/budhash/shed.git
cd shed
# Use any tool directly
./${tool-name}/${tool-name} -h
# Or install individual tools to PATH
curl -o /usr/local/bin/${tool-name} https://raw.githubusercontent.com/budhash/shed/main/${tool-name}/${tool-name}
chmod +x /usr/local/bin/${tool-name}Each tool follows a consistent structure:
tool-name/
├── tool-name # The main executable script
├── tests.sh # Test suite (sources common framework)
├── README.md # Tool-specific documentation
└── examples/ # Usage examples (if applicable)
.template/ # Template files for new tools
├── template # Template script
├── tests.sh # Template test suite
└── README.md # Template documentation
.common/ # Shared utilities and helper scripts
├── test-driver # Test driver for all tools
└── test-common # Common test framework (sourced by tests.sh)
tools.txt # Tool registry (tool-name:description)
Makefile # Build automation
tool-template # Generated template script
Each tool is designed to work independently. Check the tool's README for specific usage:
# Get help for any tool
./${tool-name}/${tool-name} -h
# Read detailed documentation
cat ${tool-name}/README.md
# Run tests
cd ${tool-name} && ./tests.shgit clone https://github.com/budhash/shed.git
./${tool-name}/${tool-name} -h# Install specific tools to PATH
curl -o /usr/local/bin/${tool-name} https://raw.githubusercontent.com/budhash/shed/main/${tool-name}/${tool-name}
chmod +x /usr/local/bin/${tool-name}
# Or symlink from local clone
ln -s $(pwd)/${tool-name}/${tool-name} /usr/local/bin/The shed includes a robust testing framework:
# Run lint on all tools
make lint
# Run all tools' tests
make test
# Run individual tool tests
cd git-tag && ./tests.sh- bash 3.2+ (for macOS compatibility)
- Standard Unix tools (sed, awk, grep, etc.)
- Tool-specific dependencies - See individual tool READMEs
The shed repository structure and shared utilities are licensed under MIT.
Note: Individual tools may have their own specific licenses. Check each tool's directory for its license file if different from the repository default.
🔧 Keep your shed stocked with useful tools! 🔧