fa-mcp-sdk 0.4.41 → 0.4.43
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/bin/fa-mcp.js
CHANGED
|
@@ -939,8 +939,13 @@ certificate's public and private keys`,
|
|
|
939
939
|
'mkdir', 'node', 'npm install', 'npm run', 'npm test', 'npm', 'npx', 'pkill', 'set', 'playwright', 'powershell',
|
|
940
940
|
'rm', 'taskkill', 'tasklist', 'timeout', 'turbo run', 'wc'];
|
|
941
941
|
const c2 = ['jobs', 'npm start', 'unset http_proxy'];
|
|
942
|
+
const c3 = ['./config/local.yaml', './node_modules/fa-mcp-sdk/config/_local.yaml'];
|
|
942
943
|
const i = ' '.repeat(8);
|
|
943
|
-
const allowBashLines = [
|
|
944
|
+
const allowBashLines = [
|
|
945
|
+
...c1.map((c) => `${i}"Bash(${c}:*)",`),
|
|
946
|
+
...c2.map((c) => `${i}"Bash(${c})",`),
|
|
947
|
+
...c3.map((c) => `${i}"Read(${c})",`),
|
|
948
|
+
].join('\n');
|
|
944
949
|
const transformFn = (c) => c.replace('"acceptEdits"', '"bypassPermissions"')
|
|
945
950
|
.replace(/"allow": \[\s+"Edit",/, `"allow": [\n${allowBashLines}\n${i}"Edit",`);
|
|
946
951
|
await this.transformTargetFile(config, '.claude/settings.json', transformFn);
|
|
@@ -153,23 +153,77 @@ Identify:
|
|
|
153
153
|
|
|
154
154
|
### 4.3 Analyze changes in cli-template files
|
|
155
155
|
|
|
156
|
-
|
|
156
|
+
The SDK ships a project template at `node_modules/fa-mcp-sdk/cli-template/` (after `yarn add fa-mcp-sdk@<TO>`). This is the **canonical source** for any template files in the project — when generating instructions for the user, always point to this path as the place to copy the latest version from.
|
|
157
|
+
|
|
158
|
+
Map of template file → project file (the CLI `bin/fa-mcp.js` applies these transformations when creating new projects — upgrades must respect the same mapping):
|
|
159
|
+
|
|
160
|
+
| Template (source of truth) | Project (destination) | Notes |
|
|
161
|
+
|-------------------------------------------------------------------|---------------------------------------------|-------|
|
|
162
|
+
| `node_modules/fa-mcp-sdk/cli-template/package.json` | `package.json` | **Merge carefully** — see rule below |
|
|
163
|
+
| `node_modules/fa-mcp-sdk/cli-template/tsconfig.json` | `tsconfig.json` | overwrite (unless customized) |
|
|
164
|
+
| `node_modules/fa-mcp-sdk/cli-template/eslint.config.js` | `eslint.config.js` | overwrite (unless customized) |
|
|
165
|
+
| `node_modules/fa-mcp-sdk/cli-template/CLAUDE.md` | `CLAUDE.md` | merge — project may add custom sections |
|
|
166
|
+
| `node_modules/fa-mcp-sdk/cli-template/jest.config.js` | `jest.config.js` | overwrite (unless customized) |
|
|
167
|
+
| `node_modules/fa-mcp-sdk/cli-template/deploy/` | `deploy/` | merge per file |
|
|
168
|
+
| `node_modules/fa-mcp-sdk/cli-template/.claude/skills/<skill>/` | `.claude/skills/<skill>/` | overwrite unless locally customized |
|
|
169
|
+
| `node_modules/fa-mcp-sdk/cli-template/r/<name>.xml` | `.run/<name>.run.xml` | **Renamed** — see rule below |
|
|
170
|
+
| `node_modules/fa-mcp-sdk/cli-template/gitignore` | `.gitignore` | source has no leading dot |
|
|
171
|
+
| `node_modules/fa-mcp-sdk/cli-template/FA-MCP-SDK-DOC/` | `FA-MCP-SDK-DOC/` | auto-updated by `update-doc.js` |
|
|
172
|
+
|
|
173
|
+
#### Rule: package.json — ADD ONLY new dependencies, do NOT touch anything else
|
|
174
|
+
|
|
175
|
+
The project's `package.json` has evolved since generation (project-specific name, version, scripts, dependencies the team has added). When the SDK's template `package.json` changes:
|
|
176
|
+
|
|
177
|
+
1. Diff `node_modules/fa-mcp-sdk/cli-template/package.json` (TO) against the same file at the FROM version.
|
|
178
|
+
2. Identify ONLY dependencies/devDependencies that were **added** (not changed versions of existing ones, not removed).
|
|
179
|
+
3. The generated guide must instruct the user: "Add these NEW entries to your `package.json` `dependencies`/`devDependencies` sections. Do NOT touch any other field — name, version, scripts, existing deps stay as they are."
|
|
180
|
+
4. If a dep was **removed** from the template, mention it as informational only — do not instruct deletion from the project (it may still be in use).
|
|
181
|
+
5. Do NOT suggest overwriting `scripts`, `engines`, `type`, or any other field.
|
|
182
|
+
|
|
183
|
+
Provide a copy-pasteable JSON snippet with only the new keys:
|
|
184
|
+
```json
|
|
185
|
+
{
|
|
186
|
+
"dependencies": {
|
|
187
|
+
"<new-dep>": "<version>"
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
#### Rule: `r/` → `.run/` with filename transformation
|
|
193
|
+
|
|
194
|
+
The project has no `r/` directory — it was renamed to `.run/` at project generation, and each `<name>.xml` inside was
|
|
195
|
+
renamed to `<name>.run.xml`. When the SDK template ships new or changed files in `cli-template/r/`:
|
|
196
|
+
|
|
197
|
+
- Source: `node_modules/fa-mcp-sdk/cli-template/r/<name>.xml`
|
|
198
|
+
- Destination: `.run/<name>.run.xml`
|
|
199
|
+
- Action for NEW files: copy `<name>.xml` → `.run/<name>.run.xml`
|
|
200
|
+
- Action for CHANGED files: copy with the same rename, overwriting the existing `.run.xml` file (warn the user to back up any customizations)
|
|
201
|
+
- Action for REMOVED files: informational only — do not delete the project's `.run/<name>.run.xml` automatically
|
|
157
202
|
|
|
158
|
-
|
|
203
|
+
The generated guide must show the exact source → destination mapping for each changed file, with the filename transformation applied.
|
|
159
204
|
|
|
160
|
-
|
|
205
|
+
#### Rule: `.claude/skills/<skill>/SKILL.md`
|
|
161
206
|
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
-
|
|
168
|
-
-
|
|
207
|
+
This is a Claude Code skill that the project owns a copy of. If the SDK ships an updated version, instruct the user to
|
|
208
|
+
overwrite their local copy from `node_modules/fa-mcp-sdk/cli-template/.claude/skills/<skill>/SKILL.md` — unless they've
|
|
209
|
+
customized it locally, in which case manual merge.
|
|
210
|
+
|
|
211
|
+
For any other changed template file, the generated guide must include:
|
|
212
|
+
- The exact source path under `node_modules/fa-mcp-sdk/cli-template/...`
|
|
213
|
+
- The exact destination path in the project
|
|
214
|
+
- Whether to **overwrite** or **merge carefully** (because the project may have local customizations)
|
|
169
215
|
|
|
170
216
|
### 4.4 Analyze changes in scripts
|
|
171
217
|
|
|
172
|
-
|
|
218
|
+
The CLI copies scripts from `node_modules/fa-mcp-sdk/scripts/` (NOT from `cli-template/scripts/`) into the project's
|
|
219
|
+
`scripts/` directory, and then removes `copy-static.js` and `publish.sh` (SDK-internal, not needed in downstream projects).
|
|
220
|
+
|
|
221
|
+
- Canonical source: `node_modules/fa-mcp-sdk/scripts/<name>.js`
|
|
222
|
+
- Project destination: `scripts/<name>.js`
|
|
223
|
+
- Exclude from upgrade suggestions: `copy-static.js`, `publish.sh` (SDK-only)
|
|
224
|
+
|
|
225
|
+
The generated guide must specify the exact source path under `node_modules/fa-mcp-sdk/scripts/...` for any script the
|
|
226
|
+
user should copy into their project's `scripts/` directory, and skip the excluded SDK-only scripts.
|
|
173
227
|
|
|
174
228
|
### 4.5 Analyze changes in core library exports
|
|
175
229
|
|
|
@@ -242,13 +296,32 @@ Generated: <timestamp>
|
|
|
242
296
|
|
|
243
297
|
## Template File Changes
|
|
244
298
|
|
|
299
|
+
> **Source of truth**: all updated template files live under `node_modules/fa-mcp-sdk/cli-template/` (after `yarn add fa-mcp-sdk@<TO>`). Copy from there into the project.
|
|
300
|
+
|
|
245
301
|
### package.json
|
|
246
302
|
|
|
247
|
-
|
|
303
|
+
> **Only ADD new dependencies. Do NOT touch anything else** (name, version, scripts, existing deps — all stay untouched). Source: `node_modules/fa-mcp-sdk/cli-template/package.json`.
|
|
304
|
+
|
|
305
|
+
<List only dependencies/devDependencies that were newly added in the SDK template. Provide a copy-pasteable JSON snippet
|
|
306
|
+
with only the new keys. Mention removed deps as informational only — do not instruct deletion.>
|
|
307
|
+
|
|
308
|
+
### `.run/` (from `cli-template/r/`)
|
|
309
|
+
|
|
310
|
+
<For each changed `cli-template/r/<name>.xml`, show the mapping:>
|
|
311
|
+
- Source: `node_modules/fa-mcp-sdk/cli-template/r/<name>.xml`
|
|
312
|
+
- Destination: `.run/<name>.run.xml` (note the rename)
|
|
313
|
+
- Action: copy + rename (overwrite, warn about local customizations)
|
|
314
|
+
|
|
315
|
+
### Claude Code Skills (`.claude/skills/`)
|
|
316
|
+
|
|
317
|
+
<For each updated skill, e.g. `upgrade-guide`:>
|
|
318
|
+
- Source: `node_modules/fa-mcp-sdk/cli-template/.claude/skills/<skill-name>/SKILL.md`
|
|
319
|
+
- Destination: `.claude/skills/<skill-name>/SKILL.md`
|
|
320
|
+
- Action: overwrite (unless locally customized — then manual merge)
|
|
248
321
|
|
|
249
322
|
### Other Template Files
|
|
250
323
|
|
|
251
|
-
<
|
|
324
|
+
<For each: source path under `node_modules/fa-mcp-sdk/cli-template/...`, destination, overwrite or merge.>
|
|
252
325
|
|
|
253
326
|
## New Features
|
|
254
327
|
|
|
@@ -272,7 +345,8 @@ Generated: <timestamp>
|
|
|
272
345
|
|
|
273
346
|
## Step 6: Assess Impact on the Project
|
|
274
347
|
|
|
275
|
-
After generating the guide, scan the current project's source code (`src/`, `config/`, `tests/`) to evaluate how the
|
|
348
|
+
After generating the guide, scan the current project's source code (`src/`, `config/`, `tests/`) to evaluate how the
|
|
349
|
+
changes specifically affect THIS project. Add a section to the guide:
|
|
276
350
|
|
|
277
351
|
```markdown
|
|
278
352
|
## Impact Assessment for This Project
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fa-mcp-sdk",
|
|
3
3
|
"productName": "FA MCP SDK",
|
|
4
|
-
"version": "0.4.
|
|
4
|
+
"version": "0.4.43",
|
|
5
5
|
"description": "Core infrastructure and templates for building Model Context Protocol (MCP) servers with TypeScript",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "dist/core/index.js",
|