installer-workmanship
Made by JeffWrite production-grade curl|bash installers. Use when creating install.sh, curl-pipe-bash installer, or one-liner install for CLI tools.
Works With
Quality and Utility come from canonical skill metadata. Community ratings appear separately as stars when subscriber reviews exist.
Subscribe to download
Public previews are available, but downloads, CLI sync, and premium content require an active subscription.
Sign In to Subscribe- Full skill content with deterministic versioning
- CLI sync + local search index
- Access to Jeffrey’s premium library
Save to your account
Saved skills live in your cloud list. Run jsm sync on each machine to pull them locally.
What's New with this Skill
2Updates, enhancements, and release notes for this skill.
Updated: installer-workmanship, hook installs no longer wipe the user's existing hooks
The skill's jq merge for adding a PreToolUse hook used '. * $hook', and jq's * replaces arrays, so installing one hook deleted every PreToolUse hook the user already had. It now appends. The agent-hook reference was also corrected: Codex does have PreToolUse hooks, and the Copilot, Gemini and Cursor formats were fixed.
- Installing a PreToolUse hook no longer deletes the user's existing ones: the jq merge now appends
- Codex has PreToolUse hooks (hooks.json or [hooks] in config.toml) that block with exit 2
- Copilot, Gemini and Cursor hook formats and settings paths corrected
- gum spin cannot run shell functions; install -m is not atomic
- Reference installers linked by public GitHub URL
Checked against jq 1.7.1, gum 0.17.0, cosign, minisign, the destructive_command_guard and remote_compilation_helper installers, and the official hook docs for Claude Code, Codex, Copilot, Gemini and Cursor.
- Hook merge.
jq ". * $hook_config"replaces the wholePreToolUsearray. The installer recipe now appends with.hooks.PreToolUse += [...]when the array exists and only merges when it does not. - Codex. Codex has stable PreToolUse hooks (
~/.codex/hooks.jsonor[hooks]inconfig.toml) that block with exit 2; the skill had said it had none.
New: Installer Workmanship, ship curl|bash installers that just work
Patterns for writing production-grade one-liner installers that handle platform detection, binary acquisition, shell integration, AI agent auto-configuration, and clear failure.
- Platform preflight: map OS and arch to a Rust target triple (musl on Linux), warn on WSL, and check disk space, permissions, network, and existing installations
- Binary acquisition through a 4-tier artifact URL fallback chain, SHA256 plus Sigstore/cosign verification, and a build-from-source fallback
- Shell integration: bash/zsh/fish completions in XDG paths, and PATH updates to rc files with --easy-mode
- Clean failure: set -euo pipefail, mkdir-based install locking, trap cleanup on exit so no temp files remain, a per-agent final summary, and uninstall instructions