Installation
stagelint is a single binary with no runtime. Install it however your project already installs tools, or download a prebuilt binary directly.
Node
npm install --save-dev @stagelint/stagelintpnpm add -D @stagelint/stagelintyarn add --dev @stagelint/stagelintbun add --dev @stagelint/stagelintdeno add --dev @stagelint/stagelintIf you do not already use a hook manager, add the hook to your prepare script so it installs itself for the whole team:
{
"scripts": {
"prepare": "stagelint init"
}
}Python
Add it to your project:
uv add --dev stagelintpoetry add --dev stagelintOr install it globally:
uv tool install stagelintpipx install stagelintpython -m pip install --user stagelintRust
Download a prebuilt binary using cargo-binstall:
cargo binstall stagelintOr compile it from source:
cargo install stagelintGo
Add it to your project and run it with go tool stagelint:
go get -tool github.com/abemedia/stagelintOr install it globally:
go install github.com/abemedia/stagelint@latest.NET
dotnet tool install -g stagelintNeeds the .NET 10 SDK or later.
Homebrew
brew install abemedia/tap/stagelintScoop
scoop bucket add abemedia https://github.com/abemedia/scoop-bucket
scoop install stagelintAPT
sudo curl -fsSL https://pkg.stagelint.dev/deb/key.asc -o /etc/apt/keyrings/stagelint.asc
sudo chmod a+r /etc/apt/keyrings/stagelint.asc
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/stagelint.asc] https://pkg.stagelint.dev/deb stable main" | sudo tee /etc/apt/sources.list.d/stagelint.list > /dev/null
sudo apt update
sudo apt install stagelintDNF
echo '[stagelint]
name=stagelint
baseurl=https://pkg.stagelint.dev/rpm/
enabled=1
gpgcheck=0
repo_gpgcheck=1
gpgkey=https://pkg.stagelint.dev/rpm/repodata/repomd.xml.key' | sudo tee /etc/yum.repos.d/stagelint.repo > /dev/null
sudo dnf install stagelintPacman
curl -fsSL https://pkg.stagelint.dev/arch/key.asc | sudo pacman-key --add -
sudo pacman-key --lsign-key 04ECDE59ADB67FFCF334D52A43BD4A43FBABEF34
echo '[stagelint]
Server = https://pkg.stagelint.dev/arch/$arch' | sudo tee -a /etc/pacman.conf
sudo pacman -Syu stagelintZypper
sudo zypper addrepo --refresh https://pkg.stagelint.dev/rpm/ stagelint
sudo zypper --gpg-auto-import-keys refresh
sudo zypper install stagelintAPK
wget -qO /etc/apk/keys/info@stagelint.dev.rsa.pub https://pkg.stagelint.dev/alpine/info@stagelint.dev.rsa.pub
echo 'https://pkg.stagelint.dev/alpine' >> /etc/apk/repositories
apk update
apk add stagelintNix
nix profile add nur#repos.abemedia.stagelintAlternatively, add NUR using its installation guide, then add stagelint to your configuration:
{ pkgs, ... }: {
home.packages = with pkgs; [
nur.repos.abemedia.stagelint
];
}mise
mise use aqua:abemedia/stagelintDevbox
devbox add nur#repos.abemedia.stagelintInstall script
Download, verify and install a prebuilt binary:
curl -fsSL https://stagelint.dev/install.sh | shIt installs to /usr/local/bin when that is writable, otherwise to ~/.local/bin. Set STAGELINT_INSTALL_DIR to choose the directory, or STAGELINT_VERSION to install a specific version:
curl -fsSL https://stagelint.dev/install.sh | STAGELINT_VERSION=0.2.2 shManual install
Download a prebuilt binary or Linux package from the release page.