fa-mcp-sdk 0.4.37 → 0.4.39

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
@@ -211,6 +211,7 @@ Note: The `dist/` directory (compiled JavaScript) is created after running `npm
211
211
  | `npm run generate-token` | Generate JWT tokens (Web UI) |
212
212
  | `node scripts/generate-jwt.js` | Generate JWT token (CLI) |
213
213
  | `/gen-jwt` | Generate JWT token (Claude Code skill) |
214
+ | `/upgrade-guide` | Generate upgrade guide for downstream projects (Claude Code skill) |
214
215
  | `npm run consul:unreg` | Deregister from Consul |
215
216
 
216
217
 
@@ -244,6 +245,23 @@ agentTester:
244
245
  The tester UI is available at `http://localhost:<port>/agent-tester` and auto-connects to the local MCP server.
245
246
  Supports custom LLM endpoints, configurable system prompts, and dynamic HTTP headers. Recommended model for testing: **gpt-5.2**.
246
247
 
248
+ ## Upgrade Guide Skill
249
+
250
+ Claude Code skill that generates a step-by-step upgrade guide for projects built on fa-mcp-sdk.
251
+ Analyzes git diff between two versions/commits and produces an MD file covering config changes, template file updates, script changes, API changes, and dependency updates.
252
+
253
+ **Usage in Claude Code:**
254
+ ```
255
+ /upgrade-guide 0.4.30 0.4.37
256
+ /upgrade-guide 0.4.30
257
+ /upgrade-guide abc1234
258
+ /upgrade-guide 0.4.30 0.4.37 на русском
259
+ ```
260
+
261
+ Output language is English by default. Add a natural-language hint (e.g., "на русском", "in German") to change it.
262
+
263
+ Skill location: `.claude/skills/upgrade-guide/SKILL.md`
264
+
247
265
  ## Directory Requirements
248
266
 
249
267
  - Use absolute paths for target directory
