smart-coding-mcp 2.2.0 → 2.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/lib/config.js CHANGED
@@ -6,51 +6,824 @@ import { ProjectDetector } from "./project-detector.js";
6
6
  const DEFAULT_CONFIG = {
7
7
  searchDirectory: ".",
8
8
  fileExtensions: [
9
- // JavaScript/TypeScript
10
- "js", "ts", "jsx", "tsx", "mjs", "cjs",
9
+ // ==========================================
10
+ // JAVASCRIPT / TYPESCRIPT ECOSYSTEM
11
+ // ==========================================
12
+ "js", "ts", "jsx", "tsx", "mjs", "cjs", "mts", "cts",
13
+
14
+ // ==========================================
15
+ // WEB TECHNOLOGIES
16
+ // ==========================================
11
17
  // Styles
12
- "css", "scss", "sass", "less", "styl",
13
- // Markup
14
- "html", "htm", "xml", "svg",
15
- // Python
16
- "py", "pyw", "pyx",
17
- // Java/Kotlin/Scala
18
- "java", "kt", "kts", "scala",
18
+ "css", "scss", "sass", "less", "styl", "pcss", "postcss",
19
+ // Templates & Markup
20
+ "html", "htm", "vue", "svelte", "astro",
21
+ // Web Components
22
+ "marko", "riot",
23
+
24
+ // ==========================================
25
+ // PYTHON ECOSYSTEM
26
+ // ==========================================
27
+ "py", "pyw", "pyx", "pxd", "pxi",
28
+
29
+ // ==========================================
30
+ // JVM LANGUAGES
31
+ // ==========================================
32
+ "java", "kt", "kts", "scala", "sc", "groovy", "gvy", "gradle", "clj", "cljs", "cljc",
33
+
34
+ // ==========================================
35
+ // .NET LANGUAGES
36
+ // ==========================================
37
+ "cs", "csx", "fs", "fsx", "fsi", "vb",
38
+
39
+ // ==========================================
40
+ // SYSTEMS PROGRAMMING
41
+ // ==========================================
19
42
  // C/C++
20
- "c", "cpp", "cc", "cxx", "h", "hpp", "hxx",
21
- // C#
22
- "cs", "csx",
23
- // Go
24
- "go",
43
+ "c", "cpp", "cc", "cxx", "h", "hpp", "hxx", "hh", "ipp", "inl", "tpp",
25
44
  // Rust
26
45
  "rs",
46
+ // Go
47
+ "go",
48
+ // Zig
49
+ "zig",
50
+ // Nim
51
+ "nim", "nims",
52
+ // D
53
+ "d",
54
+ // V
55
+ "v", "vsh",
56
+ // Odin
57
+ "odin",
58
+ // Carbon (Google)
59
+ "carbon",
60
+
61
+ // ==========================================
62
+ // APPLE ECOSYSTEM
63
+ // ==========================================
64
+ "swift", "m", "mm",
65
+
66
+ // ==========================================
67
+ // SCRIPTING LANGUAGES
68
+ // ==========================================
27
69
  // Ruby
28
- "rb", "rake",
70
+ "rb", "rake", "gemspec", "ru", "erb",
29
71
  // PHP
30
- "php", "phtml",
31
- // Swift
32
- "swift",
33
- // Shell scripts
34
- "sh", "bash", "zsh", "fish",
35
- // Config & Data
36
- "json", "yaml", "yml", "toml", "ini", "env",
37
- // Documentation
38
- "md", "mdx", "txt", "rst",
39
- // Database
40
- "sql",
41
- // Other
42
- "r", "R", "lua", "vim", "pl", "pm"
72
+ "php", "phtml", "php3", "php4", "php5", "php7", "phps", "blade.php",
73
+ // Perl
74
+ "pl", "pm", "t", "pod",
75
+ // Lua
76
+ "lua",
77
+ // TCL
78
+ "tcl", "tk",
79
+ // AWK
80
+ "awk",
81
+
82
+ // ==========================================
83
+ // SHELL & COMMAND LINE
84
+ // ==========================================
85
+ "sh", "bash", "zsh", "fish", "ksh", "csh", "tcsh",
86
+ // PowerShell
87
+ "ps1", "psm1", "psd1",
88
+ // Batch
89
+ "bat", "cmd",
90
+
91
+ // ==========================================
92
+ // FUNCTIONAL LANGUAGES
93
+ // ==========================================
94
+ // Haskell
95
+ "hs", "lhs",
96
+ // OCaml
97
+ "ml", "mli",
98
+ // F# (already above in .NET)
99
+ // Elm
100
+ "elm",
101
+ // Elixir & Erlang
102
+ "ex", "exs", "erl", "hrl",
103
+ // Lisp family
104
+ "lisp", "lsp", "cl", "el", "scm", "ss", "rkt",
105
+ // PureScript
106
+ "purs",
107
+ // ReasonML / ReScript
108
+ "re", "rei", "res", "resi",
109
+
110
+ // ==========================================
111
+ // DATA & STATISTICS
112
+ // ==========================================
113
+ "r", "R", "rmd", "jl", "sas", "do", "ado", "mata",
114
+
115
+ // ==========================================
116
+ // MOBILE DEVELOPMENT
117
+ // ==========================================
118
+ "dart",
119
+ // Kotlin/Swift already covered
120
+
121
+ // ==========================================
122
+ // DATABASE & QUERY
123
+ // ==========================================
124
+ "sql", "psql", "plsql", "pgsql", "mysql",
125
+ // GraphQL
126
+ "graphql", "gql",
127
+ // Prisma
128
+ "prisma",
129
+
130
+ // ==========================================
131
+ // INFRASTRUCTURE AS CODE
132
+ // ==========================================
133
+ // Terraform/HCL
134
+ "tf", "hcl",
135
+ // Nix
136
+ "nix",
137
+ // Dhall
138
+ "dhall",
139
+ // Pulumi (uses regular languages)
140
+ // Ansible/Chef/Puppet use YAML/Ruby
141
+
142
+ // ==========================================
143
+ // BUILD & CONFIG (code-like)
144
+ // ==========================================
145
+ "cmake", "mk", "makefile",
146
+ // Bazel/Starlark
147
+ "bzl", "bazel", "star",
148
+ // Jsonnet
149
+ "jsonnet", "libsonnet",
150
+ // CUE
151
+ "cue",
152
+
153
+ // ==========================================
154
+ // BLOCKCHAIN & SMART CONTRACTS
155
+ // ==========================================
156
+ "sol", "vy", "move", "cairo", "fe",
157
+
158
+ // ==========================================
159
+ // GPU & SHADERS
160
+ // ==========================================
161
+ // CUDA
162
+ "cu", "cuh",
163
+ // OpenCL
164
+ "opencl",
165
+ // Shaders
166
+ "glsl", "hlsl", "wgsl", "vert", "frag", "geom", "comp", "tesc", "tese", "mesh",
167
+ // Metal
168
+ "metal",
169
+
170
+ // ==========================================
171
+ // HARDWARE DESCRIPTION
172
+ // ==========================================
173
+ "vhd", "vhdl", "sv", "svh",
174
+
175
+ // ==========================================
176
+ // SERIALIZATION & API
177
+ // ==========================================
178
+ "proto", "thrift", "avsc", "fbs",
179
+
180
+ // ==========================================
181
+ // MARKUP (code-like)
182
+ // ==========================================
183
+ "tex", "latex", "bib",
184
+ // Typst
185
+ "typ",
186
+
187
+ // ==========================================
188
+ // CONFIG (commonly searched)
189
+ // ==========================================
190
+ "json", "yaml", "yml", "toml",
191
+
192
+ // ==========================================
193
+ // LEGACY & ENTERPRISE
194
+ // ==========================================
195
+ "cbl", "cob", "cpy", // COBOL
196
+ "f", "for", "f90", "f95", "f03", "f08", // Fortran
197
+ "pas", "pp", // Pascal
198
+ "ada", "adb", "ads", // Ada
199
+ "abap", // SAP ABAP
200
+ "cls", "trigger", // Salesforce Apex
201
+ "rpg", "rpgle", // IBM RPG
202
+ "p", "i", "w", // Progress/OpenEdge
203
+
204
+ // ==========================================
205
+ // OTHER
206
+ // ==========================================
207
+ "coffee", // CoffeeScript
208
+ "ls", // LiveScript
209
+ "cr", // Crystal
210
+ "pony", // Pony
211
+ "wren", // Wren
212
+ "io", // Io
213
+ "factor", // Factor
214
+ "forth", "4th", // Forth
215
+ "red", "reds", // Red
216
+ "ring", // Ring
217
+ "hx", // Haxe
218
+ "as", // ActionScript
219
+ "monkey", // Monkey
220
+ "gd", // GDScript (Godot)
221
+ "shader", // Unity shaders
222
+ "uc", // UnrealScript
223
+ "angelscript" // AngelScript
43
224
  ],
44
225
  excludePatterns: [
226
+ // ==========================================
227
+ // DEPENDENCY DIRECTORIES
228
+ // ==========================================
45
229
  "**/node_modules/**",
230
+ "**/bower_components/**",
231
+ "**/jspm_packages/**",
232
+ "**/web_modules/**",
233
+ "**/vendor/**",
234
+ "**/vendors/**",
235
+ "**/third_party/**",
236
+ "**/third-party/**",
237
+ "**/thirdparty/**",
238
+ "**/external/**",
239
+ "**/externals/**",
240
+ "**/deps/**",
241
+ "**/dependencies/**",
242
+ "**/lib/**/*.min.js",
243
+ "**/libs/**",
244
+ "**/packages/**",
245
+ "**/pkg/**",
246
+
247
+ // ==========================================
248
+ // BUILD OUTPUT
249
+ // ==========================================
46
250
  "**/dist/**",
47
251
  "**/build/**",
252
+ "**/out/**",
253
+ "**/output/**",
254
+ "**/target/**",
255
+ "**/bin/**",
256
+ "**/obj/**",
257
+ "**/release/**",
258
+ "**/debug/**",
259
+ "**/publish/**",
260
+ "**/artifacts/**",
261
+ "**/compiled/**",
262
+ "**/_build/**",
263
+ "**/.build/**",
264
+ "**/cmake-build-*/**",
265
+ "**/CMakeFiles/**",
266
+
267
+ // ==========================================
268
+ // FRAMEWORK SPECIFIC BUILD
269
+ // ==========================================
270
+ "**/.next/**",
271
+ "**/.nuxt/**",
272
+ "**/.output/**",
273
+ "**/.svelte-kit/**",
274
+ "**/.astro/**",
275
+ "**/.vercel/**",
276
+ "**/.netlify/**",
277
+ "**/.serverless/**",
278
+ "**/.amplify/**",
279
+ "**/.firebase/**",
280
+ "**/.angular/**",
281
+ "**/.expo/**",
282
+ "**/android/build/**",
283
+ "**/ios/build/**",
284
+ "**/ios/Pods/**",
285
+ "**/.gradle/**",
286
+ "**/.dart_tool/**",
287
+ "**/.pub-cache/**",
288
+ "**/.flutter-plugins/**",
289
+ "**/DerivedData/**",
290
+ "**/xcuserdata/**",
291
+
292
+ // ==========================================
293
+ // VERSION CONTROL
294
+ // ==========================================
48
295
  "**/.git/**",
296
+ "**/.svn/**",
297
+ "**/.hg/**",
298
+ "**/.bzr/**",
299
+ "**/.fossil/**",
300
+
301
+ // ==========================================
302
+ // CACHE DIRECTORIES
303
+ // ==========================================
304
+ "**/.cache/**",
305
+ "**/.smart-coding-cache/**",
306
+ "**/__pycache__/**",
307
+ "**/.pytest_cache/**",
308
+ "**/.mypy_cache/**",
309
+ "**/.ruff_cache/**",
310
+ "**/.hypothesis/**",
311
+ "**/.tox/**",
312
+ "**/.nox/**",
49
313
  "**/coverage/**",
50
- "**/.next/**",
51
- "**/target/**",
52
- "**/vendor/**",
53
- "**/.smart-coding-cache/**"
314
+ "**/.nyc_output/**",
315
+ "**/htmlcov/**",
316
+ "**/.phpunit.cache/**",
317
+ "**/.phpcs-cache/**",
318
+ "**/.php-cs-fixer.cache",
319
+ "**/.eslintcache",
320
+ "**/.stylelintcache",
321
+ "**/.prettiercache",
322
+ "**/.parcel-cache/**",
323
+ "**/.turbo/**",
324
+ "**/.nx/**",
325
+ "**/.wireit/**",
326
+ "**/tsconfig.tsbuildinfo",
327
+ "**/*.tsbuildinfo",
328
+
329
+ // ==========================================
330
+ // VIRTUAL ENVIRONMENTS
331
+ // ==========================================
332
+ "**/venv/**",
333
+ "**/.venv/**",
334
+ "**/env/**",
335
+ "**/ENV/**",
336
+ "**/virtualenv/**",
337
+ "**/.virtualenv/**",
338
+ "**/conda/**",
339
+ "**/.conda/**",
340
+ "**/pipenv/**",
341
+
342
+ // ==========================================
343
+ // LOCK FILES
344
+ // ==========================================
345
+ "**/package-lock.json",
346
+ "**/yarn.lock",
347
+ "**/pnpm-lock.yaml",
348
+ "**/bun.lockb",
349
+ "**/shrinkwrap.yaml",
350
+ "**/composer.lock",
351
+ "**/Gemfile.lock",
352
+ "**/Cargo.lock",
353
+ "**/poetry.lock",
354
+ "**/Pipfile.lock",
355
+ "**/pdm.lock",
356
+ "**/uv.lock",
357
+ "**/go.sum",
358
+ "**/mix.lock",
359
+ "**/pubspec.lock",
360
+ "**/Package.resolved",
361
+ "**/Podfile.lock",
362
+ "**/flake.lock",
363
+ "**/gradle.lockfile",
364
+ "**/buildscript-gradle.lockfile",
365
+ "**/pnpm-workspace.yaml",
366
+
367
+ // ==========================================
368
+ // AUTO-GENERATED CODE
369
+ // ==========================================
370
+ "**/*.d.ts",
371
+ "**/*.d.mts",
372
+ "**/*.d.cts",
373
+ "**/*.generated.*",
374
+ "**/*.auto.*",
375
+ "**/*.g.dart",
376
+ "**/*.freezed.dart",
377
+ "**/*.gr.dart",
378
+ "**/*.gen.*",
379
+ "**/*_generated.*",
380
+ "**/generated/**",
381
+ "**/auto-generated/**",
382
+ "**/autogen/**",
383
+ "**/__generated__/**",
384
+ "**/codegen/**",
385
+ "**/.graphql/**",
386
+ "**/*.pb.go",
387
+ "**/*.pb.cc",
388
+ "**/*.pb.h",
389
+ "**/*.grpc.go",
390
+ "**/*_grpc.pb.go",
391
+ "**/*.swagger.json",
392
+ "**/openapi.json",
393
+ "**/openapi.yaml",
394
+ "**/swagger.json",
395
+ "**/swagger.yaml",
396
+
397
+ // ==========================================
398
+ // MINIFIED & BUNDLED
399
+ // ==========================================
400
+ "**/*.min.js",
401
+ "**/*.min.css",
402
+ "**/*.min.html",
403
+ "**/*.bundle.js",
404
+ "**/*.bundle.css",
405
+ "**/*.chunk.js",
406
+ "**/*.chunk.css",
407
+ "**/*-bundle.js",
408
+ "**/*-chunk.js",
409
+ "**/vendor.js",
410
+ "**/vendors.js",
411
+ "**/polyfills.js",
412
+ "**/runtime.js",
413
+ "**/main.*.js",
414
+ "**/app.*.js",
415
+ "**/commons.*.js",
416
+ "**/framework.*.js",
417
+ "**/_buildManifest.js",
418
+ "**/_ssgManifest.js",
419
+
420
+ // ==========================================
421
+ // SOURCE MAPS
422
+ // ==========================================
423
+ "**/*.map",
424
+ "**/*.js.map",
425
+ "**/*.css.map",
426
+
427
+ // ==========================================
428
+ // TEST FIXTURES & DATA
429
+ // ==========================================
430
+ "**/__fixtures__/**",
431
+ "**/fixtures/**",
432
+ "**/__mocks__/**",
433
+ "**/mocks/**",
434
+ "**/__snapshots__/**",
435
+ "**/snapshots/**",
436
+ "**/__tests__/data/**",
437
+ "**/test-data/**",
438
+ "**/testdata/**",
439
+ "**/test_data/**",
440
+ "**/test-fixtures/**",
441
+ "**/test_fixtures/**",
442
+ "**/spec/fixtures/**",
443
+ "**/cypress/fixtures/**",
444
+ "**/playwright/fixtures/**",
445
+
446
+ // ==========================================
447
+ // TEST OUTPUT
448
+ // ==========================================
449
+ "**/test-results/**",
450
+ "**/test-output/**",
451
+ "**/test_output/**",
452
+ "**/playwright-report/**",
453
+ "**/allure-results/**",
454
+ "**/allure-report/**",
455
+ "**/cypress/videos/**",
456
+ "**/cypress/screenshots/**",
457
+ "**/reports/**",
458
+ "**/.reports/**",
459
+ "**/junit/**",
460
+ "**/xunit/**",
461
+
462
+ // ==========================================
463
+ // CI/CD CONFIGURATION
464
+ // ==========================================
465
+ "**/.github/**",
466
+ "**/.gitlab/**",
467
+ "**/.gitlab-ci.yml",
468
+ "**/.circleci/**",
469
+ "**/.travis.yml",
470
+ "**/azure-pipelines.yml",
471
+ "**/Jenkinsfile",
472
+ "**/.drone.yml",
473
+ "**/.woodpecker.yml",
474
+ "**/bitbucket-pipelines.yml",
475
+ "**/cloudbuild.yaml",
476
+ "**/appveyor.yml",
477
+ "**/buildkite/**",
478
+ "**/.buildkite/**",
479
+ "**/taskcluster/**",
480
+ "**/wercker.yml",
481
+ "**/codeship-*.yml",
482
+ "**/.semaphore/**",
483
+ "**/buddy.yml",
484
+ "**/codefresh.yml",
485
+ "**/.harness/**",
486
+ "**/.argo/**",
487
+ "**/skaffold.yaml",
488
+
489
+ // ==========================================
490
+ // IDE & EDITOR
491
+ // ==========================================
492
+ "**/.vscode/**",
493
+ "**/.idea/**",
494
+ "**/.vs/**",
495
+ "**/.eclipse/**",
496
+ "**/.settings/**",
497
+ "**/.project",
498
+ "**/.classpath",
499
+ "**/*.sublime-project",
500
+ "**/*.sublime-workspace",
501
+ "**/.atom/**",
502
+ "**/.fleet/**",
503
+ "**/.zed/**",
504
+ "**/*.code-workspace",
505
+ "**/.devcontainer/**",
506
+
507
+ // ==========================================
508
+ // DOCUMENTATION (non-code)
509
+ // ==========================================
510
+ "**/CHANGELOG*",
511
+ "**/CHANGES*",
512
+ "**/HISTORY*",
513
+ "**/LICENSE*",
514
+ "**/LICENCE*",
515
+ "**/COPYING*",
516
+ "**/CONTRIBUTING*",
517
+ "**/CONTRIBUTORS*",
518
+ "**/AUTHORS*",
519
+ "**/SECURITY*",
520
+ "**/CODE_OF_CONDUCT*",
521
+ "**/CODEOWNERS",
522
+ "**/OWNERS",
523
+ "**/MAINTAINERS*",
524
+ "**/README*",
525
+ "**/ROADMAP*",
526
+ "**/ARCHITECTURE*",
527
+ "**/DESIGN*",
528
+ "**/docs/**",
529
+ "**/documentation/**",
530
+ "**/.docsify/**",
531
+ "**/site/**",
532
+ "**/_site/**",
533
+ "**/.docusaurus/**",
534
+ "**/docusaurus.config.*",
535
+ "**/.vuepress/**",
536
+ "**/.vitepress/**",
537
+ "**/mkdocs.yml",
538
+ "**/book/**",
539
+ "**/man/**",
540
+ "**/manpages/**",
541
+ "**/wiki/**",
542
+ "**/api-docs/**",
543
+ "**/apidocs/**",
544
+
545
+ // ==========================================
546
+ // CONFIG FILES (not code)
547
+ // ==========================================
548
+ // TypeScript/JavaScript
549
+ "**/tsconfig*.json",
550
+ "**/jsconfig*.json",
551
+ "**/.eslintrc*",
552
+ "**/.eslintignore",
553
+ "**/.prettierrc*",
554
+ "**/.prettierignore",
555
+ "**/.babelrc*",
556
+ "**/babel.config.*",
557
+ "**/.swcrc",
558
+ "**/.browserslistrc",
559
+ "**/browserslist",
560
+ "**/.editorconfig",
561
+ "**/.npmrc",
562
+ "**/.nvmrc",
563
+ "**/.node-version",
564
+ "**/.yarnrc*",
565
+ "**/.pnpmfile.cjs",
566
+ "**/lerna.json",
567
+ "**/nx.json",
568
+ "**/turbo.json",
569
+ "**/rush.json",
570
+ // Python
571
+ "**/pyproject.toml",
572
+ "**/setup.cfg",
573
+ "**/setup.py",
574
+ "**/pytest.ini",
575
+ "**/tox.ini",
576
+ "**/noxfile.py",
577
+ "**/.flake8",
578
+ "**/.pylintrc",
579
+ "**/pylintrc",
580
+ "**/.bandit",
581
+ "**/.coveragerc",
582
+ "**/mypy.ini",
583
+ "**/.mypy.ini",
584
+ "**/pyrightconfig.json",
585
+ "**/pycodestyle.cfg",
586
+ "**/MANIFEST.in",
587
+ // Ruby
588
+ "**/.rubocop*.yml",
589
+ "**/.ruby-version",
590
+ "**/.ruby-gemset",
591
+ "**/.rvmrc",
592
+ "**/Rakefile",
593
+ // PHP
594
+ "**/phpcs.xml*",
595
+ "**/phpstan.neon*",
596
+ "**/psalm.xml*",
597
+ "**/phpunit.xml*",
598
+ // Java/Kotlin
599
+ "**/pom.xml",
600
+ "**/build.gradle*",
601
+ "**/settings.gradle*",
602
+ "**/gradle.properties",
603
+ "**/gradlew*",
604
+ "**/.mvn/**",
605
+ "**/mvnw*",
606
+ "**/checkstyle.xml",
607
+ "**/spotbugs.xml",
608
+ // Go
609
+ "**/.golangci.yml",
610
+ "**/staticcheck.conf",
611
+ // Rust
612
+ "**/rustfmt.toml",
613
+ "**/clippy.toml",
614
+ "**/rust-toolchain*",
615
+ "**/.cargo/config*",
616
+ // General
617
+ "**/.gitignore",
618
+ "**/.gitattributes",
619
+ "**/.gitmodules",
620
+ "**/.mailmap",
621
+ "**/.gitkeep",
622
+ "**/.keep",
623
+ "**/.dockerignore",
624
+ "**/.helmignore",
625
+ "**/Dockerfile*",
626
+ "**/docker-compose*.yml",
627
+ "**/compose*.yml",
628
+ "**/*.dockerfile",
629
+ "**/Makefile",
630
+ "**/makefile",
631
+ "**/GNUmakefile",
632
+ "**/Procfile",
633
+ "**/Vagrantfile",
634
+
635
+ // ==========================================
636
+ // ENVIRONMENT & SECRETS
637
+ // ==========================================
638
+ "**/.env*",
639
+ "**/env.*",
640
+ "**/*.env",
641
+ "**/secrets.*",
642
+ "**/credentials.*",
643
+ "**/service-account*.json",
644
+ "**/gcloud/**",
645
+ "**/.aws/**",
646
+ "**/.azure/**",
647
+ "**/.kube/**",
648
+ "**/.docker/**",
649
+ "**/id_rsa*",
650
+ "**/id_ed25519*",
651
+ "**/id_ecdsa*",
652
+ "**/*.pem",
653
+ "**/*.key",
654
+ "**/*.crt",
655
+ "**/*.cer",
656
+ "**/*.p12",
657
+ "**/*.pfx",
658
+ "**/*.keystore",
659
+ "**/*.jks",
660
+ "**/*.gpg",
661
+ "**/*.asc",
662
+ "**/.netrc",
663
+ "**/.npmrc",
664
+ "**/.pypirc",
665
+
666
+ // ==========================================
667
+ // LOGS & TEMPORARY
668
+ // ==========================================
669
+ "**/*.log",
670
+ "**/logs/**",
671
+ "**/.logs/**",
672
+ "**/log/**",
673
+ "**/tmp/**",
674
+ "**/temp/**",
675
+ "**/.tmp/**",
676
+ "**/.temp/**",
677
+ "**/*.tmp",
678
+ "**/*.temp",
679
+ "**/*.bak",
680
+ "**/*.backup",
681
+ "**/*.swp",
682
+ "**/*.swo",
683
+ "**/*~",
684
+ "**/#*#",
685
+ "**/.#*",
686
+
687
+ // ==========================================
688
+ // OS FILES
689
+ // ==========================================
690
+ "**/.DS_Store",
691
+ "**/Thumbs.db",
692
+ "**/desktop.ini",
693
+ "**/$RECYCLE.BIN/**",
694
+ "**/._*",
695
+
696
+ // ==========================================
697
+ // BINARY & MEDIA (by extension)
698
+ // ==========================================
699
+ // Images
700
+ "**/*.png",
701
+ "**/*.jpg",
702
+ "**/*.jpeg",
703
+ "**/*.gif",
704
+ "**/*.ico",
705
+ "**/*.bmp",
706
+ "**/*.webp",
707
+ "**/*.svg",
708
+ "**/*.tiff",
709
+ "**/*.tif",
710
+ "**/*.psd",
711
+ "**/*.ai",
712
+ "**/*.eps",
713
+ "**/*.raw",
714
+ "**/*.heic",
715
+ "**/*.heif",
716
+ "**/*.avif",
717
+ "**/*.jxl",
718
+ "**/*.xcf",
719
+ // Fonts
720
+ "**/*.woff",
721
+ "**/*.woff2",
722
+ "**/*.ttf",
723
+ "**/*.otf",
724
+ "**/*.eot",
725
+ "**/*.fon",
726
+ // Audio
727
+ "**/*.mp3",
728
+ "**/*.wav",
729
+ "**/*.ogg",
730
+ "**/*.m4a",
731
+ "**/*.aac",
732
+ "**/*.flac",
733
+ "**/*.wma",
734
+ "**/*.aiff",
735
+ "**/*.opus",
736
+ // Video
737
+ "**/*.mp4",
738
+ "**/*.avi",
739
+ "**/*.mov",
740
+ "**/*.mkv",
741
+ "**/*.flv",
742
+ "**/*.wmv",
743
+ "**/*.webm",
744
+ "**/*.m4v",
745
+ "**/*.mpg",
746
+ "**/*.mpeg",
747
+ "**/*.3gp",
748
+ // Documents
749
+ "**/*.pdf",
750
+ "**/*.doc",
751
+ "**/*.docx",
752
+ "**/*.xls",
753
+ "**/*.xlsx",
754
+ "**/*.ppt",
755
+ "**/*.pptx",
756
+ "**/*.odt",
757
+ "**/*.ods",
758
+ "**/*.odp",
759
+ "**/*.rtf",
760
+ "**/*.epub",
761
+ // Archives
762
+ "**/*.zip",
763
+ "**/*.tar",
764
+ "**/*.gz",
765
+ "**/*.tgz",
766
+ "**/*.rar",
767
+ "**/*.7z",
768
+ "**/*.bz2",
769
+ "**/*.xz",
770
+ "**/*.lz",
771
+ "**/*.zst",
772
+ // Databases
773
+ "**/*.sqlite",
774
+ "**/*.sqlite3",
775
+ "**/*.db",
776
+ "**/*.mdb",
777
+ "**/*.rdb",
778
+ // Compiled/Binary
779
+ "**/*.so",
780
+ "**/*.dylib",
781
+ "**/*.dll",
782
+ "**/*.exe",
783
+ "**/*.o",
784
+ "**/*.a",
785
+ "**/*.lib",
786
+ "**/*.class",
787
+ "**/*.jar",
788
+ "**/*.war",
789
+ "**/*.ear",
790
+ "**/*.pyc",
791
+ "**/*.pyo",
792
+ "**/*.whl",
793
+ "**/*.egg",
794
+ "**/*.beam",
795
+ "**/*.wasm",
796
+ // ML/Data
797
+ "**/*.h5",
798
+ "**/*.hdf5",
799
+ "**/*.pkl",
800
+ "**/*.pickle",
801
+ "**/*.pt",
802
+ "**/*.pth",
803
+ "**/*.onnx",
804
+ "**/*.pb",
805
+ "**/*.tflite",
806
+ "**/*.mlmodel",
807
+ "**/*.safetensors",
808
+ "**/*.gguf",
809
+ "**/*.parquet",
810
+ "**/*.arrow",
811
+ "**/*.feather",
812
+ "**/*.npy",
813
+ "**/*.npz",
814
+
815
+ // ==========================================
816
+ // SPECIFIC FRAMEWORK PATTERNS
817
+ // ==========================================
818
+ // Rails
819
+ "**/schema.rb",
820
+ "**/structure.sql",
821
+ // Django
822
+ "**/migrations/0*.py",
823
+ "**/migrations/__init__.py",
824
+ // Laravel
825
+ "**/storage/**",
826
+ "**/bootstrap/cache/**"
54
827
  ],
55
828
  chunkSize: 25, // Lines per chunk (larger = fewer embeddings = faster indexing)
56
829
  chunkOverlap: 5, // Overlap between chunks for context continuity
@@ -70,13 +843,13 @@ const DEFAULT_CONFIG = {
70
843
  exactMatchBoost: 1.5,
71
844
  smartIndexing: true,
72
845
 
73
- // Resource throttling (prevents CPU exhaustion)
74
- maxCpuPercent: 25, // Max CPU usage during indexing (default: 25%)
75
- batchDelay: 250, // Delay between batches in ms (default: 250)
76
- maxWorkers: 'auto', // Max worker threads ('auto' = 25% of cores, or specific number)
846
+ // Resource throttling (balanced performance/responsiveness)
847
+ maxCpuPercent: 50, // Max CPU usage during indexing (default: 50%)
848
+ batchDelay: 10, // Delay between batches in ms (default: 10ms)
849
+ maxWorkers: 'auto', // Max worker threads ('auto' = 50% of cores, or specific number)
77
850
 
78
851
  // Startup behavior
79
- autoIndexDelay: null, // Delay before auto-indexing (ms), null = disabled (lazy index on first search)
852
+ autoIndexDelay: 5000, // Delay before background indexing starts (ms), false = disabled
80
853
 
81
854
  // Progressive indexing
82
855
  incrementalSaveInterval: 5, // Save to cache every N batches
@@ -325,7 +1098,24 @@ export async function loadConfig(workspaceDir = null) {
325
1098
  }
326
1099
  }
327
1100
  }
328
-
1101
+
1102
+ // Auto-index delay (background indexing start delay)
1103
+ if (process.env.SMART_CODING_AUTO_INDEX_DELAY !== undefined) {
1104
+ const value = process.env.SMART_CODING_AUTO_INDEX_DELAY.trim().toLowerCase();
1105
+ if (value === 'false' || value === '0') {
1106
+ config.autoIndexDelay = false;
1107
+ console.error(`[Config] Auto-indexing disabled`);
1108
+ } else {
1109
+ const numValue = parseInt(value, 10);
1110
+ if (!isNaN(numValue) && numValue >= 0 && numValue <= 60000) {
1111
+ config.autoIndexDelay = numValue;
1112
+ console.error(`[Config] Auto-index delay: ${numValue}ms`);
1113
+ } else {
1114
+ console.error(`[Config] Invalid SMART_CODING_AUTO_INDEX_DELAY: ${value}, using default (must be 0-60000 or 'false')`);
1115
+ }
1116
+ }
1117
+ }
1118
+
329
1119
  return config;
330
1120
  }
331
1121