Skip to content

feat: add FoundLab visual capture kit#1

Open
irelia0nerf wants to merge 10 commits into
mainfrom
chore/visual-capture-kit
Open

feat: add FoundLab visual capture kit#1
irelia0nerf wants to merge 10 commits into
mainfrom
chore/visual-capture-kit

Conversation

@irelia0nerf

Copy link
Copy Markdown
Contributor

Context

Adds an organizational Visual Capture Kit to standardize UI screenshot evidence across FoundLab production and preview deployments.

What changed

  • Adds reusable workflow: .github/workflows/visual-capture.yml.
  • Adds Playwright runner: visual-capture-kit/src/capture.ts.
  • Adds TypeScript package config and typecheck setup.
  • Adds operational README with consumer examples and manifest contract.
  • Adds organization workflow template for production visual capture.
  • Adds template metadata and icon.

Operational contract

Consumer repositories can call:

jobs:
  visual-capture:
    uses: FoundLab-PoweredByGoogleCloud/.github/.github/workflows/visual-capture.yml@main
    with:
      url: https://example.com
      routes: /,/login,/pricing
      artifact-name: production-visual-capture

The workflow uploads PNG screenshots and manifest.json as a GitHub Actions artifact.

Inputs supported

  • url
  • routes
  • artifact-name
  • wait-ms
  • full-page
  • ready-selector
  • viewports-json
  • fail-fast
  • kit-ref

Risk controls

  • Uses Chromium headless via Playwright.
  • Captures desktop/mobile by default.
  • Supports readiness selector for apps with skeleton/loading states.
  • Emits structured JSON logs.
  • Produces manifest with pass/fail summary.
  • Supports ref pinning via kit-ref and workflow reference.

Follow-up after merge

  1. Create a protected v1 tag from main.
  2. Update production consumers to use @v1 or a commit SHA instead of @main.
  3. Add app-specific ready-selector where needed.
  4. Add authenticated capture support in v2 if required.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant