dist: publish patchloom to npm for npx support · Issue #963 · patchloom/patchloom · GitHub
Skip to content

dist: publish patchloom to npm for npx support #963

Description

@SebTardif

Summary

Publish a patchloom npm wrapper package so users can install and run patchloom via npm/npx without needing Rust tooling.

Motivation

MCP users and AI agent developers already have Node.js installed. npx patchloom would be the lowest-friction install path for the primary audience. Many MCP server configs already assume npx availability, so fitting into that ecosystem is natural.

Acceptance criteria

  • npm package patchloom is published on npmjs.com
  • npx patchloom --version works on macOS (x64, ARM64), Linux (x64, ARM64), and Windows (x64)
  • The package downloads the correct pre-built binary for the platform (not bundled, to keep package size small)
  • npm install -g patchloom installs the binary globally
  • A GitHub Actions publish job runs automatically on release (alongside the existing Homebrew and crates.io publish jobs)
  • Installation docs updated (README.md, docs/getting-started/installation.md)

Implementation notes

The standard pattern for Rust CLIs on npm is a wrapper package with an install script (or postinstall) that downloads the correct binary from GitHub Releases. See how tools like biome, turbo, or oxlint handle this with per-platform optional dependencies (@patchloom/cli-darwin-arm64, etc.) for a cleaner approach, or a simpler single-package model that downloads at install time.

cargo-dist may support npm publishing directly or via a community plugin. Check the cargo-dist docs before building a custom solution.

Priority

High. This reaches the largest untapped segment of patchloom's target audience.

Metadata

Metadata

Assignees

No one assigned

    Labels

    distributionPackage distribution and install channels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions