semantic-js-mcp 0.10.2 → 0.10.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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "semantic-js-mcp",
3
- "version": "0.10.2",
3
+ "version": "0.10.3",
4
4
  "description": "Semantic understanding of JavaScript codebases for AI agents",
5
5
  "author": {
6
6
  "name": "Jonathan Muñoz Lucas"
package/CHANGELOG.md CHANGED
@@ -4,6 +4,12 @@ All notable changes to this project will be documented in this file.
4
4
 
5
5
  ## [Unreleased]
6
6
 
7
+ ## [0.10.3] - 2026-07-18
8
+
9
+ ### Changed
10
+
11
+ - Consolidate installation into `SETUP.md`, the shared setup procedure for people and coding agents. README now provides only a brief entry point. The procedure places guards, prerequisites, installation, and verification before troubleshooting and background; uses direct explanatory language; requires exact host and version checks; rejects partial npm extraction; and does not treat installation as permission to inspect source code.
12
+
7
13
  ## [0.10.2] - 2026-07-17
8
14
 
9
15
  ### Added
package/README.md CHANGED
@@ -1,13 +1,25 @@
1
1
  # Semantic JS MCP
2
2
 
3
+ ## Setup
4
+
5
+ Before running an installation command, follow [SETUP.md](SETUP.md). It is the
6
+ single source of truth for setup by either a person or a coding agent, including
7
+ prerequisites, host selection, installation, verification, updates, rollback,
8
+ and removal.
9
+
10
+ Semantic JS MCP requires Node.js 22 or newer and `rg` (ripgrep). It can be
11
+ installed through the verified Codex plugin route or registered as a local
12
+ stdio server in another compatible MCP host. Package installation alone does not configure an MCP host.
13
+
14
+ After setup, see [Getting started](docs/getting-started.md) for practical
15
+ investigation prompts and compact evidence examples.
16
+
3
17
  **Your coding agent is only as good as its understanding of your codebase.**
4
18
 
5
19
  Coding agents can generate code quickly, but reliable engineering requires more than reading files and matching text. They need to understand which declaration a reference belongs to, how symbols cross workspace boundaries, whether the collected evidence is complete, and whether that evidence is still accurate.
6
20
 
7
21
  Semantic JS MCP gives coding agents structured, read-only semantic context so they can navigate, review, and change code with explicit uncertainty.
8
22
 
9
- When a user explicitly asks a coding agent to install or configure the package, the agent should follow the [agent setup guide](AGENT_SETUP.md).
10
-
11
23
  Its scope is intentionally narrow: it strengthens an agent's understanding of symbol identity, types, references, diagnostics, and evidence coverage. It does not replace architectural reasoning, source inspection, dependency analysis, tests, or runtime observation.
12
24
 
13
25
  **Better agents begin with better evidence.**
@@ -18,45 +30,7 @@ For each file, it identifies the owning workspace and uses the corresponding Typ
18
30
 
19
31
  ## Project Status
20
32
 
21
- Version `0.10.2` is the current release. APIs and result contracts may evolve while the project remains on the `0.x` release line. See the [roadmap](ROADMAP.md) for areas under consideration.
22
-
23
- ## Installation
24
-
25
- ### Codex plugin
26
-
27
- Add the public marketplace, then install the plugin:
28
-
29
- ```bash
30
- codex plugin marketplace add elnonathan/semantic-js-mcp
31
- codex plugin add semantic-js-mcp@elnonathan
32
- ```
33
-
34
- Codex CLI 0.144.4 or newer is required for npm-backed marketplace installation. Start a new Codex session after installation. The plugin bundles both the MCP server configuration and the semantic-navigation skill.
35
-
36
- ### Updating the Codex plugin
37
-
38
- Codex installs from a local snapshot of each configured marketplace. Refresh that snapshot before reinstalling so `plugin add` resolves the version currently declared by the marketplace:
39
-
40
- ```bash
41
- codex plugin marketplace upgrade elnonathan
42
- codex plugin add semantic-js-mcp@elnonathan
43
- codex plugin list
44
- ```
45
-
46
- `plugin add` reinstalls the plugin; a separate removal is not required. Start a new Codex session after the command reports the expected version.
47
-
48
- ### MCP executable
49
-
50
- Install the package globally when using an MCP host that accepts a command-based stdio configuration:
51
-
52
- ```bash
53
- npm install --global semantic-js-mcp
54
- semantic-js-mcp doctor
55
- ```
56
-
57
- Configure the host to run `semantic-js-mcp serve`.
58
-
59
- For practical investigation prompts and compact evidence examples, see [Getting started](docs/getting-started.md).
33
+ Version `0.10.3` is the current release. APIs and result contracts may evolve while the project remains on the `0.x` release line. See the [roadmap](ROADMAP.md) for areas under consideration.
60
34
 
61
35
  ## Runtime
62
36
 
@@ -64,7 +38,7 @@ For practical investigation prompts and compact evidence examples, see [Getting
64
38
  - Node.js 24 LTS is recommended for new installations. See the [Node.js release schedule](https://nodejs.org/en/about/previous-releases).
65
39
  - `rg` (ripgrep) must be available on `PATH` for repository-wide discovery.
66
40
  - The nearest workspace TypeScript SDK is used when available; the bundled TypeScript SDK is the fallback.
67
- - TypeScript, `typescript-language-server`, and the Vue language server are pinned dependencies. Published packages bundle every production dependency so Codex installations do not require a separate dependency installation step. Source checkouts use `npm ci`; startup verifies provider entry points before accepting MCP requests.
41
+ - TypeScript, `typescript-language-server`, and the Vue language server are pinned dependencies. Published packages bundle every production dependency so Codex installations do not require a separate dependency installation step. Startup verifies provider entry points before accepting MCP requests.
68
42
  - Source discovery and language selection include `.ts`, `.tsx`, `.mts`, `.cts`, `.js`, `.jsx`, `.mjs`, `.cjs`, and `.vue` files.
69
43
  - Run `npm run check:runtime` to report every required component and its resolved file path.
70
44
 
@@ -72,10 +46,10 @@ The package exposes a `semantic-js-mcp` executable. `semantic-js-mcp serve` star
72
46
 
73
47
  ## Development Setup
74
48
 
75
- From a source checkout:
49
+ Complete the [source-checkout setup](SETUP.md#source-checkout), then run the
50
+ checks applicable to the change:
76
51
 
77
52
  ```bash
78
- npm ci
79
53
  npm run check
80
54
  npm run check:runtime
81
55
  npm run doctor
@@ -87,34 +61,6 @@ npm run smoke:lifecycle
87
61
 
88
62
  Run `npm run benchmark` after changes to scanning, references, caching, lifecycle, or memory. Provider disposal changes can also be characterized with `npm run benchmark:lifecycle-memory`; its output declares the garbage-collection and platform measurement method. Normal analysis is local and read-only; it does not require network access after dependencies are installed.
89
63
 
90
- For an MCP host that accepts a direct stdio configuration, point it at the checked-out server using an absolute path:
91
-
92
- ```json
93
- {
94
- "mcpServers": {
95
- "semanticjsmcp": {
96
- "command": "node",
97
- "args": ["/absolute/path/to/semantic-js-mcp/server.mjs"]
98
- }
99
- }
100
- }
101
- ```
102
-
103
- The bundled [`.mcp.json`](.mcp.json) provides the relative-path configuration used when the repository is installed as a Codex plugin.
104
-
105
- When the package executable is available on the host's `PATH`, the equivalent stdio configuration is:
106
-
107
- ```json
108
- {
109
- "mcpServers": {
110
- "semanticjsmcp": {
111
- "command": "semantic-js-mcp",
112
- "args": ["serve"]
113
- }
114
- }
115
- }
116
- ```
117
-
118
64
  ## Tool Graph
119
65
 
120
66
  Tools are ordered from smaller responses to deeper evidence:
package/SETUP.md ADDED
@@ -0,0 +1,413 @@
1
+ # Setup
2
+
3
+ This guide provides one setup procedure for both people and coding agents. For
4
+ a new installation, complete Guards, Prerequisites, Choose A Version, one
5
+ installation route, and Verify The Installation in that order.
6
+
7
+ For an update, rollback, removal, or source checkout, go directly to the named
8
+ section and follow its references to the shared verification steps.
9
+
10
+ ## Guards
11
+
12
+ Setup changes software or MCP configuration on the user's machine. Before
13
+ making a change, confirm all of the following:
14
+
15
+ 1. The user explicitly requested the setup operation.
16
+ 2. Choose exactly one installation route. Use the Codex route for Codex and the
17
+ generic stdio route for another compatible MCP host.
18
+ 3. Keep the package out of the current project's dependencies.
19
+ Do not run `npm install semantic-js-mcp` without `--global`.
20
+ 4. Inspect existing MCP configuration before editing it, and preserve every
21
+ unrelated server and setting.
22
+ 5. Obtain any approval required for network access, global installation,
23
+ configuration changes, cleanup, or restart.
24
+ 6. Respect the security policy and configuration schema of the operating
25
+ system, organization, repository, and MCP host.
26
+
27
+ If a guard cannot be satisfied, stop and report `blocked` with the specific
28
+ reason. Do not continue from a failed command, a partial installation, or an
29
+ unknown configuration format.
30
+
31
+ Setup does not authorize source-code analysis. No source-code call is required
32
+ to verify installation unless the user separately requests a functional test.
33
+
34
+ ## Prerequisites
35
+
36
+ Run:
37
+
38
+ ```bash
39
+ node --version
40
+ rg --version
41
+ ```
42
+
43
+ Both commands must succeed. Semantic JS MCP requires Node.js 22 or newer and
44
+ `rg` (ripgrep) on `PATH`.
45
+
46
+ If either prerequisite is missing, report `blocked`. Installing, replacing, or
47
+ downgrading Node.js or ripgrep is a separate system change and requires the
48
+ user's approval.
49
+
50
+ ## Choose A Version
51
+
52
+ When the supplied npm URL ends in `/v/X.Y.Z`, use that exact numeric version.
53
+ For example, `/v/0.10.2` requests version `0.10.2`.
54
+
55
+ When no version is supplied for an installation or update, run:
56
+
57
+ ```bash
58
+ npm view semantic-js-mcp version
59
+ ```
60
+
61
+ Record the returned numeric version. Commands in this guide use `X.Y.Z` as a
62
+ placeholder; replace it before execution. A command containing the literal
63
+ `X.Y.Z` is not ready to run.
64
+
65
+ Do not silently substitute `latest`, an installed version, or a newer version
66
+ for the version the user requested.
67
+
68
+ ## Install With Codex
69
+
70
+ Use this route when Codex is the MCP host. The plugin supplies both the MCP
71
+ server configuration and the semantic-navigation skill, so a separate global
72
+ npm installation is unnecessary.
73
+
74
+ ### 1. Inspect Codex State
75
+
76
+ Run:
77
+
78
+ ```bash
79
+ codex --version
80
+ codex plugin marketplace list
81
+ codex plugin list
82
+ ```
83
+
84
+ Codex CLI must be version 0.144.4 or newer. The two list commands establish
85
+ whether the marketplace or plugin already exists. There is no need to locate
86
+ or edit a Codex configuration file.
87
+
88
+ If the Codex version is too old, report `blocked`.
89
+
90
+ ### 2. Add Or Refresh The Marketplace
91
+
92
+ If marketplace `elnonathan` is absent, run:
93
+
94
+ ```bash
95
+ codex plugin marketplace add elnonathan/semantic-js-mcp
96
+ ```
97
+
98
+ If marketplace `elnonathan` is already present, refresh it instead:
99
+
100
+ ```bash
101
+ codex plugin marketplace upgrade elnonathan
102
+ ```
103
+
104
+ ### 3. Confirm The Offered Version
105
+
106
+ Run:
107
+
108
+ ```bash
109
+ codex plugin list
110
+ ```
111
+
112
+ Find `semantic-js-mcp@elnonathan` and confirm that its offered version matches
113
+ the version recorded in Choose A Version. If it differs, report `blocked`
114
+ instead of installing a different release.
115
+
116
+ ### 4. Install The Plugin
117
+
118
+ Run:
119
+
120
+ ```bash
121
+ codex plugin add semantic-js-mcp@elnonathan
122
+ codex plugin list
123
+ ```
124
+
125
+ The final list must show `semantic-js-mcp@elnonathan` as `installed, enabled`
126
+ at the requested version.
127
+
128
+ Do not also run `npm install` or `semantic-js-mcp doctor` for this route. The
129
+ plugin owns the package and server configuration.
130
+
131
+ ### 5. Restart Codex
132
+
133
+ Start a new Codex session so it can load the plugin. A coding agent cannot
134
+ restart its own active session; in that case, report `pending-restart` and ask
135
+ the user to start the new session.
136
+
137
+ After restart, continue with Verify The Installation.
138
+
139
+ ## Install With Another MCP Host
140
+
141
+ Use this route only when the application is not Codex and its official
142
+ documentation confirms support for local MCP servers over `stdio`.
143
+
144
+ ### 1. Confirm The Host Configuration
145
+
146
+ Before installing the package:
147
+
148
+ 1. identify the MCP host by name;
149
+ 2. find its documented MCP configuration location and schema;
150
+ 3. inspect the existing configuration;
151
+ 4. record any existing Semantic JS MCP entry; and
152
+ 5. preserve every unrelated entry.
153
+
154
+ If the host, stdio support, configuration location, or schema cannot be
155
+ confirmed, report `blocked`. Configuration formats are host-specific, so do
156
+ not copy a filename, JSON shape, URL, or port from another application.
157
+
158
+ ### 2. Install The Exact Global Version
159
+
160
+ Replace `X.Y.Z` with the recorded version, then run:
161
+
162
+ ```bash
163
+ npm install --global semantic-js-mcp@X.Y.Z
164
+ ```
165
+
166
+ Read the complete npm output. A zero exit code is not sufficient when npm also
167
+ reports a permission or extraction problem.
168
+ Treat `EPERM`, `EACCES`, `TAR_ENTRY_ERROR`, or a missing-file error as a partial installation.
169
+
170
+ Do not edit the host configuration after a partial installation. Remove the
171
+ partial global package only with the user's approval, then report `blocked`
172
+ with the npm error.
173
+
174
+ ### 3. Check The Executable
175
+
176
+ Run:
177
+
178
+ ```bash
179
+ semantic-js-mcp --version
180
+ semantic-js-mcp doctor
181
+ ```
182
+
183
+ The version must exactly match the requested version. Interpret the structured
184
+ doctor status as follows:
185
+
186
+ - `pass`: continue;
187
+ - `untrusted`: continue, but preserve the reported uncertainty;
188
+ - `blocked` or `fail`: do not configure the host until the reported problem is
189
+ corrected with the user's approval.
190
+
191
+ ### 4. Register The Server
192
+
193
+ Using the host's documented schema, add one server with these values:
194
+
195
+ - server name: `semanticjsmcp`
196
+ - transport: `stdio`
197
+ - executable or command: `semantic-js-mcp`
198
+ - arguments: one argument, `serve`
199
+ - enabled: `true`, only when the host schema defines an enabled field
200
+
201
+ Save the smallest possible configuration change and preserve every unrelated
202
+ entry. Do not add a URL, port, shell command, credentials, or background
203
+ service.
204
+
205
+ Do not start `semantic-js-mcp serve` manually. The MCP host must start the
206
+ process and communicate with it through standard input and standard output.
207
+
208
+ ### 5. Restart The Host
209
+
210
+ Restart or reload the host exactly as its documentation requires, then continue
211
+ with Verify The Installation.
212
+
213
+ ## Verify The Installation
214
+
215
+ Verification occurs after the required restart or reload.
216
+
217
+ ### Codex
218
+
219
+ 1. Run `codex plugin list`.
220
+ 2. Confirm that `semantic-js-mcp@elnonathan` is `installed, enabled` at the
221
+ requested version.
222
+ 3. Open the MCP tool list in the new Codex session.
223
+
224
+ ### Another MCP Host
225
+
226
+ Run:
227
+
228
+ ```bash
229
+ semantic-js-mcp --version
230
+ semantic-js-mcp doctor
231
+ ```
232
+
233
+ The version must match. Doctor must return `pass` or `untrusted`; preserve any
234
+ uncertainty reported by `untrusted`.
235
+
236
+ Confirm that the host still contains the `semanticjsmcp` entry, then open the
237
+ host's MCP tool list.
238
+
239
+ ### Expected Result
240
+
241
+ The host must expose tools whose base names begin with `lsp_`. Some hosts add
242
+ the server name as a prefix.
243
+
244
+ Use one of these outcomes:
245
+
246
+ - `success`: the requested version is registered and `lsp_*` tools are
247
+ available;
248
+ - `pending-restart`: installation and configuration succeeded, but a new host
249
+ session is still required to check tool discovery;
250
+ - `blocked`: a prerequisite, installation, configuration, doctor, version, or
251
+ tool-discovery check failed.
252
+
253
+ Package installation or configuration text by itself is not `success`. Missing
254
+ tools are a reason to inspect registration and restart state, not to start the
255
+ server manually.
256
+
257
+ An installation-only request ends after tool discovery. Do not call an `lsp_*`
258
+ tool against source code unless the user separately requests a functional test
259
+ or explicitly approves the target file.
260
+
261
+ Report the outcome, detected host, requested and installed versions, changed
262
+ Semantic JS MCP entry, doctor status for a generic installation, tool-discovery
263
+ result, and any remaining blocker or uncertainty. Do not expose credentials or
264
+ unrelated configuration values.
265
+
266
+ ## Troubleshooting
267
+
268
+ | Symptom | Action |
269
+ | ------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- |
270
+ | Node.js is older than 22 or `node` is missing | Report `blocked`. Change Node.js only with separate user approval. |
271
+ | `rg` is missing | Report `blocked`. Install ripgrep only with separate user approval. |
272
+ | npm reports `EPERM`, `EACCES`, `TAR_ENTRY_ERROR`, or a missing file | Treat the installation as partial. Do not configure the host. Remove only the partial global package when authorized. |
273
+ | `semantic-js-mcp --version` differs from the requested version | Report `blocked`; do not configure the different version. |
274
+ | Doctor returns `blocked` or `fail` | Correct only the reported prerequisite and only with user approval. |
275
+ | Codex offers the wrong version | Run `codex plugin marketplace upgrade elnonathan`, check again, and report `blocked` if it still differs. |
276
+ | The host does not show `lsp_*` tools | Confirm the saved entry, command, arguments, enabled state, and required restart. Do not invent a URL or port. |
277
+ | The host configuration location or schema is unknown | Use installed help or official host documentation. Report `blocked` rather than guessing. |
278
+
279
+ Troubleshooting never requires disabling a security control, bypassing a
280
+ sandbox, executing a remote shell pipeline, or replacing an entire
281
+ configuration file.
282
+
283
+ ## Update
284
+
285
+ Record the installed version and existing Semantic JS MCP entry first. Resolve
286
+ the exact target version with Choose A Version.
287
+
288
+ For Codex, run:
289
+
290
+ ```bash
291
+ codex plugin marketplace upgrade elnonathan
292
+ codex plugin list
293
+ codex plugin add semantic-js-mcp@elnonathan
294
+ codex plugin list
295
+ ```
296
+
297
+ Confirm the offered version before `plugin add`. Start a new Codex session,
298
+ then complete Verify The Installation.
299
+
300
+ For another host, replace `X.Y.Z` and run:
301
+
302
+ ```bash
303
+ npm install --global semantic-js-mcp@X.Y.Z
304
+ ```
305
+
306
+ Repeat the executable check, doctor, required restart, and Verify The
307
+ Installation. Keep an existing host entry when it is already correct.
308
+
309
+ ## Rollback
310
+
311
+ Record the previously known working version and Semantic JS MCP entry. Do not
312
+ replace that version with the current registry version.
313
+
314
+ For another host, replace `X.Y.Z` with the previous numeric version:
315
+
316
+ ```bash
317
+ npm install --global semantic-js-mcp@X.Y.Z
318
+ ```
319
+
320
+ Restore only the recorded Semantic JS MCP entry. Restart the host and complete
321
+ Verify The Installation.
322
+
323
+ A Codex marketplace can install only the version it currently offers. If it
324
+ does not offer the requested rollback version, report `blocked`; do not
325
+ substitute another version or edit the marketplace cache.
326
+
327
+ ## Removal
328
+
329
+ Record the installed version and current Semantic JS MCP entry before making a
330
+ change.
331
+
332
+ For Codex, run:
333
+
334
+ ```bash
335
+ codex plugin remove semantic-js-mcp@elnonathan
336
+ ```
337
+
338
+ Remove marketplace `elnonathan` only when no other installed plugin uses it
339
+ and the user approves:
340
+
341
+ ```bash
342
+ codex plugin marketplace remove elnonathan
343
+ ```
344
+
345
+ For another host:
346
+
347
+ 1. Remove only the `semanticjsmcp` entry from the documented host
348
+ configuration.
349
+ 2. Preserve every unrelated server and setting.
350
+ 3. Run:
351
+
352
+ ```bash
353
+ npm uninstall --global semantic-js-mcp
354
+ ```
355
+
356
+ Restart or reload the host. Confirm that Semantic JS MCP tools are no longer
357
+ registered.
358
+
359
+ ## Source Checkout
360
+
361
+ Use this section for repository development or when the user explicitly asks
362
+ to run a source checkout. Do not combine it with a registry or Codex plugin
363
+ installation.
364
+
365
+ From the repository root, run:
366
+
367
+ ```bash
368
+ npm ci
369
+ npm run check:runtime
370
+ npm run doctor
371
+ ```
372
+
373
+ For a non-Codex host that supports direct stdio commands, use its documented
374
+ schema and these values:
375
+
376
+ - server name: `semanticjsmcp`
377
+ - transport: `stdio`
378
+ - executable or command: `node`
379
+ - arguments: the absolute path to the checkout's `server.mjs`
380
+
381
+ Preserve every unrelated host entry. Restart or reload the host and complete
382
+ the source-checkout verification below. Do not run the global executable checks
383
+ for this route.
384
+
385
+ After restart, confirm that the host still contains the `semanticjsmcp` entry
386
+ with the recorded `node` command and absolute `server.mjs` argument. Open the
387
+ host's MCP tool list and apply the outcomes under
388
+ [Expected Result](#expected-result). Do not call an `lsp_*` tool unless the
389
+ user separately requests a functional test or explicitly approves the target
390
+ file.
391
+
392
+ The repository's `.mcp.json` is the relative-path configuration bundled by the
393
+ Codex plugin. It is not a universal configuration file for other MCP hosts.
394
+
395
+ ## Background
396
+
397
+ An MCP host is the application that starts the server and exposes its tools.
398
+ Installing an npm package places files and an executable on the machine, but it
399
+ does not register that executable with an MCP host.
400
+
401
+ A generic stdio host starts `semantic-js-mcp serve` as a child process and
402
+ communicates through standard input and standard output. The host owns that
403
+ process lifecycle, which is why manually starting the command does not make
404
+ tools appear in the host.
405
+
406
+ The Codex plugin route supplies both MCP configuration and the
407
+ semantic-navigation skill. Codex plugin state and tool discovery verify that
408
+ route, so it does not need a separate global npm installation or doctor run.
409
+
410
+ This procedure does not override system, developer, organization, repository,
411
+ or host security policy. Its authority is limited to the requested Semantic JS
412
+ MCP operation and never includes unrelated configuration, credentials, or
413
+ source-code analysis.
@@ -4,22 +4,15 @@ The package manifest defines an explicit public file allowlist and exposes the `
4
4
 
5
5
  ## Codex
6
6
 
7
- ```bash
8
- codex plugin marketplace add elnonathan/semantic-js-mcp
9
- codex plugin add semantic-js-mcp@elnonathan
10
- ```
11
-
12
- The marketplace entry pins a concrete npm package version. Codex CLI 0.144.4 is the minimum verified client for npm-backed marketplace installation. A release updates the package version, plugin manifest, and marketplace entry together.
13
-
14
- For an existing marketplace installation, refresh its local snapshot before reinstalling the plugin:
15
-
16
- ```bash
17
- codex plugin marketplace upgrade elnonathan
18
- codex plugin add semantic-js-mcp@elnonathan
19
- codex plugin list
20
- ```
7
+ The marketplace entry pins a concrete npm package version. Codex CLI 0.144.4
8
+ is the minimum verified client for npm-backed marketplace installation. A
9
+ release updates the package version, plugin manifest, and marketplace entry
10
+ together.
21
11
 
22
- `plugin add` reinstalls the plugin selected by the refreshed marketplace. Start a new Codex session after the listed version matches the release being installed.
12
+ Follow [Install With Codex](../SETUP.md#install-with-codex) for installation or
13
+ update commands, version checks, restart handling, and tool verification. This
14
+ document describes the distribution contract and does not define a second
15
+ setup procedure.
23
16
 
24
17
  ## Executable
25
18
 
@@ -85,7 +78,7 @@ The `publish.yml` workflow publishes tags matching `v*` from a GitHub-hosted Nod
85
78
 
86
79
  Configure the npm trusted publisher for GitHub user `elnonathan`, repository `semantic-js-mcp`, workflow filename `publish.yml`, and environment `npm-publish`. Allow `npm publish` only. In package publishing access, require two-factor authentication and disallow tokens.
87
80
 
88
- Create and push the matching `v<version>` tag only after the release commit is on `main` and its CI matrix passes. Approve the protected environment deployment, verify the published package, and then create the matching GitHub release.
81
+ Create and push the matching `v<version>` tag only after the release commit is on `main` and its CI matrix passes. If the protected environment requires review, approve the waiting deployment. Verify the published package before creating the matching GitHub release.
89
82
 
90
83
  ## Continuous Integration
91
84
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "semantic-js-mcp",
3
- "version": "0.10.2",
3
+ "version": "0.10.3",
4
4
  "description": "Semantic understanding of JavaScript codebases for AI agents",
5
5
  "keywords": [
6
6
  "mcp",
@@ -28,7 +28,7 @@
28
28
  ".codex-plugin/",
29
29
  ".mcp.json",
30
30
  ".prettierrc.json",
31
- "AGENT_SETUP.md",
31
+ "SETUP.md",
32
32
  "CHANGELOG.md",
33
33
  "CONTRIBUTING.md",
34
34
  "ROADMAP.md",
@@ -67,8 +67,8 @@
67
67
  "verify:published": "node scripts/postpublication-smoke.mjs",
68
68
  "benchmark": "node scripts/benchmark.mjs",
69
69
  "benchmark:lifecycle-memory": "node scripts/lifecycle-memory-benchmark.mjs",
70
- "format": "prettier --write \".codex-plugin/**/*.json\" \".agents/plugins/marketplace.json\" \".github/**/*.yml\" \".mcp.json\" \".prettierrc.json\" \"package.json\" \"package-lock.json\" \"CHANGELOG.md\" \"CONTRIBUTING.md\" \"README.md\" \"ROADMAP.md\" \"SECURITY.md\" \"*.mjs\" \"docs/**/*.md\" \"lib/**/*.mjs\" \"scripts/**/*.mjs\" \"skills/**/SKILL.md\" \"skills/**/agents/*.yaml\"",
71
- "format:check": "prettier --check \".codex-plugin/**/*.json\" \".agents/plugins/marketplace.json\" \".github/**/*.yml\" \".mcp.json\" \".prettierrc.json\" \"package.json\" \"package-lock.json\" \"CHANGELOG.md\" \"CONTRIBUTING.md\" \"README.md\" \"ROADMAP.md\" \"SECURITY.md\" \"*.mjs\" \"docs/**/*.md\" \"lib/**/*.mjs\" \"scripts/**/*.mjs\" \"skills/**/SKILL.md\" \"skills/**/agents/*.yaml\""
70
+ "format": "prettier --write \".codex-plugin/**/*.json\" \".agents/plugins/marketplace.json\" \".github/**/*.yml\" \".mcp.json\" \".prettierrc.json\" \"package.json\" \"package-lock.json\" \"CHANGELOG.md\" \"CONTRIBUTING.md\" \"README.md\" \"ROADMAP.md\" \"SECURITY.md\" \"SETUP.md\" \"*.mjs\" \"docs/**/*.md\" \"lib/**/*.mjs\" \"scripts/**/*.mjs\" \"skills/**/SKILL.md\" \"skills/**/agents/*.yaml\"",
71
+ "format:check": "prettier --check \".codex-plugin/**/*.json\" \".agents/plugins/marketplace.json\" \".github/**/*.yml\" \".mcp.json\" \".prettierrc.json\" \"package.json\" \"package-lock.json\" \"CHANGELOG.md\" \"CONTRIBUTING.md\" \"README.md\" \"ROADMAP.md\" \"SECURITY.md\" \"SETUP.md\" \"*.mjs\" \"docs/**/*.md\" \"lib/**/*.mjs\" \"scripts/**/*.mjs\" \"skills/**/SKILL.md\" \"skills/**/agents/*.yaml\""
72
72
  },
73
73
  "dependencies": {
74
74
  "@modelcontextprotocol/sdk": "1.27.1",
package/protocol.mjs CHANGED
@@ -408,7 +408,7 @@ export const RESULT_SCHEMA = Object.freeze({
408
408
  VERSION: 7,
409
409
  });
410
410
 
411
- export const SERVER_VERSION = "0.10.2";
411
+ export const SERVER_VERSION = "0.10.3";
412
412
 
413
413
  export const REQUIRED_RUNTIME_COMPONENT = Object.freeze({
414
414
  TYPESCRIPT_LANGUAGE_SERVER: "typescript-language-server/lib/cli.mjs",
@@ -2,7 +2,7 @@ export const REQUIRED_PACKAGE_FILE = Object.freeze({
2
2
  PACKAGE_MANIFEST: "package.json",
3
3
  PRETTIER_CONFIGURATION: ".prettierrc.json",
4
4
  README: "README.md",
5
- AGENT_SETUP: "AGENT_SETUP.md",
5
+ SETUP: "SETUP.md",
6
6
  LICENSE: "LICENSE",
7
7
  CLI: "cli.mjs",
8
8
  SERVER: "server.mjs",