Installation

LPM is a single Rust binary. The npm package downloads the right platform binary on install — that's the most common path, but you can also use Homebrew, the curl installer, or cargo install directly.

Install the CLI

npm (most common)

npm install -g @lpm-registry/cli

# yarn / pnpm / bun also work
yarn global add @lpm-registry/cli
pnpm add -g @lpm-registry/cli
bun add -g @lpm-registry/cli

The npm package's postinstall downloads the right binary for your platform from GitHub Releases. Once installed, the lpm command is available globally.

Homebrew (macOS / Linux)

brew tap lpm-dev/lpm
brew install lpm

The Homebrew formula is auto-updated on each release.

curl installer

curl -fsSL https://lpm.dev/install.sh | sh

Detects your platform and installs the latest release. Useful for Docker images, CI runners, and any environment without Node.js.

cargo

cargo install --git https://github.com/lpm-dev/rust-client lpm-cli

Builds from source. Useful if you want a custom build profile or need to track a specific commit.

Try without installing

npx @lpm-registry/cli@latest <command>

Handy for one-off commands or checking the latest version before committing to a global install.

Pre-built platforms

PlatformPre-built
macOS (Apple Silicon / darwin-arm64)
macOS (Intel / darwin-x64)
Linux (x86_64 / linux-x64)
Linux (ARM64 / linux-arm64)
Windows (x86_64 / win32-x64)

Other platforms can build from source via cargo install (above).

Configure Your Project

Step 1 — Sign in

lpm login

Authenticates with lpm.dev (OAuth via your browser) and stores the token securely in the OS keychain. If no keychain is available, LPM falls back to an AES-256-GCM encrypted file.

Step 2 — Configure .npmrc

lpm setup-npmrc

Generates a 30-day read-only token and writes it to the project's .npmrc, so both lpm install and npm install work with @lpm.dev/* packages. Adds .npmrc to .gitignore automatically.

Run lpm setup-npmrc again any time to refresh the token.

Step 3 — Install packages

lpm install @lpm.dev/owner.package-name

The same project also works with plain npm install (because of the .npmrc from Step 2) — useful when you want to keep a mixed-tooling workflow.

Verify

lpm doctor

Checks:

  • LPM binary version and update status
  • OS keychain availability for token + vault storage
  • Auth state and registry connectivity
  • Node.js version detection (for projects that use it)
  • Sandbox availability for lifecycle scripts (Phase 46 script policy)

If anything is misconfigured, lpm doctor prints exactly what to fix.

Manual .npmrc configuration

If you prefer to configure manually instead of using lpm setup-npmrc, add this to your .npmrc:

@lpm.dev:registry=https://lpm.dev/api/registry
//lpm.dev/api/registry/:_authToken=${LPM_TOKEN}

Place it in your project root (per-project config) or in ~/.npmrc (global config). The ${LPM_TOKEN} placeholder is expanded from the environment at install time — works for npm, yarn, pnpm, and lpm alike.

Next steps