Skip to content

Releases

v1.0.0 — Stop asking your friends to test your app

Choose a tag to compare

@Wakizara Wakizara released this 28 May 07:40

Stop asking your friends to test your app.

Val is the QA agent you talk to in Cursor, Claude Code, or Codex. Ask your AI to check your build, Val opens a real browser, walks every flow, finds the bugs, your AI fixes them. Ship to green without bothering anyone.

What this Action does

Runs Val against your preview deployment URL on every pull request and posts the findings as a single PR comment, updated in place across re-runs (no spam).

Val drives a real Chromium browser via Playwright and catches:

  • Broken links and 4xx/5xx responses
  • Uncaught JS errors and console errors
  • Broken/missing images
  • Horizontal layout overflow on mobile
  • Clipped text in fixed containers
  • Cumulative Layout Shift (janky load)
  • A11y essentials: missing alt, unnamed buttons, unlabeled inputs, missing <html lang>
  • Multi-device: bugs that appear only on mobile or only on desktop

Quick start

- uses: Wakizara/val-action@v1
  with:
    url: ${{ steps.deploy.outputs.url }}
    license-key: ${{ secrets.VAL_LICENSE_KEY }}
    devices: 'desktop,iPhone 14'
    fail-on: 'high'

Use Val outside of CI too

This Action is one of three doors into the same Val engine. All three share the same license key, the same checks, and the same val_review one-shot tool:

  • In your IDE as an MCP server (Cursor, Claude Code, Codex, Windsurf) — your AI agent calls Val directly when you ask it to check your build
  • In your terminal as a CLI — npm install -g @nyx-intelligence/val-mcp then VAL_LICENSE_KEY=vk_... val-mcp scan https://my-app.com
  • In your GitHub Actions — this repo

Requires a Val subscription

Val is a paid product, $4.99 / month, cancel anytime. Subscribe at val.nyx-intelligence.com, store the key as a repo secret, pass it via license-key.

The Action wrapper in this repo is MIT-licensed. The underlying engine (@nyx-intelligence/val-mcp) is subscription-gated.

See the README for full input docs.