Open Source • TypeScript • AI-Powered

AI-Powered API & Browser
Monitors That Live In Your Code

Write API and browser monitors in TypeScript. AI reviews your PRs and keeps your monitors up to date. Know when things break.

import { createMonitorBuilder, GET, Json,
  Assert, Frequency } from "@griffin-app/griffin";

const monitor = createMonitorBuilder({
  name: "health-check",
  frequency: Frequency.every(1).minute(),
})
  .request("health", {
    method: GET,
    response_format: Json,
    path: "/health",
    base: "https://api.example.com",
  })
  .assert((state) => [
    Assert(state["health"].status).equals(200),
    Assert(state["health"].latency).lessThan(500),
  ])
  .build();

export default monitor;

Everything You Need for Monitoring

Monitor APIs and web pages — all from your codebase

Write Monitors in TypeScript

Define API and browser monitors with a clean TypeScript DSL. Chain requests, browser steps, and assertions — all with full type safety.

Monitor from Multiple Regions

Run monitors from different locations to catch region-specific issues. Automatic failover keeps your coverage uninterrupted.

Monitor Browser Flows

Test login flows, verify page content, and catch JavaScript errors with real Playwright browsers. Navigate, click, fill forms, and assert on page state.

Keep Secrets Secure

Use environment variables, AWS Secrets Manager, or HashiCorp Vault. Your API keys and tokens never touch your codebase.

Get Alerted When Things Break

Receive email or Slack notifications the moment a monitor fails. Track metrics and trends over time with built-in dashboards.

Run Locally or in Production

Validate monitors against your dev server, then deploy the same code to run on a schedule in production. One workflow, every environment.

How It Works

From code to production monitoring in four steps

1

Write Monitors

Create .ts files in __griffin__ directories — API checks, browser flows, or both

2

Validate Locally

Run monitors against your development server with the CLI before deploying

3

Deploy

Push monitors to run on a schedule against your production APIs and web pages

4

Monitor

Get alerts when something breaks, track results, and keep your APIs and pages healthy

AI-Powered

Your Monitors
Update Themselves

When you open a pull request, Griffin's AI agent reviews your changes, identifies affected endpoints and flows, then writes new monitors or updates existing ones to match.

  • Reviews every PR for API and UI changes that need monitoring
  • Generates new __griffin__ tests or adjusts existing ones automatically
  • Monitor coverage grows with your codebase — no manual upkeep
Griffin AI Agent
PR #142 opened: Add /payments endpoint
Reviewing changes in src/routes/payments.ts
New endpoint detected: POST /api/payments
+Created __griffin__/payments-check.ts
~Updated __griffin__/api-health.ts — added payments assertion
2 monitors updated, commit pushed to PR

Up and Running in Minutes

Use an AI agent to generate API and browser monitors — no manual setup required

1. Add the Griffin skill to your AI agent

Terminal
$ npx skills add griffin-open-source/skills

2. Ask your agent to create monitors

AI Agent
>>Create monitors for this service. Cover the API health check, payments endpoint, and a browser test for the login flow.

Works with Claude Code, Cursor, Windsurf, and any agent that supports skills

Start Monitoring Today

Join developers who keep their APIs and web pages healthy with monitors that live in their codebase

Open source • MIT License • Built with TypeScript