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 stagelintHomebrew
brew install abemedia/tap/stagelintScoop
scoop bucket add abemedia https://github.com/abemedia/scoop-bucket
scoop install 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.0 shManual install
Download a prebuilt binary or Linux package from the release page.