codesift-mcp 0.4.0 → 0.5.3

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 (204) hide show
  1. package/README.md +94 -25
  2. package/dist/cli/help.d.ts.map +1 -1
  3. package/dist/cli/help.js +8 -6
  4. package/dist/cli/help.js.map +1 -1
  5. package/dist/cli/platform.d.ts.map +1 -1
  6. package/dist/cli/platform.js +12 -14
  7. package/dist/cli/platform.js.map +1 -1
  8. package/dist/cli/setup.d.ts +1 -1
  9. package/dist/cli/setup.d.ts.map +1 -1
  10. package/dist/cli/setup.js +30 -6
  11. package/dist/cli/setup.js.map +1 -1
  12. package/dist/formatters.d.ts +2 -2
  13. package/dist/formatters.d.ts.map +1 -1
  14. package/dist/formatters.js +23 -0
  15. package/dist/formatters.js.map +1 -1
  16. package/dist/instructions.d.ts +1 -1
  17. package/dist/instructions.d.ts.map +1 -1
  18. package/dist/instructions.js +21 -21
  19. package/dist/parser/extractors/php.d.ts.map +1 -1
  20. package/dist/parser/extractors/php.js +37 -29
  21. package/dist/parser/extractors/php.js.map +1 -1
  22. package/dist/parser/extractors/typescript.d.ts.map +1 -1
  23. package/dist/parser/extractors/typescript.js +43 -0
  24. package/dist/parser/extractors/typescript.js.map +1 -1
  25. package/dist/parser/parse-cache.d.ts +39 -0
  26. package/dist/parser/parse-cache.d.ts.map +1 -0
  27. package/dist/parser/parse-cache.js +87 -0
  28. package/dist/parser/parse-cache.js.map +1 -0
  29. package/dist/parser/parser-manager.d.ts +1 -1
  30. package/dist/parser/parser-manager.d.ts.map +1 -1
  31. package/dist/parser/parser-manager.js +14 -5
  32. package/dist/parser/parser-manager.js.map +1 -1
  33. package/dist/parser/stub-languages.d.ts +2 -0
  34. package/dist/parser/stub-languages.d.ts.map +1 -0
  35. package/dist/parser/stub-languages.js +5 -0
  36. package/dist/parser/stub-languages.js.map +1 -0
  37. package/dist/register-tool-loaders.d.ts +130 -0
  38. package/dist/register-tool-loaders.d.ts.map +1 -0
  39. package/dist/register-tool-loaders.js +212 -0
  40. package/dist/register-tool-loaders.js.map +1 -0
  41. package/dist/register-tools.d.ts +2 -2
  42. package/dist/register-tools.d.ts.map +1 -1
  43. package/dist/register-tools.js +355 -634
  44. package/dist/register-tools.js.map +1 -1
  45. package/dist/search/tool-ranker.d.ts +90 -0
  46. package/dist/search/tool-ranker.d.ts.map +1 -0
  47. package/dist/search/tool-ranker.js +420 -0
  48. package/dist/search/tool-ranker.js.map +1 -0
  49. package/dist/server.d.ts.map +1 -1
  50. package/dist/server.js +23 -14
  51. package/dist/server.js.map +1 -1
  52. package/dist/storage/usage-tracker.d.ts.map +1 -1
  53. package/dist/storage/usage-tracker.js +4 -1
  54. package/dist/storage/usage-tracker.js.map +1 -1
  55. package/dist/tools/astro-actions.d.ts +54 -0
  56. package/dist/tools/astro-actions.d.ts.map +1 -0
  57. package/dist/tools/astro-actions.js +561 -0
  58. package/dist/tools/astro-actions.js.map +1 -0
  59. package/dist/tools/astro-audit.d.ts +87 -0
  60. package/dist/tools/astro-audit.d.ts.map +1 -0
  61. package/dist/tools/astro-audit.js +345 -0
  62. package/dist/tools/astro-audit.js.map +1 -0
  63. package/dist/tools/astro-content-collections.d.ts +44 -0
  64. package/dist/tools/astro-content-collections.d.ts.map +1 -0
  65. package/dist/tools/astro-content-collections.js +630 -0
  66. package/dist/tools/astro-content-collections.js.map +1 -0
  67. package/dist/tools/astro-islands.d.ts +3 -1
  68. package/dist/tools/astro-islands.d.ts.map +1 -1
  69. package/dist/tools/astro-islands.js +19 -4
  70. package/dist/tools/astro-islands.js.map +1 -1
  71. package/dist/tools/astro-migration.d.ts +31 -0
  72. package/dist/tools/astro-migration.d.ts.map +1 -0
  73. package/dist/tools/astro-migration.js +378 -0
  74. package/dist/tools/astro-migration.js.map +1 -0
  75. package/dist/tools/async-correctness.d.ts +26 -0
  76. package/dist/tools/async-correctness.d.ts.map +1 -0
  77. package/dist/tools/async-correctness.js +166 -0
  78. package/dist/tools/async-correctness.js.map +1 -0
  79. package/dist/tools/django-view-security-tools.d.ts +32 -0
  80. package/dist/tools/django-view-security-tools.d.ts.map +1 -0
  81. package/dist/tools/django-view-security-tools.js +184 -0
  82. package/dist/tools/django-view-security-tools.js.map +1 -0
  83. package/dist/tools/fastapi-depends.d.ts +63 -0
  84. package/dist/tools/fastapi-depends.d.ts.map +1 -0
  85. package/dist/tools/fastapi-depends.js +191 -0
  86. package/dist/tools/fastapi-depends.js.map +1 -0
  87. package/dist/tools/hono-analyze-app.js +1 -9
  88. package/dist/tools/hono-analyze-app.js.map +1 -1
  89. package/dist/tools/hono-api-contract.d.ts.map +1 -1
  90. package/dist/tools/hono-api-contract.js +41 -9
  91. package/dist/tools/hono-api-contract.js.map +1 -1
  92. package/dist/tools/hono-context-flow.js +1 -9
  93. package/dist/tools/hono-context-flow.js.map +1 -1
  94. package/dist/tools/hono-dead-routes.d.ts.map +1 -1
  95. package/dist/tools/hono-dead-routes.js +2 -9
  96. package/dist/tools/hono-dead-routes.js.map +1 -1
  97. package/dist/tools/hono-entry-resolver.d.ts +27 -0
  98. package/dist/tools/hono-entry-resolver.d.ts.map +1 -0
  99. package/dist/tools/hono-entry-resolver.js +31 -0
  100. package/dist/tools/hono-entry-resolver.js.map +1 -0
  101. package/dist/tools/hono-inline-analyze.js +1 -9
  102. package/dist/tools/hono-inline-analyze.js.map +1 -1
  103. package/dist/tools/hono-middleware-chain.d.ts +24 -6
  104. package/dist/tools/hono-middleware-chain.d.ts.map +1 -1
  105. package/dist/tools/hono-middleware-chain.js +77 -40
  106. package/dist/tools/hono-middleware-chain.js.map +1 -1
  107. package/dist/tools/hono-modules.js +1 -9
  108. package/dist/tools/hono-modules.js.map +1 -1
  109. package/dist/tools/hono-response-types.js +1 -9
  110. package/dist/tools/hono-response-types.js.map +1 -1
  111. package/dist/tools/hono-rpc-types.js +1 -9
  112. package/dist/tools/hono-rpc-types.js.map +1 -1
  113. package/dist/tools/hono-security.d.ts +14 -4
  114. package/dist/tools/hono-security.d.ts.map +1 -1
  115. package/dist/tools/hono-security.js +185 -14
  116. package/dist/tools/hono-security.js.map +1 -1
  117. package/dist/tools/hono-visualize.js +1 -9
  118. package/dist/tools/hono-visualize.js.map +1 -1
  119. package/dist/tools/nest-ext-tools.d.ts +115 -0
  120. package/dist/tools/nest-ext-tools.d.ts.map +1 -1
  121. package/dist/tools/nest-ext-tools.js +393 -0
  122. package/dist/tools/nest-ext-tools.js.map +1 -1
  123. package/dist/tools/nest-tools.d.ts +27 -0
  124. package/dist/tools/nest-tools.d.ts.map +1 -1
  125. package/dist/tools/nest-tools.js +137 -37
  126. package/dist/tools/nest-tools.js.map +1 -1
  127. package/dist/tools/nextjs-component-readers.d.ts +101 -0
  128. package/dist/tools/nextjs-component-readers.d.ts.map +1 -0
  129. package/dist/tools/nextjs-component-readers.js +287 -0
  130. package/dist/tools/nextjs-component-readers.js.map +1 -0
  131. package/dist/tools/nextjs-component-tools.d.ts +8 -78
  132. package/dist/tools/nextjs-component-tools.d.ts.map +1 -1
  133. package/dist/tools/nextjs-component-tools.js +9 -257
  134. package/dist/tools/nextjs-component-tools.js.map +1 -1
  135. package/dist/tools/nextjs-framework-audit-tools.d.ts +24 -1
  136. package/dist/tools/nextjs-framework-audit-tools.d.ts.map +1 -1
  137. package/dist/tools/nextjs-framework-audit-tools.js +184 -1
  138. package/dist/tools/nextjs-framework-audit-tools.js.map +1 -1
  139. package/dist/tools/nextjs-route-readers.d.ts +81 -0
  140. package/dist/tools/nextjs-route-readers.d.ts.map +1 -0
  141. package/dist/tools/nextjs-route-readers.js +340 -0
  142. package/dist/tools/nextjs-route-readers.js.map +1 -0
  143. package/dist/tools/nextjs-route-tools.d.ts +7 -71
  144. package/dist/tools/nextjs-route-tools.d.ts.map +1 -1
  145. package/dist/tools/nextjs-route-tools.js +9 -327
  146. package/dist/tools/nextjs-route-tools.js.map +1 -1
  147. package/dist/tools/pattern-tools.d.ts.map +1 -1
  148. package/dist/tools/pattern-tools.js +92 -2
  149. package/dist/tools/pattern-tools.js.map +1 -1
  150. package/dist/tools/php-tools.d.ts +14 -5
  151. package/dist/tools/php-tools.d.ts.map +1 -1
  152. package/dist/tools/php-tools.js +166 -64
  153. package/dist/tools/php-tools.js.map +1 -1
  154. package/dist/tools/plan-turn-tools.d.ts +89 -0
  155. package/dist/tools/plan-turn-tools.d.ts.map +1 -0
  156. package/dist/tools/plan-turn-tools.js +508 -0
  157. package/dist/tools/plan-turn-tools.js.map +1 -0
  158. package/dist/tools/project-tools.d.ts +1 -1
  159. package/dist/tools/project-tools.js +1 -1
  160. package/dist/tools/project-tools.js.map +1 -1
  161. package/dist/tools/pydantic-models.d.ts +46 -0
  162. package/dist/tools/pydantic-models.d.ts.map +1 -0
  163. package/dist/tools/pydantic-models.js +249 -0
  164. package/dist/tools/pydantic-models.js.map +1 -0
  165. package/dist/tools/python-audit.d.ts +40 -0
  166. package/dist/tools/python-audit.d.ts.map +1 -0
  167. package/dist/tools/python-audit.js +244 -0
  168. package/dist/tools/python-audit.js.map +1 -0
  169. package/dist/tools/python-constants-tools.d.ts +44 -0
  170. package/dist/tools/python-constants-tools.d.ts.map +1 -0
  171. package/dist/tools/python-constants-tools.js +525 -0
  172. package/dist/tools/python-constants-tools.js.map +1 -0
  173. package/dist/tools/react-tools.d.ts +46 -1
  174. package/dist/tools/react-tools.d.ts.map +1 -1
  175. package/dist/tools/react-tools.js +126 -1
  176. package/dist/tools/react-tools.js.map +1 -1
  177. package/dist/tools/review-diff-tools.d.ts +5 -0
  178. package/dist/tools/review-diff-tools.d.ts.map +1 -1
  179. package/dist/tools/review-diff-tools.js +109 -3
  180. package/dist/tools/review-diff-tools.js.map +1 -1
  181. package/dist/tools/search-tools.d.ts +3 -2
  182. package/dist/tools/search-tools.d.ts.map +1 -1
  183. package/dist/tools/search-tools.js +16 -3
  184. package/dist/tools/search-tools.js.map +1 -1
  185. package/dist/tools/sql-tools.d.ts +40 -0
  186. package/dist/tools/sql-tools.d.ts.map +1 -1
  187. package/dist/tools/sql-tools.js +123 -0
  188. package/dist/tools/sql-tools.js.map +1 -1
  189. package/dist/tools/symbol-tools.d.ts.map +1 -1
  190. package/dist/tools/symbol-tools.js +7 -10
  191. package/dist/tools/symbol-tools.js.map +1 -1
  192. package/dist/tools/taint-tools.d.ts +43 -0
  193. package/dist/tools/taint-tools.d.ts.map +1 -0
  194. package/dist/tools/taint-tools.js +922 -0
  195. package/dist/tools/taint-tools.js.map +1 -0
  196. package/dist/utils/import-graph.d.ts +6 -0
  197. package/dist/utils/import-graph.d.ts.map +1 -1
  198. package/dist/utils/import-graph.js +43 -7
  199. package/dist/utils/import-graph.js.map +1 -1
  200. package/package.json +3 -3
  201. package/rules/codesift.md +51 -13
  202. package/rules/codesift.mdc +51 -13
  203. package/rules/codex.md +51 -13
  204. package/rules/gemini.md +51 -13
