one-line-installer-patterns

Installation
SKILL.md

One-Line Installer Patterns

When this pattern is the right tool

A curl … | bash install script is the right answer in a narrow set of cases. Outside that set, simpler distribution mechanisms exist and should be used.

Use this pattern when:

  • The project is multi-language (Python + Node + Docker) and uv tool install cannot do the job alone
  • The project requires system prerequisites that must be detected and clearly directed (Docker, Node via fnm/volta, jq, etc.)
  • The intended audience is non-technical and cannot be expected to run more than one command
  • The "real" install is docker compose up, but the user needs a clean way to land the compose file, generate an .env, and start the stack

Don't use this pattern when:

  • The project is a Python CLI → use uv tool install git+... and see cli-packaging-patterns
  • The project is a Node CLI → publish to npm, document npx <tool> or pnpm dlx <tool>
  • The project produces a single static binary → ship via GitHub releases, document curl -L .../tool -o ~/.local/bin/tool && chmod +x ~/.local/bin/tool. This is the modern Go/Rust default.
  • The project is a pure containerized app → ship a docker-compose.yml. The "install command" is docker compose up -d. Plausible, n8n, and Outline all do this.
Installs
3
GitHub Stars
12
First Seen
Aug 29, 2026
one-line-installer-patterns — microsoft/amplifier-bundle-skills