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
ssh A remote dev box you SSH into (cloud VM, GPU machine): tmux, modern CLI, git, uv, GPU monitor
server A lean ops box: shell and modern CLI only

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.3.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.3.0
File Size Uploaded
rigsmith-0.3.0.tar.gz 155.1 kB Details

Built distribution (wheel)

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

Total release size: 261.3 kB

Release files / rigsmith-0.3.0.tar.gz

Download URL rigsmith-0.3.0.tar.gz
Size 155.1 kB
Tags Source
SHA-256 checksum
How to use checksums
27b6542ff0a76bc15d5e6cad06af4f9e04172fddaddb361a5a36350608911048
BLAKE2b-256 checksum
How to use checksums
7a056d12132b127b9d71fb64c9b16261ffb861e7c3e24a07b5da186fafeaca07
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.3.0-py3-none-any.whl

Download URL rigsmith-0.3.0-py3-none-any.whl
Size 106.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f5c8a6a30801dd61af95c99bf774b7ff9161068c4bb7bc13ca8571fe30749b8b
BLAKE2b-256 checksum
How to use checksums
078116d0832392e4f61c219fb4136147aa5d39f877551e401205e0c960d631bb
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

This release

0.3.0 This release

2 release files

0.2.0

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