package/rules/gemini.md CHANGED
@@ -10,15 +10,16 @@ For multi-repo sessions, call `list_repos()` to discover available repos.
10
10
 
11
11
  ## Tool Discovery
12
12
 
13
- **160 MCP tools total** (47 core visible + 113 discoverable).
13
+ **146 MCP tools total** (51 core visible + 95 discoverable).
14
14
 
15
- 47 core tools appear in ListTools. The remaining 113 niche tools are discovered on demand:
15
+ 51 core tools appear in ListTools. The remaining 95 niche tools are discovered on demand:
16
16
 
17
- - `discover_tools(query="dead code")` — keyword search across all 157 tools
17
+ - `plan_turn(query="...")` — natural-language router with auto-reveal (preferred start-of-task entry point)
18
+ - `discover_tools(query="dead code")` — keyword search across all 146 tools
18
19
  - `describe_tools(names=["find_dead_code"])` — get full parameter schema
19
20
  - `describe_tools(names=["find_dead_code"], reveal=true)` — also reveal in ListTools
20
21
 
21
- Core tools (46) always visible — includes search, symbols, context, analysis, architecture, conversations, and meta tools. Use `discover_tools` for niche tools like `classify_roles`, `find_unused_imports`, `rename_symbol`, `ast_query`, etc.
22
+ Core tools (51) always visible — includes search, symbols, context, analysis, architecture, conversations, meta, and `plan_turn`. Use `discover_tools` for niche tools like `classify_roles`, `find_unused_imports`, `rename_symbol`, `ast_query`, etc.
22
23
 
