@mushi-mushi/svelte 1.0.0 → 1.0.2

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/CONTRIBUTING.md CHANGED
@@ -27,12 +27,24 @@ pnpm build
27
27
 
28
28
  ```bash
29
29
  pnpm dev # Start all dev servers (admin on :6464)
30
+ ```
31
+
32
+ | Surface | URL |
33
+ | --- | --- |
34
+ | Admin console | http://localhost:6464 |
35
+ | Docs site | http://localhost:3000 |
36
+ | CLI console override | `MUSHI_CONSOLE_URL=http://localhost:6464` |
37
+
38
+ ```bash
30
39
  pnpm test # Run Vitest across all packages
31
40
  pnpm typecheck # TypeScript checks
32
41
  pnpm lint # ESLint
33
42
  pnpm format # Prettier
43
+ pnpm smoke:cli-setup # Playwright: onboarding ?setup=cli + success panel (skips headless if unsigned)
34
44
  ```
35
45
 
46
+ Set `CLI_SETUP_SMOKE_STRICT=1` to fail the smoke script when Playwright is not signed in (CI gate).
47
+
36
48
  Ad-hoc screenshots captured during UI reviews can live temporarily at the repo
37
49
  root, but root-level `*.png` files are intentionally ignored. Canonical
38
50
  screenshots that should be versioned belong under `docs/screenshots/`.
@@ -58,9 +70,9 @@ packages/
58
70
  react-native/ React Native SDK (MIT)
59
71
  cli/ CLI tool (MIT)
60
72
  mcp/ MCP server for coding agents (MIT)
61
- server/ Supabase Edge Functions (BSL)
62
- agents/ Agentic fix pipeline (BSL)
63
- verify/ Fix verification (BSL)
73
+ server/ Supabase Edge Functions (AGPLv3; ee/ is commercial)
74
+ agents/ Agentic fix pipeline (AGPLv3)
75
+ verify/ Fix verification (AGPLv3)
64
76
  apps/
65
77
  admin/ Admin dashboard (React + Tailwind)
66
78
  docs/ Documentation site (Nextra — apps/docs)
@@ -69,6 +81,18 @@ tooling/
69
81
  tsconfig/ Shared TypeScript configs
70
82
  ```
71
83
 
84
+ ## What we don't accept
85
+
86
+ Knowing this upfront saves everyone time.
87
+
88
+ - **Automated / bulk / AI-slop PRs** — any PR that was opened by a script, an LLM agent acting without meaningful human review, or as part of a parallel bounty-farming sweep is closed on sight. The commit history, branch name, or helper scripts included in the PR make this obvious.
89
+ - **PRs that target the wrong base** — all PRs must branch from and target `master`. PRs targeting `main` or any other branch are closed (and will show an inflated diff that is not your work).
90
+ - **One PR per issue, one issue per PR** — splitting or duplicating work just to collect acknowledgements isn't welcome.
91
+ - **Good-first-issues without claiming first** — comment on the issue to claim it before starting. If two people open PRs for the same issue, the one that commented first is prioritised.
92
+ - **Documentation-only PRs that merely duplicate existing content** — if the information already exists (e.g. in another file in this repo), adding a redundant copy adds noise without value.
93
+
94
+ If a PR violates these policies it will be closed with a brief explanation. No hard feelings — a genuine contribution on the same issue is always welcome.
95
+
72
96
  ## Making Changes
73
97
 
74
98
  1. Create a feature branch from `master`
@@ -97,8 +121,10 @@ Guardrails (run locally before pushing):
97
121
  pnpm check:docs-stats # root README stat badges
98
122
  pnpm check:sdk-version-matrix # apps/docs/content/sdks/index.mdx versions
99
123
  pnpm check:internal-doc-links # dead /foo links in MDX
124
+ pnpm check:onboarding-drift # phantom MCP env vars / stale tool names
100
125
  pnpm check:bundle-docs # @mushi-mushi/web size-limit vs README
101
126
  pnpm gen:llms-txt # regenerate apps/docs/public/llms.txt after nav changes
127
+ pnpm gen:mcp-tools-doc # regenerate sdks/mcp-tools.generated.mdx from catalog.ts
102
128
  ```
