@happyvertical/smrt-dev-mcp 0.40.63 → 0.40.65

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/AGENTS.md CHANGED
@@ -23,6 +23,10 @@ deterministic SMRT ecosystem knowledge, and portable agent workflows.
23
23
  | `list-agent-skills` | Lists bundled harness-agnostic agent skills |
24
24
  | `get-agent-skill` | Returns a bundled agent skill as Markdown plus optional references |
25
25
 
26
+ `pnpm knowledge:check --strict --format markdown` compares this catalog and the
27
+ README parameter tables to the exported `TOOLS` definitions. Add or change a
28
+ tool schema and its authored documentation in the same commit.
29
+
26
30
  ## Knowledge Discovery (#2143)
27
31
 
28
32
  Discovery reads the workspace globs instead of assuming `<root>/packages`:
package/README.md CHANGED
@@ -242,14 +242,14 @@ Generate a complete s-m-r-t class with `@smrt()` decorator, fields, and imports.
242
242
  | Parameter | Type | Required | Description |
243
243
  |-----------|------|----------|-------------|
244
244
  | `className` | `string` | Yes | Class name (PascalCase) |
245
- | `properties` | `array` | Yes | Property definitions (`name`, `type`, `required?`, `nullable?`, `description?`, `defaultValue?`) |
246
- | `baseClass` | `string` | No | `'SmrtObject'` (default) or `'SmrtCollection'` |
247
- | `template` | `string` | No | `basic`, `global-catalog`, `optional-catalog`, `tenant-project-object`, `tenant-event-log-object`, or `cross-package-reference` |
245
+ | `properties` | `object[]` | Yes | Property definitions (`name`, `type`, `required?`, `nullable?`, `description?`, `defaultValue?`) |
246
+ | `baseClass` | `'SmrtObject' \| 'SmrtCollection'` | No | `'SmrtObject'` (default) or `'SmrtCollection'` |
247
+ | `template` | `'basic' \| 'global-catalog' \| 'optional-catalog' \| 'tenant-project-object' \| 'tenant-event-log-object' \| 'cross-package-reference'` | No | Generation template (default: `basic`) |
248
248
  | `tableName` | `string` | No | Explicit `@smrt({ tableName })` value |
249
249
  | `conflictColumns` | `string[]` | No | Explicit upsert natural key columns |
250
- | `tenantScoped` | `boolean/object` | No | Add `@TenantScoped(...)`; object supports `mode`, `field`, and bypass/filter options |
250
+ | `tenantScoped` | `boolean \| object` | No | Add `@TenantScoped(...)`; object supports `mode`, `field`, and bypass/filter options |
251
251
  | `includeTenantIdField` | `boolean` | No | Emit a matching `@tenantId()` field |
252
- | `relationships` | `array` | No | Relationship definitions for `foreignKey`, `crossPackageRef`, `oneToMany`, or `manyToMany` |
252
+ | `relationships` | `object[]` | No | Relationship definitions for `foreignKey`, `crossPackageRef`, `oneToMany`, or `manyToMany` |
253
253
  | `includeCompanionSnippets` | `boolean` | No | Append package wiring notes |
254
254
  | `includeApiConfig` | `boolean` | No | Include REST API config (default: true) |
255
255
  | `includeMcpConfig` | `boolean` | No | Include MCP config (default: true) |
@@ -307,7 +307,7 @@ coverage, relationship-v2 counts, and freshness status.
307
307
  | Parameter | Type | Required | Description |
308
308
  |-----------|------|----------|-------------|
309
309
  | `rootDir` | `string` | No | Project root directory (default: cwd) |
310
- | `scope` | `string` | No | `project`, `local`, `package`, `sdk`, or `installed` |
310
+ | `scope` | `'project' \| 'local' \| 'package' \| 'sdk' \| 'installed'` | No | Knowledge source scope (default: `project`) |
311
311
  | `package` | `string` | No | Package name or short name to focus |
312
312
 
313
313
  ### `check-knowledge-freshness`
