code-auditor-mcp 1.20.0 → 2.0.0

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.
Files changed (180) hide show
  1. package/dist/adapters/GoAdapter.d.ts +53 -0
  2. package/dist/adapters/GoAdapter.d.ts.map +1 -0
  3. package/dist/adapters/GoAdapter.js +602 -0
  4. package/dist/adapters/GoAdapter.js.map +1 -0
  5. package/dist/adapters/GoConfig.d.ts +35 -0
  6. package/dist/adapters/GoConfig.d.ts.map +1 -0
  7. package/dist/adapters/GoConfig.js +155 -0
  8. package/dist/adapters/GoConfig.js.map +1 -0
  9. package/dist/adapters/LanguageAdapter.d.ts +135 -0
  10. package/dist/adapters/LanguageAdapter.d.ts.map +1 -0
  11. package/dist/adapters/LanguageAdapter.js +47 -0
  12. package/dist/adapters/LanguageAdapter.js.map +1 -0
  13. package/dist/adapters/TypeScriptAdapter.d.ts +43 -0
  14. package/dist/adapters/TypeScriptAdapter.d.ts.map +1 -0
  15. package/dist/adapters/TypeScriptAdapter.js +386 -0
  16. package/dist/adapters/TypeScriptAdapter.js.map +1 -0
  17. package/dist/adapters/UniversalAnalyzer.d.ts +42 -0
  18. package/dist/adapters/UniversalAnalyzer.d.ts.map +1 -0
  19. package/dist/adapters/UniversalAnalyzer.js +103 -0
  20. package/dist/adapters/UniversalAnalyzer.js.map +1 -0
  21. package/dist/adapters/UniversalSOLIDAnalyzer.d.ts +48 -0
  22. package/dist/adapters/UniversalSOLIDAnalyzer.d.ts.map +1 -0
  23. package/dist/adapters/UniversalSOLIDAnalyzer.js +178 -0
  24. package/dist/adapters/UniversalSOLIDAnalyzer.js.map +1 -0
  25. package/dist/adapters/solidAnalyzerCompat.d.ts +21 -0
  26. package/dist/adapters/solidAnalyzerCompat.d.ts.map +1 -0
  27. package/dist/adapters/solidAnalyzerCompat.js +78 -0
  28. package/dist/adapters/solidAnalyzerCompat.js.map +1 -0
  29. package/dist/analyzers/cross-language/APIContractAnalyzer.d.ts +103 -0
  30. package/dist/analyzers/cross-language/APIContractAnalyzer.d.ts.map +1 -0
  31. package/dist/analyzers/cross-language/APIContractAnalyzer.js +425 -0
  32. package/dist/analyzers/cross-language/APIContractAnalyzer.js.map +1 -0
  33. package/dist/analyzers/cross-language/CrossLanguageSOLIDAnalyzer.d.ts +117 -0
  34. package/dist/analyzers/cross-language/CrossLanguageSOLIDAnalyzer.d.ts.map +1 -0
  35. package/dist/analyzers/cross-language/CrossLanguageSOLIDAnalyzer.js +618 -0
  36. package/dist/analyzers/cross-language/CrossLanguageSOLIDAnalyzer.js.map +1 -0
  37. package/dist/analyzers/cross-language/DependencyGraphBuilder.d.ts +129 -0
  38. package/dist/analyzers/cross-language/DependencyGraphBuilder.d.ts.map +1 -0
  39. package/dist/analyzers/cross-language/DependencyGraphBuilder.js +473 -0
  40. package/dist/analyzers/cross-language/DependencyGraphBuilder.js.map +1 -0
  41. package/dist/analyzers/cross-language/SchemaValidator.d.ts +126 -0
  42. package/dist/analyzers/cross-language/SchemaValidator.d.ts.map +1 -0
  43. package/dist/analyzers/cross-language/SchemaValidator.js +522 -0
  44. package/dist/analyzers/cross-language/SchemaValidator.js.map +1 -0
  45. package/dist/analyzers/dataAccessAnalyzerCompat.d.ts +20 -0
  46. package/dist/analyzers/dataAccessAnalyzerCompat.d.ts.map +1 -0
  47. package/dist/analyzers/dataAccessAnalyzerCompat.js +59 -0
  48. package/dist/analyzers/dataAccessAnalyzerCompat.js.map +1 -0
  49. package/dist/analyzers/documentationAnalyzerCompat.d.ts +20 -0
  50. package/dist/analyzers/documentationAnalyzerCompat.d.ts.map +1 -0
  51. package/dist/analyzers/documentationAnalyzerCompat.js +52 -0
  52. package/dist/analyzers/documentationAnalyzerCompat.js.map +1 -0
  53. package/dist/analyzers/dryAnalyzerCompat.d.ts +20 -0
  54. package/dist/analyzers/dryAnalyzerCompat.d.ts.map +1 -0
  55. package/dist/analyzers/dryAnalyzerCompat.js +44 -0
  56. package/dist/analyzers/dryAnalyzerCompat.js.map +1 -0
  57. package/dist/analyzers/schemaAnalyzer.d.ts +21 -0
  58. package/dist/analyzers/schemaAnalyzer.d.ts.map +1 -0
  59. package/dist/analyzers/schemaAnalyzer.js +405 -0
  60. package/dist/analyzers/schemaAnalyzer.js.map +1 -0
  61. package/dist/analyzers/schemaAnalyzerCompat.d.ts +20 -0
  62. package/dist/analyzers/schemaAnalyzerCompat.d.ts.map +1 -0
  63. package/dist/analyzers/schemaAnalyzerCompat.js +69 -0
  64. package/dist/analyzers/schemaAnalyzerCompat.js.map +1 -0
  65. package/dist/analyzers/solidAnalyzerCompat.d.ts +20 -0
  66. package/dist/analyzers/solidAnalyzerCompat.d.ts.map +1 -0
  67. package/dist/analyzers/solidAnalyzerCompat.js +78 -0
  68. package/dist/analyzers/solidAnalyzerCompat.js.map +1 -0
  69. package/dist/analyzers/universal/UniversalDRYAnalyzer.d.ts +71 -0
  70. package/dist/analyzers/universal/UniversalDRYAnalyzer.d.ts.map +1 -0
  71. package/dist/analyzers/universal/UniversalDRYAnalyzer.js +276 -0
  72. package/dist/analyzers/universal/UniversalDRYAnalyzer.js.map +1 -0
  73. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts +82 -0
  74. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts.map +1 -0
  75. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js +489 -0
  76. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js.map +1 -0
  77. package/dist/analyzers/universal/UniversalDocumentationAnalyzer.d.ts +48 -0
  78. package/dist/analyzers/universal/UniversalDocumentationAnalyzer.d.ts.map +1 -0
  79. package/dist/analyzers/universal/UniversalDocumentationAnalyzer.js +175 -0
  80. package/dist/analyzers/universal/UniversalDocumentationAnalyzer.js.map +1 -0
  81. package/dist/analyzers/universal/UniversalSOLIDAnalyzer.d.ts +64 -0
  82. package/dist/analyzers/universal/UniversalSOLIDAnalyzer.d.ts.map +1 -0
  83. package/dist/analyzers/universal/UniversalSOLIDAnalyzer.js +286 -0
  84. package/dist/analyzers/universal/UniversalSOLIDAnalyzer.js.map +1 -0
  85. package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts +119 -0
  86. package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts.map +1 -0
  87. package/dist/analyzers/universal/UniversalSchemaAnalyzer.js +812 -0
  88. package/dist/analyzers/universal/UniversalSchemaAnalyzer.js.map +1 -0
  89. package/dist/auditRunner.d.ts.map +1 -1
  90. package/dist/auditRunner.js +23 -7
  91. package/dist/auditRunner.js.map +1 -1
  92. package/dist/codeIndexDB-enhanced.d.ts +80 -0
  93. package/dist/codeIndexDB-enhanced.d.ts.map +1 -0
  94. package/dist/codeIndexDB-enhanced.js +488 -0
  95. package/dist/codeIndexDB-enhanced.js.map +1 -0
  96. package/dist/codeIndexDb.d.ts +70 -1
  97. package/dist/codeIndexDb.d.ts.map +1 -1
  98. package/dist/codeIndexDb.js +199 -2
  99. package/dist/codeIndexDb.js.map +1 -1
  100. package/dist/config/defaults.js +1 -1
  101. package/dist/config/defaults.js.map +1 -1
  102. package/dist/languages/LanguageOrchestrator.d.ts +181 -0
  103. package/dist/languages/LanguageOrchestrator.d.ts.map +1 -0
  104. package/dist/languages/LanguageOrchestrator.js +365 -0
  105. package/dist/languages/LanguageOrchestrator.js.map +1 -0
  106. package/dist/languages/LanguageRegistry.d.ts +43 -0
  107. package/dist/languages/LanguageRegistry.d.ts.map +1 -0
  108. package/dist/languages/LanguageRegistry.js +86 -0
  109. package/dist/languages/LanguageRegistry.js.map +1 -0
  110. package/dist/languages/RuntimeManager.d.ts +181 -0
  111. package/dist/languages/RuntimeManager.d.ts.map +1 -0
  112. package/dist/languages/RuntimeManager.js +841 -0
  113. package/dist/languages/RuntimeManager.js.map +1 -0
  114. package/dist/languages/UniversalAnalyzer.d.ts +37 -0
  115. package/dist/languages/UniversalAnalyzer.d.ts.map +1 -0
  116. package/dist/languages/UniversalAnalyzer.js +101 -0
  117. package/dist/languages/UniversalAnalyzer.js.map +1 -0
  118. package/dist/languages/go/GoAdapter.d.ts +57 -0
  119. package/dist/languages/go/GoAdapter.d.ts.map +1 -0
  120. package/dist/languages/go/GoAdapter.js +360 -0
  121. package/dist/languages/go/GoAdapter.js.map +1 -0
  122. package/dist/languages/index.d.ts +13 -0
  123. package/dist/languages/index.d.ts.map +1 -0
  124. package/dist/languages/index.js +23 -0
  125. package/dist/languages/index.js.map +1 -0
  126. package/dist/languages/types.d.ts +182 -0
  127. package/dist/languages/types.d.ts.map +1 -0
  128. package/dist/languages/types.js +5 -0
  129. package/dist/languages/types.js.map +1 -0
  130. package/dist/languages/typescript/TypeScriptAdapter.d.ts +108 -0
  131. package/dist/languages/typescript/TypeScriptAdapter.d.ts.map +1 -0
  132. package/dist/languages/typescript/TypeScriptAdapter.js +567 -0
  133. package/dist/languages/typescript/TypeScriptAdapter.js.map +1 -0
  134. package/dist/languages/typescript/test-extraction.d.ts +2 -0
  135. package/dist/languages/typescript/test-extraction.d.ts.map +1 -0
  136. package/dist/languages/typescript/test-extraction.js +36 -0
  137. package/dist/languages/typescript/test-extraction.js.map +1 -0
  138. package/dist/mcp-hybrid.d.ts +10 -0
  139. package/dist/mcp-hybrid.d.ts.map +1 -0
  140. package/dist/mcp-hybrid.js +41 -0
  141. package/dist/mcp-hybrid.js.map +1 -0
  142. package/dist/mcp-index.d.ts +11 -0
  143. package/dist/mcp-index.d.ts.map +1 -0
  144. package/dist/mcp-index.js +101 -0
  145. package/dist/mcp-index.js.map +1 -0
  146. package/dist/mcp-tools/workflowGuide.d.ts.map +1 -1
  147. package/dist/mcp-tools/workflowGuide.js +67 -10
  148. package/dist/mcp-tools/workflowGuide.js.map +1 -1
  149. package/dist/mcp-tools-shared.d.ts +49 -0
  150. package/dist/mcp-tools-shared.d.ts.map +1 -0
  151. package/dist/mcp-tools-shared.js +1282 -0
  152. package/dist/mcp-tools-shared.js.map +1 -0
  153. package/dist/mcp-ui-server.d.ts +27 -0
  154. package/dist/mcp-ui-server.d.ts.map +1 -0
  155. package/dist/mcp-ui-server.js +484 -0
  156. package/dist/mcp-ui-server.js.map +1 -0
  157. package/dist/mcp-ui-simple.d.ts +27 -0
  158. package/dist/mcp-ui-simple.d.ts.map +1 -0
  159. package/dist/mcp-ui-simple.js +425 -0
  160. package/dist/mcp-ui-simple.js.map +1 -0
  161. package/dist/mcp.js +7 -4
  162. package/dist/mcp.js.map +1 -1
  163. package/dist/services/SchemaParser.d.ts +89 -0
  164. package/dist/services/SchemaParser.d.ts.map +1 -0
  165. package/dist/services/SchemaParser.js +434 -0
  166. package/dist/services/SchemaParser.js.map +1 -0
  167. package/dist/types/crossLanguage.d.ts +267 -0
  168. package/dist/types/crossLanguage.d.ts.map +1 -0
  169. package/dist/types/crossLanguage.js +6 -0
  170. package/dist/types/crossLanguage.js.map +1 -0
  171. package/dist/types.d.ts +128 -0
  172. package/dist/types.d.ts.map +1 -1
  173. package/dist/types.js.map +1 -1
  174. package/dist/utils/fileDiscovery.d.ts +6 -0
  175. package/dist/utils/fileDiscovery.d.ts.map +1 -1
  176. package/dist/utils/fileDiscovery.js +12 -1
  177. package/dist/utils/fileDiscovery.js.map +1 -1
  178. package/examples/schema-example.json +364 -0
  179. package/examples/schema-example.yaml +137 -0
  180. package/package.json +10 -3