103
129
 
104
130
  README changes on npm packages only appear on [npmjs.com](https://www.npmjs.com) after the next **Changesets publish**.
@@ -115,13 +141,30 @@ Select the affected packages, the semver bump type, and write a summary. The cha
115
141
 
116
142
  ## Release flow
117
143
 
118
- Releases are fully automated. Maintainers don't run `npm publish` by hand.
144
+ Releases are fully automated once the version PR is merged. Maintainers don't run
145
+ `npm publish` by hand for routine bumps. See **[`docs/DEPLOYMENT.md`](docs/DEPLOYMENT.md)**
146
+ for the full production runbook (edge functions, admin SPA, docs site, migrations).
119
147
 
120
148
  1. PRs land on `master` with one or more changeset files in `.changeset/`.
121
- 2. `release.yml` runs on every push to `master`. It opens (or updates) a `chore: version packages` PR that bumps every affected `package.json`, rolls up the changelogs, and deletes the consumed changesets.
122
- 3. Merging that "Version Packages" PR re-fires `release.yml`. The publish step authenticates to npm via **OpenID Connect (OIDC) Trusted Publishers** — no long-lived `NPM_TOKEN` is exchanged — and every tarball ships with a **Sigstore provenance attestation** uploaded to the public transparency log.
149
+ Orphaned changesets (only ignored packages) fail `pnpm check:changeset-orphans`.
150
+ 2. `release.yml` runs on every push to `master`. It opens (or updates) a
151
+ **`chore: version packages`** PR on `changeset-release/master` that bumps
152
+ affected `package.json` files, rolls up changelogs, and deletes consumed
153
+ changesets.
154
+ 3. **Wait for CI on the version PR.** If checks don't appear (bot-branch
155
+ suppression), push an empty commit to `changeset-release/master`. If
156
+ `check:sdk-version-matrix` fails, run `pnpm gen:sdk-version-matrix` on that
157
+ branch and commit `apps/docs/content/sdks/index.mdx`.
158
+ 4. Merge the version PR. The publish step uses **OIDC Trusted Publishers** +
159
+ Sigstore provenance (with `NPM_TOKEN` only for brand-new package bootstrap).
160
+ 5. **Manually dispatch Release** unless a run starts within ~2 minutes:
161
+ **Actions → Release → Run workflow → `master`**. Squash-merges attributed to
162
+ `github-actions[bot]` usually suppress the auto `push` trigger — manual
163
+ dispatch is the normal path, not a fallback of last resort.
123
164
 
124
- If GitHub's anti-loop protection suppresses the auto re-fire (the squash merge can be attributed to `github-actions[bot]`), trigger the workflow manually: **Actions → release → Run workflow → master**.
165
+ ```bash
166
+ gh workflow run release.yml --ref master
167
+ ```
125
168
 
126
169
  ### Adding a brand-new publishable package
127
170
 
@@ -168,7 +211,7 @@ chore: bump dependencies
168
211
  ## License
169
212
 
170
213
  - SDK packages are MIT — your contributions will be MIT-licensed
171
- - Server/agents/verify are BSL 1.1 — contributions to those packages fall under BSL
214
+ - Server/agents/verify are AGPLv3 — contributions to those packages fall under AGPLv3. A [commercial license](./COMMERCIAL-LICENSE.md) is available for hosted-SaaS use cases that cannot publish modifications. The `packages/server/ee/` directory is source-available but commercial (production use needs a license); contributions there are accepted under the same EE terms.
172
215
 
173
216
  ## Questions?
174
217
 
package/README.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # @mushi-mushi/svelte
2
2
 
