- macOS: amd64, arm64
- Linux: amd64, arm64
- Windows: amd64, arm64
Release asset names are stable:
small-vX.Y.Z-darwin-amd64.tar.gzsmall-vX.Y.Z-darwin-arm64.tar.gzsmall-vX.Y.Z-linux-amd64.tar.gzsmall-vX.Y.Z-linux-arm64.tar.gzchecksums.txt
Install latest:
curl -fsSL https://smallprotocol.dev/install.sh | bashOptionally install a specific version:
curl -fsSL https://smallprotocol.dev/install.sh | bash -s -- --version vX.Y.ZInstall behavior:
- Downloads release metadata from GitHub API
- Downloads the platform archive and
checksums.txt - No compilation required. Pre-built binaries are downloaded and checksum verified.
- Verifies SHA256 before extraction and install
- Installs to
~/.local/bin/smallby default (no sudo)
Optional flags:
--system: install to/usr/local/bin/small(uses sudo if needed)--dir PATH: custom install directory--release-json PATH: use local release metadata (testing only)--dry-run: print resolved release/install details only
npm i -g @small-protocol/small
small versionnpm install behavior:
- Maps npm version
X.Y.Zto release tagvX.Y.Z - Fetches tagged release metadata from GitHub API
- Downloads platform archive and
checksums.txt - No compilation required. Pre-built binaries are downloaded and checksum verified.
- Verifies SHA256 before extracting
smallinto the packagevendor/directory - Exposes
smallon your shell PATH via your npm global bin directory
If the binary is missing after install:
npm rebuild @small-protocol/small- curl default path:
~/.local/bin/small - curl system path (
--system):/usr/local/bin/small - npm global path:
$(npm bin -g)(or platform-equivalent npm global bin directory)
curl default install:
rm -f ~/.local/bin/smallcurl system install:
sudo rm -f /usr/local/bin/smallnpm global install:
npm uninstall -g @small-protocol/small