# Homebrew formula template — rendered by the release workflow into
# the homebrew-tap repo with VERSION, URLS, SHAs replaced.
#
# Users install with:  brew install Armur-Ai/tap/pentestswarm

class Pentestswarm < Formula
  desc "Swarm of AI agents for authorized penetration testing"
  homepage "https://github.com/Armur-Ai/Pentest-Swarm-AI"
  version "__VERSION__"
  license "Apache-2.0"

  on_macos do
    on_arm do
      url "https://github.com/Armur-Ai/Pentest-Swarm-AI/releases/download/__VERSION__/pentestswarm-darwin-arm64"
      sha256 "__SHA256_DARWIN_ARM64__"
    end
    on_intel do
      url "https://github.com/Armur-Ai/Pentest-Swarm-AI/releases/download/__VERSION__/pentestswarm-darwin-amd64"
      sha256 "__SHA256_DARWIN_AMD64__"
    end
  end

  on_linux do
    on_arm do
      url "https://github.com/Armur-Ai/Pentest-Swarm-AI/releases/download/__VERSION__/pentestswarm-linux-arm64"
      sha256 "__SHA256_LINUX_ARM64__"
    end
    on_intel do
      url "https://github.com/Armur-Ai/Pentest-Swarm-AI/releases/download/__VERSION__/pentestswarm-linux-amd64"
      sha256 "__SHA256_LINUX_AMD64__"
    end
  end

  def install
    binary = Dir["pentestswarm-*"].first
    bin.install binary => "pentestswarm"
  end

  def caveats
    <<~EOS
      Quickstart:
        export PENTESTSWARM_ORCHESTRATOR_API_KEY=sk-ant-...
        pentestswarm scan example.com --scope example.com --swarm

      Required optional tools (install via brew):
        brew install nmap sqlmap
    EOS
  end

  test do
    system "#{bin}/pentestswarm", "--version"
  end
end