3
+ > **Your AI wrote it. Mushi tells you why it broke.**
4
+
3
5
  Svelte SDK for Mushi Mushi bug reporting. **API-only** — captures errors and submits reports but does not include the widget UI. Add `@mushi-mushi/web` alongside this package for the full Shadow DOM widget experience.
4
6
 
5
7
  > **One-command setup:** `npx mushi-mushi` auto-detects Svelte / SvelteKit and installs this package + `@mushi-mushi/web`.
package/SECURITY.md CHANGED
@@ -113,7 +113,7 @@ What we treat as in-scope attacker capabilities, and what we don't.
113
113
  | Compromised Supabase service-role key | ❌ | Treated as a tier-0 incident; would require key rotation and audit-log forensics. Not defendable in software. |
114
114
  | Compromise of `kensaurus@gmail.com` | ❌ | Treated as a project-fork event; downstream consumers should pin to the last known-good version and follow the new release channel. |
115
115
  | Physical / OS-level attacker on an end-user device | ❌ | Out of scope. |
116
- | Malicious fork using the Mushi name to ship malware | ❌ (technical) ✅ (legal) | The MIT/BSL grant lets the fork exist; the trademark policy (`TRADEMARK.md`) makes shipping it under the Mushi name an infringement we will pursue. |
116
+ | Malicious fork using the Mushi name to ship malware | ❌ (technical) ✅ (legal) | The MIT / AGPLv3 grant lets the fork exist; the trademark policy (`TRADEMARK.md`) makes shipping it under the Mushi name an infringement we will pursue. |
117
117
 
118
118
  ## Data handling and PII
119
119
 
package/package.json CHANGED
@@ -1,33 +1,33 @@
1
1
  {
2
2
  "name": "@mushi-mushi/svelte",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
4
  "license": "MIT",
5
5
  "description": "Svelte SDK for Mushi Mushi — context-based init, SvelteKit error hook integration",
6
- "main": "./dist/index.js",
6
+ "main": "./dist/index.cjs",
7
7
  "module": "./dist/index.js",
8
8
  "types": "./dist/index.d.ts",
9
9
  "peerDependencies": {
10
10
  "svelte": ">=4"
11
11
  },
12
12
  "dependencies": {
13
- "@mushi-mushi/core": "^1.15.0",
14
- "@mushi-mushi/web": "^1.14.1"
13
+ "@mushi-mushi/core": "^1.21.0",
14
+ "@mushi-mushi/web": "^1.21.0"
15
15
  },
16
16
  "devDependencies": {
17
- "eslint": "^10.3.0",
18
- "svelte": "^5.55.5",
17
+ "eslint": "^10.4.1",
18
+ "svelte": "^5.56.3",
19
19
  "tsup": "^8.5.1",
20
20
  "typescript": "^6.0.3",
21
- "vitest": "^4.1.5",
21
+ "vitest": "^4.1.8",
22
22
  "@mushi-mushi/eslint-config": "0.0.0"
23
23
  },
24
- "author": "Kenji Sakuramoto",
24
+ "author": "Kenji Sakuramoto (https://bsky.app/profile/mushimushi.dev)",
25
25
  "repository": {
26
26
  "type": "git",
27
27
  "url": "https://github.com/kensaurus/mushi-mushi.git",
28
28
  "directory": "packages/svelte"
29
29
  },
30
- "homepage": "https://github.com/kensaurus/mushi-mushi/tree/main/packages/svelte#readme",
30
+ "homepage": "https://kensaur.us/mushi-mushi",
31
31
  "bugs": {
32
32
  "url": "https://github.com/kensaurus/mushi-mushi/issues"
33
33
  },
@@ -80,6 +80,10 @@
80
80
  "engines": {
81
81
  "node": ">=20"
82
82
  },
83
+ "funding": {
84
+ "type": "github",
85
+ "url": "https://github.com/sponsors/kensaurus"
86
+ },
83
87
  "scripts": {
84
88
  "build": "tsup",
85
89
  "lint": "eslint src/",