Skip to content

Homebrew installation method documented but not implemented #73

@panbanda

Description

@panbanda

First off, let me say this is a super helpful tool. Thanks for open sourcing this and happy to contribute if needed.

Was able to refactor / identify some key hotspots that decreased complexity / increased testability in angular, react, rails, and go codebases and made it much easier for my LLM setup to understand what was going on. 🔥

The following is just a formal ticket for adding to homebrew-- I am happy to create a PR if you have an idea on which direction you were heading with this (also a nod to your OIP release recently). Cheers!

Problem

The installation documentation at https://paiml.github.io/pmat-book/ch01-01-installing.html states that PMAT can be installed via Homebrew:

brew install pmat

However, this command does not work. Running brew search pmat returns no results, and the formula does not exist in homebrew-core or any paiml tap.

Current State

  • Documentation claims Homebrew support
  • No Homebrew formula exists
  • No paiml/homebrew-pmat tap repository
  • No release automation to publish to Homebrew
  • Cargo installation works (cargo install pmat)

Proposed Solution

Create a Homebrew tap to enable installation via brew install. This involves:

  1. Create tap repository: paiml/homebrew-pmat
  2. Add formula file: Formula/pmat.rb that builds from source or uses pre-built binaries
  3. Automate releases: GitHub Actions workflow to update formula on new releases
  4. Update documentation: Change instructions to:
    brew tap paiml/pmat
    brew install pmat

Alternatively, submit to homebrew-core once the tool reaches broader adoption.

Implementation Notes

Since PMAT is a Rust project with Cargo.toml, the formula would use cargo install under the hood. Example structure:

class Pmat < Formula
  desc "Zero-configuration AI context generation with extreme quality enforcement"
  homepage "https://paiml.github.io/pmat-book/"
  url "https://github.com/paiml/paiml-mcp-agent-toolkit/archive/refs/tags/vX.Y.Z.tar.gz"
  license "MIT"
  
  depends_on "rust" => :build
  
  def install
    system "cargo", "install", *std_cargo_args
  end
  
  test do
    assert_match version.to_s, shell_output("#{bin}/pmat --version")
  end
end

Impact

This discrepancy creates friction for macOS/Linux users who attempt to follow the documented installation process and encounter errors.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions