@savvy-web/mcp 0.2.1 → 0.3.1

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@savvy-web/mcp",
3
- "version": "0.2.1",
3
+ "version": "0.3.1",
4
4
  "private": false,
5
5
  "description": "The savvy MCP server — Silk Suite tooling and library knowledge for coding agents",
6
6
  "homepage": "https://github.com/savvy-web/systems/tree/main/packages/mcp",
@@ -73,7 +73,7 @@
73
73
  "@effect/platform": "^0.96.1",
74
74
  "@effect/platform-node": "^0.106.0",
75
75
  "@modelcontextprotocol/sdk": "^1.29.0",
76
- "@savvy-web/silk-effects": "0.6.0",
76
+ "@savvy-web/silk-effects": "0.6.1",
77
77
  "effect": "^3.21.2",
78
78
  "fuse.js": "^7.4.0",
79
79
  "workspaces-effect": "^1.1.0",
@@ -7,20 +7,12 @@
7
7
  "tier": "guides",
8
8
  "source": "hand",
9
9
  "status": "stable",
10
- "tags": [
11
- "api",
12
- "build"
13
- ],
14
- "audience": [
15
- "assistant"
16
- ],
10
+ "tags": ["api", "build"],
11
+ "audience": ["assistant"],
17
12
  "priority": 0.5,
18
- "related": [
19
- "standards/api-model-pipeline",
20
- "packages/rslib-builder/overview"
21
- ],
13
+ "related": ["standards/api-model-pipeline", "packages/rslib-builder/overview"],
22
14
  "uri": "silk://guides/api-docs-from-api-extractor",
23
- "lastModified": "2026-06-02T16:34:22-04:00"
15
+ "lastModified": "2026-06-01T14:57:44-04:00"
24
16
  },
25
17
  {
26
18
  "id": "guides/building-a-github-action",
@@ -29,20 +21,12 @@
29
21
  "tier": "guides",
30
22
  "source": "hand",
31
23
  "status": "stable",
32
- "tags": [
33
- "github-actions",
34
- "build"
35
- ],
36
- "audience": [
37
- "assistant"
38
- ],
24
+ "tags": ["github-actions", "build"],
25
+ "audience": ["assistant"],
39
26
  "priority": 0.5,
40
- "related": [
41
- "guides/choosing-a-builder",
42
- "standards/api-model-pipeline"
43
- ],
27
+ "related": ["guides/choosing-a-builder", "standards/api-model-pipeline"],
44
28
  "uri": "silk://guides/building-a-github-action",
45
- "lastModified": "2026-06-02T16:34:22-04:00"
29
+ "lastModified": "2026-06-01T11:45:48-04:00"
46
30
  },
47
31
  {
48
32
  "id": "guides/choosing-a-builder",
@@ -51,18 +35,12 @@
51
35
  "tier": "guides",
52
36
  "source": "hand",
53
37
  "status": "stable",
54
- "tags": [
55
- "build"
56
- ],
57
- "audience": [
58
- "assistant"
59
- ],
38
+ "tags": ["build"],
39
+ "audience": ["assistant"],
60
40
  "priority": 0.5,
61
- "related": [
62
- "packages/rslib-builder/overview"
63
- ],
41
+ "related": ["packages/rslib-builder/overview"],
64
42
  "uri": "silk://guides/choosing-a-builder",
65
- "lastModified": "2026-06-02T16:34:22-04:00"
43
+ "lastModified": "2026-06-01T11:45:48-04:00"
66
44
  },
67
45
  {
68
46
  "id": "guides/llm-friendly-json-schemas",
@@ -71,18 +49,12 @@
71
49
  "tier": "guides",
72
50
  "source": "hand",
73
51
  "status": "stable",
74
- "tags": [
75
- "mcp"
76
- ],
77
- "audience": [
78
- "assistant"
79
- ],
52
+ "tags": ["mcp"],
53
+ "audience": ["assistant"],
80
54
  "priority": 0.5,
81
- "related": [
82
- "packages/mcp/resource-taxonomy"
83
- ],
55
+ "related": ["packages/mcp/resource-taxonomy"],
84
56
  "uri": "silk://guides/llm-friendly-json-schemas",
85
- "lastModified": "2026-06-02T16:34:22-04:00"
57
+ "lastModified": "2026-06-01T00:16:43-04:00"
86
58
  },
