Nightly Playwright QA that tells you when it stops watching. npx muraqib doctor finds the silent-cancel bug in any existing setup. Claude opens the fix PR. MIT, no hosted service.
2
stars
14
commits
JavaScript
primary language
Sep 9, 2026
updated
Arabic: مُراقِب ("the guardian, the watchful one")
Muraqib is a nightly QA system built for one-person software teams. It runs Playwright tests against your live app every night, lets Claude fix failing tests automatically, and sends you one weekly summary email. You only hear about it on Monday morning.
Solo founders can't afford a QA team. But silent regressions (a broken signup flow, a payment page that 404s, a broken PDF export) are invisible until a customer complains. Muraqib watches while you sleep.
Nightly (2am) → Playwright runs all tests against production
↓ if tests fail
Claude reads the error, diagnoses it, opens a PR with the fix
↓ if fix passes CI
PR waits for manual review by default, see "Auto-merge" below
↓ always
Weekly digest email every Monday with pass/fail history
| Path | What it does |
|---|---|
tests/ | Playwright test specs (you write these for your app) |
tasks/ | Handwritten automation tasks |
tasks/registry.ts | Maps task names to handlers, no runtime AI, zero token cost |
task-runner.ts | CLI: npm run task -- <name> --flags |
lib/selfHeal.ts | Reference implementation of the Claude fix-prompt builder |
.github/workflows/ | The nightly runner + the Claude auto-fix workflow, already wired |
muraqib.config.ts: set baseUrl, projectName, flows, and alerting.emailTo/emailFrom.ANTHROPIC_API_KEY, RESEND_API_KEY.tests/, matching the file name in each flow.claudeIntegration.autoMerge at its default (false) until you've read the "Auto-merge" section below.Default is off. Claude opens a PR, CI runs against it, and it waits for you to review and merge, the same as any other PR. This is deliberate: CI passing means the fix didn't break the tests it can see, not that the fix is correct.
If you turn autoMerge on, two independent things keep it from touching payment/auth/migration/secrets code:
.github/workflows/auto-merge-guard.yml checks the actual changed files on any PR with auto-merge enabled and force-disables it if a sensitive path matches. That is code, not a prompt.Turning autoMerge on requires one manual setup step: add "Muraqib Auto-Merge Guard / guard" as a required status check in your repo's branch protection rules for main. Without that, the guard still runs and will disable auto-merge and comment if it catches something, but GitHub's native auto-merge can complete before the guard job does. A required status check is what makes GitHub wait for it. Auto-merge without both the guard and that setting is not a safety net, it's just skipping review. This repo has that setting configured on main as of 2026-08-29; if you fork or clone this for your own project, you need to add it yourself.
Octomind offered a similar idea (nightly AI-assisted QA) as a paid, hosted product starting around $89/month, and stopped taking new customers in April 2026. This project is not a hosted replacement for it, it is a different shape entirely: you clone it, it runs in your own GitHub Actions and your own Claude subscription, and there is no monthly bill because there is no service to bill for. The tradeoff is honest too, you set it up yourself (a config file, two secrets, your own test specs), instead of signing up and getting a dashboard.
If you want a hosted, zero-setup product with support, this is not that. If you want the same core idea for $0 and are fine reading a README, this repo is free and MIT licensed, and its full defect history (below) is public, not a claim.
MIT License.
14 commits
JavaScript
75.3%
TypeScript
24.7%
Nightly Playwright QA that tells you when it stops watching. npx muraqib doctor finds the silent-cancel bug in any existing setup. Claude opens the fix PR. MIT, no hosted service.
2
stars
14
commits
JavaScript
primary language
Sep 9, 2026
updated
Arabic: مُراقِب ("the guardian, the watchful one")
Muraqib is a nightly QA system built for one-person software teams. It runs Playwright tests against your live app every night, lets Claude fix failing tests automatically, and sends you one weekly summary email. You only hear about it on Monday morning.
Solo founders can't afford a QA team. But silent regressions (a broken signup flow, a payment page that 404s, a broken PDF export) are invisible until a customer complains. Muraqib watches while you sleep.
Nightly (2am) → Playwright runs all tests against production
↓ if tests fail
Claude reads the error, diagnoses it, opens a PR with the fix
↓ if fix passes CI
PR waits for manual review by default, see "Auto-merge" below
↓ always
Weekly digest email every Monday with pass/fail history
| Path | What it does |
|---|---|
tests/ | Playwright test specs (you write these for your app) |
tasks/ | Handwritten automation tasks |
tasks/registry.ts | Maps task names to handlers, no runtime AI, zero token cost |
task-runner.ts | CLI: npm run task -- <name> --flags |
lib/selfHeal.ts | Reference implementation of the Claude fix-prompt builder |
.github/workflows/ | The nightly runner + the Claude auto-fix workflow, already wired |
muraqib.config.ts: set baseUrl, projectName, flows, and alerting.emailTo/emailFrom.ANTHROPIC_API_KEY, RESEND_API_KEY.tests/, matching the file name in each flow.claudeIntegration.autoMerge at its default (false) until you've read the "Auto-merge" section below.Default is off. Claude opens a PR, CI runs against it, and it waits for you to review and merge, the same as any other PR. This is deliberate: CI passing means the fix didn't break the tests it can see, not that the fix is correct.
If you turn autoMerge on, two independent things keep it from touching payment/auth/migration/secrets code:
.github/workflows/auto-merge-guard.yml checks the actual changed files on any PR with auto-merge enabled and force-disables it if a sensitive path matches. That is code, not a prompt.Turning autoMerge on requires one manual setup step: add "Muraqib Auto-Merge Guard / guard" as a required status check in your repo's branch protection rules for main. Without that, the guard still runs and will disable auto-merge and comment if it catches something, but GitHub's native auto-merge can complete before the guard job does. A required status check is what makes GitHub wait for it. Auto-merge without both the guard and that setting is not a safety net, it's just skipping review. This repo has that setting configured on main as of 2026-08-29; if you fork or clone this for your own project, you need to add it yourself.
Octomind offered a similar idea (nightly AI-assisted QA) as a paid, hosted product starting around $89/month, and stopped taking new customers in April 2026. This project is not a hosted replacement for it, it is a different shape entirely: you clone it, it runs in your own GitHub Actions and your own Claude subscription, and there is no monthly bill because there is no service to bill for. The tradeoff is honest too, you set it up yourself (a config file, two secrets, your own test specs), instead of signing up and getting a dashboard.
If you want a hosted, zero-setup product with support, this is not that. If you want the same core idea for $0 and are fine reading a README, this repo is free and MIT licensed, and its full defect history (below) is public, not a claim.
MIT License.
14 commits
JavaScript
75.3%
TypeScript
24.7%