package manager for single-file scripts and tools
install scripts from github gists, pastebin, or any url
no registry. no manifests. just download and run.
demo: tinycrl.run
curl -sf https://tinycrl.run/install | sh# install from gist
tinycrl install https://gist.github.com/user/abc123
# install from raw url
tinycrl install https://example.com/script.sh
# run installed script
tinycrl run script-name
# list installed
tinycrl list
# update all
tinycrl update- downloads script to
~/.tinycrl/bin/ - makes executable
- adds to PATH (if not already)
- checksum stored for updates
tinycrl install https://example.com/tool.py --version v2.1tinycrl alias backup https://gist.github.com/.../backup.sh
tinycrl run backup# install multiple
cat urls.txt | xargs -n1 tinycrl install
# check for updates
tinycrl check --json | jq '.outdated[]'always inspect scripts before installing:
tinycrl inspect https://example.com/script.sh
# shows content before installchecksum verification via hash-verify (hash-verify.dev)
sandbox mode (experimental):
tinycrl run script --sandboxuses firejail-lite isolation (firejail-lite.io)
~/.tinycrl/config.toml:
[install]
auto_update = false
verify_checksum = true
[run]
default_sandbox = false
timeout = 300 # seconds| tool | registry | sandboxing | size |
|---|---|---|---|
| tinycrl | no | optional | 2mb |
| npm | yes | no | 50mb+ |
| brew | yes | no | varies |
| pip | yes | no | 30mb+ |
- install dotfile scripts
- share dev tools in team
- quick prototyping
- temporary utilities
- windows support buggy (use wsl)
- no dependency resolution
- scripts can conflict if same name
- update check slow on many packages
- better windows support
- dependency detection
- sandbox mode
- central discovery index (optional)
got tired of "just download this script and chmod +x"
wanted something stupider than npm but smarter than curl | bash