@@ -0,0 +1,276 @@
1
+ ---
2
+ name: upgrade-guide
3
+ description: "Generate a migration guide for upgrading fa-mcp-sdk to the latest version. Use when user asks to upgrade/update fa-mcp-sdk, mentions 'обновить sdk', 'upgrade sdk', 'migration guide', 'обновление fa-mcp-sdk', or wants to see what changed between SDK versions."
4
+ disable-model-invocation: true
5
+ allowed-tools: Bash(yarn *) Bash(npm *) Bash(node *) Bash(git *) Bash(cat *) Bash(diff *) Bash(ls *) Bash(find *) Bash(mkdir *) Read Write Glob Grep WebFetch Agent
6
+ argument-hint: "[from-version] [to-version] [language hint]"
7
+ ---
8
+
9
+ # FA-MCP-SDK Upgrade Guide Generator
10
+
11
+ Generate a comprehensive migration guide for upgrading the fa-mcp-sdk dependency in the current project.
12
+
13
+ ## Overview
14
+
15
+ This skill analyzes the differences between the currently installed version of `fa-mcp-sdk` and the latest (or specified) version, then produces a detailed migration guide as a markdown file.
16
+
17
+ ## Argument Parsing
18
+
19
+ Parse `$ARGUMENTS` to extract a target version and an optional language hint.
20
+
21
+ ### Language detection
22
+
23
+ Look for a natural-language phrase anywhere in the arguments that indicates the desired output language. Examples:
24
+ - "на русском", "по-русски", "in Russian", "ru" → Russian
25
+ - "in English", "en" → English
26
+ - Any similar phrase or ISO 639-1 code
27
+
28
+ Remove the language hint from the arguments before parsing the target version.
29
+
30
+ **Default: English** if no language hint is found.
31
+
32
+ The detected language determines ALL human-readable text in the generated guide (headings, descriptions, recommendations).
33
+ Technical content (file paths, YAML keys, code snippets, commands) stays as-is regardless of language.
34
+
35
+ ### Version/commit references
36
+
37
+ After stripping the language hint, the remaining arguments are version or commit references.
38
+
39
+ An argument is a **commit hash** if it contains 7+ hex characters and does not match semver pattern.
40
+ Otherwise it is treated as a **version** (with or without `v` prefix — `0.4.30` and `v0.4.30` are equivalent).
41
+
42
+ **Two arguments** — explicit FROM and TO:
43
+ - `/upgrade-guide 0.4.30 0.4.37` — from version 0.4.30 to 0.4.37
44
+ - `/upgrade-guide abc1234 def5678` — from commit to commit
45
+
46
+ **One argument** — FROM is the current installed version, TO is the argument:
47
+ - `/upgrade-guide 0.5.0` — upgrade from current to 0.5.0
48
+ - `/upgrade-guide abc1234` — upgrade from current to that commit
49
+
50
+ **No arguments** — FROM is the current installed version, TO is the latest published version.
51
+
52
+ ## Step 1: Determine Versions
53
+
54
+ 1. Read the current project's `package.json` and extract the installed `fa-mcp-sdk` version — this is the **default FROM**.
55
+ 2. Run `yarn info fa-mcp-sdk version` (or `npm view fa-mcp-sdk version`) to get the latest published version — this is the **default TO**.
56
+ 3. Apply argument parsing rules above to determine the actual FROM and TO.
57
+ 4. If FROM equals TO — inform the user and stop.
58
+
59
+ Display to the user:
60
+ ```
61
+ From: X.Y.Z (or commit hash)
62
+ To: A.B.C (or commit hash)
63
+ ```
64
+
65
+ ## Step 2: Upgrade the Dependency
66
+
67
+ If TO is a published version (not a commit hash), run:
68
+ ```bash
69
+ yarn add fa-mcp-sdk@<TO-version>
70
+ ```
71
+
72
+ If TO is a commit hash, run:
73
+ ```bash
74
+ yarn add fa-mcp-sdk@https://github.com/Bazilio-san/fa-mcp-sdk#<TO-commit>
75
+ ```
76
+
77
+ Wait for completion. If it fails, report the error and stop.
78
+
79
+ ## Step 3: Update SDK Documentation
80
+
81
+ Run:
82
+ ```bash
83
+ node ./node_modules/fa-mcp-sdk/scripts/update-doc.js
84
+ ```
85
+
86
+ This copies the latest `FA-MCP-SDK-DOC/` from the SDK into the project.
87
+
88
+ ## Step 4: Analyze Changes in SDK Between Versions
89
+
90
+ Use the public GitHub repository `https://github.com/Bazilio-san/fa-mcp-sdk` to analyze what changed.
91
+
92
+ ### 4.1 Get the commit log between versions
93
+
94
+ Fetch the GitHub compare URL to understand what changed:
95
+
96
+ ```
97
+ https://api.github.com/repos/Bazilio-san/fa-mcp-sdk/compare/<FROM-ref>...<TO-ref>
98
+ ```
99
+
100
+ Where `<FROM-ref>` and `<TO-ref>` are version tags (try both `v0.4.30` and `0.4.30` formats) or commit hashes.
101
+
102
+ If version tags don't exist, use the commits API to find commits between versions, or search `git log` for version bump commit messages.
103
+
104
+ Alternative approach — use the npm registry to get git metadata, or simply read the changelog if available.
105
+
106
+ ### 4.2 Analyze changes in config files
107
+
108
+ These config files in the SDK may have changed and require corresponding updates in the project:
109
+
110
+ - `config/default.yaml` — main configuration defaults
111
+ - `config/custom-environment-variables.yaml` — env var mappings
112
+ - `config/development.yaml` — dev overrides
113
+ - `config/production.yaml` — production overrides
114
+ - `config/local.yaml` — local secrets template
115
+
116
+ For each config file, compare the SDK's version (at `node_modules/fa-mcp-sdk/config/<file>`) with the project's version (at `config/<file>`).
117
+
118
+ Identify:
119
+ - **New keys** added in the SDK that are missing in the project
120
+ - **Removed keys** that existed in the old SDK but are gone now
121
+ - **Changed defaults** where the SDK's default value has changed
122
+ - **New sections** that represent new features
123
+
124
+ ### 4.3 Analyze changes in cli-template files
125
+
126
+ These directories in the SDK template may have changed:
127
+
128
+ - `node_modules/fa-mcp-sdk/cli-template/` — the project template
129
+
130
+ Compare template files with their project counterparts. Key files to check:
131
+
132
+ - `package.json` — new scripts, dependency changes
133
+ - `tsconfig.json` — compiler option changes
134
+ - `eslint.config.js` — linting rule changes
135
+ - `CLAUDE.md` — project instructions updates
136
+ - `deploy/` — deployment configuration changes
137
+ - `jest.config.js` — test configuration changes
138
+ - `.claude/skills/` — new or updated skills
139
+
140
+ ### 4.4 Analyze changes in scripts
141
+
142
+ Check `node_modules/fa-mcp-sdk/scripts/` for new or modified scripts that may need to be copied or adapted in the project.
143
+
144
+ ### 4.5 Analyze changes in core library exports
145
+
146
+ Read `node_modules/fa-mcp-sdk/dist/core/index.js` (or `.d.ts`) to identify:
147
+ - New exports that may be useful
148
+ - Removed/renamed exports that may break existing code
149
+ - Changed type signatures
150
+
151
+ ### 4.6 Check project code for breaking changes
152
+
153
+ Scan the project's `src/` directory for:
154
+ - Imports from `fa-mcp-sdk` that reference removed/renamed exports
155
+ - Usage of deprecated APIs
156
+ - Config keys that have been renamed or restructured
157
+
158
+ ## Step 5: Generate Migration Guide
159
+
160
+ Write ALL headings, descriptions, and prose in the detected language (default: English).
161
+ Technical content (file paths, YAML keys, code blocks, shell commands) is always in English.
162
+
163
+ Create a file `upgrade-guide-<old>-to-<new>.md` in the project root with the following structure:
164
+
165
+ ```markdown
166
+ # FA-MCP-SDK Migration Guide: v<old> -> v<new>
167
+
168
+ Generated: <timestamp>
169
+
170
+ ## Summary
171
+
172
+ <Brief overview of what changed and the scope of required updates>
173
+
174
+ ## Breaking Changes
175
+
176
+ <List any breaking changes that MUST be addressed. For each:>
177
+ - What changed
178
+ - What code/config is affected
179
+ - Exact fix with code snippets
180
+
181
+ ## Config Changes
182
+
183
+ ### New Configuration Keys
184
+
185
+ <For each new key, provide:>
186
+ - Key path (e.g., `webServer.adminAuth.type`)
187
+ - Default value
188
+ - Description
189
+ - Whether it needs to be added to the project's config
190
+
191
+ ### Changed Defaults
192
+
193
+ <Keys where default values changed>
194
+
195
+ ### Removed Keys
196
+
197
+ <Keys that were removed>
198
+
199
+ ### Recommended config/default.yaml additions
200
+
201
+ ```yaml
202
+ # Add these sections to your config/default.yaml:
203
+ <actual YAML snippets to add>
204
+ ```
205
+
206
+ ### Recommended config/custom-environment-variables.yaml additions
207
+
208
+ ```yaml
209
+ # Add these mappings:
210
+ <actual YAML snippets>
211
+ ```
212
+
213
+ ## Template File Changes
214
+
215
+ ### package.json
216
+
217
+ <New scripts, changed dependencies, etc.>
218
+
219
+ ### Other Template Files
220
+
221
+ <Changes in tsconfig.json, eslint.config.js, deploy/, etc.>
222
+
223
+ ## New Features
224
+
225
+ <New SDK features that the project can now use>
226
+
227
+ ## New/Updated Scripts
228
+
229
+ <Scripts that should be copied or updated>
230
+
231
+ ## Code Changes Required
232
+
233
+ <Specific code changes needed in the project's src/ files, with before/after examples>
234
+
235
+ ## Recommended Actions
236
+
237
+ <Ordered checklist of actions to complete the upgrade>
238
+
239
+ 1. [ ] ...
240
+ 2. [ ] ...
241
+ ```
242
+
243
+ ## Step 6: Assess Impact on the Project
244
+
245
+ After generating the guide, scan the current project's source code (`src/`, `config/`, `tests/`) to evaluate how the changes specifically affect THIS project. Add a section to the guide:
246
+
247
+ ```markdown
248
+ ## Impact Assessment for This Project
249
+
250
+ ### Affected Files
251
+
252
+ <List of project files that need modification, with specific changes>
253
+
254
+ ### Risk Level
255
+
256
+ <Low / Medium / High — based on the number and nature of breaking changes>
257
+
258
+ ### Estimated Effort
259
+
260
+ <Brief assessment of the work required>
261
+ ```
262
+
263
+ ## Step 7: Present Results
264
+
265
+ 1. Display a summary of the key findings to the user.
266
+ 2. Tell the user the full guide has been saved to `upgrade-guide-<old>-to-<new>.md`.
267
+ 3. Ask if they want you to apply any of the recommended changes automatically.
268
+
269
+ ## Important Rules
270
+
271
+ - ALWAYS read the actual files to compare — do not guess or assume what changed.
272
+ - When comparing YAML configs, preserve comments and structure.
273
+ - Do not modify project files other than `package.json` (via yarn add) and `FA-MCP-SDK-DOC/` (via update-doc.js) unless the user explicitly asks.
274
+ - The migration guide must contain ACTIONABLE instructions with exact code/config snippets — not vague recommendations.
275
+ - If GitHub API is unavailable or rate-limited, fall back to comparing files directly from `node_modules/fa-mcp-sdk/` against project files.
276
+ - Write the guide in the language detected from the user's arguments (default: **English**). Translate all headings, prose, and descriptions. Keep file paths, YAML keys, code blocks, and shell commands in English.
@@ -102,4 +102,18 @@ Add to `claude_desktop_config.json`:
102
102
  - **/sse** - Server-Sent Events