@@ -0,0 +1,364 @@
1
+ {
2
+ "version": "1.0.0",
3
+ "name": "example-app-schema",
4
+ "description": "Database schema for example application",
5
+ "databases": [
6
+ {
7
+ "name": "app_db",
8
+ "type": "postgresql",
9
+ "version": "15.0",
10
+ "database": "myapp",
11
+ "schemas": ["public", "audit"],
12
+ "description": "Main application database",
13
+ "metadata": {
14
+ "environment": "development",
15
+ "migrations": ["001_create_users.sql", "002_create_posts.sql"],
16
+ "seeds": ["seed_admin_user.sql"]
17
+ },
18
+ "tables": [
19
+ {
20
+ "name": "users",
21
+ "type": "table",
22
+ "schema": "public",
23
+ "description": "User account information",
24
+ "tags": ["user-data", "authentication"],
25
+ "estimatedRows": 10000,
26
+ "columns": [
27
+ {
28
+ "name": "id",
29
+ "type": "uuid",
30
+ "nullable": false,
31
+ "primaryKey": true,
32
+ "description": "Unique user identifier"
33
+ },
34
+ {
35
+ "name": "email",
36
+ "type": "varchar",
37
+ "length": 255,
38
+ "nullable": false,
39
+ "unique": true,
40
+ "indexed": true,
41
+ "description": "User email address"
42
+ },
43
+ {
44
+ "name": "username",
45
+ "type": "varchar",
46
+ "length": 50,
47
+ "nullable": false,
48
+ "unique": true,
49
+ "indexed": true,
50
+ "description": "Unique username"
51
+ },
52
+ {
53
+ "name": "password_hash",
54
+ "type": "varchar",
55
+ "length": 255,
56
+ "nullable": false,
57
+ "description": "Hashed password"
58
+ },
59
+ {
60
+ "name": "first_name",
61
+ "type": "varchar",
62
+ "length": 100,
63
+ "nullable": true,
64
+ "description": "User's first name"
65
+ },
66
+ {
67
+ "name": "last_name",
68
+ "type": "varchar",
69
+ "length": 100,
70
+ "nullable": true,
71
+ "description": "User's last name"
72
+ },
73
+ {
74
+ "name": "role",
75
+ "type": "enum",
76
+ "enum": ["admin", "user", "moderator"],
77
+ "defaultValue": "user",
78
+ "nullable": false,
79
+ "description": "User role"
80
+ },
81
+ {
82
+ "name": "created_at",
83
+ "type": "timestamp",
84
+ "nullable": false,
85
+ "defaultValue": "CURRENT_TIMESTAMP",
86
+ "description": "Account creation timestamp"
87
+ },
88
+ {
89
+ "name": "updated_at",
90
+ "type": "timestamp",
91
+ "nullable": false,
92
+ "defaultValue": "CURRENT_TIMESTAMP",
93
+ "description": "Last update timestamp"
94
+ },
95
+ {
96
+ "name": "last_login",
97
+ "type": "timestamp",
98
+ "nullable": true,
99
+ "description": "Last login timestamp"
100
+ }
101
+ ],
102
+ "references": [],
103
+ "indexes": [
104
+ {
105
+ "name": "idx_users_email",
106
+ "columns": ["email"],
107
+ "unique": true,
108
+ "type": "btree"
109
+ },
110
+ {
111
+ "name": "idx_users_username",
112
+ "columns": ["username"],
113
+ "unique": true,
114
+ "type": "btree"
115
+ },
116
+ {
117
+ "name": "idx_users_role",
118
+ "columns": ["role"],
119
+ "type": "btree"
120
+ }
121
+ ]
122
+ },
123
+ {
124
+ "name": "posts",
125
+ "type": "table",
126
+ "schema": "public",
127
+ "description": "User-generated posts",
128
+ "tags": ["content", "user-data"],
129
+ "estimatedRows": 50000,
130
+ "columns": [
131
+ {
132
+ "name": "id",
133
+ "type": "uuid",
134
+ "nullable": false,
135
+ "primaryKey": true,
136
+ "description": "Unique post identifier"
137
+ },
138
+ {
139
+ "name": "user_id",
140
+ "type": "uuid",
141
+ "nullable": false,
142
+ "indexed": true,
143
+ "description": "ID of the user who created the post"
144
+ },
145
+ {
146
+ "name": "title",
147
+ "type": "varchar",
148
+ "length": 200,
149
+ "nullable": false,
150
+ "description": "Post title"
151
+ },
152
+ {
153
+ "name": "content",
154
+ "type": "text",
155
+ "nullable": false,
156
+ "description": "Post content"
157
+ },
158
+ {
159
+ "name": "status",
160
+ "type": "enum",
161
+ "enum": ["draft", "published", "archived"],
162
+ "defaultValue": "draft",
163
+ "nullable": false,
164
+ "description": "Post publication status"
165
+ },
166
+ {
167
+ "name": "created_at",
168
+ "type": "timestamp",
169
+ "nullable": false,
170
+ "defaultValue": "CURRENT_TIMESTAMP",
171
+ "description": "Post creation timestamp"
172
+ },
173
+ {
174
+ "name": "updated_at",
175
+ "type": "timestamp",
176
+ "nullable": false,
177
+ "defaultValue": "CURRENT_TIMESTAMP",
178
+ "description": "Last update timestamp"
179
+ },
180
+ {
181
+ "name": "published_at",
182
+ "type": "timestamp",
183
+ "nullable": true,
184
+ "description": "Publication timestamp"
185
+ }
186
+ ],
187
+ "references": [
188
+ {
189
+ "foreignKey": "user_id",
190
+ "referencedTable": "users",
191
+ "referencedColumn": "id",
192
+ "onDelete": "CASCADE",
193
+ "onUpdate": "CASCADE",
194
+ "description": "Links post to its author"
195
+ }
196
+ ],
197
+ "indexes": [
198
+ {
199
+ "name": "idx_posts_user_id",
200
+ "columns": ["user_id"],
201
+ "type": "btree"
202
+ },
203
+ {
204
+ "name": "idx_posts_status",
205
+ "columns": ["status"],
206
+ "type": "btree"
207
+ },
208
+ {
209
+ "name": "idx_posts_created_at",
210
+ "columns": ["created_at"],
211
+ "type": "btree"
212
+ }
213
+ ]
214
+ },
215
+ {
216
+ "name": "comments",
217
+ "type": "table",
218
+ "schema": "public",
219
+ "description": "Comments on posts",
220
+ "tags": ["content", "user-data"],
221
+ "estimatedRows": 200000,
222
+ "columns": [
223
+ {
224
+ "name": "id",
225
+ "type": "uuid",
226
+ "nullable": false,
227
+ "primaryKey": true,
228
+ "description": "Unique comment identifier"
229
+ },
230
+ {
231
+ "name": "post_id",
232
+ "type": "uuid",
233
+ "nullable": false,
234
+ "indexed": true,
235
+ "description": "ID of the post being commented on"
236
+ },
237
+ {
238
+ "name": "user_id",
239
+ "type": "uuid",
240
+ "nullable": false,
241
+ "indexed": true,
242
+ "description": "ID of the user who made the comment"
243
+ },
244
+ {
245
+ "name": "parent_comment_id",
246
+ "type": "uuid",
247
+ "nullable": true,
248
+ "indexed": true,
249
+ "description": "ID of parent comment for nested comments"
250
+ },
251
+ {
252
+ "name": "content",
253
+ "type": "text",
254
+ "nullable": false,
255
+ "description": "Comment content"
256
+ },
257
+ {
258
+ "name": "created_at",
259
+ "type": "timestamp",
260
+ "nullable": false,
261
+ "defaultValue": "CURRENT_TIMESTAMP",
262
+ "description": "Comment creation timestamp"
263
+ },
264
+ {
265
+ "name": "updated_at",
266
+ "type": "timestamp",
267
+ "nullable": false,
268
+ "defaultValue": "CURRENT_TIMESTAMP",
269
+ "description": "Last update timestamp"
270
+ }
271
+ ],
272
+ "references": [
273
+ {
274
+ "foreignKey": "post_id",
275
+ "referencedTable": "posts",
276
+ "referencedColumn": "id",
277
+ "onDelete": "CASCADE",
278
+ "onUpdate": "CASCADE",
279
+ "description": "Links comment to its post"
280
+ },
281
+ {
282
+ "foreignKey": "user_id",
283
+ "referencedTable": "users",
284
+ "referencedColumn": "id",
285
+ "onDelete": "CASCADE",
286
+ "onUpdate": "CASCADE",
287
+ "description": "Links comment to its author"
288
+ },
289
+ {
290
+ "foreignKey": "parent_comment_id",
291
+ "referencedTable": "comments",
292
+ "referencedColumn": "id",
293
+ "onDelete": "CASCADE",
294
+ "onUpdate": "CASCADE",
295
+ "description": "Links nested comment to its parent"
296
+ }
297
+ ],
298
+ "indexes": [
299
+ {
300
+ "name": "idx_comments_post_id",
301
+ "columns": ["post_id"],
302
+ "type": "btree"
303
+ },
304
+ {
305
+ "name": "idx_comments_user_id",
306
+ "columns": ["user_id"],
307
+ "type": "btree"
308
+ },
309
+ {
310
+ "name": "idx_comments_parent",
311
+ "columns": ["parent_comment_id"],
312
+ "type": "btree"
313
+ }
314
+ ]
315
+ }
316
+ ],
317
+ "relationships": [
318
+ {
319
+ "id": "users_posts",
320
+ "type": "one-to-many",
321
+ "fromTable": "users",
322
+ "toTable": "posts",
323
+ "fromColumn": "id",
324
+ "toColumn": "user_id",
325
+ "description": "A user can have many posts"
326
+ },
327
+ {
328
+ "id": "posts_comments",
329
+ "type": "one-to-many",
330
+ "fromTable": "posts",
331
+ "toTable": "comments",
332
+ "fromColumn": "id",
333
+ "toColumn": "post_id",
334
+ "description": "A post can have many comments"
335
+ },
336
+ {
337
+ "id": "users_comments",
338
+ "type": "one-to-many",
339
+ "fromTable": "users",
340
+ "toTable": "comments",
341
+ "fromColumn": "id",
342
+ "toColumn": "user_id",
343
+ "description": "A user can make many comments"
344
+ },
345
+ {
346
+ "id": "comments_nested",
347
+ "type": "one-to-many",
348
+ "fromTable": "comments",
349
+ "toTable": "comments",
350
+ "fromColumn": "id",
351
+ "toColumn": "parent_comment_id",
352
+ "description": "Comments can have nested replies"
353
+ }
354
+ ]
355
+ }
356
+ ],
357
+ "metadata": {
358
+ "author": "Development Team",
359
+ "createdAt": "2024-01-15T10:00:00Z",
360
+ "updatedAt": "2024-01-15T10:00:00Z",
361
+ "tags": ["web-app", "social-platform"],
362
+ "environment": "development"
363
+ }
364
+ }
@@ -0,0 +1,137 @@
1
+ version: "1.0.0"
2
+ name: example-app-schema
3
+ description: Database schema for example application
4
+
5
+ databases:
6
+ - name: app_db
7
+ type: postgresql
8
+ version: "15.0"
9
+ database: myapp
10
+ schemas: [public, audit]
11
+ description: Main application database
12
+ metadata:
13
+ environment: development
14
+ migrations:
15
+ - 001_create_users.sql
16
+ - 002_create_posts.sql
17
+ seeds:
18
+ - seed_admin_user.sql
19
+
20
+ tables:
21
+ - name: users
22
+ type: table
23
+ schema: public
24
+ description: User account information
25
+ tags: [user-data, authentication]
26
+ estimatedRows: 10000
27
+ columns:
28
+ - name: id
29
+ type: uuid
30
+ nullable: false
31
+ primaryKey: true
32
+ description: Unique user identifier
33
+ - name: email
34
+ type: varchar
35
+ length: 255
36
+ nullable: false
37
+ unique: true
38
+ indexed: true
39
+ description: User email address
40
+ - name: username
41
+ type: varchar
42
+ length: 50
43
+ nullable: false
44
+ unique: true
45
+ indexed: true
46
+ description: Unique username
47
+ - name: password_hash
48
+ type: varchar
49
+ length: 255
50
+ nullable: false
51
+ description: Hashed password
52
+ - name: role
53
+ type: enum
54
+ enum: [admin, user, moderator]
55
+ defaultValue: user
56
+ nullable: false
57
+ description: User role
58
+ - name: created_at
59
+ type: timestamp
60
+ nullable: false
61
+ defaultValue: CURRENT_TIMESTAMP
62
+ description: Account creation timestamp
63
+
64
+ references: []
65
+ indexes:
66
+ - name: idx_users_email
67
+ columns: [email]
68
+ unique: true
69
+ type: btree
70
+ - name: idx_users_username
71
+ columns: [username]
72
+ unique: true
73
+ type: btree
74
+
75
+ - name: posts
76
+ type: table
77
+ schema: public
78
+ description: User-generated posts
79
+ tags: [content, user-data]
80
+ columns:
81
+ - name: id
82
+ type: uuid
83
+ nullable: false
84
+ primaryKey: true
85
+ description: Unique post identifier
86
+ - name: user_id
87
+ type: uuid
88
+ nullable: false
89
+ indexed: true
90
+ description: ID of the user who created the post
91
+ - name: title
92
+ type: varchar
93
+ length: 200
94
+ nullable: false
95
+ description: Post title
96
+ - name: content
97
+ type: text
98
+ nullable: false
99
+ description: Post content
100
+ - name: status
101
+ type: enum
102
+ enum: [draft, published, archived]
103
+ defaultValue: draft
104
+ nullable: false
105
+ description: Post publication status
106
+
107
+ references:
108
+ - foreignKey: user_id
109
+ referencedTable: users
110
+ referencedColumn: id
111
+ onDelete: CASCADE
112
+ onUpdate: CASCADE
113
+ description: Links post to its author
114
+
115
+ indexes:
116
+ - name: idx_posts_user_id
117
+ columns: [user_id]
118
+ type: btree
119
+ - name: idx_posts_status
120
+ columns: [status]
121
+ type: btree
122
+
123
+ relationships:
124
+ - id: users_posts
125
+ type: one-to-many
126
+ fromTable: users
127
+ toTable: posts
128
+ fromColumn: id
129
+ toColumn: user_id
130
+ description: A user can have many posts
131
+
132
+ metadata:
133
+ author: Development Team
134
+ createdAt: "2024-01-15T10:00:00Z"
135
+ updatedAt: "2024-01-15T10:00:00Z"
136
+ tags: [web-app, social-platform]
137
+ environment: development
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "code-auditor-mcp",
3
- "version": "1.20.0",
4
- "description": "TypeScript/JavaScript code quality auditor with MCP server - Analyze code for SOLID principles, DRY violations, security patterns, and more",
3
+ "version": "2.0.0",
4
+ "description": "Multi-language code quality auditor with MCP server - Analyze TypeScript, JavaScript, and Go code for SOLID principles, DRY violations, security patterns, and more",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "type": "module",
@@ -29,6 +29,7 @@
29
29
  "node": ">=16.0.0"
