@xelth/eck-snapshot 2.2.0 → 4.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.
- package/LICENSE +21 -0
- package/README.md +119 -225
- package/index.js +14 -776
- package/package.json +25 -7
- package/setup.json +805 -0
- package/src/cli/cli.js +427 -0
- package/src/cli/commands/askGpt.js +29 -0
- package/src/cli/commands/autoDocs.js +150 -0
- package/src/cli/commands/consilium.js +86 -0
- package/src/cli/commands/createSnapshot.js +601 -0
- package/src/cli/commands/detectProfiles.js +98 -0
- package/src/cli/commands/detectProject.js +112 -0
- package/src/cli/commands/generateProfileGuide.js +91 -0
- package/src/cli/commands/pruneSnapshot.js +106 -0
- package/src/cli/commands/restoreSnapshot.js +173 -0
- package/src/cli/commands/setupGemini.js +149 -0
- package/src/cli/commands/setupGemini.test.js +115 -0
- package/src/cli/commands/trainTokens.js +38 -0
- package/src/config.js +81 -0
- package/src/services/authService.js +20 -0
- package/src/services/claudeCliService.js +621 -0
- package/src/services/claudeCliService.test.js +267 -0
- package/src/services/dispatcherService.js +33 -0
- package/src/services/gptService.js +302 -0
- package/src/services/gptService.test.js +120 -0
- package/src/templates/agent-prompt.template.md +29 -0
- package/src/templates/architect-prompt.template.md +50 -0
- package/src/templates/envScanRequest.md +4 -0
- package/src/templates/gitWorkflow.md +32 -0
- package/src/templates/multiAgent.md +164 -0
- package/src/templates/vectorMode.md +22 -0
- package/src/utils/aiHeader.js +303 -0
- package/src/utils/fileUtils.js +928 -0
- package/src/utils/projectDetector.js +704 -0
- package/src/utils/tokenEstimator.js +198 -0
- package/.ecksnapshot.config.js +0 -35
package/setup.json
ADDED
|
@@ -0,0 +1,805 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_comment": "Central configuration file for eck-snapshot. ALL settings are configured here.",
|
|
3
|
+
"projectContext": {
|
|
4
|
+
"name": "eckasse",
|
|
5
|
+
"type": "monorepo",
|
|
6
|
+
"architecture": {
|
|
7
|
+
"workspaces": [
|
|
8
|
+
"@eckasse/core",
|
|
9
|
+
"@eckasse/desktop",
|
|
10
|
+
"@eckasse/adapters",
|
|
11
|
+
"@eckasse/shared-frontend"
|
|
12
|
+
],
|
|
13
|
+
"stack": [
|
|
14
|
+
"Node.js",
|
|
15
|
+
"Express",
|
|
16
|
+
"Electron",
|
|
17
|
+
"PostgreSQL",
|
|
18
|
+
"WebSocket"
|
|
19
|
+
],
|
|
20
|
+
"aiIntegration": "Google Gemini for POS natural language control"
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
"projectDetection": {
|
|
24
|
+
"_comment": "Automatic project type detection based on file structure",
|
|
25
|
+
"patterns": {
|
|
26
|
+
"android": {
|
|
27
|
+
"files": [
|
|
28
|
+
"build.gradle",
|
|
29
|
+
"build.gradle.kts",
|
|
30
|
+
"settings.gradle",
|
|
31
|
+
"settings.gradle.kts"
|
|
32
|
+
],
|
|
33
|
+
"directories": [
|
|
34
|
+
"app/src/main",
|
|
35
|
+
"app/src/androidTest"
|
|
36
|
+
],
|
|
37
|
+
"manifestFiles": [
|
|
38
|
+
"AndroidManifest.xml"
|
|
39
|
+
],
|
|
40
|
+
"priority": 10
|
|
41
|
+
},
|
|
42
|
+
"nodejs-monorepo": {
|
|
43
|
+
"files": [
|
|
44
|
+
"package.json"
|
|
45
|
+
],
|
|
46
|
+
"directories": [
|
|
47
|
+
"packages",
|
|
48
|
+
"apps",
|
|
49
|
+
"libs"
|
|
50
|
+
],
|
|
51
|
+
"patterns": [
|
|
52
|
+
"workspaces",
|
|
53
|
+
"lerna",
|
|
54
|
+
"nx",
|
|
55
|
+
"rush"
|
|
56
|
+
],
|
|
57
|
+
"priority": 7
|
|
58
|
+
},
|
|
59
|
+
"nodejs": {
|
|
60
|
+
"files": [
|
|
61
|
+
"package.json"
|
|
62
|
+
],
|
|
63
|
+
"directories": [
|
|
64
|
+
"node_modules"
|
|
65
|
+
],
|
|
66
|
+
"priority": 6
|
|
67
|
+
},
|
|
68
|
+
"python-poetry": {
|
|
69
|
+
"files": [
|
|
70
|
+
"pyproject.toml"
|
|
71
|
+
],
|
|
72
|
+
"patterns": [
|
|
73
|
+
"tool.poetry"
|
|
74
|
+
],
|
|
75
|
+
"priority": 9
|
|
76
|
+
},
|
|
77
|
+
"python-pip": {
|
|
78
|
+
"files": [
|
|
79
|
+
"requirements.txt",
|
|
80
|
+
"setup.py",
|
|
81
|
+
"setup.cfg"
|
|
82
|
+
],
|
|
83
|
+
"directories": [
|
|
84
|
+
"__pycache__",
|
|
85
|
+
"venv",
|
|
86
|
+
".venv"
|
|
87
|
+
],
|
|
88
|
+
"priority": 7
|
|
89
|
+
},
|
|
90
|
+
"python-conda": {
|
|
91
|
+
"files": [
|
|
92
|
+
"environment.yml",
|
|
93
|
+
"environment.yaml",
|
|
94
|
+
"conda.yml"
|
|
95
|
+
],
|
|
96
|
+
"priority": 8
|
|
97
|
+
},
|
|
98
|
+
"django": {
|
|
99
|
+
"files": [
|
|
100
|
+
"manage.py"
|
|
101
|
+
],
|
|
102
|
+
"patterns": [
|
|
103
|
+
"django",
|
|
104
|
+
"Django"
|
|
105
|
+
],
|
|
106
|
+
"priority": 9
|
|
107
|
+
},
|
|
108
|
+
"flask": {
|
|
109
|
+
"files": [
|
|
110
|
+
"app.py",
|
|
111
|
+
"application.py"
|
|
112
|
+
],
|
|
113
|
+
"patterns": [
|
|
114
|
+
"flask",
|
|
115
|
+
"Flask"
|
|
116
|
+
],
|
|
117
|
+
"priority": 8
|
|
118
|
+
},
|
|
119
|
+
"flutter": {
|
|
120
|
+
"files": [
|
|
121
|
+
"pubspec.yaml"
|
|
122
|
+
],
|
|
123
|
+
"directories": [
|
|
124
|
+
"lib",
|
|
125
|
+
"android",
|
|
126
|
+
"ios"
|
|
127
|
+
],
|
|
128
|
+
"priority": 8
|
|
129
|
+
},
|
|
130
|
+
"react-native": {
|
|
131
|
+
"files": [
|
|
132
|
+
"package.json"
|
|
133
|
+
],
|
|
134
|
+
"directories": [
|
|
135
|
+
"android",
|
|
136
|
+
"ios"
|
|
137
|
+
],
|
|
138
|
+
"patterns": [
|
|
139
|
+
"react-native"
|
|
140
|
+
],
|
|
141
|
+
"priority": 8
|
|
142
|
+
},
|
|
143
|
+
"rust": {
|
|
144
|
+
"files": [
|
|
145
|
+
"Cargo.toml"
|
|
146
|
+
],
|
|
147
|
+
"directories": [
|
|
148
|
+
"src",
|
|
149
|
+
"target"
|
|
150
|
+
],
|
|
151
|
+
"priority": 9
|
|
152
|
+
},
|
|
153
|
+
"go": {
|
|
154
|
+
"files": [
|
|
155
|
+
"go.mod",
|
|
156
|
+
"go.sum"
|
|
157
|
+
],
|
|
158
|
+
"directories": [
|
|
159
|
+
"cmd",
|
|
160
|
+
"pkg",
|
|
161
|
+
"internal"
|
|
162
|
+
],
|
|
163
|
+
"priority": 7
|
|
164
|
+
},
|
|
165
|
+
"dotnet": {
|
|
166
|
+
"files": [
|
|
167
|
+
"*.csproj",
|
|
168
|
+
"*.sln",
|
|
169
|
+
"*.fsproj",
|
|
170
|
+
"*.vbproj"
|
|
171
|
+
],
|
|
172
|
+
"directories": [
|
|
173
|
+
"bin",
|
|
174
|
+
"obj"
|
|
175
|
+
],
|
|
176
|
+
"priority": 7
|
|
177
|
+
},
|
|
178
|
+
"c": {
|
|
179
|
+
"files": [
|
|
180
|
+
"Makefile",
|
|
181
|
+
"CMakeLists.txt",
|
|
182
|
+
"*.c",
|
|
183
|
+
"*.h"
|
|
184
|
+
],
|
|
185
|
+
"directories": [
|
|
186
|
+
"src",
|
|
187
|
+
"include",
|
|
188
|
+
"lib"
|
|
189
|
+
],
|
|
190
|
+
"priority": 6
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
},
|
|
194
|
+
"environmentDetection": {
|
|
195
|
+
"_comment": "Cross-platform environment detection",
|
|
196
|
+
"scanCommand": "node -e \"console.log(['ENV', process.platform+'/'+require('os').arch(), process.version, require('fs').existsSync('*.sqlite*')?'SQLite':'none', require('path').basename(process.cwd())].join('|'))\"",
|
|
197
|
+
"responseFormat": "ENV|OS/arch|NodeVersion|Database|ProjectFolder",
|
|
198
|
+
"platformMarkers": {
|
|
199
|
+
"development": {
|
|
200
|
+
"paths": [
|
|
201
|
+
"/home/",
|
|
202
|
+
"/Users/",
|
|
203
|
+
"\\Users\\",
|
|
204
|
+
"WSL"
|
|
205
|
+
],
|
|
206
|
+
"database": [
|
|
207
|
+
"SQLite",
|
|
208
|
+
"*.sqlite*"
|
|
209
|
+
],
|
|
210
|
+
"process": [
|
|
211
|
+
"npm",
|
|
212
|
+
"node"
|
|
213
|
+
]
|
|
214
|
+
},
|
|
215
|
+
"production": {
|
|
216
|
+
"paths": [
|
|
217
|
+
"/var/www/",
|
|
218
|
+
"/opt/",
|
|
219
|
+
"/srv/"
|
|
220
|
+
],
|
|
221
|
+
"database": [
|
|
222
|
+
"PostgreSQL",
|
|
223
|
+
"eckwms"
|
|
224
|
+
],
|
|
225
|
+
"process": [
|
|
226
|
+
"PM2",
|
|
227
|
+
"systemd"
|
|
228
|
+
]
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
},
|
|
232
|
+
"contextProfiles": {
|
|
233
|
+
"backend": {
|
|
234
|
+
"description": "Backend API, database, business logic",
|
|
235
|
+
"include": [
|
|
236
|
+
"packages/backend/**",
|
|
237
|
+
"packages/core/**",
|
|
238
|
+
"knexfile.js",
|
|
239
|
+
"migrations/**"
|
|
240
|
+
],
|
|
241
|
+
"exclude": [
|
|
242
|
+
"**/*.test.*",
|
|
243
|
+
"**/*.sqlite*",
|
|
244
|
+
"node_modules/**"
|
|
245
|
+
]
|
|
246
|
+
},
|
|
247
|
+
"frontend": {
|
|
248
|
+
"description": "Electron app and frontend components",
|
|
249
|
+
"include": [
|
|
250
|
+
"packages/desktop/**",
|
|
251
|
+
"packages/shared-frontend/**",
|
|
252
|
+
"packages/adapters/**"
|
|
253
|
+
],
|
|
254
|
+
"exclude": [
|
|
255
|
+
"**/dist/**",
|
|
256
|
+
"**/build/**",
|
|
257
|
+
"**/node_modules/**"
|
|
258
|
+
]
|
|
259
|
+
},
|
|
260
|
+
"android-core": {
|
|
261
|
+
"description": "Android app source code and resources",
|
|
262
|
+
"include": [
|
|
263
|
+
"app/src/main/java/**",
|
|
264
|
+
"app/src/main/kotlin/**",
|
|
265
|
+
"app/src/main/res/**",
|
|
266
|
+
"app/src/main/AndroidManifest.xml",
|
|
267
|
+
"build.gradle*",
|
|
268
|
+
"settings.gradle*"
|
|
269
|
+
],
|
|
270
|
+
"exclude": [
|
|
271
|
+
"**/build/**",
|
|
272
|
+
"**/.gradle/**",
|
|
273
|
+
"**/generated/**",
|
|
274
|
+
"app/src/androidTest/**",
|
|
275
|
+
"app/src/test/**"
|
|
276
|
+
]
|
|
277
|
+
},
|
|
278
|
+
"android-tests": {
|
|
279
|
+
"description": "Android test code and configurations",
|
|
280
|
+
"include": [
|
|
281
|
+
"app/src/test/**",
|
|
282
|
+
"app/src/androidTest/**",
|
|
283
|
+
"**/test/**"
|
|
284
|
+
],
|
|
285
|
+
"exclude": [
|
|
286
|
+
"**/build/**"
|
|
287
|
+
]
|
|
288
|
+
},
|
|
289
|
+
"android-config": {
|
|
290
|
+
"description": "Android build configuration and dependencies",
|
|
291
|
+
"include": [
|
|
292
|
+
"build.gradle*",
|
|
293
|
+
"settings.gradle*",
|
|
294
|
+
"gradle.properties",
|
|
295
|
+
"local.properties",
|
|
296
|
+
"proguard-rules.pro",
|
|
297
|
+
"gradle/libs.versions.toml"
|
|
298
|
+
]
|
|
299
|
+
},
|
|
300
|
+
"database": {
|
|
301
|
+
"description": "Database schema and migrations only",
|
|
302
|
+
"include": [
|
|
303
|
+
"**/migrations/**",
|
|
304
|
+
"**/knexfile.js",
|
|
305
|
+
"**/schema.sql"
|
|
306
|
+
]
|
|
307
|
+
},
|
|
308
|
+
"deployment": {
|
|
309
|
+
"description": "Deployment and PM2 configuration",
|
|
310
|
+
"include": [
|
|
311
|
+
"ecosystem.config.js",
|
|
312
|
+
"pm2.json",
|
|
313
|
+
".github/workflows/**"
|
|
314
|
+
]
|
|
315
|
+
},
|
|
316
|
+
"test-frontend": {
|
|
317
|
+
"description": "Test frontend profile",
|
|
318
|
+
"include": [
|
|
319
|
+
"frontend/**"
|
|
320
|
+
],
|
|
321
|
+
"exclude": []
|
|
322
|
+
},
|
|
323
|
+
"test-backend": {
|
|
324
|
+
"description": "Test backend profile",
|
|
325
|
+
"include": [
|
|
326
|
+
"backend/**"
|
|
327
|
+
],
|
|
328
|
+
"exclude": []
|
|
329
|
+
}
|
|
330
|
+
},
|
|
331
|
+
"fileFiltering": {
|
|
332
|
+
"filesToIgnore": [
|
|
333
|
+
"package-lock.json",
|
|
334
|
+
"npm-shrinkwrap.json",
|
|
335
|
+
"yarn.lock",
|
|
336
|
+
"pnpm-lock.yaml",
|
|
337
|
+
"*.log",
|
|
338
|
+
"*.tmp",
|
|
339
|
+
".env",
|
|
340
|
+
".env.local",
|
|
341
|
+
".env.production",
|
|
342
|
+
"eckasse_*.sqlite*",
|
|
343
|
+
"README*",
|
|
344
|
+
"readme*",
|
|
345
|
+
"LICENSE*"
|
|
346
|
+
],
|
|
347
|
+
"extensionsToIgnore": [
|
|
348
|
+
".sqlite3",
|
|
349
|
+
".sqlite",
|
|
350
|
+
".db",
|
|
351
|
+
".DS_Store",
|
|
352
|
+
".env",
|
|
353
|
+
".pyc",
|
|
354
|
+
".class",
|
|
355
|
+
".jar",
|
|
356
|
+
".aar",
|
|
357
|
+
".apk",
|
|
358
|
+
".aab",
|
|
359
|
+
".dex",
|
|
360
|
+
".o",
|
|
361
|
+
".so",
|
|
362
|
+
".dylib",
|
|
363
|
+
".log",
|
|
364
|
+
".tmp",
|
|
365
|
+
".bak",
|
|
366
|
+
".swp",
|
|
367
|
+
".ico",
|
|
368
|
+
".png",
|
|
369
|
+
".jpg",
|
|
370
|
+
".jpeg",
|
|
371
|
+
".gif",
|
|
372
|
+
".svg"
|
|
373
|
+
],
|
|
374
|
+
"dirsToIgnore": [
|
|
375
|
+
"node_modules/",
|
|
376
|
+
".git/",
|
|
377
|
+
".eck/",
|
|
378
|
+
"dist/",
|
|
379
|
+
"build/",
|
|
380
|
+
".next/",
|
|
381
|
+
".nuxt/",
|
|
382
|
+
"target/",
|
|
383
|
+
"bin/",
|
|
384
|
+
"obj/",
|
|
385
|
+
".idea/",
|
|
386
|
+
"coverage/",
|
|
387
|
+
"create-snapshot/"
|
|
388
|
+
],
|
|
389
|
+
"includeHidden": false,
|
|
390
|
+
"projectSpecific": {
|
|
391
|
+
"android": {
|
|
392
|
+
"filesToIgnore": [
|
|
393
|
+
"gradle-wrapper.jar",
|
|
394
|
+
"local.properties",
|
|
395
|
+
"*.iml",
|
|
396
|
+
"*.apk",
|
|
397
|
+
"*.aab",
|
|
398
|
+
"*.aar",
|
|
399
|
+
"*.jar",
|
|
400
|
+
"*.dex",
|
|
401
|
+
"R.java",
|
|
402
|
+
"BuildConfig.java"
|
|
403
|
+
],
|
|
404
|
+
"dirsToIgnore": [
|
|
405
|
+
"build/",
|
|
406
|
+
".gradle/",
|
|
407
|
+
".idea/",
|
|
408
|
+
"app/build/",
|
|
409
|
+
"app/.cxx/",
|
|
410
|
+
"**/generated/",
|
|
411
|
+
"**/intermediates/",
|
|
412
|
+
"**/outputs/",
|
|
413
|
+
"**/tmp/"
|
|
414
|
+
],
|
|
415
|
+
"extensionsToIgnore": [
|
|
416
|
+
".apk",
|
|
417
|
+
".aab",
|
|
418
|
+
".aar",
|
|
419
|
+
".jar",
|
|
420
|
+
".dex",
|
|
421
|
+
".pro",
|
|
422
|
+
".ap_",
|
|
423
|
+
".aidl"
|
|
424
|
+
]
|
|
425
|
+
},
|
|
426
|
+
"nodejs": {
|
|
427
|
+
"filesToIgnore": [
|
|
428
|
+
"package-lock.json",
|
|
429
|
+
"yarn.lock",
|
|
430
|
+
"pnpm-lock.yaml"
|
|
431
|
+
],
|
|
432
|
+
"dirsToIgnore": [
|
|
433
|
+
"node_modules/",
|
|
434
|
+
"dist/",
|
|
435
|
+
".next/"
|
|
436
|
+
]
|
|
437
|
+
},
|
|
438
|
+
"python": {
|
|
439
|
+
"filesToIgnore": [
|
|
440
|
+
"*.pyc",
|
|
441
|
+
"*.pyo",
|
|
442
|
+
"*.pyd",
|
|
443
|
+
"__pycache__",
|
|
444
|
+
"*.egg-info",
|
|
445
|
+
".coverage"
|
|
446
|
+
],
|
|
447
|
+
"dirsToIgnore": [
|
|
448
|
+
"__pycache__/",
|
|
449
|
+
".pytest_cache/",
|
|
450
|
+
".coverage/",
|
|
451
|
+
"venv/",
|
|
452
|
+
".venv/",
|
|
453
|
+
"env/",
|
|
454
|
+
".env/",
|
|
455
|
+
"dist/",
|
|
456
|
+
"build/",
|
|
457
|
+
"*.egg-info/",
|
|
458
|
+
".tox/",
|
|
459
|
+
".mypy_cache/"
|
|
460
|
+
],
|
|
461
|
+
"extensionsToIgnore": [
|
|
462
|
+
".pyc",
|
|
463
|
+
".pyo",
|
|
464
|
+
".pyd"
|
|
465
|
+
]
|
|
466
|
+
},
|
|
467
|
+
"rust": {
|
|
468
|
+
"filesToIgnore": [
|
|
469
|
+
"Cargo.lock"
|
|
470
|
+
],
|
|
471
|
+
"dirsToIgnore": [
|
|
472
|
+
"target/",
|
|
473
|
+
"debug/",
|
|
474
|
+
"release/"
|
|
475
|
+
]
|
|
476
|
+
},
|
|
477
|
+
"go": {
|
|
478
|
+
"filesToIgnore": [
|
|
479
|
+
"go.sum"
|
|
480
|
+
],
|
|
481
|
+
"dirsToIgnore": [
|
|
482
|
+
"vendor/"
|
|
483
|
+
]
|
|
484
|
+
},
|
|
485
|
+
"dotnet": {
|
|
486
|
+
"filesToIgnore": [
|
|
487
|
+
"*.user",
|
|
488
|
+
"*.suo",
|
|
489
|
+
"*.cache"
|
|
490
|
+
],
|
|
491
|
+
"dirsToIgnore": [
|
|
492
|
+
"bin/",
|
|
493
|
+
"obj/",
|
|
494
|
+
".vs/",
|
|
495
|
+
"packages/"
|
|
496
|
+
]
|
|
497
|
+
},
|
|
498
|
+
"c": {
|
|
499
|
+
"filesToIgnore": [
|
|
500
|
+
"*.o",
|
|
501
|
+
"*.a",
|
|
502
|
+
"*.so",
|
|
503
|
+
"*.out",
|
|
504
|
+
"*.exe"
|
|
505
|
+
],
|
|
506
|
+
"dirsToIgnore": [
|
|
507
|
+
"build/",
|
|
508
|
+
"cmake-build-debug/",
|
|
509
|
+
"cmake-build-release/",
|
|
510
|
+
".cmake/"
|
|
511
|
+
],
|
|
512
|
+
"extensionsToIgnore": [
|
|
513
|
+
".o",
|
|
514
|
+
".a",
|
|
515
|
+
".so",
|
|
516
|
+
".out"
|
|
517
|
+
]
|
|
518
|
+
}
|
|
519
|
+
}
|
|
520
|
+
},
|
|
521
|
+
"performance": {
|
|
522
|
+
"maxFileSize": "10MB",
|
|
523
|
+
"maxTotalSize": "100MB",
|
|
524
|
+
"maxDepth": 10,
|
|
525
|
+
"concurrency": 10
|
|
526
|
+
},
|
|
527
|
+
"output": {
|
|
528
|
+
"defaultFormat": "md",
|
|
529
|
+
"defaultPath": "./.eck/snapshots",
|
|
530
|
+
"includeTree": true,
|
|
531
|
+
"_comment": "Default output format for snapshots: md, json, or txt. defaultPath is the output directory. includeTree controls whether to include directory structure."
|
|
532
|
+
},
|
|
533
|
+
"aiInstructions": {
|
|
534
|
+
"architectPersona": {
|
|
535
|
+
"role": "Project Manager and Solution Architect AI",
|
|
536
|
+
"goal": "Translate user requests into technical plans and generate precise commands for execution agents",
|
|
537
|
+
"contextRequirement": "ALWAYS check environment context before generating commands",
|
|
538
|
+
"workflow": [
|
|
539
|
+
"Request ENV scan from agent",
|
|
540
|
+
"Analyze User Request in their native language",
|
|
541
|
+
"Formulate environment-appropriate technical plan",
|
|
542
|
+
"Propose the plan and await user confirmation",
|
|
543
|
+
"Generate environment-specific JSON command block",
|
|
544
|
+
"Communicate with user in their language, commands in ENGLISH"
|
|
545
|
+
]
|
|
546
|
+
},
|
|
547
|
+
"executionAgents": {
|
|
548
|
+
"local_dev": {
|
|
549
|
+
"active": true,
|
|
550
|
+
"name": "Local Development Agent (AGENT_LOCAL_DEV)",
|
|
551
|
+
"description": "Cross-platform local development with SQLite",
|
|
552
|
+
"guiSupport": true,
|
|
553
|
+
"identification": {
|
|
554
|
+
"markers": [
|
|
555
|
+
"WSL",
|
|
556
|
+
"/home/",
|
|
557
|
+
"/Users/",
|
|
558
|
+
"\\Users\\",
|
|
559
|
+
"SQLite"
|
|
560
|
+
]
|
|
561
|
+
},
|
|
562
|
+
"capabilities": [
|
|
563
|
+
"npm install",
|
|
564
|
+
"npm run dev",
|
|
565
|
+
"npm run dev:backend",
|
|
566
|
+
"git operations",
|
|
567
|
+
"sqlite3 commands",
|
|
568
|
+
"electron debug",
|
|
569
|
+
"file editing",
|
|
570
|
+
"testing commands",
|
|
571
|
+
"browser automation"
|
|
572
|
+
],
|
|
573
|
+
"restrictions": [
|
|
574
|
+
"no PM2 commands",
|
|
575
|
+
"no PostgreSQL production operations",
|
|
576
|
+
"no systemctl",
|
|
577
|
+
"no production deployments"
|
|
578
|
+
]
|
|
579
|
+
},
|
|
580
|
+
"production_server": {
|
|
581
|
+
"active": true,
|
|
582
|
+
"name": "Production Server Agent (AGENT_PROD_SERVER)",
|
|
583
|
+
"description": "Linux production server with PostgreSQL and PM2, with development capabilities",
|
|
584
|
+
"guiSupport": false,
|
|
585
|
+
"identification": {
|
|
586
|
+
"markers": [
|
|
587
|
+
"/var/www/",
|
|
588
|
+
"PostgreSQL",
|
|
589
|
+
"PM2",
|
|
590
|
+
"eckwms"
|
|
591
|
+
]
|
|
592
|
+
},
|
|
593
|
+
"capabilities": [
|
|
594
|
+
"pm2 restart/reload/stop/start",
|
|
595
|
+
"postgresql queries",
|
|
596
|
+
"knex migrations --env production",
|
|
597
|
+
"systemctl",
|
|
598
|
+
"log analysis",
|
|
599
|
+
"nginx operations",
|
|
600
|
+
"deployment scripts",
|
|
601
|
+
"file editing",
|
|
602
|
+
"npm install",
|
|
603
|
+
"git operations"
|
|
604
|
+
],
|
|
605
|
+
"restrictions": [
|
|
606
|
+
"no electron",
|
|
607
|
+
"no GUI apps",
|
|
608
|
+
"no direct DB schema changes without migrations",
|
|
609
|
+
"always backup before migrations"
|
|
610
|
+
]
|
|
611
|
+
},
|
|
612
|
+
"android_wsl_dev": {
|
|
613
|
+
"active": true,
|
|
614
|
+
"name": "Android WSL Development Agent (AGENT_ANDROID_WSL)",
|
|
615
|
+
"description": "Android development in Windows Subsystem for Linux with Gradle and ADB support",
|
|
616
|
+
"guiSupport": false,
|
|
617
|
+
"identification": {
|
|
618
|
+
"markers": [
|
|
619
|
+
"WSL",
|
|
620
|
+
"build.gradle.kts",
|
|
621
|
+
"/mnt/c/Users",
|
|
622
|
+
"app/src/main",
|
|
623
|
+
"AndroidManifest.xml"
|
|
624
|
+
]
|
|
625
|
+
},
|
|
626
|
+
"capabilities": [
|
|
627
|
+
"./gradlew build",
|
|
628
|
+
"./gradlew assembleDebug",
|
|
629
|
+
"./gradlew assembleRelease",
|
|
630
|
+
"./gradlew clean",
|
|
631
|
+
"./gradlew lint",
|
|
632
|
+
"./gradlew test",
|
|
633
|
+
"adb devices",
|
|
634
|
+
"adb install",
|
|
635
|
+
"adb logcat",
|
|
636
|
+
"adb shell",
|
|
637
|
+
"git operations",
|
|
638
|
+
"file editing",
|
|
639
|
+
"gradle tasks",
|
|
640
|
+
"gradle wrapper operations"
|
|
641
|
+
],
|
|
642
|
+
"restrictions": [
|
|
643
|
+
"no direct GUI access (Android Studio)",
|
|
644
|
+
"requires /mnt/c/ path for Windows file system access",
|
|
645
|
+
"no Android emulator control (emulator runs on Windows host)",
|
|
646
|
+
"limited USB device access through WSL",
|
|
647
|
+
"no hardware debugging interfaces"
|
|
648
|
+
]
|
|
649
|
+
},
|
|
650
|
+
"ci_cd": {
|
|
651
|
+
"active": false,
|
|
652
|
+
"name": "CI/CD Pipeline Agent (AGENT_CI_CD)",
|
|
653
|
+
"description": "Automated testing and deployment pipeline",
|
|
654
|
+
"guiSupport": false,
|
|
655
|
+
"capabilities": [
|
|
656
|
+
"npm ci",
|
|
657
|
+
"npm test",
|
|
658
|
+
"npm run build",
|
|
659
|
+
"docker build",
|
|
660
|
+
"artifact generation"
|
|
661
|
+
],
|
|
662
|
+
"restrictions": [
|
|
663
|
+
"no interactive commands",
|
|
664
|
+
"no GUI applications",
|
|
665
|
+
"no watch modes",
|
|
666
|
+
"no development servers"
|
|
667
|
+
]
|
|
668
|
+
},
|
|
669
|
+
"gemini_wsl": {
|
|
670
|
+
"active": true,
|
|
671
|
+
"name": "Gemini WSL Agent (Junior Architect)",
|
|
672
|
+
"description": "Gemini, running in WSL. Can access all WSL tools and delegate to other agents like claude.",
|
|
673
|
+
"guiSupport": false,
|
|
674
|
+
"identification": {
|
|
675
|
+
"markers": [
|
|
676
|
+
"WSL",
|
|
677
|
+
"gemini",
|
|
678
|
+
"claude"
|
|
679
|
+
]
|
|
680
|
+
},
|
|
681
|
+
"capabilities": [
|
|
682
|
+
"git operations",
|
|
683
|
+
"npm install",
|
|
684
|
+
"file editing",
|
|
685
|
+
"gemini (self)",
|
|
686
|
+
"claude (delegate)"
|
|
687
|
+
],
|
|
688
|
+
"restrictions": [
|
|
689
|
+
"Runs only inside the WSL environment"
|
|
690
|
+
]
|
|
691
|
+
},
|
|
692
|
+
"gemini_windows": {
|
|
693
|
+
"active": true,
|
|
694
|
+
"name": "Gemini Windows Agent (Standalone)",
|
|
695
|
+
"description": "Gemini, running in native Windows (PowerShell). Can only access Windows tools.",
|
|
696
|
+
"guiSupport": true,
|
|
697
|
+
"identification": {
|
|
698
|
+
"markers": [
|
|
699
|
+
"Windows",
|
|
700
|
+
"gemini",
|
|
701
|
+
"!WSL"
|
|
702
|
+
]
|
|
703
|
+
},
|
|
704
|
+
"capabilities": [
|
|
705
|
+
"git operations",
|
|
706
|
+
"npm install",
|
|
707
|
+
"file editing",
|
|
708
|
+
"gemini (self)"
|
|
709
|
+
],
|
|
710
|
+
"restrictions": [
|
|
711
|
+
"Runs only in native Windows",
|
|
712
|
+
"Cannot access WSL-only tools like claude"
|
|
713
|
+
]
|
|
714
|
+
}
|
|
715
|
+
},
|
|
716
|
+
"header": {
|
|
717
|
+
"defaultEnabled": true,
|
|
718
|
+
"_comment": "Controls whether AI instruction headers are included by default in snapshots"
|
|
719
|
+
},
|
|
720
|
+
"promptTemplates": {
|
|
721
|
+
"envScanRequest": "src/templates/envScanRequest.md",
|
|
722
|
+
"gitWorkflow": "src/templates/gitWorkflow.md",
|
|
723
|
+
"multiAgent": "src/templates/multiAgent.md",
|
|
724
|
+
"vectorMode": "src/templates/vectorMode.md",
|
|
725
|
+
"agent": "src/templates/agent-prompt.template.md"
|
|
726
|
+
}
|
|
727
|
+
},
|
|
728
|
+
"consilium": {
|
|
729
|
+
"enabled": true,
|
|
730
|
+
"votingMode": "blind-first",
|
|
731
|
+
"autoTrigger": {
|
|
732
|
+
"conditions": [
|
|
733
|
+
"database migration",
|
|
734
|
+
"production deployment",
|
|
735
|
+
"architecture changes",
|
|
736
|
+
"security updates"
|
|
737
|
+
]
|
|
738
|
+
},
|
|
739
|
+
"phases": {
|
|
740
|
+
"blind": {
|
|
741
|
+
"enabled": true,
|
|
742
|
+
"timeout": "3m"
|
|
743
|
+
},
|
|
744
|
+
"debate": {
|
|
745
|
+
"enabled": true,
|
|
746
|
+
"triggerDivergence": 0.3,
|
|
747
|
+
"rounds": 2
|
|
748
|
+
}
|
|
749
|
+
},
|
|
750
|
+
"defaultMembers": {
|
|
751
|
+
"architect": {
|
|
752
|
+
"active": true,
|
|
753
|
+
"modelName": "Claude/Gemini",
|
|
754
|
+
"role": "System Architecture",
|
|
755
|
+
"strengths": [
|
|
756
|
+
"monorepo structure",
|
|
757
|
+
"workspace dependencies",
|
|
758
|
+
"API design"
|
|
759
|
+
]
|
|
760
|
+
},
|
|
761
|
+
"database_expert": {
|
|
762
|
+
"active": true,
|
|
763
|
+
"modelName": "GPT-4/Claude",
|
|
764
|
+
"role": "Database Specialist",
|
|
765
|
+
"strengths": [
|
|
766
|
+
"PostgreSQL optimization",
|
|
767
|
+
"Knex migrations",
|
|
768
|
+
"data integrity"
|
|
769
|
+
]
|
|
770
|
+
},
|
|
771
|
+
"devops": {
|
|
772
|
+
"active": true,
|
|
773
|
+
"modelName": "Any Available",
|
|
774
|
+
"role": "Deployment & Operations",
|
|
775
|
+
"strengths": [
|
|
776
|
+
"PM2 configuration",
|
|
777
|
+
"environment management",
|
|
778
|
+
"monitoring"
|
|
779
|
+
]
|
|
780
|
+
}
|
|
781
|
+
},
|
|
782
|
+
"complexityThresholds": {
|
|
783
|
+
"low": [
|
|
784
|
+
"bug fixes",
|
|
785
|
+
"simple features",
|
|
786
|
+
"documentation"
|
|
787
|
+
],
|
|
788
|
+
"medium": [
|
|
789
|
+
"feature implementation",
|
|
790
|
+
"refactoring",
|
|
791
|
+
"integration"
|
|
792
|
+
],
|
|
793
|
+
"high": [
|
|
794
|
+
"architecture changes",
|
|
795
|
+
"system redesign",
|
|
796
|
+
"performance optimization",
|
|
797
|
+
"security implementation"
|
|
798
|
+
]
|
|
799
|
+
},
|
|
800
|
+
"prompts": {
|
|
801
|
+
"requestTemplate": "\n# Consilium Request\n\n## Task Overview\n- **Complexity:** {{complexity}}\n- **Domain:** {{domain}}\n- **Requesting Agent:** {{requestingAgent}}\n- **Environment:** {{envContext}}\n\n## Problem Description\n{{problemDescription}}\n\n## Questions for Consilium\n{{#each questions}}\n- {{this}}\n{{/each}}\n\n## Available Context\n{{contextDescription}}\n\n---\n",
|
|
802
|
+
"responseTemplate": "\n# Consilium Response - {{modelName}}\n\n## Analysis\n{{analysis}}\n\n## Recommendations\n{{recommendations}}\n\n## Implementation Steps\n{{implementationSteps}}\n\n## Risks and Considerations\n{{risks}}\n\n## Success Metrics\n{{successMetrics}}\n\n---\n"
|
|
803
|
+
}
|
|
804
|
+
}
|
|
805
|
+
}
|