@mushi-mushi/plugin-cursor-cloud 0.6.2 → 0.6.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +43 -27
- package/package.json +3 -3
package/LICENSE
CHANGED
package/README.md
CHANGED
|
@@ -2,21 +2,37 @@
|
|
|
2
2
|
|
|
3
3
|
> **Your AI wrote it. Mushi tells you why it broke.**
|
|
4
4
|
|
|
5
|
-
Part of the Mushi Mushi monorepo — plain-English bug comprehension for vibe coders.
|
|
6
|
-
|
|
7
|
-
|
|
8
5
|
[](https://www.npmjs.com/package/@mushi-mushi/plugin-cursor-cloud)
|
|
9
6
|
[](./LICENSE)
|
|
10
7
|
[](./src/index.ts)
|
|
11
8
|
|
|
12
|
-
|
|
9
|
+
Starts a [Cursor Cloud Agent](https://cursor.com/docs/cloud-agent/api/endpoints)
|
|
10
|
+
on your repo when Mushi triages a critical bug or a fix is requested. The
|
|
11
|
+
agent investigates and opens a draft PR for you to review.
|
|
12
|
+
|
|
13
|
+
**Do you need this package?** No, if you use Mushi Cloud. Mushi starts
|
|
14
|
+
Cursor agents itself: add your Cursor API key on the **Integrations** page
|
|
15
|
+
(Cursor Cloud card) and send any report to Cursor, or install **Cursor Cloud
|
|
16
|
+
Agent** from the Marketplace page to start agents automatically. Either way
|
|
17
|
+
Mushi calls Cursor's API directly and never sends events to this package. It is
|
|
18
|
+
only for running the dispatch from your own server, for example next to a
|
|
19
|
+
self-hosted Mushi.
|
|
13
20
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
21
|
+
```bash
|
|
22
|
+
npm i @mushi-mushi/plugin-cursor-cloud @mushi-mushi/plugin-sdk
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
```ts
|
|
26
|
+
import { createCursorCloudPlugin } from '@mushi-mushi/plugin-cursor-cloud'
|
|
27
|
+
|
|
28
|
+
const handler = createCursorCloudPlugin({
|
|
29
|
+
apiKey: process.env.CURSOR_API_KEY!,
|
|
30
|
+
webhookSecret: process.env.MUSHI_PLUGIN_WEBHOOK_SECRET!,
|
|
31
|
+
repoUrl: 'https://github.com/your-org/your-repo',
|
|
32
|
+
})
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Docs: https://kensaur.us/mushi-mushi/docs/plugins/cursor-cloud
|
|
20
36
|
|
|
21
37
|
## Why this exists
|
|
22
38
|
|
|
@@ -32,12 +48,12 @@ Mushi report → classify-report → report.classified (severity=critical)
|
|
|
32
48
|
→ @mushi-mushi/plugin-cursor-cloud
|
|
33
49
|
→ POST https://api.cursor.com/v1/agents
|
|
34
50
|
→ Cursor cloud agent investigates → opens draft PR
|
|
35
|
-
→
|
|
51
|
+
→ one log line on your server
|
|
36
52
|
```
|
|
37
53
|
|
|
38
54
|
## Spend safety
|
|
39
55
|
|
|
40
|
-
This plugin spends real Cursor API credit.
|
|
56
|
+
This plugin spends real Cursor API credit. Four guards are built in:
|
|
41
57
|
|
|
42
58
|
1. **Severity gate** — defaults to `critical` only. Set
|
|
43
59
|
`severityThreshold: 'low'` to widen, but think before doing so.
|
|
@@ -52,12 +68,6 @@ This plugin spends real Cursor API credit. Three hard guards are baked in:
|
|
|
52
68
|
report to Cursor (`autofix_agent = 'cursor_cloud'`), the `fix.requested`
|
|
53
69
|
payload carries `data.fix.externalAgentId` and this plugin logs and skips.
|
|
54
70
|
|
|
55
|
-
## Install
|
|
56
|
-
|
|
57
|
-
```bash
|
|
58
|
-
pnpm add @mushi-mushi/plugin-cursor-cloud @mushi-mushi/plugin-sdk
|
|
59
|
-
```
|
|
60
|
-
|
|
61
71
|
## Use
|
|
62
72
|
|
|
63
73
|
```ts
|
|
@@ -76,11 +86,17 @@ const handler = createCursorCloudPlugin({
|
|
|
76
86
|
autoCreatePR: true,
|
|
77
87
|
})
|
|
78
88
|
|
|
79
|
-
//
|
|
80
|
-
//
|
|
89
|
+
// `handler({ rawBody, headers })` returns `{ status, body }`. Mount it with
|
|
90
|
+
// expressMiddleware from '@mushi-mushi/plugin-sdk/express' or honoHandler
|
|
91
|
+
// from '@mushi-mushi/plugin-sdk/hono'.
|
|
81
92
|
export default handler
|
|
82
93
|
```
|
|
83
94
|
|
|
95
|
+
For `skill_pipeline.step.dispatched`, set `MUSHI_API_KEY` and
|
|
96
|
+
`MUSHI_API_URL` (your Mushi API base, e.g.
|
|
97
|
+
`https://dxptnwrhwsqckaftyymj.supabase.co/functions/v1/api`) so the plugin
|
|
98
|
+
can check the step back in. Without `MUSHI_API_KEY` the step stays `running`.
|
|
99
|
+
|
|
84
100
|
## Configuration
|
|
85
101
|
|
|
86
102
|
| Field | Type | Required | Default | Description |
|
|
@@ -126,7 +142,7 @@ for the push webhook (its `cursor-webhook` edge function verifies the
|
|
|
126
142
|
signature); this npm plugin has no completion tracking of its own and uses
|
|
127
143
|
v1 only.
|
|
128
144
|
|
|
129
|
-
##
|
|
145
|
+
## Breaking change in v0.3.0 — `webhookSecret` required
|
|
130
146
|
|
|
131
147
|
Previous versions derived the HMAC secret from `workspaceId` internally,
|
|
132
148
|
which was trivially forgeable. From v0.3.0 onward you **must** supply
|
|
@@ -141,18 +157,18 @@ which was trivially forgeable. From v0.3.0 onward you **must** supply
|
|
|
141
157
|
})
|
|
142
158
|
```
|
|
143
159
|
|
|
144
|
-
The secret is the
|
|
145
|
-
|
|
160
|
+
The secret is the signing secret of the webhook plugin that sends this
|
|
161
|
+
server its events (the value set when that plugin is installed).
|
|
146
162
|
|
|
147
|
-
##
|
|
163
|
+
## Log line
|
|
148
164
|
|
|
149
|
-
Every dispatch writes
|
|
165
|
+
Every dispatch writes one line to your server's log:
|
|
150
166
|
|
|
151
167
|
```
|
|
152
168
|
[cursor-cloud] dispatched {"agentId":"agent_…","reportId":"…","model":"composer-2.5"}
|
|
153
169
|
```
|
|
154
170
|
|
|
155
|
-
|
|
171
|
+
Mushi does not see these dispatches; check spend on your Cursor dashboard.
|
|
156
172
|
|
|
157
173
|
## Tests
|
|
158
174
|
|
|
@@ -177,4 +193,4 @@ MIT — see [LICENSE](./LICENSE).
|
|
|
177
193
|
<!-- mushi-readme-stats-footer -->
|
|
178
194
|
---
|
|
179
195
|
|
|
180
|
-
<sub>Monorepo scale (July 2026):
|
|
196
|
+
<sub>Monorepo scale (July 2026): 76 edge functions · 509 SQL migrations · 13 outbound plugins · 11 inbound adapters · 19 pipeline agents. Canonical counts: <a href="https://github.com/kensaurus/mushi-mushi/blob/master/docs/stats.md">docs/stats.md</a> · <code>pnpm docs-stats</code></sub>
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mushi-mushi/plugin-cursor-cloud",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.3",
|
|
4
4
|
"license": "MIT",
|
|
5
|
-
"description": "Mushi Mushi plugin
|
|
5
|
+
"description": "Mushi Mushi plugin for Cursor — starts a Cursor Cloud Agent that opens a draft PR when a critical bug is triaged. Self-hosted; Mushi Cloud starts Cursor agents natively.",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"exports": {
|
|
8
8
|
".": {
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"LICENSE"
|
|
19
19
|
],
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@mushi-mushi/plugin-sdk": "^0.9.
|
|
21
|
+
"@mushi-mushi/plugin-sdk": "^0.9.1"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|
|
24
24
|
"@types/node": "^22.20.0",
|