87
59
  {
88
60
  "id": "packages/cli/command-tree",
@@ -91,19 +63,12 @@
91
63
  "tier": "packages",
92
64
  "source": "hand",
93
65
  "status": "stable",
94
- "tags": [
95
- "cli"
96
- ],
97
- "audience": [
98
- "assistant"
99
- ],
66
+ "tags": ["cli"],
67
+ "audience": ["assistant"],
100
68
  "priority": 0.5,
101
- "related": [
102
- "packages/cli/init-and-check",
103
- "packages/silk/install-and-setup"
104
- ],
69
+ "related": ["packages/cli/init-and-check", "packages/silk/install-and-setup"],
105
70
  "uri": "silk://packages/cli/command-tree",
106
- "lastModified": "2026-06-02T16:34:22-04:00"
71
+ "lastModified": "2026-06-01T00:16:43-04:00"
107
72
  },
108
73
  {
109
74
  "id": "packages/cli/init-and-check",
@@ -112,20 +77,12 @@
112
77
  "tier": "packages",
113
78
  "source": "hand",
114
79
  "status": "stable",
115
- "tags": [
116
- "cli",
117
- "init"
118
- ],
119
- "audience": [
120
- "assistant"
121
- ],
80
+ "tags": ["cli", "init"],
81
+ "audience": ["assistant"],
122
82
  "priority": 0.5,
123
- "related": [
124
- "packages/cli/command-tree",
125
- "packages/silk/install-and-setup"
126
- ],
83
+ "related": ["packages/cli/command-tree", "packages/silk/install-and-setup"],
127
84
  "uri": "silk://packages/cli/init-and-check",
128
- "lastModified": "2026-06-02T16:34:22-04:00"
85
+ "lastModified": "2026-06-03T00:09:23-04:00"
129
86
  },
130
87
  {
131
88
  "id": "packages/mcp/resource-taxonomy",
@@ -134,18 +91,12 @@
134
91
  "tier": "packages",
135
92
  "source": "hand",
136
93
  "status": "stable",
137
- "tags": [
138
- "mcp"
139
- ],
140
- "audience": [
141
- "assistant"
142
- ],
94
+ "tags": ["mcp"],
95
+ "audience": ["assistant"],
143
96
  "priority": 0.5,
144
- "related": [
145
- "packages/silk-effects/"
146
- ],
97
+ "related": ["packages/silk-effects/"],
147
98
  "uri": "silk://packages/mcp/resource-taxonomy",
148
- "lastModified": "2026-06-02T16:34:22-04:00"
99
+ "lastModified": "2026-06-01T00:16:43-04:00"
149
100
  },
150
101
  {
151
102
  "id": "packages/rslib-builder/overview",
@@ -154,19 +105,12 @@
154
105
  "tier": "packages",
155
106
  "source": "hand",
156
107
  "status": "stable",
157
- "tags": [
158
- "build"
159
- ],
160
- "audience": [
161
- "assistant"
162
- ],
108
+ "tags": ["build"],
109
+ "audience": ["assistant"],
163
110
  "priority": 0.5,
164
- "related": [
165
- "standards/catalog-usage",
166
- "standards/publishability"
167
- ],
111
+ "related": ["standards/catalog-usage", "standards/publishability"],
168
112
  "uri": "silk://packages/rslib-builder/overview",
169
- "lastModified": "2026-06-02T16:34:22-04:00"
113
+ "lastModified": "2026-06-01T00:16:43-04:00"
170
114
  },
171
115
  {
172
116
  "id": "packages/silk/export-map",
@@ -175,18 +119,12 @@
175
119
  "tier": "packages",
176
120
  "source": "hand",
177
121
  "status": "stable",
178
- "tags": [
179
- "silk"
180
- ],
181
- "audience": [
182
- "assistant"
183
- ],
122
+ "tags": ["silk"],
123
+ "audience": ["assistant"],
184
124
  "priority": 0.5,
185
- "related": [
186
- "packages/silk/install-and-setup"
187
- ],
125
+ "related": ["packages/silk/install-and-setup"],
188
126
  "uri": "silk://packages/silk/export-map",
189
- "lastModified": "2026-06-02T16:34:22-04:00"
127
+ "lastModified": "2026-06-01T00:16:43-04:00"
190
128
  },
