Self-contained, no-root environment setup scripts.
This repo aims to make installing and managing common CLI tooling possible via a single command, without requiring sudo (where feasible).
- Modular scripts under
scripts/<id>/with:scripts/<id>/<id>.sh(entrypoint)scripts/<id>/README.md(usage)scripts/<id>/script.toml(registration + tests)
- Script registry + tests driven by TOML (no hard-coded script lists in the framework).
- Containerized integration tests (networked, non-interactive) and GitHub CI.
scripts/omz/omz.sh: builds/installszshinto~/.local, installs oh-my-zsh, and installs thepowerlevel10ktheme.scripts/proxy/proxy.sh: installsproxyhelpers into your shell rc (proxy on|off|status|toggle|set).scripts/mihomo/mihomo.sh: installsmihomointo~/.local/binand manages it in a tmux session (start|stop|restart|status|attach).
All scripts support --help.
Each module has its own usage docs:
scripts/omz/README.mdscripts/proxy/README.mdscripts/mihomo/README.md
You can also run scripts directly from GitHub via curl/wget (see each module README for the exact command).
Smoke tests (runs each module’s tests.smoke from script.toml):
tests/run.shNetworked integration tests (runs each module’s tests.integration from script.toml):
INTEGRATION=1 tests/run.shContainer-based integration tests (used by CI):
tests/container/run.shModule discovery
tests/runner.shscansscripts/*/script.toml.
Contributor automation
- Reusable contributor “skills” live under
.agent/skills/.
Test model
- Each
script.tomldeclares[[tests.smoke]]and[[tests.integration]]steps. - Steps run in a single shared bash session per script (env persists across steps).
- Two step types:
kind="script": runs the module entrypoint withargs=[...]kind="bash": runs a bash snippet (run=[...]) for assertions or multi-command flows
Container + CI
tests/container/run.shbuildstests/container/Dockerfileand runsINTEGRATION=1 tests/run.shinside the container..github/workflows/ci.ymlruns the same container test command.