purecontext-mcp 1.0.1 → 1.1.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/README.md +206 -207
- package/dist/config/cli.d.ts +37 -0
- package/dist/config/cli.d.ts.map +1 -1
- package/dist/config/cli.js +198 -2
- package/dist/config/cli.js.map +1 -1
- package/dist/config/config-loader.js +10 -0
- package/dist/config/config-loader.js.map +1 -1
- package/dist/config/config-schema.d.ts +41 -1
- package/dist/config/config-schema.d.ts.map +1 -1
- package/dist/config/config-schema.js +52 -2
- package/dist/config/config-schema.js.map +1 -1
- package/dist/core/db/embedding-store.d.ts +5 -0
- package/dist/core/db/embedding-store.d.ts.map +1 -1
- package/dist/core/db/embedding-store.js +30 -17
- package/dist/core/db/embedding-store.js.map +1 -1
- package/dist/core/db/file-store.d.ts +22 -0
- package/dist/core/db/file-store.d.ts.map +1 -1
- package/dist/core/db/file-store.js +43 -8
- package/dist/core/db/file-store.js.map +1 -1
- package/dist/core/db/git-metadata-store.d.ts +49 -0
- package/dist/core/db/git-metadata-store.d.ts.map +1 -0
- package/dist/core/db/git-metadata-store.js +124 -0
- package/dist/core/db/git-metadata-store.js.map +1 -0
- package/dist/core/db/repo-scope.d.ts +23 -0
- package/dist/core/db/repo-scope.d.ts.map +1 -0
- package/dist/core/db/repo-scope.js +55 -0
- package/dist/core/db/repo-scope.js.map +1 -0
- package/dist/core/db/schema.d.ts +10 -1
- package/dist/core/db/schema.d.ts.map +1 -1
- package/dist/core/db/schema.js +239 -83
- package/dist/core/db/schema.js.map +1 -1
- package/dist/core/db/symbol-store.d.ts +53 -0
- package/dist/core/db/symbol-store.d.ts.map +1 -1
- package/dist/core/db/symbol-store.js +145 -13
- package/dist/core/db/symbol-store.js.map +1 -1
- package/dist/core/diff-parser.d.ts +61 -0
- package/dist/core/diff-parser.d.ts.map +1 -0
- package/dist/core/diff-parser.js +167 -0
- package/dist/core/diff-parser.js.map +1 -0
- package/dist/core/errors.d.ts +22 -0
- package/dist/core/errors.d.ts.map +1 -1
- package/dist/core/errors.js +43 -0
- package/dist/core/errors.js.map +1 -1
- package/dist/core/file-processor.d.ts.map +1 -1
- package/dist/core/file-processor.js +30 -6
- package/dist/core/file-processor.js.map +1 -1
- package/dist/core/git-log-reader.d.ts +72 -0
- package/dist/core/git-log-reader.d.ts.map +1 -0
- package/dist/core/git-log-reader.js +218 -0
- package/dist/core/git-log-reader.js.map +1 -0
- package/dist/core/github-api-fetcher.d.ts +99 -0
- package/dist/core/github-api-fetcher.d.ts.map +1 -0
- package/dist/core/github-api-fetcher.js +220 -0
- package/dist/core/github-api-fetcher.js.map +1 -0
- package/dist/core/grammar-paths.d.ts +2 -0
- package/dist/core/grammar-paths.d.ts.map +1 -0
- package/dist/core/grammar-paths.js +6 -0
- package/dist/core/grammar-paths.js.map +1 -0
- package/dist/core/index-manager.d.ts.map +1 -1
- package/dist/core/index-manager.js +61 -0
- package/dist/core/index-manager.js.map +1 -1
- package/dist/core/indexing-worker.d.ts.map +1 -1
- package/dist/core/indexing-worker.js +26 -0
- package/dist/core/indexing-worker.js.map +1 -1
- package/dist/core/metrics/complexity-calculator.d.ts +20 -0
- package/dist/core/metrics/complexity-calculator.d.ts.map +1 -0
- package/dist/core/metrics/complexity-calculator.js +334 -0
- package/dist/core/metrics/complexity-calculator.js.map +1 -0
- package/dist/core/parse-dispatcher.d.ts +5 -1
- package/dist/core/parse-dispatcher.d.ts.map +1 -1
- package/dist/core/parse-dispatcher.js +28 -6
- package/dist/core/parse-dispatcher.js.map +1 -1
- package/dist/core/search/relevance-ranker.d.ts +15 -1
- package/dist/core/search/relevance-ranker.d.ts.map +1 -1
- package/dist/core/search/relevance-ranker.js +40 -13
- package/dist/core/search/relevance-ranker.js.map +1 -1
- package/dist/core/symbol-source-helper.d.ts +23 -0
- package/dist/core/symbol-source-helper.d.ts.map +1 -0
- package/dist/core/symbol-source-helper.js +73 -0
- package/dist/core/symbol-source-helper.js.map +1 -0
- package/dist/core/test-mapper.d.ts +43 -0
- package/dist/core/test-mapper.d.ts.map +1 -0
- package/dist/core/test-mapper.js +200 -0
- package/dist/core/test-mapper.js.map +1 -0
- package/dist/core/types.d.ts +43 -4
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/watcher/file-watcher.d.ts +2 -0
- package/dist/core/watcher/file-watcher.d.ts.map +1 -1
- package/dist/core/watcher/file-watcher.js +2 -0
- package/dist/core/watcher/file-watcher.js.map +1 -1
- package/dist/handlers/bash.d.ts +3 -0
- package/dist/handlers/bash.d.ts.map +1 -0
- package/dist/handlers/bash.js +165 -0
- package/dist/handlers/bash.js.map +1 -0
- package/dist/handlers/erlang.d.ts +3 -0
- package/dist/handlers/erlang.d.ts.map +1 -0
- package/dist/handlers/erlang.js +326 -0
- package/dist/handlers/erlang.js.map +1 -0
- package/dist/handlers/fortran.d.ts +3 -0
- package/dist/handlers/fortran.d.ts.map +1 -0
- package/dist/handlers/fortran.js +268 -0
- package/dist/handlers/fortran.js.map +1 -0
- package/dist/handlers/gdscript.d.ts +3 -0
- package/dist/handlers/gdscript.d.ts.map +1 -0
- package/dist/handlers/gdscript.js +273 -0
- package/dist/handlers/gdscript.js.map +1 -0
- package/dist/handlers/gleam.d.ts +3 -0
- package/dist/handlers/gleam.d.ts.map +1 -0
- package/dist/handlers/gleam.js +257 -0
- package/dist/handlers/gleam.js.map +1 -0
- package/dist/handlers/graphql.d.ts +3 -0
- package/dist/handlers/graphql.d.ts.map +1 -0
- package/dist/handlers/graphql.js +384 -0
- package/dist/handlers/graphql.js.map +1 -0
- package/dist/handlers/groovy.d.ts +3 -0
- package/dist/handlers/groovy.d.ts.map +1 -0
- package/dist/handlers/groovy.js +366 -0
- package/dist/handlers/groovy.js.map +1 -0
- package/dist/handlers/handler-registry.d.ts.map +1 -1
- package/dist/handlers/handler-registry.js +29 -0
- package/dist/handlers/handler-registry.js.map +1 -1
- package/dist/handlers/nix.d.ts +3 -0
- package/dist/handlers/nix.d.ts.map +1 -0
- package/dist/handlers/nix.js +236 -0
- package/dist/handlers/nix.js.map +1 -0
- package/dist/handlers/objective-c.d.ts +3 -0
- package/dist/handlers/objective-c.d.ts.map +1 -0
- package/dist/handlers/objective-c.js +317 -0
- package/dist/handlers/objective-c.js.map +1 -0
- package/dist/handlers/openapi.d.ts +3 -0
- package/dist/handlers/openapi.d.ts.map +1 -0
- package/dist/handlers/openapi.js +180 -0
- package/dist/handlers/openapi.js.map +1 -0
- package/dist/handlers/perl.d.ts +3 -0
- package/dist/handlers/perl.d.ts.map +1 -0
- package/dist/handlers/perl.js +232 -0
- package/dist/handlers/perl.js.map +1 -0
- package/dist/handlers/protobuf.d.ts +3 -0
- package/dist/handlers/protobuf.d.ts.map +1 -0
- package/dist/handlers/protobuf.js +258 -0
- package/dist/handlers/protobuf.js.map +1 -0
- package/dist/handlers/sql-jinja-preprocessor.d.ts +33 -0
- package/dist/handlers/sql-jinja-preprocessor.d.ts.map +1 -0
- package/dist/handlers/sql-jinja-preprocessor.js +63 -0
- package/dist/handlers/sql-jinja-preprocessor.js.map +1 -0
- package/dist/handlers/sql.d.ts +3 -0
- package/dist/handlers/sql.d.ts.map +1 -0
- package/dist/handlers/sql.js +177 -0
- package/dist/handlers/sql.js.map +1 -0
- package/dist/handlers/terraform.d.ts +3 -0
- package/dist/handlers/terraform.d.ts.map +1 -0
- package/dist/handlers/terraform.js +313 -0
- package/dist/handlers/terraform.js.map +1 -0
- package/dist/handlers/xml.d.ts +3 -0
- package/dist/handlers/xml.d.ts.map +1 -0
- package/dist/handlers/xml.js +210 -0
- package/dist/handlers/xml.js.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +116 -31
- package/dist/index.js.map +1 -1
- package/dist/providers/dbt-provider.d.ts +43 -0
- package/dist/providers/dbt-provider.d.ts.map +1 -0
- package/dist/providers/dbt-provider.js +252 -0
- package/dist/providers/dbt-provider.js.map +1 -0
- package/dist/providers/provider-registry.d.ts +43 -0
- package/dist/providers/provider-registry.d.ts.map +1 -0
- package/dist/providers/provider-registry.js +78 -0
- package/dist/providers/provider-registry.js.map +1 -0
- package/dist/semantic/hybrid-search.d.ts +4 -0
- package/dist/semantic/hybrid-search.d.ts.map +1 -1
- package/dist/semantic/hybrid-search.js +12 -2
- package/dist/semantic/hybrid-search.js.map +1 -1
- package/dist/server/http-server.d.ts +16 -0
- package/dist/server/http-server.d.ts.map +1 -1
- package/dist/server/http-server.js +295 -1
- package/dist/server/http-server.js.map +1 -1
- package/dist/server/mcp-server.d.ts +8 -0
- package/dist/server/mcp-server.d.ts.map +1 -1
- package/dist/server/mcp-server.js +143 -1
- package/dist/server/mcp-server.js.map +1 -1
- package/dist/server/resources.d.ts +28 -0
- package/dist/server/resources.d.ts.map +1 -0
- package/dist/server/resources.js +119 -0
- package/dist/server/resources.js.map +1 -0
- package/dist/server/tools/analyze-diff.d.ts +28 -0
- package/dist/server/tools/analyze-diff.d.ts.map +1 -0
- package/dist/server/tools/analyze-diff.js +309 -0
- package/dist/server/tools/analyze-diff.js.map +1 -0
- package/dist/server/tools/detect-antipatterns.d.ts +74 -0
- package/dist/server/tools/detect-antipatterns.d.ts.map +1 -0
- package/dist/server/tools/detect-antipatterns.js +442 -0
- package/dist/server/tools/detect-antipatterns.js.map +1 -0
- package/dist/server/tools/export-index.d.ts +84 -0
- package/dist/server/tools/export-index.d.ts.map +1 -0
- package/dist/server/tools/export-index.js +168 -0
- package/dist/server/tools/export-index.js.map +1 -0
- package/dist/server/tools/fetch-public-index.d.ts +41 -0
- package/dist/server/tools/fetch-public-index.d.ts.map +1 -0
- package/dist/server/tools/fetch-public-index.js +244 -0
- package/dist/server/tools/fetch-public-index.js.map +1 -0
- package/dist/server/tools/find-cross-repo-usages.d.ts +49 -0
- package/dist/server/tools/find-cross-repo-usages.d.ts.map +1 -0
- package/dist/server/tools/find-cross-repo-usages.js +126 -0
- package/dist/server/tools/find-cross-repo-usages.js.map +1 -0
- package/dist/server/tools/find-refactoring-opportunities.d.ts +81 -0
- package/dist/server/tools/find-refactoring-opportunities.d.ts.map +1 -0
- package/dist/server/tools/find-refactoring-opportunities.js +390 -0
- package/dist/server/tools/find-refactoring-opportunities.js.map +1 -0
- package/dist/server/tools/find-references.d.ts +45 -0
- package/dist/server/tools/find-references.d.ts.map +1 -0
- package/dist/server/tools/find-references.js +119 -0
- package/dist/server/tools/find-references.js.map +1 -0
- package/dist/server/tools/generate-docs.d.ts +67 -0
- package/dist/server/tools/generate-docs.d.ts.map +1 -0
- package/dist/server/tools/generate-docs.js +520 -0
- package/dist/server/tools/generate-docs.js.map +1 -0
- package/dist/server/tools/get-churn-metrics.d.ts +46 -0
- package/dist/server/tools/get-churn-metrics.d.ts.map +1 -0
- package/dist/server/tools/get-churn-metrics.js +268 -0
- package/dist/server/tools/get-churn-metrics.js.map +1 -0
- package/dist/server/tools/get-file-content.d.ts +19 -0
- package/dist/server/tools/get-file-content.d.ts.map +1 -0
- package/dist/server/tools/get-file-content.js +94 -0
- package/dist/server/tools/get-file-content.js.map +1 -0
- package/dist/server/tools/get-quality-metrics.d.ts +67 -0
- package/dist/server/tools/get-quality-metrics.d.ts.map +1 -0
- package/dist/server/tools/get-quality-metrics.js +151 -0
- package/dist/server/tools/get-quality-metrics.js.map +1 -0
- package/dist/server/tools/get-symbol-history.d.ts +24 -0
- package/dist/server/tools/get-symbol-history.d.ts.map +1 -0
- package/dist/server/tools/get-symbol-history.js +172 -0
- package/dist/server/tools/get-symbol-history.js.map +1 -0
- package/dist/server/tools/get-symbol-source.d.ts +8 -2
- package/dist/server/tools/get-symbol-source.d.ts.map +1 -1
- package/dist/server/tools/get-symbol-source.js +75 -22
- package/dist/server/tools/get-symbol-source.js.map +1 -1
- package/dist/server/tools/get-symbols.d.ts +19 -0
- package/dist/server/tools/get-symbols.d.ts.map +1 -0
- package/dist/server/tools/get-symbols.js +131 -0
- package/dist/server/tools/get-symbols.js.map +1 -0
- package/dist/server/tools/get-task-context.d.ts +55 -0
- package/dist/server/tools/get-task-context.d.ts.map +1 -0
- package/dist/server/tools/get-task-context.js +441 -0
- package/dist/server/tools/get-task-context.js.map +1 -0
- package/dist/server/tools/import-index.d.ts +15 -0
- package/dist/server/tools/import-index.d.ts.map +1 -0
- package/dist/server/tools/import-index.js +223 -0
- package/dist/server/tools/import-index.js.map +1 -0
- package/dist/server/tools/index-repo.d.ts +14 -5
- package/dist/server/tools/index-repo.d.ts.map +1 -1
- package/dist/server/tools/index-repo.js +232 -18
- package/dist/server/tools/index-repo.js.map +1 -1
- package/dist/server/tools/invalidate-cache.d.ts +15 -0
- package/dist/server/tools/invalidate-cache.d.ts.map +1 -0
- package/dist/server/tools/invalidate-cache.js +121 -0
- package/dist/server/tools/invalidate-cache.js.map +1 -0
- package/dist/server/tools/search-columns.d.ts +32 -0
- package/dist/server/tools/search-columns.d.ts.map +1 -0
- package/dist/server/tools/search-columns.js +167 -0
- package/dist/server/tools/search-columns.js.map +1 -0
- package/dist/server/tools/search-semantic.d.ts +9 -3
- package/dist/server/tools/search-semantic.d.ts.map +1 -1
- package/dist/server/tools/search-semantic.js +211 -109
- package/dist/server/tools/search-semantic.js.map +1 -1
- package/dist/server/tools/search-similar.d.ts +52 -0
- package/dist/server/tools/search-similar.d.ts.map +1 -0
- package/dist/server/tools/search-similar.js +266 -0
- package/dist/server/tools/search-similar.js.map +1 -0
- package/dist/server/tools/search-symbols.d.ts +6 -2
- package/dist/server/tools/search-symbols.d.ts.map +1 -1
- package/dist/server/tools/search-symbols.js +221 -122
- package/dist/server/tools/search-symbols.js.map +1 -1
- package/dist/server/tools/search-text.d.ts +4 -2
- package/dist/server/tools/search-text.d.ts.map +1 -1
- package/dist/server/tools/search-text.js +85 -58
- package/dist/server/tools/search-text.js.map +1 -1
- package/dist/server/webhooks/github-webhook.d.ts +33 -0
- package/dist/server/webhooks/github-webhook.d.ts.map +1 -0
- package/dist/server/webhooks/github-webhook.js +90 -0
- package/dist/server/webhooks/github-webhook.js.map +1 -0
- package/dist/server/webhooks/gitlab-webhook.d.ts +32 -0
- package/dist/server/webhooks/gitlab-webhook.d.ts.map +1 -0
- package/dist/server/webhooks/gitlab-webhook.js +84 -0
- package/dist/server/webhooks/gitlab-webhook.js.map +1 -0
- package/dist/server/webhooks/webhook-utils.d.ts +23 -0
- package/dist/server/webhooks/webhook-utils.d.ts.map +1 -0
- package/dist/server/webhooks/webhook-utils.js +111 -0
- package/dist/server/webhooks/webhook-utils.js.map +1 -0
- package/dist/summarizer/ai-summarizer.d.ts +16 -7
- package/dist/summarizer/ai-summarizer.d.ts.map +1 -1
- package/dist/summarizer/ai-summarizer.js +42 -6
- package/dist/summarizer/ai-summarizer.js.map +1 -1
- package/dist/summarizer/providers/gemini-provider.d.ts +23 -0
- package/dist/summarizer/providers/gemini-provider.d.ts.map +1 -0
- package/dist/summarizer/providers/gemini-provider.js +86 -0
- package/dist/summarizer/providers/gemini-provider.js.map +1 -0
- package/dist/ui/assets/BlastRadius-DRLtokvE.js +1 -0
- package/dist/ui/assets/DependencyGraph-D7IWT3Sf.js +27 -0
- package/dist/ui/assets/{NotFound-C1wVKP-6.js → NotFound-Bkcpdshj.js} +1 -1
- package/dist/ui/assets/RepoDetail-Dz5EJYcE.js +1 -0
- package/dist/ui/assets/RepoList-DkgINNmw.js +1 -0
- package/dist/ui/assets/Search-CaEY9HUv.js +1 -0
- package/dist/ui/assets/SymbolView-B1VIiI_B.js +14 -0
- package/dist/ui/assets/index-DADf5y_L.css +1 -0
- package/dist/ui/assets/index-x3TQf_82.js +61 -0
- package/dist/ui/assets/useSearch-DbM4Vq6b.js +1 -0
- package/dist/ui/index.html +2 -2
- package/grammars/tree-sitter-bash.wasm +0 -0
- package/grammars/tree-sitter-perl.wasm +0 -0
- package/package.json +7 -4
- package/dist/ui/assets/BlastRadius-ccQ3ktbv.js +0 -1
- package/dist/ui/assets/DependencyGraph-Ca84q89b.js +0 -27
- package/dist/ui/assets/RepoDetail-B_8qid2Y.js +0 -1
- package/dist/ui/assets/RepoList-BuPu-ODM.js +0 -1
- package/dist/ui/assets/Search-BzZ9Og8E.js +0 -1
- package/dist/ui/assets/SymbolView-FdpKlzql.js +0 -14
- package/dist/ui/assets/client-BANW_tIp.js +0 -1
- package/dist/ui/assets/index-CnwwQi_S.js +0 -61
- package/dist/ui/assets/index-SS2IXr8I.css +0 -1
- package/dist/ui/assets/repoStore-SbGR6YI6.js +0 -1
- package/dist/ui/assets/useSearch-DHyve22h.js +0 -1
package/README.md
CHANGED
|
@@ -1,207 +1,206 @@
|
|
|
1
|
-
# PureContext MCP
|
|
2
|
-
|
|
3
|
-
[](https://github.com/Goran-Ocokoljic/purecontext-mcp/actions/workflows/ci.yml)
|
|
4
|
-
[](https://www.npmjs.com/package/purecontext-mcp)
|
|
5
|
-
[](docs/
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
|
71
|
-
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
|
76
|
-
|
|
77
|
-
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
- The `grammars/` directory must contain the bundled `.wasm` grammar files (included in the package)
|
|
1
|
+
# PureContext MCP
|
|
2
|
+
|
|
3
|
+
[](https://github.com/Goran-Ocokoljic/purecontext-mcp/actions/workflows/ci.yml)
|
|
4
|
+
[](https://www.npmjs.com/package/purecontext-mcp)
|
|
5
|
+
[](docs/27-api-stability.md)
|
|
6
|
+
|
|
7
|
+
**Stop burning context tokens reading whole files.** PureContext MCP indexes your codebase and lets AI agents retrieve exactly the code they need — a single function, a class, a route definition — without loading hundreds of irrelevant lines first.
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
Without PureContext: 800-line auth file → ~2,000 tokens to find one function
|
|
11
|
+
With PureContext: 45-line function → ~150 tokens
|
|
12
|
+
Savings: 93%
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
But token savings are the mechanism, not the point. The point is that AI gets better answers from precise context than from bulk context. Less hallucination. More accurate suggestions. The ability to work effectively on large codebases that don't fit in any context window.
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Quick start
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
# Connect to Claude Code (no global install needed)
|
|
23
|
+
claude mcp add purecontext-mcp -- npx purecontext-mcp
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Then in a Claude Code conversation:
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
Index my project at /path/to/my-project
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
That's it. Claude will index your codebase and you can start navigating it by name, by meaning, or by dependency — without reading files.
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## Documentation
|
|
37
|
+
|
|
38
|
+
### User Guide — start here
|
|
39
|
+
|
|
40
|
+
The guide explains what PureContext does, why each feature exists, and how to use it effectively in real-world situations. It covers both solo developers and team deployments.
|
|
41
|
+
|
|
42
|
+
| | |
|
|
43
|
+
|-|-|
|
|
44
|
+
| [Why PureContext](guide/why-purecontext.md) | The full case — beyond token savings |
|
|
45
|
+
| [Navigating a New Codebase](guide/navigating-new-code.md) | Day one on an unfamiliar project |
|
|
46
|
+
| [Finding Code](guide/finding-code.md) | Three search modes with examples |
|
|
47
|
+
| [Making Changes Safely](guide/safe-changes.md) | Blast radius and dependency analysis |
|
|
48
|
+
| [Understanding Code History](guide/code-history.md) | Symbol-level git history and churn |
|
|
49
|
+
| [The Web UI](guide/web-ui.md) | Visual graph, heatmap, symbol timeline |
|
|
50
|
+
| [AI Summaries](guide/ai-summaries.md) | Better search on undocumented codebases |
|
|
51
|
+
| [Code Health & Architecture Analysis](guide/code-health.md) | Quality metrics, anti-patterns, arch docs |
|
|
52
|
+
| [Using PureContext with a Team](guide/team-setup.md) | Shared server, enterprise setup |
|
|
53
|
+
|
|
54
|
+
**Real-world workflows:**
|
|
55
|
+
|
|
56
|
+
| | |
|
|
57
|
+
|-|-|
|
|
58
|
+
| [Onboarding to a New Codebase](guide/workflow-onboarding.md) | First day on a 6,000-file microservices platform |
|
|
59
|
+
| [Refactoring Legacy Code](guide/workflow-refactoring.md) | Replacing auth in a 6-year-old Django monolith |
|
|
60
|
+
| [Reviewing a Pull Request](guide/workflow-pr-review.md) | 40-file PR, 45 minutes, two real bugs found |
|
|
61
|
+
|
|
62
|
+
→ [Full guide index](guide/README.md)
|
|
63
|
+
|
|
64
|
+
### Reference Manual
|
|
65
|
+
|
|
66
|
+
Parameter-level documentation for every tool, configuration option, language, framework adapter, and deployment option.
|
|
67
|
+
|
|
68
|
+
| | |
|
|
69
|
+
|-|-|
|
|
70
|
+
| [MCP Tools Reference](docs/06-tools-reference.md) | Every tool: inputs, outputs, examples |
|
|
71
|
+
| [Configuration](docs/04-configuration.md) | Full config.json schema |
|
|
72
|
+
| [Language Support](docs/07-language-support.md) | All 34 languages |
|
|
73
|
+
| [Framework Adapters](docs/08-framework-adapters.md) | Vue, React, Django, Spring, and 20+ more |
|
|
74
|
+
| [CLI Reference](docs/05-cli-reference.md) | Every command and flag |
|
|
75
|
+
| [Team Setup](docs/15-team-setup.md) | Admin API, workspaces, keys |
|
|
76
|
+
| [Docker Deployment](docs/16-docker.md) | Containers, volumes, reverse proxy |
|
|
77
|
+
| [Troubleshooting](docs/26-troubleshooting.md) | Common errors and fixes |
|
|
78
|
+
|
|
79
|
+
→ [Full reference index](docs/README.md)
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## What it indexes
|
|
84
|
+
|
|
85
|
+
**34 languages** including TypeScript, JavaScript, Python, Go, Rust, Java, C#, PHP, Ruby, Kotlin, Swift, Dart, C, C++, Elixir, Haskell, Scala, R, Bash, Terraform, Protobuf, GraphQL, SQL, and more.
|
|
86
|
+
|
|
87
|
+
**Framework-aware extraction** for Vue, React, Nuxt, Next.js, Angular, NestJS, Express, Fastify, Django, FastAPI, Flask, Gin, Rails, Laravel, Spring Boot, and more. Routes, components, hooks, models, and middleware are extracted as first-class symbols.
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## Installation
|
|
92
|
+
|
|
93
|
+
**Requirements:** Node.js 18, 20, or 22. Prebuilt binaries included for Windows, macOS, and Linux — no native compilation needed.
|
|
94
|
+
|
|
95
|
+
### Claude Code
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
claude mcp add purecontext-mcp -- npx purecontext-mcp
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
### Claude Desktop
|
|
102
|
+
|
|
103
|
+
Edit `~/.claude/claude_desktop_config.json`:
|
|
104
|
+
|
|
105
|
+
```json
|
|
106
|
+
{
|
|
107
|
+
"mcpServers": {
|
|
108
|
+
"purecontext": {
|
|
109
|
+
"command": "npx",
|
|
110
|
+
"args": ["purecontext-mcp"]
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
### Cursor
|
|
117
|
+
|
|
118
|
+
Create `.cursor/mcp.json` in your project (or `~/.cursor/mcp.json` for global):
|
|
119
|
+
|
|
120
|
+
```json
|
|
121
|
+
{
|
|
122
|
+
"mcpServers": {
|
|
123
|
+
"purecontext": {
|
|
124
|
+
"command": "npx",
|
|
125
|
+
"args": ["purecontext-mcp"]
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
### Windsurf
|
|
132
|
+
|
|
133
|
+
Open Windsurf Settings → MCP section, or edit the MCP config file directly:
|
|
134
|
+
|
|
135
|
+
```json
|
|
136
|
+
{
|
|
137
|
+
"mcpServers": {
|
|
138
|
+
"purecontext": {
|
|
139
|
+
"command": "npx",
|
|
140
|
+
"args": ["purecontext-mcp"]
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
### VS Code
|
|
147
|
+
|
|
148
|
+
Create `.vscode/mcp.json` in your project:
|
|
149
|
+
|
|
150
|
+
```json
|
|
151
|
+
{
|
|
152
|
+
"servers": {
|
|
153
|
+
"purecontext": {
|
|
154
|
+
"type": "stdio",
|
|
155
|
+
"command": "npx",
|
|
156
|
+
"args": ["purecontext-mcp"]
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
### Shared team server (HTTP)
|
|
163
|
+
|
|
164
|
+
If your team runs a shared PureContext server, connect with an HTTP transport instead:
|
|
165
|
+
|
|
166
|
+
```json
|
|
167
|
+
{
|
|
168
|
+
"mcpServers": {
|
|
169
|
+
"purecontext": {
|
|
170
|
+
"transport": "http",
|
|
171
|
+
"url": "https://purecontext.yourcompany.com/mcp/sse",
|
|
172
|
+
"headers": {
|
|
173
|
+
"Authorization": "Bearer pctx_yourpersonalkey"
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
→ [Full installation guide](docs/02-installation.md)
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
184
|
+
## Teaching your AI agent to use PureContext well
|
|
185
|
+
|
|
186
|
+
Installing PureContext gives your agent the tools. Adding the agent instructions tells it *how* to use them — which tool to pick for each task, in what order, and what to avoid.
|
|
187
|
+
|
|
188
|
+
Two instruction files are provided at the repository root:
|
|
189
|
+
|
|
190
|
+
**`AGENT_INSTRUCTIONS_SHORT.md`** — ~2 KB. The mandatory workflow, tool selection table, core rules, and common patterns. Use this for agents with limited system prompt space.
|
|
191
|
+
|
|
192
|
+
**`AGENT_INSTRUCTIONS.md`** — ~15 KB. Adds detailed parameter notes, every usage pattern, decision trees, and anti-patterns. Use this for complex multi-step workflows.
|
|
193
|
+
|
|
194
|
+
**Claude Code** — add to your project's `CLAUDE.md`:
|
|
195
|
+
|
|
196
|
+
```bash
|
|
197
|
+
cat AGENT_INSTRUCTIONS_SHORT.md >> CLAUDE.md
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
**Cursor** — paste into `.cursorrules` or via Cursor Settings → Rules.
|
|
201
|
+
|
|
202
|
+
**Windsurf** — paste into your workspace memory or rules configuration.
|
|
203
|
+
|
|
204
|
+
**Any other agent** — paste into whatever system prompt or memory configuration it supports.
|
|
205
|
+
|
|
206
|
+
Without these instructions, an agent may default to reading entire files rather than using `search_symbols`, or may not know to call `list_repos` first to get the repository ID required by every tool.
|
package/dist/config/cli.d.ts
CHANGED
|
@@ -23,4 +23,41 @@ export declare function cmdCheck(): boolean;
|
|
|
23
23
|
* Print the effective configuration (defaults merged with config.json) as JSON.
|
|
24
24
|
*/
|
|
25
25
|
export declare function cmdShow(): void;
|
|
26
|
+
/**
|
|
27
|
+
* `purecontext-mcp export --repo <path> --out <bundle.pcx>`
|
|
28
|
+
* Export a repo's index to a portable .pcx bundle.
|
|
29
|
+
*/
|
|
30
|
+
export declare function cmdExport(cliArgs: string[]): Promise<void>;
|
|
31
|
+
/**
|
|
32
|
+
* `purecontext-mcp import --bundle <bundle.pcx> [--repo <path>]`
|
|
33
|
+
* Import a .pcx bundle into the local index store.
|
|
34
|
+
*/
|
|
35
|
+
export declare function cmdImport(cliArgs: string[]): Promise<void>;
|
|
36
|
+
/**
|
|
37
|
+
* `purecontext-mcp fetch <owner/repo> [--version <tag>] [--force]`
|
|
38
|
+
* Download and import a pre-built index from the public registry.
|
|
39
|
+
*/
|
|
40
|
+
export declare function cmdFetch(cliArgs: string[]): Promise<void>;
|
|
41
|
+
/**
|
|
42
|
+
* `purecontext-mcp index-folder --path <dir>`
|
|
43
|
+
* Index a local project folder (used by CI pipelines and the GitHub Actions action).
|
|
44
|
+
*/
|
|
45
|
+
export declare function cmdIndexFolder(cliArgs: string[]): Promise<void>;
|
|
46
|
+
/**
|
|
47
|
+
* `purecontext-mcp analyze-diff --diff <patch> [--diff-file <path>] [--repo <path>]`
|
|
48
|
+
* Parse a unified git diff and print an impact analysis as JSON.
|
|
49
|
+
* Exits non-zero when reviewPriority is "critical".
|
|
50
|
+
*/
|
|
51
|
+
export declare function cmdAnalyzeDiff(cliArgs: string[]): Promise<void>;
|
|
52
|
+
/**
|
|
53
|
+
* `purecontext-mcp detect-antipatterns [--repo <path>] [--fail-on-critical]`
|
|
54
|
+
* Scan an indexed repo for structural anti-patterns and print findings as JSON.
|
|
55
|
+
* With --fail-on-critical: exits non-zero if any error-severity findings exist.
|
|
56
|
+
*/
|
|
57
|
+
export declare function cmdDetectAntipatterns(cliArgs: string[]): Promise<void>;
|
|
58
|
+
/**
|
|
59
|
+
* `purecontext-mcp list-public`
|
|
60
|
+
* List all pre-built indexes available in the public registry.
|
|
61
|
+
*/
|
|
62
|
+
export declare function cmdListPublic(): Promise<void>;
|
|
26
63
|
//# sourceMappingURL=cli.d.ts.map
|
package/dist/config/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/config/cli.ts"],"names":[],"mappings":"AAmEA;;;;;GAKG;AACH,wBAAsB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CA8B7C;AA8BD;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,KAAK,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAA4C,GAAG,OAAO,CA8ExG;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,IAAI,OAAO,CAoElC;AAED;;;GAGG;AACH,wBAAgB,OAAO,IAAI,IAAI,CAG9B"}
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/config/cli.ts"],"names":[],"mappings":"AAmEA;;;;;GAKG;AACH,wBAAsB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CA8B7C;AA8BD;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,KAAK,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAA4C,GAAG,OAAO,CA8ExG;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,IAAI,OAAO,CAoElC;AAED;;;GAGG;AACH,wBAAgB,OAAO,IAAI,IAAI,CAG9B;AAED;;;GAGG;AACH,wBAAsB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA0ChE;AAED;;;GAGG;AACH,wBAAsB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBhE;AAED;;;GAGG;AACH,wBAAsB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAiB/D;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAQrE;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAsCrE;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAyB5E;AAED;;;GAGG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CA4BnD"}
|