191
129
  {
192
130
  "id": "packages/silk/install-and-setup",
@@ -195,20 +133,12 @@
195
133
  "tier": "packages",
196
134
  "source": "hand",
197
135
  "status": "stable",
198
- "tags": [
199
- "silk",
200
- "init"
201
- ],
202
- "audience": [
203
- "assistant"
204
- ],
136
+ "tags": ["silk", "init"],
137
+ "audience": ["assistant"],
205
138
  "priority": 0.5,
206
- "related": [
207
- "packages/silk/export-map",
208
- "packages/cli/init-and-check"
209
- ],
139
+ "related": ["packages/silk/export-map", "packages/cli/init-and-check"],
210
140
  "uri": "silk://packages/silk/install-and-setup",
211
- "lastModified": "2026-06-02T16:34:22-04:00"
141
+ "lastModified": "2026-06-01T00:16:43-04:00"
212
142
  },
213
143
  {
214
144
  "id": "packages/silk-effects/",
@@ -217,13 +147,8 @@
217
147
  "tier": "packages",
218
148
  "source": "hand",
219
149
  "status": "stable",
220
- "tags": [
221
- "silk-effects",
222
- "effect"
223
- ],
224
- "audience": [
225
- "assistant"
226
- ],
150
+ "tags": ["silk-effects", "effect"],
151
+ "audience": ["assistant"],
227
152
  "priority": 0.5,
228
153
  "related": [
229
154
  "packages/silk-effects/platform-layers",
@@ -231,7 +156,7 @@
231
156
  "standards/publishability"
232
157
  ],
233
158
  "uri": "silk://packages/silk-effects/",
234
- "lastModified": "2026-06-02T16:34:22-04:00"
159
+ "lastModified": "2026-06-01T00:16:43-04:00"
235
160
  },
236
161
  {
237
162
  "id": "packages/silk-effects/managed-section",
@@ -240,20 +165,12 @@
240
165
  "tier": "packages",
241
166
  "source": "hand",
242
167
  "status": "stable",
243
- "tags": [
244
- "managed-section",
245
- "effect"
246
- ],
247
- "audience": [
248
- "assistant"
249
- ],
168
+ "tags": ["managed-section", "effect"],
169
+ "audience": ["assistant"],
250
170
  "priority": 0.5,
251
- "related": [
252
- "packages/silk-effects/",
253
- "packages/silk-effects/platform-layers"
254
- ],
171
+ "related": ["packages/silk-effects/", "packages/silk-effects/platform-layers"],
255
172
  "uri": "silk://packages/silk-effects/managed-section",
256
- "lastModified": "2026-06-02T16:34:22-04:00"
173
+ "lastModified": "2026-06-01T00:16:43-04:00"
257
174
  },
258
175
  {
259
176
  "id": "packages/silk-effects/platform-layers",
@@ -262,20 +179,12 @@
262
179
  "tier": "packages",
263
180
  "source": "hand",
264
181
  "status": "stable",
265
- "tags": [
266
- "silk-effects",
267
- "effect"
268
- ],
269
- "audience": [
270
- "assistant"
271
- ],
182
+ "tags": ["silk-effects", "effect"],
183
+ "audience": ["assistant"],
272
184
  "priority": 0.5,
273
- "related": [
274
- "packages/silk-effects/",
275
- "packages/silk-effects/managed-section"
276
- ],
185
+ "related": ["packages/silk-effects/", "packages/silk-effects/managed-section"],
277
186
  "uri": "silk://packages/silk-effects/platform-layers",
278
- "lastModified": "2026-06-02T16:34:22-04:00"
187
+ "lastModified": "2026-06-01T00:16:43-04:00"
279
188
  },
280
189
  {
281
190
  "id": "standards/api-model-pipeline",
@@ -284,19 +193,12 @@
284
193
  "tier": "standards",
285
194
  "source": "hand",
286
195
  "status": "stable",
287
- "tags": [
288
- "api",
289
- "build"
290
- ],
291
- "audience": [
292
- "assistant"
293
- ],
196
+ "tags": ["api", "build"],
197
+ "audience": ["assistant"],
294
198
  "priority": 0.5,
295
- "related": [
296
- "packages/mcp/resource-taxonomy"
297
- ],
199
+ "related": ["packages/mcp/resource-taxonomy"],
298
200
  "uri": "silk://standards/api-model-pipeline",
299
- "lastModified": "2026-06-02T16:34:22-04:00"
201
+ "lastModified": "2026-06-01T14:57:44-04:00"
300
202
  },