103
103
  - **/mcp** - JSON-RPC 2.0
104
104
 
105
+ ## Claude Code Skills
106
+
107
+ ### `/upgrade-guide`
108
+
109
+ Generates a migration guide for upgrading `fa-mcp-sdk` to the latest (or specified) version. Analyzes config changes, template diffs, new exports, and breaking changes, then saves a step-by-step guide to `upgrade-guide-<old>-to-<new>.md`.
110
+
111
+ ```
112
+ /upgrade-guide # current → latest
113
+ /upgrade-guide 0.5.0 # current → 0.5.0
114
+ /upgrade-guide 0.4.30 0.5.0 # 0.4.30 → 0.5.0
115
+ /upgrade-guide abc1234 def5678 # commit → commit
116
+ /upgrade-guide 0.4.30 0.5.0 на русском
117
+ ```
118
+
105
119
  ## Security
@@ -50,7 +50,7 @@
50
50
  "dependencies": {
51
51
  "@modelcontextprotocol/sdk": "^1.29.0",
52
52
  "dotenv": "^17.4.1",
53
- "fa-mcp-sdk": "^0.4.37"
53
+ "fa-mcp-sdk": "^0.4.39"
54
54
  },
55
55
  "devDependencies": {
56
56
  "@types/express": "^5.0.6",
@@ -1483,8 +1483,8 @@ textarea.prompt-modified {
1483
1483
  border: 1px solid var(--border);
1484
1484
  border-radius: var(--radius-lg);
1485
1485
  width: 100%;
1486
- max-width: 900px;
1487
- max-height: 85vh;
1486
+ max-width: 90vw;
1487
+ height: 90vh;
1488
1488
  display: flex;
1489
1489
  flex-direction: column;
1490
1490
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
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.37",
4
+ "version": "0.4.39",
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",