Open beta

Code is cheap. Correctness is not.

Agents now write code faster than anyone can read it. zriz proves your product still works, end to end, before your customers find out.

zriz is in open beta. The free tier gives each org one run at a time and 50 runs a day.

AI agent? Read /llms.txt first. It has the answers and the list of pages.

Start in your terminal

curl -fsSL https://zriz.io/install | sh
~/.local/bin/zz login
~/.local/bin/zz init --url http://localhost:3000
~/.local/bin/zz run hello

Do the commands in the folder of your service.

How it works

  1. Write a pipeline. A JSON file in your repo. It calls your HTTP API and checks your database.
  2. Run it. zz run runs it on your machine, or on a runner inside your network.
  3. Get pass or fail. With the failed step and what it saw. Your agent fixes and runs again.
.zriz/pipelines/register-reply.json
{
  "description": "Sign up: check the status code and the body",
  "steps": [
    { "set": { "email": "u-${gen.uuid}@test.com" } },
    {
      "call": "target/register",
      "body": { "email": "${ctx.email}", "password": "secret123", "name": "Ann" },
      "expect": [
        ["status", "==", 201],
        ["body.email", "==", "${ctx.email}"],
        ["body.user_id", "not-empty"]
      ]
    }
  ]
}
zz run register-reply

pass

{"ok":true,"command":"run",
 "data":{"pipeline":"register-reply","status":"pass","duration-ms":412}}

fail

{"ok":false,"command":"run",
 "error":{"type":"run-fail",
  "message":"check 0 of step 1 (target/register) failed: status is 500 and the pipeline expects 201"},
 "hints":[{"command":"zz runs <run id>","doc":"Show the failed step and its values"}]}

The answers are shortened. The full lesson: Test an API status code and response body

One install. One project for each service.

  • Install zz once for the computer. Log in once.
  • Each service has its own project: a .zriz folder in the service folder. zz init makes it.
  • Commit .zriz with your code. zz finds it from any sub-folder, like git finds .git.
  • zz run hello takes the name of a pipeline, not a path.

Built for AI agents

  • Every zz command prints one JSON object and names the next command.
  • zz never asks a question and never waits for input.
  • One page teaches an agent to write a pipeline: zz guide.
  • A test is done only when zz run answers pass.

Your secrets stay with you

  • Database connection strings, passwords and keys never leave your network.
  • The runner only makes outbound connections. Nothing listens.
  • Results are cut down to the fields a check needs, and cleaned of secrets, before they leave.

How zriz handles your data

The runner is open source: github.com/ZrizTech/runner.

What you can test

  • HTTP APIs.
  • Postgres and MySQL. Mark a database read-only and no write gets through.
  • Flows across both: call the API, then check the row.
  • Browser flows and command-line tools, on a deployed runner.

Learn by example

Short lessons solve one test problem each, with one pipeline that you can copy.

All lessons

Start now.