@@ -330,7 +330,7 @@ Alias over the deterministic checker that emphasizes downstream
330
330
  | `rootDir` | `string` | No | Project root directory (default: cwd) |
331
331
  | `changed` | `boolean` | No | Limit stale-pattern checks to changed files |
332
332
  | `strict` | `boolean` | No | Treat stale-pattern findings as errors |
333
- | `scope` | `string` | No | `project`, `local`, `package`, `sdk`, or `installed` |
333
+ | `scope` | `'project' \| 'local' \| 'package' \| 'sdk' \| 'installed'` | No | Knowledge source scope (default: `project`) |
334
334
  | `package` | `string` | No | Package name or short name to focus |
335
335
 
336
336
  ### `build-review-context`
@@ -344,11 +344,21 @@ then return a model-ready prompt bundle.
344
344
  | `changedFiles` | `string[]` | No | Files to route to package experts |
345
345
  | `focus` | `string` | No | Review focus or concern |
346
346
  | `documentation` | `string` | No | Additional docs or notes to include |
347
+ | `detail` | `'summary' \| 'full'` | No | Default `summary`; `full` embeds authored docs and full package records |
347
348
 
348
349
  ### `build-domain-review-context`
349
350
 
350
- Domain-scoped alias for `build-review-context`. Accepts the same fields plus
351
- `scope` and `package`.
351
+ Domain-scoped alias for `build-review-context`.
352
+
353
+ | Parameter | Type | Required | Description |
354
+ |-----------|------|----------|-------------|
355
+ | `rootDir` | `string` | No | Project root directory (default: cwd) |
356
+ | `changedFiles` | `string[]` | No | Files to route to package experts |
357
+ | `focus` | `string` | No | Review focus or concern |
358
+ | `documentation` | `string` | No | Additional docs or notes to include |
359
+ | `scope` | `'project' \| 'local' \| 'package' \| 'sdk' \| 'installed'` | No | Knowledge source scope (default: `project`) |
360
+ | `package` | `string` | No | Package name or short name to focus |
361
+ | `detail` | `'summary' \| 'full'` | No | Default `summary`; `full` embeds authored docs and full package records |
352
362
 
353
363
  ### `smrt-review`
354
364
 
@@ -360,7 +370,8 @@ Return deterministic review findings, a prompt bundle, or both.
360
370
  | `changedFiles` | `string[]` | No | Files to route to package experts |
361
371
  | `focus` | `string` | No | Review focus or concern |
362
372
  | `documentation` | `string` | No | Additional docs or notes to include |
363
- | `mode` | `string` | No | `findings`, `prompt-bundle`, or `both` |
373
+ | `mode` | `'findings' \| 'prompt-bundle' \| 'both'` | No | Response mode (default: `both`) |
374
+ | `detail` | `'summary' \| 'full'` | No | Default `summary`; `full` embeds authored docs and full package records |
364
375
 
365
376
  ### `build-architecture-context`
366
377
 
@@ -373,11 +384,21 @@ then return a model-ready architecture prompt bundle.
373
384
  | `idea` | `string` | No | Product or implementation idea |
374
385
  | `documentation` | `string` | No | Existing docs or requirements |
375
386
  | `focus` | `string` | No | Architecture concern to prioritize |
387
+ | `detail` | `'summary' \| 'full'` | No | Default `summary`; `full` embeds authored docs and full package records |
376
388
 
377
389
  ### `build-domain-architecture-context`
378
390
 
379
- Domain-scoped alias for `build-architecture-context`. Accepts the same fields
380
- plus `scope` and `package`.
391
+ Domain-scoped alias for `build-architecture-context`.
392
+
393
+ | Parameter | Type | Required | Description |
394
+ |-----------|------|----------|-------------|
395
+ | `rootDir` | `string` | No | Project root directory (default: cwd) |
396
+ | `idea` | `string` | No | Product or implementation idea |
397
+ | `documentation` | `string` | No | Existing docs or requirements |
398
+ | `focus` | `string` | No | Architecture concern to prioritize |
399
+ | `scope` | `'project' \| 'local' \| 'package' \| 'sdk' \| 'installed'` | No | Knowledge source scope (default: `project`) |
400
+ | `package` | `string` | No | Package name or short name to focus |
401
+ | `detail` | `'summary' \| 'full'` | No | Default `summary`; `full` embeds authored docs and full package records |
381
402
 
