Skip to content

Installation

The fastest way to install Archgate. No Node.js or package manager required:

Terminal window
# macOS / Linux
curl -fsSL https://cli.archgate.dev/install-unix | sh
# Windows
winget install --id 9MSZ1ZDKSW8Z
# Windows (Git Bash / MSYS2)
curl -fsSL https://cli.archgate.dev/install-unix | sh

On macOS and Linux, the installer downloads a pre-built binary for your platform and installs it to ~/.archgate/bin/. It detects your shell profiles and offers to add the directory to your PATH.

On Windows, winget installs Archgate from the Microsoft Store. The package is signed by Microsoft and puts archgate on your PATH in every new terminal. Update it with winget upgrade --id 9MSZ1ZDKSW8Z.

Terminal window
irm https://cli.archgate.dev/install-windows | iex

The script runs the same winget install for you. Where winget is missing or the Microsoft Store is blocked, it downloads the binary from GitHub Releases to ~/.archgate/bin/ and offers to add that directory to your PATH, including in Git Bash shell profiles (.bashrc, .bash_profile, .profile). The downloaded binary is not code-signed.

Both installer scripts read these environment variables:

VariableDescriptionDefault
ARCHGATE_VERSIONInstall a specific version (e.g. v0.11.2)Latest release
ARCHGATE_INSTALL_DIRCustom install directory~/.archgate/bin
ARCHGATE_NO_WINGETSet to 1 to skip winget and download directly (Windows)Unset

winget installs neither a pinned version nor into a chosen directory, so setting ARCHGATE_VERSION or ARCHGATE_INSTALL_DIR on Windows also selects the direct download.

You can also download binaries directly from GitHub Releases.

Install Archgate globally using your preferred Node.js package manager:

Terminal window
# npm
npm install -g archgate
# Bun
bun install -g archgate
# Yarn
yarn global add archgate
# pnpm
pnpm add -g archgate

This installs a lightweight wrapper that delegates to a platform-specific binary. The CLI itself is a standalone binary compiled with Bun. Node.js is only needed for the npm/yarn/pnpm wrapper.

You can also add Archgate as a dev dependency in your project and run it through your package manager’s script runner. This is useful for pinning a specific version per project or running checks in CI without a global install.

Terminal window
# npm
npm install -D archgate
# Bun
bun add -d archgate
# Yarn
yarn add -D archgate
# pnpm
pnpm add -D archgate

Then run Archgate via your package manager:

Terminal window
# npm / Yarn / pnpm
npx archgate check
# Bun
bun run archgate check

Or add a script to your package.json:

{ "scripts": { "check:adrs": "archgate check" } }
Terminal window
# Works with any package manager
npm run check:adrs
bun run check:adrs
yarn check:adrs
pnpm check:adrs

Install Archgate globally using pip or pipx:

Terminal window
# pip
pip install archgate
# pipx (recommended for CLI tools)
pipx install archgate

This installs a lightweight Python wrapper that delegates to a platform-specific binary. Python 3.8+ is required.

Install Archgate as a .NET global tool:

Terminal window
dotnet tool install -g archgate

Requires .NET 8.0+ SDK. The tool downloads the platform binary on first run.

Install Archgate using go install:

Terminal window
go install github.com/archgate/cli/shims/go/cmd/archgate@latest

Requires Go 1.21+. The compiled Go wrapper downloads the platform binary on first run.

Install Archgate as a Ruby gem:

Terminal window
gem install archgate

Requires Ruby 2.7+. The gem downloads the platform binary on first run.

Install Archgate using jbang:

Terminal window
jbang app install archgate@dev.archgate

Or download the latest executable JAR from Maven Central (dev.archgate:archgate-cli) and run it directly:

Terminal window
java -jar archgate-cli-<version>.jar check

Requires Java 11+. The shim downloads the platform binary on first run.

Archgate ships pre-built binaries for the following platforms:

PlatformArchitectureArtifact
macOSarm64archgate-darwin-arm64
Linuxx86_64archgate-linux-x64
Windowsx86_64archgate-win32-x64

The correct binary is downloaded automatically from GitHub Releases on first run and cached to ~/.archgate/bin/.

Terminal window
archgate --version

You should see the installed version printed to stdout.

If you use proto (moonrepo’s toolchain manager), you can install Archgate directly as a proto plugin. No Node.js or npm required.

Add the plugin to your .prototools:

[plugins.tools]
archgate = "github://archgate/proto-plugin"

Then install and use it like any other proto tool:

Terminal window
proto install archgate
archgate check

Proto manages the binary for you, including version pinning and auto-installation. To pin a specific version, add it at the root of .prototools:

archgate = "0.15.0"
[plugins.tools]
archgate = "github://archgate/proto-plugin"

You can also list available versions and manage installations with proto commands:

Terminal window
proto list-remote archgate # list available versions
proto install archgate 0.15.0 # install a specific version
proto pin archgate 0.15.0 # pin version in .prototools

Once installed, run archgate init in your project to set up linting and guardrails. See the Quick Start guide for a walkthrough.