@castandcrew/spotlight-mcp 0.1.4 → 0.1.5

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/README.md CHANGED
@@ -35,27 +35,21 @@ server. The index has two sources, both merged by the [indexer](#updating-the-in
35
35
 
36
36
  ## Getting it running
37
37
 
38
- > **Run it from source. The npm package is not usable yet.**
38
+ > **Use `@castandcrew/spotlight-mcp` `0.1.4` or later.** Earlier npm versions (`0.1.0`–`0.1.3`)
39
+ > ship an empty index (0 components, 0 tokens, 0 utility classes), so `search_components`,
40
+ > `get_component`, `search_tokens`, `get_token` and `search_utility_classes` return nothing.
41
+ > Do not use them. `0.1.4` is the first release with a populated `data/index.json`:
42
+ > 169 entries (165 unique component names), 329 tokens, 218 utility classes, 111 patterns and
43
+ > 71 rules. See [Via npm](#via-npm) to connect it without cloning anything.
39
44
  >
40
- > `@castandcrew/spotlight-mcp` does exist on npm (`npm view @castandcrew/spotlight-mcp version`
41
- > → `0.1.3`), but that publication is a **smoke test of the release pipeline, not a release**.
42
- > The tool is still in preliminary testing and nothing else has been published.
43
- >
44
- > Concretely, the published tarball ships a `data/index.json` containing **0 components,
45
- > 0 tokens and 0 utility classes** (only 103 patterns and 71 rules), so `search_components`,
46
- > `search_tokens`, `get_component`, `get_token` and `search_utility_classes` return nothing.
47
- > Verified 2026-09-08 by running `npx -y @castandcrew/spotlight-mcp` in an empty directory:
48
- > the server starts and lists all 12 tools, but has no component or token data behind them.
49
- >
50
- > **A fresh clone of this repo is fine.** `data/index.json` is committed with real data
51
- > (84 components, 329 tokens, 218 utility classes, 111 patterns, 71 rules; `generated:
52
- > 2026-09-01`), so `pnpm install && pnpm build` is enough to get a working server. Regenerate
45
+ > **You can also run it from source.** A fresh clone is fine: `data/index.json` is committed
46
+ > with real data, so `pnpm install && pnpm build` is enough to get a working server. Regenerate
53
47
  > it only when the upstream library changes — see [Updating the index](#updating-the-index).
54
48
  >
55
- > **If the index is ever empty, the server now says so.** It no longer answers `[]` as if the
56
- > design system were empty: each tool returns an explicit error naming the index path, the
57
- > counts it found and the command to fix it, and a status banner is written to stderr at
58
- > startup. See [When the index is empty](#when-the-index-is-empty).
49
+ > **If the index is ever empty, the server says so.** It does not answer `[]` as if the design
50
+ > system were empty: each tool returns an explicit error naming the index path, the counts it
51
+ > found and the command to fix it, and a status banner is written to stderr at startup. See
52
+ > [When the index is empty](#when-the-index-is-empty).
59
53
  >
60
54
  > **Prerequisites (source):** Node 18+ and `pnpm`.
61
55
 
@@ -121,11 +115,12 @@ tail -f ~/Library/Logs/Claude/mcp-server-spotlight.log # confirms the handshak
121
115
 
122
116
  Look for `"Server started and connected successfully"` with no error after it.
123
117
 
124
- > **Scope:** this config covers Claude Desktop's **Chat** and **Cowork**. The **Code Tab** is
118
+ > **Scope:** this config covers Claude Desktop's **Chat**. The **Code Tab** is
125
119
  > Claude Code and reads Claude Code's own config (`~/.claude.json`) — register the server there
126
120
  > with `claude mcp add` (section above) or install the `spotlight-cowork` plugin, which bundles it.
127
- > `mcp-server-spotlight.log` only records Chat's server process; Cowork calls show up as
128
- > permission requests in `~/Library/Logs/Claude/main.log` and in the session transcript.
121
+ > `mcp-server-spotlight.log` records Chat's server process. (Claude Desktop merged Cowork into
122
+ > Chat — Cowork capabilities live in the same conversation now, there is no separate Cowork
123
+ > option; the `spotlight-cowork` plugin keeps its name.)
129
124
  > (An earlier draft of this README claimed the Code Tab could not reach the server; that was a
130
125
  > misconfigured path in `~/.claude.json`, not a limitation — verified in SPT-1526 v2, 2026-09-08.)
131
126
 
@@ -134,24 +129,22 @@ Look for `"Server started and connected successfully"` with no error after it.
134
129
  - **MCP Inspector** (GUI to poke at tools): `npx @modelcontextprotocol/inspector node dist/index.js`
135
130
  - **HTTP** (Claude.ai, custom integrations): `pnpm start:http` (or `PORT=8080 pnpm start:http`)
136
131
  - `POST /mcp` — Streamable HTTP (recommended) · `GET /sse` + `POST /messages` — SSE legacy · `GET /health`
132
+ - The HTTP server has **no authentication** and accepts requests from any origin (CORS is open so browser clients can connect). Run it only on a trusted network; the network boundary is the protection.
137
133
 
138
- ### Via npm — ⚠️ not usable yet
139
-
140
- **Do not point a client at the npm package expecting it to work.** `npx -y @castandcrew/spotlight-mcp`
141
- resolves and starts (0.1.3 is on npm), but it serves an index with **0 components and 0 tokens** —
142
- that publication was a pipeline smoke test while the tool is still in preliminary testing.
134
+ ### Via npm
143
135
 
144
- This matters beyond this repo: **six** plugins declare `npx -y @castandcrew/spotlight-mcp` in
145
- their `.mcp.json` — `spotlight-cowork`, `spotlight-remediation`, `spotlight-advisor`,
146
- `spotlight-patterns`, `repo-spec` and `spotlight-design` — and around a dozen guides in
147
- `claude-plugins` tell users to run `claude mcp add … npx -y @castandcrew/spotlight-mcp`
148
- (`spotlight-remediation/skills/project-setup` runs it automatically). Until a real release ships,
149
- use the from-source setup above.
136
+ `0.1.4` or later is required. `npx -y @castandcrew/spotlight-mcp` downloads and starts the
137
+ server; it ships the full index, so no clone or build is needed. Pin a version range so a
138
+ future release cannot change your setup unannounced, for example
139
+ `@castandcrew/spotlight-mcp@0.1.4` (exact) or `@castandcrew/spotlight-mcp@~0.1.4` (patch
140
+ updates only).
150
141
 
151
- Note that 0.1.3 predates the guard described below, so it still answers `[]` silently rather than
152
- erroring — the guard only protects setups running a build from this repo.
142
+ Versions `0.1.0`–`0.1.3` (including the `0.1.3` pipeline smoke test) have an empty index and
143
+ predate the empty-index guard described below. Do not use them.
153
144
 
154
- The commands below are kept for when the package is genuinely released.
145
+ The plugins in `claude-plugins` (`spotlight-cowork`, `spotlight-remediation`,
146
+ `spotlight-advisor`, `spotlight-patterns`, `repo-spec` and `spotlight-design`) start the server
147
+ through `npx -y @castandcrew/spotlight-mcp` in their `.mcp.json`.
155
148
 
156
149
  **Claude Code:**
157
150
 
@@ -338,7 +331,8 @@ spotlight-mcp/
338
331
  │ └── smoke.sh # stdio smoke test
339
332
  ├── test/ # vitest: index-integrity, tools, manual-merge
340
333
  ├── docs/
341
- │ └── TESTING.md # How to test (interactive + automated)
334
+ │ ├── TESTING.md # How to test (interactive + automated)
335
+ │ └── RELEASING.md # Branching, versioning, release runbook
342
336
  ├── data/
343
337
  │ └── index.json # Generated index — this is what the server reads
344
338
  └── platform-ui-gaps.md # Historical (pre-monorepo) coverage gaps
@@ -366,15 +360,15 @@ The tool descriptions (the text in each `server.tool(name, description, ...)` ca
366
360
 
367
361
  ## Publishing
368
362
 
369
- ```bash
370
- # Bump version
371
- npm version patch # or minor / major
363
+ Releases are tagged on `main` and staged on npm by the **Release** GitHub workflow; a maintainer
364
+ approves the staged version in npm. **Do not run `npm publish` / `pnpm publish` from a laptop:** it
365
+ skips the checks that stop an empty index from shipping (that is how `0.1.3` went out).
372
366
 
373
- # Publish to npm
374
- pnpm publish
375
- ```
367
+ Branching, versioning rules, the step-by-step release runbook and rollback are in
368
+ [`docs/RELEASING.md`](./docs/RELEASING.md).
376
369
 
377
- Users receive updates automatically on the next `npx` invocation.
370
+ Clients that run `npx -y @castandcrew/spotlight-mcp` (without a pinned version) get the latest
371
+ release on the next start; pin a range (see [Via npm](#via-npm)) to avoid that.
378
372
 
379
373
  ---
380
374