Docs › Installation

Installation

mrsentry is a Python 3.11+ command-line tool. The installer provisions its own Python, so it works the same on every distro your runners use.

Choose a method

MethodCommandBest for
Installercurl -fsSL https://raw.githubusercontent.com/devops-monk/mrsentry/main/install.sh | shRunners, VMs, laptops
uvuv tool install git+https://github.com/devops-monk/mrsentry.gitDevelopers who already use uv
pipxpipx install git+https://github.com/devops-monk/mrsentry.gitDevelopers who already use pipx
Docker, slimdocker build -f docker/Dockerfile --target slim -t mrsentry:slim .Review and scan jobs
Docker, fulldocker build -f docker/Dockerfile --target full -t mrsentry:full .Fix jobs that need build toolchains

The installer

The installer:

  1. Installs git, curl and tar if they're missing (apt, dnf, yum or apk).
  2. Installs uv, which provides an isolated, managed Python.
  3. Optionally verifies a checksum.
  4. Installs mrsentry as an isolated tool and links the mrsentry command.

Run as root, it installs to /usr/local/bin. Otherwise it installs to ~/.local/bin.

VariableDefaultMeaning
MRSENTRY_VERSIONmainGit ref to install, such as a tag like v0.1.0.
MRSENTRY_SOURCEGitHub at $MRSENTRY_VERSIONAny pip requirement, wheel URL/path or source directory, e.g. mrsentry==0.1.0 from your internal index.
MRSENTRY_INDEX_URL—Extra package index: Nexus, Artifactory or the GitLab PyPI registry.
MRSENTRY_SHA256—Expected checksum of a wheel source, verified before install.
MRSENTRY_EXTRAS—Optional extras. treesitter enables precise, syntax-aware extraction of the code around each change.
MRSENTRY_PYTHON3.12Python version uv provisions.
MRSENTRY_INSTALL_DIR/usr/local/bin or ~/.local/binWhere the command is linked.
# pin a version and install from an internal index
curl -fsSL https://raw.githubusercontent.com/devops-monk/mrsentry/main/install.sh \
  | MRSENTRY_SOURCE="mrsentry==0.1.0" MRSENTRY_INDEX_URL=https://nexus.example.com/repository/pypi/simple sh

Distribution notes

DistroSystem PythonNotes
Debian 12 / Ubuntu 22.04, 24.043.11 / 3.10, 3.12Works out of the box.
Amazon Linux 20233.9Works out of the box. uv provides Python 3.12.
Amazon Linux 23.7glibc 2.26 is detected automatically, and the installer picks dependency versions that ship prebuilt binaries, so you don't need a Rust or C compiler.
RHEL / Rocky / Alma 8+3.6–3.11Works out of the box.

The project's own CI runs an install smoke test on debian:12, ubuntu:24.04, amazonlinux:2023 and amazonlinux:2 for every change.

Docker images

Build the images once, push them to your registry, and use them as the job image:

TargetContentsUse for
slimPython 3.12, mrsentry, git, ripgrepReview, scan, ecr status
fullslim plus JDK 17, Maven 3.9, Gradle 8, Node 20 with npm/pnpm/yarn, Poetry, uv and TrivyFix jobs: lockfile regeneration, dependency trees, builds, local scans
docker build -f docker/Dockerfile --target full -t registry.example.com/platform/mrsentry:full .
docker push registry.example.com/platform/mrsentry:full

The project CI builds both images with Kaniko on every commit and tags releases, so you can mirror them instead of building locally.

Which tools does it need?

Reviews only need git. ripgrep makes the grep tool faster but is optional. Fixing needs the toolchain for each ecosystem you fix:

mrsentry doctor lists which tools it found.

Verify the install

mrsentry version
mrsentry doctor --offline     # local checks only
mrsentry doctor               # + GitLab, LLM and AWS checks

Upgrade or uninstall

# upgrade: re-run the installer (optionally with MRSENTRY_VERSION=vX.Y.Z)
curl -fsSL https://raw.githubusercontent.com/devops-monk/mrsentry/main/install.sh | sh
# uninstall
uv tool uninstall mrsentry