382
403
  ### `smrt-architecture`
383
404
 
@@ -403,7 +424,7 @@ Return a bundled agent skill as Markdown, with optional referenced files.
403
424
 
404
425
  | Parameter | Type | Required | Description |
405
426
  |-----------|------|----------|-------------|
406
- | `name` | `string` | Yes | Skill name. Currently `smrt-code-review` |
427
+ | `name` | `'smrt-code-review'` | Yes | Skill name |
407
428
  | `includeReferences` | `boolean` | No | Include referenced files (default: true) |
408
429
 
409
430
  ## MCP Resources And Prompts
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { Server, Tool } from '@modelcontextprotocol/server';
1
+ import { Server } from '@modelcontextprotocol/server';
2
+ export { TOOLS } from './tool-catalog.js';
2
3
  export declare const SERVER_VERSION: string;
3
- export declare const TOOLS: Tool[];
4
4
  export declare function createServer(): Server;
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAGL,MAAM,EACN,KAAK,IAAI,EACV,MAAM,8BAA8B,CAAC;AAqBtC,eAAO,MAAM,cAAc,QAAuB,CAAC;AAwenD,eAAO,MAAM,KAAK,EAAE,IAAI,EAO0C,CAAC;AAEnE,wBAAgB,YAAY,IAAI,MAAM,CAkfrC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAGL,MAAM,EACP,MAAM,8BAA8B,CAAC;AAqBtC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAG1C,eAAO,MAAM,cAAc,QAAuB,CAAC;AAuBnD,wBAAgB,YAAY,IAAI,MAAM,CAkfrC"}
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { a as checkKnowledgeFreshnessFromIndex, d as smrtReview, i as checkKnowledgeFreshness, n as buildKnowledgeIndex, r as buildReviewContext, s as packageDocPaths, t as buildArchitectureContext, u as smrtArchitecture } from "./knowledge-CCX7oQzQ.js";
2
+ import { a as checkKnowledgeFreshnessFromIndex, d as smrtReview, f as REVIEW_SKILL_NAME, i as checkKnowledgeFreshness, n as buildKnowledgeIndex, p as TOOLS, r as buildReviewContext, s as packageDocPaths, t as buildArchitectureContext, u as smrtArchitecture } from "./knowledge-A7-gIjW4.js";
3
3
  import { existsSync, readFileSync, realpathSync } from "node:fs";
4
4
  import { dirname, isAbsolute, join, relative, resolve, sep } from "node:path";
5
5
  import { fileURLToPath, pathToFileURL } from "node:url";
