Purr 26.2.64800

dotnet tool install --global Purr --version 26.2.64800
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local Purr --version 26.2.64800
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=Purr&version=26.2.64800
                    
nuke :add-package Purr --version 26.2.64800
                    

Purr

<img src="Purr/wwwroot/logo.png" align="right" width="200" alt="Purr Logo" />

Purr is a .NET 10 CLI tool designed to automate the testing of GitHub Pull Requests. It monitors a repository for new or updated PRs, clones them, executes defined test steps in a secure Landlock sandbox, launches a Playwright browser to navigate to the application, and streams the live session to a remote viewer.

Goal

The goal of this library is to provide a secure and interactive way to preview and test changes in pull requests automatically.

Installation

Install Purr as a global .NET tool:

dotnet tool install purr --global

Usage

Run Purr with the following command:

purr <owner> <repo> [github_token]

Example:

purr myuser myrepo ghp_xxxxx

How to Develop

  1. Prerequisites:

    • .NET 10 SDK
    • Playwright dependencies, automatically installed on first run
    • Linux environment with Landlock support (Kernel 5.13+)
  2. Build:

    dotnet build
    
  3. Run:

    dotnet run -- <owner> <repo> [github_token]
    

    Example:

    dotnet run -- myuser myrepo ghp_xxxxx
    

Project Structure

  • Purr/: Main CLI application source code.
  • purr.yml: Configuration file expected in the target repository.

Remote Viewer

The tool starts a web server (default: port 9000) that streams the browser session. Navigate to the displayed URL (e.g., http://localhost:9000) to view and interact with the running application.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated
26.2.64800 132 2/28/2026
26.2.64767 109 2/26/2026
26.2.64751 112 2/26/2026
26.2.64747 106 2/26/2026
26.2.64737 112 2/25/2026
26.2.64736 98 2/25/2026
26.2.64730 99 2/25/2026
26.2.64723 101 2/25/2026
26.2.64722 100 2/25/2026
26.2.64714 105 2/24/2026
26.2.64701 105 2/24/2026
26.2.64700 97 2/24/2026
26.2.64694 101 2/24/2026
26.2.64691 103 2/24/2026
26.2.64687 102 2/24/2026
26.2.64679 97 2/23/2026
26.2.64678 99 2/23/2026
26.2.64676 96 2/23/2026
26.2.64675 94 2/23/2026
26.2.64673 100 2/23/2026
Loading failed