Skip to main content

rigsmith

ci e2e PyPI

Set up a fresh macOS or Linux machine from a curated library of 220+ developer tools and the config that makes them work (shell, CLI, git, Python, Go, Rust, Java, JS, containers, Kubernetes, cloud, IaC, data, ML, VS Code), then see what's installed and undo it cleanly.

picker

Use it if you want a good terminal and toolchain on a new machine in minutes, picked from presets instead of copied from old dotfiles, and removable without leftovers.

Look elsewhere if you need per-project package isolation or fully declarative machines (that's Nix), or a shell other than zsh (zsh only, for now).

Install

curl -fsSL https://raw.githubusercontent.com/slimfrkha/rigsmith/main/install.sh | sh -s -- install

The script installs uv if it's missing, then runs rigsmith. If you already have uv: uvx rigsmith install.

Supported: macOS 14+ (Apple Silicon and Intel), Ubuntu 22.04 / 24.04, Debian 12 (amd64, arm64). Homebrew is the package manager on both, with apt for the few things that need it.

Quickstart

  1. Pick a preset for your kind of work:

    rigsmith use platform
    
    ✓ now using your config (~/.config/rigsmith/config.yaml, from platform): 97 artifacts
    
  2. See what would change, without changing anything:

    rigsmith install --dry-run
    
    config: your config (~/.config/rigsmith/config.yaml, from platform)
    Answers: profile=standard, icons=yes, aliases=yes, tui=yes, theme=catppuccin, container-runtime=colima
    
    Already in place (29): git, eza, ripgrep, fd, bat, jq, gh, vscode, kubectx, k9s, terraform, …
    
    To install (55):
      + zsh — snippet 10-zsh, snippet 40-zsh
      + zinit — install git:https://github.com/zdharma-continuum/zinit.git, snippet 20-zinit
      + starship — snippet 90-starship
      …
    

    What's "already in place" depends on your machine: those are left alone.

  3. Install: rigsmith install. A short questionnaire and a picker let you change anything before a final confirmation, then tools install one after the other. Open a new terminal when it's done.

Commands

Command What it does
rigsmith use [preset|path] Pick your config (a copy you can edit). No argument opens a picker
rigsmith install [ids] Questionnaire → picker → summary → install. -y skips the screens, --dry-run only shows the plan
rigsmith scan [ids] What's installed, partial, missing or unavailable, and whether rigsmith or you installed it
rigsmith uninstall [ids] Undo what rigsmith installed, from its receipts. Tools you had before stay
rigsmith init Tailor a config: tick tools, set profiles, optionally edit the YAML

install, scan and uninstall filter with -c CONFIG, -p PROFILE, -s SECTION[/SUB] and artifact ids. Every flag is in the reference.

Presets

Preset For
python uv + ruff + ty, notebooks, VS Code with the Astral stack
backend-go Go toolchain, containers, a local cluster, API and load-testing tools
rust rustup, bacon, nextest, rust-analyzer
java OpenJDK, Maven, Gradle, the VS Code Java pack
web Node, pnpm, Bun, Biome, ESLint/Prettier, Tailwind
data-engineer Python + SQL in the terminal (DuckDB, Postgres, Kafka), notebooks, cloud CLIs
ml-engineer Python with uv, notebooks, Hugging Face, local LLMs
platform Containers, Kubernetes end to end, Terraform and friends, GCP and AWS
server A headless box over SSH: shell and modern CLI, no fonts or GUI apps

The developer presets share a base (zsh, starship, fzf, ripgrep, eza, zoxide, git, lazygit, VS Code); server keeps only the shell and CLI part. Every preset pins its answers, so -y gives the same result every time. reference has every tool; example is the author's own setup. The first rigsmith install asks which to start from:

start from

How it works

  • Artifact: one installable unit: a package plus the config the tool needs to work (a zsh snippet, a few settings). Optional taste, like aliases or a theme, is a separate artifact you can leave out.
  • Section: what a tool is (cli/search, kubernetes/logs). Profile: how much you want (minimal ⊂ standard ⊂ comprehensive).
  • Role: tools that can't coexist, such as two prompts. You get one, and a tool you already have is kept.
  • Questions are built from what's in scope: icons, aliases, full-screen apps, theme, your work folder and email.
questionnaire help

Safe by design

  • Your ~/.zshrc is never overwritten. rigsmith adds one marked block at the top; your own lines stay below and win.
  • Every change gets a receipt, recording the value before and the value rigsmith left. uninstall undoes only what rigsmith did, and keeps anything you changed since.
  • Steps that can't be undone are listed before you confirm, such as installing Homebrew.
  • Nothing is a black box. --script prints every command an install or uninstall would run, for reading (why you shouldn't run it yourself).
  • Running it again changes nothing. CI installs, reinstalls (expecting 0 changes) and uninstalls on real macOS and Ubuntu machines, and checks ~/.zshrc comes back byte for byte.

confirm

Where next

To Read
choose, tailor or switch configs; per-project setups; add your own tools Guide
look up a flag, config key, artifact field or file Reference
browse every tool rigsmith can install Catalog
understand how it works and why Design
contribute, add a tool to the library, release Contributing
report a vulnerability Security

License

MIT

Metadata

Release files for rigsmith 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for rigsmith 0.2.0
File Size Uploaded
rigsmith-0.2.0.tar.gz 153.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for rigsmith 0.2.0
File Interpreter ABI Platform
rigsmith-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 257.2 kB

Release files / rigsmith-0.2.0.tar.gz

Download URL rigsmith-0.2.0.tar.gz
Size 153.5 kB
Tags Source
SHA-256 checksum
How to use checksums
e5f3bda9c8deef1320aea97282c5aa2ed099ecc4a7b92f3273a637cbe163d201
BLAKE2b-256 checksum
How to use checksums
e280bacbf6cdcf4e2ae4c0aff91e37978d531eaab9c343d9b36ec4b38ded89a9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 12, 2026.

Transparency log

Release files / rigsmith-0.2.0-py3-none-any.whl

Download URL rigsmith-0.2.0-py3-none-any.whl
Size 103.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a8c433fda86ff710682618b69662f5c89773363d547b2e4f443214a111e605de
BLAKE2b-256 checksum
How to use checksums
cbf23e32db93f64f9b48f63706038f9cd931719743f51b7570d4498fd497ff2d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 12, 2026.

Transparency log

Release history Release notifications | RSS feed

0.3.0

2 release files

This release

0.2.0 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page