Skip to content
  • panel
  • status chip
  • live feed
  • lookup

GitHub queue

Open pull requests of one repository, live. Edit the two URLs to point at your repo.

What it does

Parts for the agent stay off until you approve them.

  • panelA panel you work in: beside the chat, above the file tree, in a corner, or across the whole window.
  • status chipOne chip in the status bar. It can count live rows, like “3 PRs”.
  • live feedData the app fetches on a schedule: a web API, the app itself, or a folder of files in your repository.
  • lookupA read-only web request the agent may call to look something up.

Panel

“Pull requests”, placed beside the chat. Buttons: Review the oldest.

Data it fetches

  • prshttps://api.github.com/repos/proxysoul/Empryo/pulls?state=open&per_page=20

Also includes

1 lookup the agent can call.

Install

proxysoul/Empryo/morphs/github-queue.json
  1. Copy the reference above.
  2. In the Empryo desktop app, open Cells & Morphs → Start from… → Install from GitHub and paste it.
  3. Or ask the agent to “install proxysoul/Empryo/morphs/github-queue.json”.

Will it run for you

Requirements

Empryo
3.7.2+Empryo 3.7.2+, runs on 3.10.2-beta
Platforms
macOS, Linux and Windows
Works in
Desktop app

Runs on Empryo 3.10.2-beta, the current release.

Network access

  • api.github.com

Rules and guards stay off until you approve them in Cells & Morphs.

Source

This morph lives at morphs/github-queue.json in proxysoul/Empryo.

Read the whole file
morphs/github-queue.json
{
  "schemaVersion": 1,
  "name": "GitHub queue",
  "description": "Open pull requests of one repository, live. Edit the two URLs to point at your repo.",
  "requires": {
    "empryo": ">=3.7.2",
    "hosts": [
      "desktop"
    ]
  },
  "accent": "#8b5cf6",
  "surface": {
    "title": "Pull requests",
    "place": "side",
    "blocks": [
      {
        "kind": "stats",
        "variant": "inline",
        "items": [
          {
            "label": "open",
            "value": "{{pulses.prs.count}}",
            "tone": "accent"
          }
        ]
      }
    ],
    "actions": [
      {
        "label": "Review the oldest",
        "prompt": "Review the oldest open pull request on my board and summarise its risk."
      }
    ]
  },
  "pulses": [
    {
      "id": "prs",
      "url": "https://api.github.com/repos/proxysoul/Empryo/pulls?state=open&per_page=20",
      "every": 120,
      "map": {
        "text": "#{{number}} {{title}}",
        "detail": "{{user.login}}",
        "badge": "{{draft | map:true=draft:false=ready}}",
        "href": "{{html_url}}",
        "prompt": "Review pull request #{{number}} ({{title}}) from my board."
      }
    }
  ],
  "status": {
    "text": "{{pulses.prs.count | plural:PR}}",
    "prompt": "What is waiting for review on my board?"
  },
  "lookups": [
    {
      "name": "pr",
      "desc": "One pull request by number",
      "url": "https://api.github.com/repos/proxysoul/Empryo/pulls/{{number}}",
      "params": [
        {
          "name": "number",
          "desc": "PR number"
        }
      ],
      "pick": [
        "title",
        "state",
        "user.login",
        "additions",
        "deletions",
        "changed_files",
        "mergeable_state"
      ]
    }
  ],
  "signature": {
    "alg": "ed25519",
    "key": "MCowBQYDK2VwAyEAy6SPFCi/cYx+XTFd5b7LjJnM5YUMNqsNGKU3fPCLU8Y=",
    "sig": "J/NJHjVXHDwJVLP8JXuRtlyJrZhxHG1DOkeVmsdCURVU+N1K3sG41fl7kVHKh5AyRgWtqfilDEMcPIg8A4fvCA=="
  }
}