23
24
  ## Tool Mapping
24
25
 
@@ -62,6 +63,7 @@ Use this table to pick the right tool for each task:
62
63
  | index conversations | `index_conversations` |
63
64
  | structural diff | `diff_outline(since=)` |
64
65
  | what changed | `changed_symbols(since=)` |
66
+ | start of task / unclear where to begin | `plan_turn(query=...)` |
65
67
  | React component tree | `trace_component_tree` |
66
68
  | React hook analysis | `analyze_hooks` |
67
69
  | React re-render analysis | `analyze_renders` |
@@ -75,13 +77,42 @@ Use this table to pick the right tool for each task:
75
77
  | Next.js full audit | `framework_audit` |
76
78
  | route map + rendering | `nextjs_route_map` |
77
79
  | SEO / metadata gaps | `nextjs_metadata_audit` |
78
- | server actions security | `nextjs_audit_server_actions` |
79
- | API contract extraction | `nextjs_api_contract` |
80
- | client boundary / bundle | `nextjs_boundary_analyzer` |
81
- | broken internal links | `nextjs_link_integrity` |
82
- | data fetch waterfalls | `nextjs_data_flow` |
83
- | middleware coverage gaps | `nextjs_middleware_coverage` |
84
- | server vs client classify | `analyze_nextjs_components` |
80
+ | server actions security | `framework_audit(checks=["server-actions"])` |
81
+ | API contract extraction | `framework_audit(checks=["api-contract"])` |
82
+ | client boundary / bundle | `framework_audit(checks=["boundary"])` |
83
+ | broken internal links | `framework_audit(checks=["link-integrity"])` |
84
+ | data fetch waterfalls | `framework_audit(checks=["data-flow"])` |
85
+ | middleware coverage gaps | `framework_audit(checks=["middleware"])` |
86
+ | server vs client classify | `framework_audit(checks=["components"])` |
87
+ | Python project health audit | `python_audit` (compound: 8 checks, health score) |
88
+ | Django/Flask/FastAPI routes | `trace_route(path="/api/users")` |
89
+ | Python anti-patterns | `search_patterns("mutable-default"\|"bare-except"\|"eval-exec"\|"shell-true"\|"pickle-load"\|"n-plus-one-django")` |
90
+ | async/await pitfalls | `analyze_async_correctness` (blocking requests/sleep, sync ORM in async) |
91
+ | FastAPI Depends() graph | `trace_fastapi_depends` (Security, scopes, yield deps) |
92
+ | Pydantic model schemas | `get_pydantic_models(output_format="mermaid")` |
93
+ | Django/SQLAlchemy ORM graph | `get_model_graph` |
94
+ | Django settings security audit | `analyze_django_settings` (15 checks) |
95
+ | pytest fixture graph | `get_test_fixtures` (conftest hierarchy, scope, autouse) |
96
+ | Celery task + canvas tracing | `python_audit(checks=["celery"])` |
97
+ | Django signals / Celery / middleware | `find_framework_wiring` |
98
+ | Python cross-module callers | `find_python_callers(target_name=)` |
99
+ | Python circular imports | `python_audit(checks=["circular-imports"])` |
100
+ | run Ruff on Python | `run_ruff(categories=["B","PERF","SIM","S"])` |
101
+ | run mypy / pyright | `run_mypy` or `run_pyright` |
102
+ | parse pyproject.toml | `parse_pyproject` |
103
+ | Python dep freshness + CVEs | `analyze_python_deps(check_pypi=true, check_vulns=true)` |
104
+ | Hono full overview | `analyze_hono_app` |
105
+ | Hono middleware chain (route/scope/app-wide modes) | `trace_middleware_chain` |
106
+ | Hono conditional middleware (applied_when) | `trace_middleware_chain(only_conditional=true)` |
107
+ | Hono inline handler analysis | `analyze_inline_handler` |
108
+ | Hono context variables | `trace_context_flow` |
109
+ | Hono API contract / OpenAPI | `extract_api_contract` |
110
+ | Hono response types (Issue #4270) | `extract_response_types` |
111
+ | Hono RPC types / Issue #3869 | `trace_rpc_types` |
112
+ | Hono security + env-regression audit / #3587 | `audit_hono_security` |
113
+ | Hono architecture modules / #4121 | `detect_hono_modules` |
114
+ | Hono dead routes | `find_dead_hono_routes` |
115
+ | Hono route visualization | `visualize_hono_routes` |
85
116
 
86
117
  ## When to Use (Situational Triggers)
87
118
 
@@ -112,14 +143,21 @@ Use this table to pick the right tool for each task:
112
143
  | security audit | `scan_secrets(min_confidence="high")` |
113
144
  | code audit | `search_patterns("empty-catch")` |
114
145
  | past decisions | `find_conversations_for_symbol` |
146
+ | starting a task, want tool recommendations | `plan_turn(query=...)` |
115
147
  | React codebase | `trace_component_tree("App")` + `analyze_hooks` |
116
148
  | React anti-patterns | `search_patterns("hook-in-condition")` |
117
149
  | React call graph (clean) | `trace_call_chain(filter_react_hooks=true)` |
118
150
  | new Next.js project (first look) | `framework_audit` |
119
151
  | SEO audit / metadata review | `nextjs_metadata_audit` |
120
- | security review (Next.js) | `nextjs_audit_server_actions` |
152
+ | security review (Next.js) | `framework_audit(checks=["server-actions"])` |
121
153
  | rendering strategy check | `nextjs_route_map` |
122
- | bundle size concerns | `nextjs_boundary_analyzer` |
154
+ | bundle size concerns | `framework_audit(checks=["boundary"])` |
155
+ | new Hono project (first look) | `analyze_hono_app` |
156
+ | Hono middleware order bug | `trace_middleware_chain` |
157
+ | Hono auth false positive (blog pattern) | `trace_middleware_chain(only_conditional=true)` |
158
+ | Hono handler introspection | `analyze_inline_handler` |
159
+ | Hono RPC compile time slow | `trace_rpc_types` (flags Issue #3869 slow pattern) |
160
+ | Hono enterprise architecture | `detect_hono_modules` (Issue #4121) |
123
161
 
124
162
  ## Key Parameters
125
163