@@ -1061,7 +1061,6 @@ function pathExistsSyncHint(path) {
1061
1061
  var SERVER_NAME = "smrt-dev-mcp";
1062
1062
  var SERVER_VERSION = readPackageVersion();
1063
1063
  var DEBUG = process.env.DEBUG === "true";
1064
- var REVIEW_SKILL_NAME = "smrt-code-review";
1065
1064
  var REVIEW_SKILL_URI = `smrt-dev-mcp://agent-skills/${REVIEW_SKILL_NAME}`;
1066
1065
  var DOMAIN_CODE_REVIEW_PROMPT = "domain-code-review";
1067
1066
  var DOMAIN_ARCHITECTURE_PROMPT = "domain-architecture";
@@ -1075,504 +1074,6 @@ var LIVE_KNOWLEDGE_CACHE_HINT = {
1075
1074
  ttlMs: 0,
1076
1075
  cacheScope: "private"
1077
1076
  };
1078
- var JSON_SCHEMA_2020_12 = "https://json-schema.org/draft/2020-12/schema";
1079
- function compareToolNames(left, right) {
1080
- return left < right ? -1 : left > right ? 1 : 0;
1081
- }
1082
- /**
1083
- * Stable success/error envelope for development tools. `data` preserves each
1084
- * tool's existing payload exactly; coverage/diagnostics are promoted only when
1085
- * the underlying result actually reports them.
1086
- */
1087
- var DEV_MCP_OUTPUT_SCHEMA = {
1088
- $schema: JSON_SCHEMA_2020_12,
1089
- type: "object",
1090
- additionalProperties: false,
1091
- required: [
1092
- "ok",
1093
- "coverage",
1094
- "diagnostics",
1095
- "data"
1096
- ],
1097
- properties: {
1098
- ok: { type: "boolean" },
1099
- coverage: {
1100
- type: ["object", "null"],
1101
- additionalProperties: true
1102
- },
1103
- diagnostics: {
1104
- type: "array",
1105
- items: {
1106
- type: "object",
1107
- additionalProperties: true
1108
- }
1109
- },
1110
- data: {}
1111
- }
1112
- };
1113
- var TOOLS = [
1114
- {
1115
- name: "generate-smrt-class",
1116
- description: "Generate a complete SMRT class with @smrt() decorator",
1117
- inputSchema: {
1118
- type: "object",
1119
- properties: {
1120
- className: {
1121
- type: "string",
1122
- description: "Name of the class (PascalCase)"
1123
- },
1124
- properties: {
1125
- type: "array",
1126
- description: "Array of property definitions",
1127
- items: {
1128
- type: "object",
1129
- properties: {
1130
- name: { type: "string" },
1131
- type: {
1132
- type: "string",
1133
- enum: [
1134
- "text",
1135
- "integer",
1136
- "decimal",
1137
- "boolean",
1138
- "datetime",
1139
- "json"
1140
- ]
1141
- },
1142
- required: { type: "boolean" },
1143
- nullable: { type: "boolean" },
1144
- description: { type: "string" },
1145
- defaultValue: { oneOf: [
1146
- { type: "string" },
1147
- { type: "number" },
1148
- { type: "boolean" },
1149
- { type: "object" },
1150
- { type: "null" }
1151
- ] }
1152
- },
1153
- required: ["name", "type"]
1154
- }
1155
- },
1156
- baseClass: {
1157
- type: "string",
1158
- enum: ["SmrtObject", "SmrtCollection"],
1159
- default: "SmrtObject"
1160
- },
1161
- template: {
1162
- type: "string",
1163
- enum: [
1164
- "basic",
1165
- "global-catalog",
1166
- "optional-catalog",
1167
- "tenant-project-object",
1168
- "tenant-event-log-object",
1169
- "cross-package-reference"
1170
- ],
1171
- default: "basic"
1172
- },
1173
- tableName: { type: "string" },
1174
- conflictColumns: {
1175
- type: "array",
1176
- items: { type: "string" }
1177
- },
1178
- tenantScoped: { oneOf: [{ type: "boolean" }, {
1179
- type: "object",
1180
- properties: {
1181
- mode: {
1182
- type: "string",
1183
- enum: ["required", "optional"]
1184
- },
1185
- field: { type: "string" },
1186
- autoFilter: { type: "boolean" },
1187
- autoPopulate: { type: "boolean" },
1188
- allowSuperAdminBypass: { type: "boolean" }
1189
- }
1190
- }] },
1191
- includeTenantIdField: { type: "boolean" },
1192
- relationships: {
1193
- type: "array",
1194
- items: {
1195
- type: "object",
1196
- properties: {
1197
- name: { type: "string" },
1198
- type: {
1199
- type: "string",
1200
- enum: [
1201
- "foreignKey",
1202
- "crossPackageRef",
1203
- "oneToMany",
1204
- "manyToMany"
1205
- ]
1206
- },
1207
- related: { type: "string" },
1208
- required: { type: "boolean" },
1209
- nullable: { type: "boolean" },
1210
- description: { type: "string" },
1211
- validate: { type: "boolean" },
1212
- foreignKey: { type: "string" },
1213
- through: { type: "string" },
1214
- sourceKey: { type: "string" },
1215
- targetKey: { type: "string" }
1216
- },
1217
- required: [
1218
- "name",
1219
- "type",
1220
- "related"
1221
- ]
1222
- }
1223
- },
1224
- includeCompanionSnippets: {
1225
- type: "boolean",
1226
- default: false
1227
- },
1228
- includeApiConfig: {
1229
- type: "boolean",
1230
- default: true
1231
- },
1232
- includeMcpConfig: {
1233
- type: "boolean",
1234
- default: true
1235
- },
1236
- includeCliConfig: {
1237
- type: "boolean",
1238
- default: true
1239
- }
1240
- },
1241
- required: ["className", "properties"]
1242
- }
1243
- },
1244
- {
1245
- name: "introspect-project",
1246
- description: "Scan a directory for SMRT objects. Returns a compact summary by default; pass detail: \"full\" for field, schema, and method details.",
1247
- inputSchema: {
1248
- type: "object",
1249
- properties: {
1250
- directory: {
1251
- type: "string",
1252
- description: "Project directory (default: cwd)"
1253
- },
1254
- manifestPath: {
1255
- type: "string",
1256
- description: "Optional manifest path. Defaults to .smrt/manifest.json, dist/manifest.json, then source scanning."
1257
- },
1258
- detail: {
1259
- type: "string",
1260
- enum: ["summary", "full"],
1261
- default: "summary",
1262
- description: "summary: one compact record per object. full: complete field/schema/method detail (large)."
1263
- },
1264
- maxChars: {
1265
- type: "number",
1266
- description: "Character budget for the `objects` payload. Objects past the budget are omitted and reported under `truncated`. Project metadata and diagnostics are always returned in full, so the serialized response is somewhat larger than this budget."
1267
- },
1268
- includeFields: {
1269
- type: "boolean",
1270
- description: "Include field details (detail: \"full\" only)"
1271
- },
1272
- includeRelationships: {
1273
- type: "boolean",
1274
- description: "Analyze relationships (detail: \"full\" only)"
1275
- },
1276
- includeMethods: {
1277
- type: "boolean",
1278
- description: "Include public method details (detail: \"full\" only)"
1279
- }
1280
- }
1281
- }
1282
- },
1283
- {
1284
- name: "review-smrt-project",
1285
- description: "Advisory ecosystem alignment review for downstream SMRT projects",
1286
- inputSchema: {
1287
- type: "object",
1288
- properties: {
1289
- directory: {
1290
- type: "string",
1291
- description: "Project directory (default: cwd)"
1292
- },
1293
- rootDir: {
1294
- type: "string",
1295
- description: "Compatibility alias for directory"
1296
- },
1297
- includeSourceEvidence: {
1298
- type: "boolean",
1299
- description: "Include file and line evidence in findings",
1300
- default: true
1301
- },
1302
- maxFindings: {
1303
- type: "number",
1304
- description: "Optional maximum number of findings to return"
1305
- }
1306
- }
1307
- }
1308
- },
1309
- {
1310
- name: "reflect-knowledge",
1311
- description: "Report deterministic SMRT + HappyVertical SDK knowledge coverage and freshness",
1312
- inputSchema: {
1313
- type: "object",
1314
- properties: { rootDir: {
1315
- type: "string",
1316
- description: "Project root directory (default: cwd)"
1317
- } }
1318
- }
1319
- },
1320
- {
1321
- name: "reflect-domain-knowledge",
1322
- description: "Report domain-scoped SMRT knowledge artifacts, SDK packages, and freshness",
1323
- inputSchema: {
1324
- type: "object",
1325
- properties: {
1326
- rootDir: { type: "string" },
1327
- scope: {
1328
- type: "string",
1329
- enum: [
1330
- "project",
1331
- "local",
1332
- "package",
1333
- "sdk",
1334
- "installed"
1335
- ],
1336
- default: "project"
1337
- },
1338
- package: { type: "string" }
1339
- }
1340
- }
1341
- },
1342
- {
1343
- name: "check-knowledge-freshness",
1344
- description: "Run deterministic freshness checks for SMRT agent knowledge",
1345
- inputSchema: {
1346
- type: "object",
1347
- properties: {
1348
- rootDir: { type: "string" },
1349
- changed: {
1350
- type: "boolean",
1351
- description: "Limit stale-pattern checks to changed files"
1352
- },
1353
- strict: {
1354
- type: "boolean",
1355
- description: "Treat stale-pattern findings as errors"
1356
- }
1357
- }
1358
- }
1359
- },
1360
- {
1361
- name: "check-domain-knowledge",
1362
- description: "Run deterministic freshness checks for domain knowledge artifacts",
1363
- inputSchema: {
1364
- type: "object",
1365
- properties: {
1366
- rootDir: { type: "string" },
1367
- changed: { type: "boolean" },
1368
- strict: { type: "boolean" },
1369
- scope: {
1370
- type: "string",
1371
- enum: [
1372
- "project",
1373
- "local",
1374
- "package",
1375
- "sdk",
1376
- "installed"
1377
- ],
1378
- default: "project"
1379
- },
1380
- package: { type: "string" }
1381
- }
1382
- }
1383
- },
1384
- {
1385
- name: "build-review-context",
1386
- description: "Build model-ready SMRT review context from changed files and optional focus text",
1387
- inputSchema: {
1388
- type: "object",
1389
- properties: {
1390
- rootDir: { type: "string" },
1391
- changedFiles: {
1392
- type: "array",
1393
- items: { type: "string" }
1394
- },
1395
- focus: { type: "string" },
1396
- documentation: { type: "string" },
1397
- detail: {
1398
- type: "string",
1399
- enum: ["summary", "full"],
1400
- default: "summary",
1401
- description: "summary: authored package docs are listed by path to stay inside tool-result budgets. full: embed them."
1402
- }
1403
- }
1404
- }
1405
- },
1406
- {
1407
- name: "build-domain-review-context",
1408
- description: "Build domain-scoped model-ready SMRT review context and prompt bundle",
1409
- inputSchema: {
1410
- type: "object",
1411
- properties: {
1412
- rootDir: { type: "string" },
1413
- changedFiles: {
1414
- type: "array",
1415
- items: { type: "string" }
1416
- },
1417
- focus: { type: "string" },
1418
- documentation: { type: "string" },
1419
- scope: {
1420
- type: "string",
1421
- enum: [
1422
- "project",
1423
- "local",
1424
- "package",
1425
- "sdk",
1426
- "installed"
1427
- ],
1428
- default: "project"
1429
- },
1430
- package: { type: "string" },
1431
- detail: {
1432
- type: "string",
1433
- enum: ["summary", "full"],
1434
- default: "summary",
1435
- description: "summary: authored package docs are listed by path to stay inside tool-result budgets. full: embed them."
1436
- }
1437
- }
1438
- }
1439
- },
1440
- {
1441
- name: "smrt-review",
1442
- description: "Return deterministic review findings and/or a reusable model prompt bundle. For a formal downstream review, first call get-agent-skill with { \"name\": \"smrt-code-review\" } or load the smrt-code-review MCP prompt/resource.",
1443
- inputSchema: {
1444
- type: "object",
1445
- properties: {
1446
- rootDir: { type: "string" },
1447
- changedFiles: {
1448
- type: "array",
1449
- items: { type: "string" }
1450
- },
1451
- focus: { type: "string" },
1452
- documentation: { type: "string" },
1453
- mode: {
1454
- type: "string",
1455
- enum: [
1456
- "findings",
1457
- "prompt-bundle",
1458
- "both"
1459
- ],
1460
- default: "both"
1461
- },
1462
- detail: {
1463
- type: "string",
1464
- enum: ["summary", "full"],
1465
- default: "summary",
1466
- description: "summary: authored package docs are listed by path to stay inside tool-result budgets. full: embed them."
1467
- }
1468
- }
1469
- }
1470
- },
1471
- {
1472
- name: "build-architecture-context",
1473
- description: "Build model-ready SMRT architecture context from an idea or documentation",
1474
- inputSchema: {
1475
- type: "object",
1476
- properties: {
1477
- rootDir: { type: "string" },
1478
- idea: { type: "string" },
1479
- documentation: { type: "string" },
1480
- focus: { type: "string" },
1481
- detail: {
1482
- type: "string",
1483
- enum: ["summary", "full"],
1484
- default: "summary",
1485
- description: "summary: authored package docs are listed by path to stay inside tool-result budgets. full: embed them."
1486
- }
1487
- }
1488
- }
1489
- },
1490
- {
1491
- name: "build-domain-architecture-context",
1492
- description: "Build domain-scoped model-ready SMRT architecture context and prompt bundle",
1493
- inputSchema: {
1494
- type: "object",
1495
- properties: {
1496
- rootDir: { type: "string" },
1497
- idea: { type: "string" },
1498
- documentation: { type: "string" },
1499
- focus: { type: "string" },
1500
- scope: {
1501
- type: "string",
1502
- enum: [
1503
- "project",
1504
- "local",
1505
- "package",
1506
- "sdk",
1507
- "installed"
1508
- ],
1509
- default: "project"
1510
- },
1511
- package: { type: "string" },
1512
- detail: {
1513
- type: "string",
1514
- enum: ["summary", "full"],
1515
- default: "summary",
1516
- description: "summary: authored package docs are listed by path to stay inside tool-result budgets. full: embed them."
1517
- }
1518
- }
1519
- }
1520
- },
1521
- {
1522
- name: "smrt-architecture",
1523
- description: "Suggest SMRT and HappyVertical SDK packages and return an architecture prompt bundle",
1524
- inputSchema: {
1525
- type: "object",
1526
- properties: {
1527
- rootDir: { type: "string" },
1528
- idea: { type: "string" },
1529
- documentation: { type: "string" },
1530
- focus: { type: "string" },
1531
- detail: {
1532
- type: "string",
1533
- enum: ["summary", "full"],
1534
- default: "summary",
1535
- description: "summary: authored package docs are listed by path to stay inside tool-result budgets. full: embed them."
1536
- }
1537
- }
1538
- }
1539
- },
1540
- {
1541
- name: "list-agent-skills",
1542
- description: "List bundled harness-agnostic agent skills shipped with smrt-dev-mcp",
1543
- inputSchema: {
1544
- type: "object",
1545
- properties: {}
1546
- }
1547
- },
1548
- {
1549
- name: "get-agent-skill",
1550
- description: "Return a bundled harness-agnostic agent skill as Markdown plus optional references",
1551
- inputSchema: {
1552
- type: "object",
1553
- properties: {
1554
- name: {
1555
- type: "string",
1556
- enum: [REVIEW_SKILL_NAME],
1557
- description: "Bundled agent skill name"
1558
- },
1559
- includeReferences: {
1560
- type: "boolean",
1561
- default: true,
1562
- description: "Include referenced files with the skill bundle"
1563
- }
1564
- },
1565
- required: ["name"]
1566
- }
1567
- }
1568
- ].map((tool) => ({
1569
- ...tool,
1570
- inputSchema: {
1571
- ...tool.inputSchema,
1572
- $schema: JSON_SCHEMA_2020_12
1573
- },
1574
- outputSchema: DEV_MCP_OUTPUT_SCHEMA
1575
- })).sort((left, right) => compareToolNames(left.name, right.name));
1576
1077
  function createServer() {
1577
1078
  if (DEBUG) console.error(`[${SERVER_NAME}] Starting server v${SERVER_VERSION}`);
1578
1079
  const server = new Server({
@@ -1680,7 +1181,7 @@ function createServer() {
1680
1181
  });
1681
1182
  server.setRequestHandler("prompts/get", async (request) => {
1682
1183
  const { name } = request.params;
1683
- if (name === REVIEW_SKILL_NAME) return {
1184
+ if (name === "smrt-code-review") return {
1684
1185
  description: "Use this procedure when reviewing downstream SMRT projects.",
1685
1186
  messages: [{
1686
1187
  role: "user",