301
203
  {
302
204
  "id": "standards/catalog-usage",
@@ -305,19 +207,12 @@
305
207
  "tier": "standards",
306
208
  "source": "hand",
307
209
  "status": "stable",
308
- "tags": [
309
- "catalog",
310
- "dependencies"
311
- ],
312
- "audience": [
313
- "assistant"
314
- ],
210
+ "tags": ["catalog", "dependencies"],
211
+ "audience": ["assistant"],
315
212
  "priority": 0.8,
316
- "related": [
317
- "standards/publishability"
318
- ],
213
+ "related": ["standards/publishability"],
319
214
  "uri": "silk://standards/catalog-usage",
320
- "lastModified": "2026-06-02T16:34:22-04:00"
215
+ "lastModified": "2026-06-01T00:16:43-04:00"
321
216
  },
322
217
  {
323
218
  "id": "standards/changeset-discipline",
@@ -326,20 +221,12 @@
326
221
  "tier": "standards",
327
222
  "source": "hand",
328
223
  "status": "stable",
329
- "tags": [
330
- "changeset",
331
- "release"
332
- ],
333
- "audience": [
334
- "assistant"
335
- ],
224
+ "tags": ["changeset", "release"],
225
+ "audience": ["assistant"],
336
226
  "priority": 0.8,
337
- "related": [
338
- "packages/silk-effects/",
339
- "standards/publishability"
340
- ],
227
+ "related": ["packages/silk-effects/", "standards/publishability"],
341
228
  "uri": "silk://standards/changeset-discipline",
342
- "lastModified": "2026-06-02T16:34:22-04:00"
229
+ "lastModified": "2026-06-01T00:16:43-04:00"
343
230
  },
344
231
  {
345
232
  "id": "standards/changeset-format",
@@ -348,18 +235,12 @@
348
235
  "tier": "standards",
349
236
  "source": "hand",
350
237
  "status": "stable",
351
- "tags": [
352
- "changeset"
353
- ],
354
- "audience": [
355
- "assistant"
356
- ],
238
+ "tags": ["changeset"],
239
+ "audience": ["assistant"],
357
240
  "priority": 0.5,
358
- "related": [
359
- "standards/changeset-discipline"
360
- ],
241
+ "related": ["standards/changeset-discipline"],
361
242
  "uri": "silk://standards/changeset-format",
362
- "lastModified": "2026-06-02T16:34:22-04:00"
243
+ "lastModified": "2026-06-03T00:09:23-04:00"
363
244
  },
364
245
  {
365
246
  "id": "standards/commit-contract",
@@ -368,20 +249,12 @@
368
249
  "tier": "standards",
369
250
  "source": "hand",
370
251
  "status": "stable",
371
- "tags": [
372
- "commit",
373
- "dco",
374
- "tdd"
375
- ],
376
- "audience": [
377
- "assistant"
378
- ],
252
+ "tags": ["commit", "dco", "tdd"],
253
+ "audience": ["assistant"],
379
254
  "priority": 0.8,
380
- "related": [
381
- "standards/changeset-discipline"
382
- ],
255
+ "related": ["standards/changeset-discipline"],
383
256
  "uri": "silk://standards/commit-contract",
384
- "lastModified": "2026-06-02T16:34:22-04:00"
257
+ "lastModified": "2026-06-01T00:16:43-04:00"
385
258
  },
386
259
  {
387
260
  "id": "standards/dependency-conventions",
@@ -390,19 +263,12 @@
390
263
  "tier": "standards",
391
264
  "source": "hand",
392
265
  "status": "stable",
393
- "tags": [
394
- "dependencies",
395
- "catalog"
396
- ],
397
- "audience": [
398
- "assistant"
399
- ],
266
+ "tags": ["dependencies", "catalog"],
267
+ "audience": ["assistant"],
400
268
  "priority": 0.5,
401
- "related": [
402
- "standards/catalog-usage"
403
- ],
269
+ "related": ["standards/catalog-usage"],
404
270
  "uri": "silk://standards/dependency-conventions",
405
- "lastModified": "2026-06-02T16:34:22-04:00"
271
+ "lastModified": "2026-06-01T11:45:48-04:00"
406
272
  },
