https://github.com/vishalquantana/klav-snap
Open-core AI bug reporting & testing — right-click to file grounded bugs to Jira/Linear/GitHub/Plane, AI personas (Sims) that review your product, and self-healing end-to-end tests.
https://github.com/vishalquantana/klav-snap
ai-agents ai-testing bug-reporting bug-tracker bun chrome-extension developer-tools end-to-end-testing feedback-widget github-issues jira linear open-core plane playwright qa screenshot self-healing-tests typescript user-personas
Last synced: about 12 hours ago
JSON representation
Open-core AI bug reporting & testing — right-click to file grounded bugs to Jira/Linear/GitHub/Plane, AI personas (Sims) that review your product, and self-healing end-to-end tests.
- Host: GitHub
- URL: https://github.com/vishalquantana/klav-snap
- Owner: vishalquantana
- License: other
- Created: 2026-06-14T20:24:10.000Z (13 days ago)
- Default Branch: master
- Last Pushed: 2026-06-22T07:19:36.000Z (6 days ago)
- Last Synced: 2026-06-22T07:27:03.383Z (6 days ago)
- Topics: ai-agents, ai-testing, bug-reporting, bug-tracker, bun, chrome-extension, developer-tools, end-to-end-testing, feedback-widget, github-issues, jira, linear, open-core, plane, playwright, qa, screenshot, self-healing-tests, typescript, user-personas
- Language: TypeScript
- Homepage: https://klavity.quantana.top
- Size: 4.89 MB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Klavity Snap ⚡
> **Right-click any page to file a grounded bug** — screenshot, console and network attached — straight into Jira, Linear, GitHub Issues, or Plane. No browser extension required, no tool to open.
[](https://chromewebstore.google.com/detail/klavity-%E2%80%93-ai-bug-reporter/olahjdcgbdjajbfmgnakjlehgjdmaene)
[](LICENSE)
[](https://klavity.quantana.top)
[](#license)
**Klavity** turns bug reporting, customer research, and end-to-end testing into one continuous loop — built around a recurring cast of AI **Sims** (personas grounded in real customer calls). Snap is **Phase 1**: the in-app reporter that catches a bug the moment a human sees it.
🌐 **Live:** [klavity.quantana.top](https://klavity.quantana.top) · [Snap](https://klavity.quantana.top/snap) · [Sims](https://klavity.quantana.top/sims) · [AutoSim](https://klavity.quantana.top/autosim)
> Named after **Ekalavya**, the self-taught master — Klavity learns your product and tests it the way your users would.
---
## The Klavity arc — Snap → Sims → AutoSim
Three phases, one set of AI Sims walking the same trail through your product:
| Phase | Product | What it does | Status |
|---|---|---|---|
| **1** | **[Klavity Snap](https://klavity.quantana.top/snap)** | Right-click → describe → a grounded bug (screenshot + console + network) lands in your tracker. **No extension needed.** | ✅ **Shipped** (this repo) |
| **2** | **[Klavity Sims](https://klavity.quantana.top/sims)** | Turn customer-call transcripts into AI personas that walk your real pages and react in their own voice — filing grounded bugs carrying the persona + a verbatim quote. | ✅ **Live** |
| **3** | **[Klavity AutoSim](https://klavity.quantana.top/autosim)** | Your Sims test every release: author a flow once, replay it with **zero AI**, and **self-heal** when the UI changes — never a silent false-green. | ✅ **Shipped** |
> AutoSim was formerly called "Klavity OS." Everywhere you see it now, it's **AutoSim**.
---
## Why Klavity Snap is different
- **No browser extension required.** The first-party widget owns right-click on your own site — your users report bugs without installing anything. (A Chrome extension exists too, for reporting on *any* site.)
- **Grounded, not AI-slop.** Every report carries real evidence — full-page screenshot, the page URL, and the last 50 console errors + network failures — so a ticket is reproducible, not a guess.
- **Deduplicated.** A repeat of a known issue bumps its recurrence count instead of spawning a duplicate ticket.
- **Files where you already work.** Jira, Linear, GitHub Issues, and Plane — directly, or routed through Klavity Cloud.
- **Open-core & self-hostable.** Run the whole thing on your own infra.
---
## Features
- **Right-click anywhere** → Report a Bug / Request a Feature / View submissions
- **Auto screenshot** on open — captures the full rendered page (cross-origin images included)
- **Region capture** — drag to select any area of the page
- **Canvas annotation** — pen, rectangle, arrow, text in 4 colours, with undo/clear
- **Upload + paste** — drag files, paste from clipboard, HEIC/HEIF auto-converted
- **Context capture** — page URL, browser, screen size, last 50 console errors, last 50 network failures
- **4 integrations** — Jira · Linear · GitHub Issues · Plane
- **Cloud switch** — set one backend URL to route submissions through Klavity Cloud or your self-hosted instance
---
## Install
### First-party widget (no extension)
Embed the report widget on your own site so logged-in users can right-click → report, with the full-page screenshot auto-attached:
```html
```
### Chrome extension (report on any site)
**[➜ Install from the Chrome Web Store](https://chromewebstore.google.com/detail/klavity-%E2%80%93-ai-bug-reporter/olahjdcgbdjajbfmgnakjlehgjdmaene)** — Klavity – AI Bug Reporter
**Developer / self-hosted:**
1. `pnpm install && pnpm -r build`
2. Open `chrome://extensions` → enable **Developer mode** → **Load unpacked** → select `packages/extension/dist`
3. Click the ⚡ Klavity icon → **Settings** → configure your integration
### Embeddable SDK (`@klavity/snap`)
For SaaS products that want Klavity Snap built into their own app.
**Script tag:**
```html
KlavitySnap.init({
integration: 'jira',
jira: {
baseUrl: 'https://yourorg.atlassian.net',
email: 'dev@yourorg.com',
token: 'your-api-token',
projectKey: 'PROJ'
}
})
```
**npm:**
```bash
npm install @klavity/snap
```
```js
import KlavitySnap from '@klavity/snap'
KlavitySnap.init({
integration: 'linear',
linear: { apiKey: 'lin_api_...', teamId: 'team_...' }
})
```
---
## Configuration
Open the extension settings (click the ⚡ icon → **Settings**) or pass config to `KlavitySnap.init()`.
| Setting | Description |
|---|---|
| Active integration | `jira`, `linear`, `github`, or `plane` |
| Jira: Base URL | e.g. `https://yourorg.atlassian.net` |
| Jira: Email + API Token | From Atlassian account settings |
| Jira: Project Key | e.g. `PROJ` |
| Linear: API Key | Personal API key from Linear settings |
| Linear: Team ID | Your Linear team ID |
| GitHub: PAT | Personal access token with `repo` scope |
| GitHub: Repository | `owner/repo` format |
| Plane: API Token | From Plane account settings |
| Backend URL | Leave empty for direct mode. Set to your self-hosted URL or Klavity Cloud to route all submissions through the backend. |
| Auto-file JS errors | Auto-file silent tickets for unhandled JS errors (opt-in) |
---
## Architecture
```
klav-snap/
├── packages/core/ # @klavity/core — shared types, integrations, annotator, crop, modal
├── packages/extension/ # Chrome MV3 extension — background, content script, options, popup
├── packages/sdk/ # @klavity/snap — embeddable script-tag / npm SDK
└── prototype/ # Klavity Cloud — Bun backend, dashboards, Sims & AutoSim engine
```
The **cloud switch** is a single `backendUrl` setting. Empty = direct mode (the extension calls Jira/Linear/etc. APIs directly). Non-empty = submissions route through the Klavity backend, which also powers **Klavity Sims** and **Klavity AutoSim**.
---
## Development
```bash
# OSS packages (extension + SDK + core)
pnpm install # install all workspace deps
pnpm -r test # run package tests (vitest)
pnpm -r build # build extension + SDK
# Load the extension in Chrome:
# chrome://extensions → Developer mode → Load unpacked → packages/extension/dist
```
The `prototype/` Cloud backend runs on **Bun** (`cd prototype && bun install && bun run server.ts`).
---
## License
[FSL-1.1-ALv2](LICENSE) (Functional Source License) — free for any non-competing use; converts to Apache 2.0 on the second anniversary of each release.
For commercial licensing, contact [hello@quantana.com.au](mailto:hello@quantana.com.au).
Built by [Quantana](https://quantana.com.au) — an AI-first design and development studio.