Mushi Mushi
Your AI wrote it. Mushi tells you why it broke.
A user says your app is broken. Mushi tells you why in plain English and hands the fix to Cursor, Claude Code or Lovable. No Sentry or monitoring needed.
npx mushi-mushi
See a sample diagnosis → No signup, nothing to install.
Built for the vibe coder who ships fast with Cursor, Claude Code, Lovable or Bolt. No terminal? Add it to Lovable or Bolt with one prompt.
Quick start · How it works · Docs · Sample diagnosis · Why not Sentry? · Self-host · Vision
↑ reports in the Mushi console, each with a plain-English summary. Click for one full sample diagnosis you can read without signing up.
How it works
flowchart LR
U["Your users<br/>tap the bug widget"] --> M
S["Your monitoring<br/>Sentry, Crashlytics… (optional)"] -.-> M
M["Mushi<br/>one queue · diagnosis · fix"] --> E["Your editor or agent<br/>Cursor, Claude Code (MCP)"]
E --> P["Draft PR<br/>you review it"]
P --> R["Release<br/>report closes, user is told"]
- Capture. A user taps the widget. Mushi records a screenshot, the route, their note, and the last console and network events.
- Diagnose. Mushi writes the root cause in plain English with a fix prompt. Twenty reports of the same broken button become one row.
- Fix. Your editor reads the diagnosis over MCP. If you want, an agent opens a draft PR that you review like any other. A second model (Claude Opus, on your own key) reviews each agent PR first, and Mushi will not merge one it says to hold.
It catches the bugs that never throw an error: the pay button hidden under the keyboard, the Save button tapped twice because nothing happened, the dashboard that takes 12 seconds.
Quick start
npx mushi-mushi # detects your framework, installs the SDK, writes env vars, sends a test report
Then connect your editor so it can read diagnoses: one click on the Connect page, or npx mushi-mushi setup --ide cursor (or --ide claude). Ask it: "Get the latest Mushi report and fix it."
Building in Lovable or Bolt, with no terminal? Paste one script tag through your prompt instead: Mushi in Lovable or Bolt.
The SDK needs two env vars (VITE_MUSHI_PROJECT_ID / VITE_MUSHI_API_KEY, or NEXT_PUBLIC_MUSHI_*; see examples/sdk.env.example). No Sentry, no LLM key, no monitoring stack. The hosted free tier covers 50 diagnoses a month with no card, or you can self-host.
Paste this into Cursor or Claude Code:
Install the Mushi skills from github.com/kensaurus/mushi-mushi (
npx skills add kensaurus/mushi-mushi), then run the mushi-setup skill to wire the Mushi SDK and MCP server into this app and send a test report to verify the connection.
The skills also add /mushi-debug (why ingest or MCP fails), /mushi-health (pass/fail across CLI, API and keys) and /mushi-integration (fix dispatch and the two-way loop).
import { MushiProvider } from '@mushi-mushi/react';
export function App() {
return (
<MushiProvider config={{ projectId: 'proj_xxx', apiKey: 'mushi_xxx' }}>
<YourApp />
</MushiProvider>
);
}
import { MushiPlugin } from '@mushi-mushi/vue'; // Vue 3 / Nuxt: app.use(MushiPlugin, { projectId, apiKey })
import { initMushi } from '@mushi-mushi/svelte'; // Svelte / SvelteKit: initMushi({ projectId, apiKey })
import { provideMushi } from '@mushi-mushi/angular'; // Angular 17+: providers: [provideMushi({ projectId, apiKey })]
import { MushiProvider } from '@mushi-mushi/react-native';
import { Mushi } from '@mushi-mushi/web'; // any framework: Mushi.init({ projectId, apiKey })
Native SDKs (iOS, Android, Flutter) are a preview and install from this repository: see packages/ios, packages/android and packages/flutter. A runnable demo lives in examples/react-demo.
What's inside
Full list and maturity: SDK reference. Architecture: how the pipeline fits together.
Agent PRs get an independent review before anyone merges them: merge, fix first or hold, with findings on the PR. A "fix first" PR can go back to the agent once with those findings (agent PR review).
Fix waiting to land? mushi runner status shows where your tests run, why they wait, and whether a red check was your code or a test machine that stopped (CI runners).
Why not just Sentry?
Sentry is built around what the code threw, with a User Feedback widget and replay alongside. Mushi starts from what the user reported, ingests Sentry's errors too, explains each one in plain English, and hands your agent a fix prompt to start from. One queue, with or without Sentry.
It works with what you already run. Point a Sentry alert webhook at /v1/webhooks/sentry?projectId=<id> and errors land in the same queue. Merging a Mushi fix resolves the Sentry issue, and the reverse. Adapters also bring in Datadog, Bugsnag, Rollbar, Crashlytics and others. Plugins keep Linear, Jira, GitHub Issues, Slack, Discord, Teams and PagerDuty in sync. Nothing gets ripped out. Details: Sentry vs Mushi.
Self-host
cd deploy && cp .env.example .env # add ANTHROPIC_API_KEY and your Supabase credentials
docker compose up -d
Walkthroughs: SELF_HOSTED.md and Docker Compose guide. Self-hosting is bring-your-own-key: you pay your LLM vendor at list price. The hosted service needs no key; it bills per diagnosis with a spend cap (pricing). Teams wiring Mushi into an existing stack (SSO, retention, region routing, Kubernetes) start at docs/operators/. Only the public api function should face the internet: see internal caller authentication.
Where it stops
Repo at a glance (run pnpm docs-stats): ~600K TS lines · ~2,600 source files · 45 workspace / 37 npm packages · 77 edge functions · 518 SQL migrations · 19 pipeline agents. Full tour: docs/SCREENSHOTS.md.
Community and contributing
Questions and show-and-tell: GitHub Discussions. Bugs: Issues (first reply within 24 hours on weekdays). Security: SECURITY.md. Anything else private: [email protected].
git clone https://github.com/kensaurus/mushi-mushi.git && cd mushi-mushi
pnpm install && pnpm dev # Node ≥ 22, pnpm ≥ 10
See CONTRIBUTING.md and docs/stats.md.
License
Open core. Each package directory's own LICENSE governs that package; the root LICENSE states the split.
Self-hosting is free and complete: the repo has every feature and working default prompts. Mushi Cloud runs the same code and keeps its own tuning data (prompt wording, evaluation sets and scoring weights tuned on live traffic) as configuration. Contributions come in under a CLA. Why it is set up this way: ADR 0036. Third-party notices: NOTICE.
More apps from the same maker
All apps live under kensaur.us.