407
273
  {
408
274
  "id": "standards/linting-conventions",
@@ -411,18 +277,12 @@
411
277
  "tier": "standards",
412
278
  "source": "hand",
413
279
  "status": "stable",
414
- "tags": [
415
- "lint"
416
- ],
417
- "audience": [
418
- "assistant"
419
- ],
280
+ "tags": ["lint"],
281
+ "audience": ["assistant"],
420
282
  "priority": 0.8,
421
- "related": [
422
- "standards/test-classification"
423
- ],
283
+ "related": ["standards/test-classification"],
424
284
  "uri": "silk://standards/linting-conventions",
425
- "lastModified": "2026-06-02T16:34:22-04:00"
285
+ "lastModified": "2026-06-01T00:16:43-04:00"
426
286
  },
427
287
  {
428
288
  "id": "standards/publishability",
@@ -431,19 +291,12 @@
431
291
  "tier": "standards",
432
292
  "source": "hand",
433
293
  "status": "stable",
434
- "tags": [
435
- "publishability"
436
- ],
437
- "audience": [
438
- "assistant"
439
- ],
294
+ "tags": ["publishability"],
295
+ "audience": ["assistant"],
440
296
  "priority": 0.8,
441
- "related": [
442
- "packages/silk-effects/",
443
- "standards/catalog-usage"
444
- ],
297
+ "related": ["packages/silk-effects/", "standards/catalog-usage"],
445
298
  "uri": "silk://standards/publishability",
446
- "lastModified": "2026-06-02T16:34:22-04:00"
299
+ "lastModified": "2026-06-01T00:16:43-04:00"
447
300
  },
448
301
  {
449
302
  "id": "standards/semver",
@@ -452,18 +305,12 @@
452
305
  "tier": "standards",
453
306
  "source": "hand",
454
307
  "status": "stable",
455
- "tags": [
456
- "semver"
457
- ],
458
- "audience": [
459
- "assistant"
460
- ],
308
+ "tags": ["semver"],
309
+ "audience": ["assistant"],
461
310
  "priority": 0.5,
462
- "related": [
463
- "standards/changeset-discipline"
464
- ],
311
+ "related": ["standards/changeset-discipline"],
465
312
  "uri": "silk://standards/semver",
466
- "lastModified": "2026-06-02T16:34:22-04:00"
313
+ "lastModified": "2026-06-01T11:45:48-04:00"
467
314
  },
468
315
  {
469
316
  "id": "standards/test-classification",
@@ -472,18 +319,12 @@
472
319
  "tier": "standards",
473
320
  "source": "hand",
474
321
  "status": "stable",
475
- "tags": [
476
- "test"
477
- ],
478
- "audience": [
479
- "assistant"
480
- ],
322
+ "tags": ["test"],
323
+ "audience": ["assistant"],
481
324
  "priority": 0.8,
482
- "related": [
483
- "standards/linting-conventions"
484
- ],
325
+ "related": ["standards/linting-conventions"],
485
326
  "uri": "silk://standards/test-classification",
486
- "lastModified": "2026-06-02T16:34:22-04:00"
327
+ "lastModified": "2026-06-01T00:16:43-04:00"
487
328
  }
488
329
  ]
489
330
  }
@@ -23,8 +23,10 @@ Both orchestrators sequence the three per-tool handlers and short-circuit on the
23
23
  first failure. They live at `src/commands/init.ts` and `src/commands/check.ts`. The
24
24
  per-tool handlers are injected rather than imported inline, so the orchestration
25
25
  logic — the sequencing and short-circuit — is unit-testable without standing up the
26
- full runtime. Per-tool `init` and `check` stay reachable under their namespaces
27
- (`savvy changeset init`, `savvy lint check`, and so on).
26
+ full runtime. There is no per-tool setup or validation entry point: `savvy init`
27
+ and `savvy check` are the only ones. The namespaced groups expose the remaining
28
+ per-tool operations instead (`savvy changeset lint`, `savvy lint fmt`,
29
+ `savvy commit hook ...`, and so on).
28
30
 
29
31
  ## Layer
30
32
 
@@ -128,4 +128,5 @@ commits to changelog entries.
128
128
  The discipline rules governing when a changeset is required are at
129
129
  `silk://standards/changeset-discipline`. The `changeset-style` Claude Code skill
130
130
  carries worked examples for all three content-depth tiers. The `changeset-check`
131
- skill validates files against CSH001–CSH005 via `savvy changeset check`.
131
+ skill validates files against CSH001–CSH005 via `savvy changeset lint` (or
132
+ `savvy changeset validate-file <file>` for a single file).