What is peek?

peek is a stateless visual verification CLI designed for AI coding agents. It screenshots web URLs and native macOS app windows, and runs automated layout checks – all without maintaining browser sessions.

The Problem

AI coding agents running in parallel need to visually verify the UIs they build. The current approach – Playwright MCP – has significant limitations:

  • Not isolated by default – agents collide on the same browser session
  • Resource-heavy with --isolated mode (~200MB Chromium per agent)
  • Stateful when agents only need a quick look
  • Web-only – no native app support

How peek Solves This

peek takes a fundamentally different approach: stateless, pooled, CLI-first.

  • Stateless – Each call is independent. No session management, no persistent state. An agent calls peek snap, gets a file path, reads the image, and moves on.
  • Browser pooling – A single Chrome instance is reused across invocations. The first call launches Chrome (~3.8s), subsequent calls connect to the existing instance (~0.9s). This is a ~4x speedup with no resource contention between agents.
  • Layout checks – 6 automated verification checks inherited from rlint: overflow detection, clickability, touch targets, visibility, text overflow, and viewport meta validation.
  • Native capture – Screenshots macOS application windows via ScreenCaptureKit, not just web pages.
  • Scene checks – Spatial checks for engine-based apps (Bevy, Unity) that read a scene manifest JSON and verify entity positions without needing a browser.

Who Is It For?

peek is built for:

  • AI coding agents that need quick visual verification of what they have built
  • CI/CD pipelines that want to catch layout regressions before deployment
  • Developers who want automated layout quality checks during development

Quick Example

# Screenshot a URL
path=$(peek snap http://localhost:3000)

# The agent reads the image with its vision capabilities
# and decides what to do next

# Run layout checks
peek check http://localhost:3000 --format json

# Auto-detect framework, start dev server, check routes
peek dev --routes /,/about,/settings

Successor to rlint

peek is the successor to rlint. All rlint check and dev commands work with peek, plus peek adds screenshot capture (snap), native window capture (--app), browser pool management (pool), setup scripts for authentication, and scene checks for game engines.