Analysis updated 2026-05-18
Verify an API call, dialog, or console state after an AI agent makes a code change.
Snapshot an app's state and diff it later to catch silent regressions.
Replace slow, expensive screenshot checks with cheap structured assertions.
| syrin-labs/iris | coasty-ai/open-cowork | javlonbek1233/-immersive-ui-1 | |
|---|---|---|---|
| Stars | 39 | 39 | 39 |
| Language | TypeScript | TypeScript | TypeScript |
| Setup difficulty | moderate | easy | easy |
| Complexity | 3/5 | 3/5 | 1/5 |
| Audience | developer | vibe coder | vibe coder |
Figures from each repo's GitHub metadata at analysis time.
Requires embedding the SDK in your app in dev mode and pointing your agent at the MCP server.
Iris is a tool that lets an AI coding agent verify whether a code change actually worked in the running app. The problem it addresses is that agents like Claude Code or Cursor can edit files, say the feature is done, and be wrong: the code compiles and the page renders, but a button sends a request that returns an error, or a console error appears, or a modal that was supposed to open does not. Iris gives the agent a way to check those things programmatically, without relying on a screenshot. The system has two parts: a small SDK you embed in your app (in development mode only) and an MCP server the agent connects to. Once both are running, the agent can call tools like iris_assert with a list of conditions: did a POST request to a particular URL return a 200 status? Is a dialog element visible? Are there any console errors? Did a custom signal fire? The tool returns a pass or fail verdict with structured evidence, including the specific file and line number where a React component caused a problem. A separate pair of tools handles regression detection. You call iris_baseline_save to snapshot the app's current state, make changes, then call iris_diff to see what disappeared or broke. For example, if an agent accidentally deleted a button or introduced a new console error during an unrelated edit, the diff surfaces it immediately. The README makes a comparison to screenshot-based checking: a full-page screenshot costs around 1,500 tokens to process through a vision model, while an Iris assertion costs around 100 tokens because it only asks about the specific things it needs to know. The project is published as a single npm package called @syrin/iris, works with React applications in local development, and connects to AI agents through the Model Context Protocol.
An MCP server and SDK that let an AI coding agent verify a code change actually worked inside the running app, with evidence instead of screenshots.
Mainly TypeScript. The stack also includes TypeScript, Model Context Protocol, React.
Use freely for any purpose, including commercial use, as long as you keep the copyright notice.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.