Autonomous quality for AI-native development teams.
AI-native Playwright test automation for VS Code, Cursor, GitHub Copilot, Claude Code, and Antigravity.
Vindicate is a stateless local stack. The extension installs rules and skills, then your agent (Cursor, GitHub Copilot, Claude Code, or Antigravity) calls a local MCP server for workflow guidance, codegen, and browser tools. No cloud job machine, no MongoDB, no remote orchestration.
flowchart TB
subgraph ide["Your editor"]
Agent["AI agent"]
Ext["Vindicate extension"]
end
subgraph local["This machine, 127.0.0.1 only"]
MCP["runtime-mcp"]
Worker["runtime-worker"]
Chromium["Chromium"]
end
Agent -->|MCP tools| MCP
Ext -->|spawns + supervises| MCP
Ext -->|spawns + supervises| Worker
MCP -->|browser / record / API| Worker
Worker --> Chromium
| Component | Role |
|---|---|
| VS Code / Cursor extension | Onboarding, dashboard, agent pairing, process supervisor |
| runtime-mcp | MCP server the agent talks to: workflow, codegen, tools |
| runtime-worker | Playwright browser sessions, recordings, and API requests |
runtime-mcp and runtime-worker are machine-wide singletons. Isolation between projects is per session, not per process. Full detail: docs/ARCHITECTURE.md.
apps/
runtime-mcp/ Local MCP server (workflow + codegen + tools)
runtime-worker/ Playwright browser + recording worker
vscode-extension/ VS Code / Cursor extension
vindicate-ui/ Bundled MCP Apps panel UI
packages/
protocol/ Shared Zod contracts
config/ Shared configuration presets
security/ Security policy and auth types
observability/ Structured logging (Pino)
- Node.js
>=22 - pnpm
>=10 - Turborepo
From repository root:
pnpm lint
pnpm typecheck
pnpm test
pnpm buildBuild the runnable apps:
pnpm turbo build --filter=@vindicate/runtime-mcp
pnpm turbo build --filter=@vindicate/runtime-worker
pnpm turbo build --filter=vindicateSee CHANGELOG.md.
Licensed under the Apache License, Version 2.0.