peepshow/sinks/github-issues

Reel #12Issue tracker

peepshow sink / github-issues

GitHub IssuesFile an issue with the frames uploaded inline.

REST v3. Repo / labels / assignees configurable. Frames attached via image URLs.

What it does

File a peepshow run as a GitHub issue against any repo you have push access to. Frames are uploaded as attachments and linked inline, labels and assignees are configurable, and the description is filled from video metadata.

When to reach for it

  • OSS bug reports: video drops in, issue auto-filed with reproducible frames
  • Docs pipeline: every processed tutorial creates a tracking issue until published
  • Run as part of a release workflow to open post-mortem issues with video evidence

Install

npm i -g peepshow

Use it

peepshow ./repro.mov --sink github-issues \
  --sink-arg repo=myorg/myrepo \
  --sink-arg label=bug

Make it automatic

Register the sink once — every run fires it afterward. Scope by--whenso it only runs for matching videos.

peepshow sinks add github-issues
peepshow sinks add github-issues --when extension=mp4,mov
peepshow sinks add github-issues --when path=/Volumes/Work/

Configuration

  • PEEPSHOW_GITHUB_TOKENPAT or fine-grained token with `issues: write`.required
  • PEEPSHOW_GITHUB_REPODefault `owner/name`. Overridable per call.

Write your own

A sink is any executable that reads the--emit jsonpayload on stdin. Shell, Node, Python, Go — the spec's indocs/PLUGINS.md. Register persistent ones withpeepshow sinks add-cmd 'your-command'.