Scriptman is a command-line tool that manages single-file scripts downloaded from GitHub repositories. It wraps scripts with native executables, providing central management, updates, and clean removal.
Platform support: Unix-only (Linux, macOS, BSD). No Windows support.
- Central management - Track installed scripts and their origins
- Updates - Re-fetch latest version from GitHub with one command
- Clean removal - Remove script and wrapper together
- Name mapping - Install
owner/repo/scripts/long-name.pyas justtool - Interpreter binding - Specify interpreter at install time, not in shebang
Install via execman:
execman install github.com/sfkleach/scriptmanOr download from releases.
scriptman install owner/repo scripts/tool.pyWith options:
scriptman install owner/repo scripts/tool.py --name mytool --interpreter python3scriptman listscriptman update mytoolscriptman remove mytoolscriptman checkScriptman uses a hybrid wrapper strategy:
- With C compiler: Generates and compiles a tiny C binary with paths baked in
- Without compiler: Creates a shell script + hardlink to scriptman binary
Both approaches avoid runtime registry lookups - paths are baked into the wrapper at install time.
| Tool | Purpose |
|---|---|
| execman | Manages standalone executables from GitHub releases |
| scriptman | Manages scripts from GitHub, wrapped as executables |
Scriptman uses execman as a library for shared infrastructure (GitHub API, registry patterns, configuration).
MIT License - see LICENSE for details.