rishabhcli/QAgent
Self-healing QA agent: an autonomous multi-agent loop (Tester -> Triage -> Fixer -> Verifier) that runs E2E tests, detects bugs, patches + redeploys them, and learns from past fixes. Best ...
2 stars · 0 forks · TypeScript Topics: redis, nextjs, multi-agent, openai, browser-automation, self-healing, autonomous-agents, ai-agents, e2e-testing, qa-automation, llm, browserbase, stagehand, wandb-weave
README
QAgent - Self-Healing QA Agent A self-improving QA agent that automatically tests web applications, identifies bugs, applies fixes, and verifies the fixes – all without human intervention. Overview QAgent is a multi-agent system that creates a closed-loop for automated bug detection and fixing: ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ TESTER │───▶│ TRIAGE │───▶│ FIXER │───▶│ VERIFIER │ │ Agent │ │ Agent │ │ Agent │ │ Agent │ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │ │ │ ┌──────────────┐ │ │ │ Redis │◀────────────────┘ │ │ (Knowledge │ │ │ Base) │ │ └──────────────┘ │ │ ▼ ▼ ┌─────────────────────────────────────────────────────────┐ │ W&B Weave (Observability) │ └─────────────────────────────────────────────────────────┘
Why QAgent?
Continuous Testing: Runs E2E tests like a QA engineer, simulating real user flows Automatic Bug Fixing: Doesn't just report bugs – it fixes them and redeploys Self-Improvement: Learns from past bugs to diagnose and fix faster over time Measurable Impact: Track pass rates, time-to-fix, and iterations to prove improvement
Quick Start
Clone the repository
git clone https://github.com/rishabhcli/QAgent.git cd QAgentInstall dependencies
pnpm installSet up environment
cp .env.example .env.localEdit .env.local with your API keys
Run development server (demo app)
pnpm devRun the QAgent agent
pnpm run agentStart the Marimo dashboard
marimo run dashboard/app.py Tech StackTechnology Purpose
Browserbase + Stagehand AI-powered browser automation for E2E testing
Vercel Instant deployment after fixes
Redis Vector knowledge base for learning from past bugs
W&B Weave Tracing and evaluation of agent runs
Custom Orchestrator (ADK/A2A-compatible) Multi-agent workflow coordination (ADK integration planned)
Marimo Interactive analytics dashboard
Next.js Demo application
OpenAI LLM for patch generation
Documentation
File Purpose
CLAUDE.md Agent configuration, tech stack, workflow rules
TASKS.md Phase-scoped task tracker
docs/PRD.md Product Requirements Document
docs/DESIGN.md System design and data structures
docs/ARCHITECTURE.md Architecture Decision Records
prompts/ralph-loop.md Development workflow prompts
Project Structure QAgent/ ├── .claude/ │ └── skills/ # Domain-specific knowledge modules │ ├── browserbase-stagehand/ │ ├── redis-vectorstore/ │ ├── vercel-deployment/ │ ├── wandb-weave/ │ ├── google-adk/ │ ├── marimo-dashboards/ │ └── qagent-agents/ ├── agents/ # Agent implementations │ ├── tester/ │ ├── triage/ │ ├── fixer/ │ ├── verifier/ │ └── orchestrator/ ├── app/ # Next.js demo app ├── dashboard/ # Marimo analytics ├── docs/ # Documentation ├── lib/ # Shared libraries ├── prompts/ # Workflow prompts └── tests/ # Test suites
How It Works The QAgent Loop
Test - Tester Agent runs E2E tests using Browserbase/Stagehand Detect - Failures are captured with screenshots, DOM state, logs Diagnose - Triage Agent analyzes the failure and queries Redis for similar issues Fix - Fixer Agent generates a patch using LLM + past fix patterns Deploy - Verifier Agent applies the patch and deploys via Vercel Verify - Tests are re-run to confirm the fix works Learn - Successful fixes are stored in Redis for future reference Repeat - Loop continues until all tests pass
Self-Improvement
Knowledge Base: Every bug and fix is stored with embeddings for semantic search Pattern Learning: Similar bugs are fixed faster using past solutions TraceTriage: Agent failures are analyzed to improve prompts and workflows RedTeam: Adversarial tests continuously harden the system
For AI Agents
Start every session by reading CLAUDE.md Check current work in TASKS.md Follow the Ralph Loop workflow for iterative development Load skills from .claude/skills/ as needed
Development
Install dependencies
pnpm installRun demo app
pnpm devRun agent
pnpm run agentRun tests
pnpm testRun E2E tests
pnpm run test:e2eLint and format
pnpm lint && pnpm formatBuild
pnpm build Environment Variables See .env.example for required environment variables:BROWSERBASE_API_KEY - Browserbase API key OPENAI_API_KEY - OpenAI API key REDIS_URL - Redis connection string VERCEL_TOKEN - Vercel API token WANDB_API_KEY - Weights & Biases API key GOOGLE_CLOUD_PROJECT - Google Cloud project (reserved for ADK/A2A integration)
Getting Started See the Quick Start section above for setup instructions. Once running, connect a GitHub repository through the dashboard and start your first QAgent run. References
QAgent Paper - Agentic patching framework Stagehand - AI browser automation Browserbase - Cloud browsers W&B Weave - LLM observability Google ADK - Planned orchestration framework Marimo - Reactive notebooks
License See LICENSE file