30
30
  },
31
31
  "dependencies": {
32
+ "@mcp-ui/server": "^5.11.0",
32
33
  "@modelcontextprotocol/sdk": "^1.17.1",
33
34
  "ajv": "^8.12.0",
34
35
  "chalk": "^5.3.0",
@@ -39,6 +40,7 @@
39
40
  "express-rate-limit": "^7.1.5",
40
41
  "flexsearch": "^0.8.212",
41
42
  "inquirer": "^9.2.15",
43
+ "js-yaml": "^4.1.0",
42
44
  "lokijs": "^1.5.12",
43
45
  "pino": "^8.16.2",
44
46
  "pino-pretty": "^10.2.3",
@@ -48,6 +50,7 @@
48
50
  "@types/cors": "^2.8.17",
49
51
  "@types/express": "^4.17.21",
50
52
  "@types/inquirer": "^9.0.7",
53
+ "@types/js-yaml": "^4.0.5",
51
54
  "@types/lokijs": "^1.5.14",
52
55
  "@types/node": "^20.0.0",
53
56
  "tsx": "^4.0.0",
@@ -73,8 +76,12 @@
73
76
  "watch": "tsc --watch",
74
77
  "dev": "tsx src/cli.ts",
75
78
  "dev:server": "tsx --watch src/cli.ts start --rest-api",
79
+ "dev:mcp": "tsx src/mcp-index.ts",
80
+ "dev:mcp:ui": "tsx src/mcp-index.ts --ui",
76
81
  "audit": "node dist/cli.js",
77
- "start": "node dist/mcp-standalone.js",
82
+ "start": "node dist/mcp-index.js",
83
+ "start:ui": "node dist/mcp-index.js --ui",
84
+ "start:stdio": "node dist/mcp-index.js --stdio",
78
85
  "start:rest": "node dist/cli.js start --rest-api",
79
86
  "generate": "node dist/cli.js generate-config",
80
87
  "test": "vitest",