codesift-mcp 0.2.18 → 0.4.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 +143 -20
- package/dist/cache/hono-cache.d.ts +50 -0
- package/dist/cache/hono-cache.d.ts.map +1 -0
- package/dist/cache/hono-cache.js +132 -0
- package/dist/cache/hono-cache.js.map +1 -0
- package/dist/cli/setup.d.ts.map +1 -1
- package/dist/cli/setup.js +17 -2
- package/dist/cli/setup.js.map +1 -1
- package/dist/formatters-shortening.d.ts +13 -0
- package/dist/formatters-shortening.d.ts.map +1 -1
- package/dist/formatters-shortening.js +131 -0
- package/dist/formatters-shortening.js.map +1 -1
- package/dist/formatters.d.ts +38 -0
- package/dist/formatters.d.ts.map +1 -1
- package/dist/formatters.js +498 -0
- package/dist/formatters.js.map +1 -1
- package/dist/instructions.d.ts +1 -1
- package/dist/instructions.d.ts.map +1 -1
- package/dist/instructions.js +27 -26
- package/dist/instructions.js.map +1 -1
- package/dist/lsp/lsp-servers.d.ts.map +1 -1
- package/dist/lsp/lsp-servers.js +5 -0
- package/dist/lsp/lsp-servers.js.map +1 -1
- package/dist/lsp/lsp-tools.d.ts.map +1 -1
- package/dist/lsp/lsp-tools.js +1 -0
- package/dist/lsp/lsp-tools.js.map +1 -1
- package/dist/parser/astro-template.d.ts +47 -0
- package/dist/parser/astro-template.d.ts.map +1 -0
- package/dist/parser/astro-template.js +171 -0
- package/dist/parser/astro-template.js.map +1 -0
- package/dist/parser/extractors/_shared.d.ts +4 -0
- package/dist/parser/extractors/_shared.d.ts.map +1 -1
- package/dist/parser/extractors/_shared.js +8 -0
- package/dist/parser/extractors/_shared.js.map +1 -1
- package/dist/parser/extractors/astro.d.ts +4 -5
- package/dist/parser/extractors/astro.d.ts.map +1 -1
- package/dist/parser/extractors/astro.js +102 -26
- package/dist/parser/extractors/astro.js.map +1 -1
- package/dist/parser/extractors/gradle-kts.d.ts +4 -0
- package/dist/parser/extractors/gradle-kts.d.ts.map +1 -0
- package/dist/parser/extractors/gradle-kts.js +246 -0
- package/dist/parser/extractors/gradle-kts.js.map +1 -0
- package/dist/parser/extractors/hono-inline-analyzer.d.ts +34 -0
- package/dist/parser/extractors/hono-inline-analyzer.d.ts.map +1 -0
- package/dist/parser/extractors/hono-inline-analyzer.js +465 -0
- package/dist/parser/extractors/hono-inline-analyzer.js.map +1 -0
- package/dist/parser/extractors/hono-model.d.ts +196 -0
- package/dist/parser/extractors/hono-model.d.ts.map +1 -0
- package/dist/parser/extractors/hono-model.js +10 -0
- package/dist/parser/extractors/hono-model.js.map +1 -0
- package/dist/parser/extractors/hono.d.ts +118 -0
- package/dist/parser/extractors/hono.d.ts.map +1 -0
- package/dist/parser/extractors/hono.js +1527 -0
- package/dist/parser/extractors/hono.js.map +1 -0
- package/dist/parser/extractors/kotlin.d.ts +4 -0
- package/dist/parser/extractors/kotlin.d.ts.map +1 -0
- package/dist/parser/extractors/kotlin.js +521 -0
- package/dist/parser/extractors/kotlin.js.map +1 -0
- package/dist/parser/extractors/php.d.ts +22 -0
- package/dist/parser/extractors/php.d.ts.map +1 -0
- package/dist/parser/extractors/php.js +326 -0
- package/dist/parser/extractors/php.js.map +1 -0
- package/dist/parser/extractors/python.d.ts.map +1 -1
- package/dist/parser/extractors/python.js +234 -11
- package/dist/parser/extractors/python.js.map +1 -1
- package/dist/parser/extractors/sql.d.ts +33 -0
- package/dist/parser/extractors/sql.d.ts.map +1 -0
- package/dist/parser/extractors/sql.js +506 -0
- package/dist/parser/extractors/sql.js.map +1 -0
- package/dist/parser/extractors/typescript.d.ts.map +1 -1
- package/dist/parser/extractors/typescript.js +166 -3
- package/dist/parser/extractors/typescript.js.map +1 -1
- package/dist/parser/languages/tree-sitter-javascript.wasm +0 -0
- package/dist/parser/languages/tree-sitter-kotlin.wasm +0 -0
- package/dist/parser/languages/tree-sitter-php.wasm +0 -0
- package/dist/parser/languages/tree-sitter-php_only.wasm +0 -0
- package/dist/parser/languages/tree-sitter-python.wasm +0 -0
- package/dist/parser/parser-manager.d.ts +32 -0
- package/dist/parser/parser-manager.d.ts.map +1 -1
- package/dist/parser/parser-manager.js +82 -3
- package/dist/parser/parser-manager.js.map +1 -1
- package/dist/parser/symbol-extractor.d.ts.map +1 -1
- package/dist/parser/symbol-extractor.js +16 -0
- package/dist/parser/symbol-extractor.js.map +1 -1
- package/dist/register-tools.d.ts +37 -1
- package/dist/register-tools.d.ts.map +1 -1
- package/dist/register-tools.js +2657 -191
- package/dist/register-tools.js.map +1 -1
- package/dist/search/reranker.js +1 -1
- package/dist/search/reranker.js.map +1 -1
- package/dist/server-helpers.d.ts.map +1 -1
- package/dist/server-helpers.js +11 -0
- package/dist/server-helpers.js.map +1 -1
- package/dist/server.js +28 -1
- package/dist/server.js.map +1 -1
- package/dist/storage/index-store.d.ts +15 -1
- package/dist/storage/index-store.d.ts.map +1 -1
- package/dist/storage/index-store.js +27 -1
- package/dist/storage/index-store.js.map +1 -1
- package/dist/storage/session-state.d.ts +1 -1
- package/dist/storage/session-state.d.ts.map +1 -1
- package/dist/storage/session-state.js +6 -4
- package/dist/storage/session-state.js.map +1 -1
- package/dist/tools/agent-config-tools.d.ts +24 -0
- package/dist/tools/agent-config-tools.d.ts.map +1 -0
- package/dist/tools/agent-config-tools.js +119 -0
- package/dist/tools/agent-config-tools.js.map +1 -0
- package/dist/tools/architecture-tools.d.ts +23 -0
- package/dist/tools/architecture-tools.d.ts.map +1 -0
- package/dist/tools/architecture-tools.js +140 -0
- package/dist/tools/architecture-tools.js.map +1 -0
- package/dist/tools/astro-config.d.ts +33 -0
- package/dist/tools/astro-config.d.ts.map +1 -0
- package/dist/tools/astro-config.js +260 -0
- package/dist/tools/astro-config.js.map +1 -0
- package/dist/tools/astro-islands.d.ts +61 -0
- package/dist/tools/astro-islands.d.ts.map +1 -0
- package/dist/tools/astro-islands.js +240 -0
- package/dist/tools/astro-islands.js.map +1 -0
- package/dist/tools/astro-routes.d.ts +49 -0
- package/dist/tools/astro-routes.d.ts.map +1 -0
- package/dist/tools/astro-routes.js +119 -0
- package/dist/tools/astro-routes.js.map +1 -0
- package/dist/tools/audit-tools.d.ts +38 -0
- package/dist/tools/audit-tools.d.ts.map +1 -0
- package/dist/tools/audit-tools.js +248 -0
- package/dist/tools/audit-tools.js.map +1 -0
- package/dist/tools/celery-tools.d.ts +38 -0
- package/dist/tools/celery-tools.d.ts.map +1 -0
- package/dist/tools/celery-tools.js +154 -0
- package/dist/tools/celery-tools.js.map +1 -0
- package/dist/tools/clone-tools.js +1 -1
- package/dist/tools/clone-tools.js.map +1 -1
- package/dist/tools/complexity-tools.d.ts +4 -0
- package/dist/tools/complexity-tools.d.ts.map +1 -1
- package/dist/tools/complexity-tools.js +78 -4
- package/dist/tools/complexity-tools.js.map +1 -1
- package/dist/tools/compose-tools.d.ts +60 -0
- package/dist/tools/compose-tools.d.ts.map +1 -0
- package/dist/tools/compose-tools.js +203 -0
- package/dist/tools/compose-tools.js.map +1 -0
- package/dist/tools/coupling-tools.d.ts +50 -0
- package/dist/tools/coupling-tools.d.ts.map +1 -0
- package/dist/tools/coupling-tools.js +262 -0
- package/dist/tools/coupling-tools.js.map +1 -0
- package/dist/tools/dependency-audit-tools.d.ts +65 -0
- package/dist/tools/dependency-audit-tools.d.ts.map +1 -0
- package/dist/tools/dependency-audit-tools.js +553 -0
- package/dist/tools/dependency-audit-tools.js.map +1 -0
- package/dist/tools/django-settings.d.ts +22 -0
- package/dist/tools/django-settings.d.ts.map +1 -0
- package/dist/tools/django-settings.js +301 -0
- package/dist/tools/django-settings.js.map +1 -0
- package/dist/tools/frequency-tools.js +1 -1
- package/dist/tools/frequency-tools.js.map +1 -1
- package/dist/tools/graph-tools.d.ts +8 -2
- package/dist/tools/graph-tools.d.ts.map +1 -1
- package/dist/tools/graph-tools.js +44 -3
- package/dist/tools/graph-tools.js.map +1 -1
- package/dist/tools/hilt-tools.d.ts +55 -0
- package/dist/tools/hilt-tools.d.ts.map +1 -0
- package/dist/tools/hilt-tools.js +258 -0
- package/dist/tools/hilt-tools.js.map +1 -0
- package/dist/tools/hono-analyze-app.d.ts +48 -0
- package/dist/tools/hono-analyze-app.d.ts.map +1 -0
- package/dist/tools/hono-analyze-app.js +102 -0
- package/dist/tools/hono-analyze-app.js.map +1 -0
- package/dist/tools/hono-api-contract.d.ts +22 -0
- package/dist/tools/hono-api-contract.d.ts.map +1 -0
- package/dist/tools/hono-api-contract.js +80 -0
- package/dist/tools/hono-api-contract.js.map +1 -0
- package/dist/tools/hono-conditional-middleware.d.ts +27 -0
- package/dist/tools/hono-conditional-middleware.d.ts.map +1 -0
- package/dist/tools/hono-conditional-middleware.js +62 -0
- package/dist/tools/hono-conditional-middleware.js.map +1 -0
- package/dist/tools/hono-context-flow.d.ts +24 -0
- package/dist/tools/hono-context-flow.d.ts.map +1 -0
- package/dist/tools/hono-context-flow.js +78 -0
- package/dist/tools/hono-context-flow.js.map +1 -0
- package/dist/tools/hono-dead-routes.d.ts +26 -0
- package/dist/tools/hono-dead-routes.d.ts.map +1 -0
- package/dist/tools/hono-dead-routes.js +109 -0
- package/dist/tools/hono-dead-routes.js.map +1 -0
- package/dist/tools/hono-env-regression.d.ts +29 -0
- package/dist/tools/hono-env-regression.d.ts.map +1 -0
- package/dist/tools/hono-env-regression.js +157 -0
- package/dist/tools/hono-env-regression.js.map +1 -0
- package/dist/tools/hono-inline-analyze.d.ts +31 -0
- package/dist/tools/hono-inline-analyze.d.ts.map +1 -0
- package/dist/tools/hono-inline-analyze.js +67 -0
- package/dist/tools/hono-inline-analyze.js.map +1 -0
- package/dist/tools/hono-middleware-chain.d.ts +22 -0
- package/dist/tools/hono-middleware-chain.d.ts.map +1 -0
- package/dist/tools/hono-middleware-chain.js +84 -0
- package/dist/tools/hono-middleware-chain.js.map +1 -0
- package/dist/tools/hono-modules.d.ts +22 -0
- package/dist/tools/hono-modules.d.ts.map +1 -0
- package/dist/tools/hono-modules.js +126 -0
- package/dist/tools/hono-modules.js.map +1 -0
- package/dist/tools/hono-response-types.d.ts +37 -0
- package/dist/tools/hono-response-types.d.ts.map +1 -0
- package/dist/tools/hono-response-types.js +84 -0
- package/dist/tools/hono-response-types.js.map +1 -0
- package/dist/tools/hono-rpc-types.d.ts +21 -0
- package/dist/tools/hono-rpc-types.d.ts.map +1 -0
- package/dist/tools/hono-rpc-types.js +57 -0
- package/dist/tools/hono-rpc-types.js.map +1 -0
- package/dist/tools/hono-security.d.ts +21 -0
- package/dist/tools/hono-security.d.ts.map +1 -0
- package/dist/tools/hono-security.js +98 -0
- package/dist/tools/hono-security.js.map +1 -0
- package/dist/tools/hono-visualize.d.ts +13 -0
- package/dist/tools/hono-visualize.d.ts.map +1 -0
- package/dist/tools/hono-visualize.js +72 -0
- package/dist/tools/hono-visualize.js.map +1 -0
- package/dist/tools/hotspot-tools.d.ts.map +1 -1
- package/dist/tools/hotspot-tools.js +9 -7
- package/dist/tools/hotspot-tools.js.map +1 -1
- package/dist/tools/index-tools.d.ts +17 -0
- package/dist/tools/index-tools.d.ts.map +1 -1
- package/dist/tools/index-tools.js +210 -10
- package/dist/tools/index-tools.js.map +1 -1
- package/dist/tools/kotlin-tools.d.ts +142 -0
- package/dist/tools/kotlin-tools.d.ts.map +1 -0
- package/dist/tools/kotlin-tools.js +572 -0
- package/dist/tools/kotlin-tools.js.map +1 -0
- package/dist/tools/legacy-hono-conventions.d.ts +14 -0
- package/dist/tools/legacy-hono-conventions.d.ts.map +1 -0
- package/dist/tools/legacy-hono-conventions.js +152 -0
- package/dist/tools/legacy-hono-conventions.js.map +1 -0
- package/dist/tools/migration-lint-tools.d.ts +26 -0
- package/dist/tools/migration-lint-tools.d.ts.map +1 -0
- package/dist/tools/migration-lint-tools.js +247 -0
- package/dist/tools/migration-lint-tools.js.map +1 -0
- package/dist/tools/model-tools.d.ts +30 -0
- package/dist/tools/model-tools.d.ts.map +1 -0
- package/dist/tools/model-tools.js +145 -0
- package/dist/tools/model-tools.js.map +1 -0
- package/dist/tools/nest-ext-tools.d.ts +92 -0
- package/dist/tools/nest-ext-tools.d.ts.map +1 -0
- package/dist/tools/nest-ext-tools.js +359 -0
- package/dist/tools/nest-ext-tools.js.map +1 -0
- package/dist/tools/nest-tools.d.ts +171 -0
- package/dist/tools/nest-tools.d.ts.map +1 -0
- package/dist/tools/nest-tools.js +1042 -0
- package/dist/tools/nest-tools.js.map +1 -0
- package/dist/tools/nextjs-api-contract-readers.d.ts +14 -0
- package/dist/tools/nextjs-api-contract-readers.d.ts.map +1 -0
- package/dist/tools/nextjs-api-contract-readers.js +204 -0
- package/dist/tools/nextjs-api-contract-readers.js.map +1 -0
- package/dist/tools/nextjs-api-contract-tools.d.ts +57 -0
- package/dist/tools/nextjs-api-contract-tools.d.ts.map +1 -0
- package/dist/tools/nextjs-api-contract-tools.js +144 -0
- package/dist/tools/nextjs-api-contract-tools.js.map +1 -0
- package/dist/tools/nextjs-boundary-tools.d.ts +39 -0
- package/dist/tools/nextjs-boundary-tools.d.ts.map +1 -0
- package/dist/tools/nextjs-boundary-tools.js +152 -0
- package/dist/tools/nextjs-boundary-tools.js.map +1 -0
- package/dist/tools/nextjs-component-tools.d.ts +121 -0
- package/dist/tools/nextjs-component-tools.d.ts.map +1 -0
- package/dist/tools/nextjs-component-tools.js +460 -0
- package/dist/tools/nextjs-component-tools.js.map +1 -0
- package/dist/tools/nextjs-data-flow-tools.d.ts +42 -0
- package/dist/tools/nextjs-data-flow-tools.d.ts.map +1 -0
- package/dist/tools/nextjs-data-flow-tools.js +158 -0
- package/dist/tools/nextjs-data-flow-tools.js.map +1 -0
- package/dist/tools/nextjs-framework-audit-tools.d.ts +37 -0
- package/dist/tools/nextjs-framework-audit-tools.d.ts.map +1 -0
- package/dist/tools/nextjs-framework-audit-tools.js +211 -0
- package/dist/tools/nextjs-framework-audit-tools.js.map +1 -0
- package/dist/tools/nextjs-link-tools.d.ts +41 -0
- package/dist/tools/nextjs-link-tools.d.ts.map +1 -0
- package/dist/tools/nextjs-link-tools.js +157 -0
- package/dist/tools/nextjs-link-tools.js.map +1 -0
- package/dist/tools/nextjs-metadata-tools.d.ts +74 -0
- package/dist/tools/nextjs-metadata-tools.d.ts.map +1 -0
- package/dist/tools/nextjs-metadata-tools.js +252 -0
- package/dist/tools/nextjs-metadata-tools.js.map +1 -0
- package/dist/tools/nextjs-middleware-coverage-tools.d.ts +41 -0
- package/dist/tools/nextjs-middleware-coverage-tools.d.ts.map +1 -0
- package/dist/tools/nextjs-middleware-coverage-tools.js +88 -0
- package/dist/tools/nextjs-middleware-coverage-tools.js.map +1 -0
- package/dist/tools/nextjs-route-tools.d.ts +100 -0
- package/dist/tools/nextjs-route-tools.d.ts.map +1 -0
- package/dist/tools/nextjs-route-tools.js +493 -0
- package/dist/tools/nextjs-route-tools.js.map +1 -0
- package/dist/tools/nextjs-security-readers.d.ts +22 -0
- package/dist/tools/nextjs-security-readers.d.ts.map +1 -0
- package/dist/tools/nextjs-security-readers.js +318 -0
- package/dist/tools/nextjs-security-readers.js.map +1 -0
- package/dist/tools/nextjs-security-scoring.d.ts +15 -0
- package/dist/tools/nextjs-security-scoring.d.ts.map +1 -0
- package/dist/tools/nextjs-security-scoring.js +65 -0
- package/dist/tools/nextjs-security-scoring.js.map +1 -0
- package/dist/tools/nextjs-security-tools.d.ts +75 -0
- package/dist/tools/nextjs-security-tools.d.ts.map +1 -0
- package/dist/tools/nextjs-security-tools.js +153 -0
- package/dist/tools/nextjs-security-tools.js.map +1 -0
- package/dist/tools/nextjs-tools.d.ts +15 -0
- package/dist/tools/nextjs-tools.d.ts.map +1 -0
- package/dist/tools/nextjs-tools.js +15 -0
- package/dist/tools/nextjs-tools.js.map +1 -0
- package/dist/tools/outline-tools.d.ts.map +1 -1
- package/dist/tools/outline-tools.js +20 -0
- package/dist/tools/outline-tools.js.map +1 -1
- package/dist/tools/pattern-tools.d.ts +8 -0
- package/dist/tools/pattern-tools.d.ts.map +1 -1
- package/dist/tools/pattern-tools.js +561 -3
- package/dist/tools/pattern-tools.js.map +1 -1
- package/dist/tools/perf-tools.d.ts +32 -0
- package/dist/tools/perf-tools.d.ts.map +1 -0
- package/dist/tools/perf-tools.js +227 -0
- package/dist/tools/perf-tools.js.map +1 -0
- package/dist/tools/php-tools.d.ts +176 -0
- package/dist/tools/php-tools.d.ts.map +1 -0
- package/dist/tools/php-tools.js +543 -0
- package/dist/tools/php-tools.js.map +1 -0
- package/dist/tools/prisma-schema-tools.d.ts +44 -0
- package/dist/tools/prisma-schema-tools.d.ts.map +1 -0
- package/dist/tools/prisma-schema-tools.js +358 -0
- package/dist/tools/prisma-schema-tools.js.map +1 -0
- package/dist/tools/project-tools.d.ts +115 -6
- package/dist/tools/project-tools.d.ts.map +1 -1
- package/dist/tools/project-tools.js +594 -217
- package/dist/tools/project-tools.js.map +1 -1
- package/dist/tools/pyproject-tools.d.ts +23 -0
- package/dist/tools/pyproject-tools.d.ts.map +1 -0
- package/dist/tools/pyproject-tools.js +133 -0
- package/dist/tools/pyproject-tools.js.map +1 -0
- package/dist/tools/pytest-tools.d.ts +20 -0
- package/dist/tools/pytest-tools.d.ts.map +1 -0
- package/dist/tools/pytest-tools.js +106 -0
- package/dist/tools/pytest-tools.js.map +1 -0
- package/dist/tools/python-callers.d.ts +28 -0
- package/dist/tools/python-callers.d.ts.map +1 -0
- package/dist/tools/python-callers.js +110 -0
- package/dist/tools/python-callers.js.map +1 -0
- package/dist/tools/python-circular-imports.d.ts +19 -0
- package/dist/tools/python-circular-imports.d.ts.map +1 -0
- package/dist/tools/python-circular-imports.js +126 -0
- package/dist/tools/python-circular-imports.js.map +1 -0
- package/dist/tools/python-deps-analyzer.d.ts +46 -0
- package/dist/tools/python-deps-analyzer.d.ts.map +1 -0
- package/dist/tools/python-deps-analyzer.js +227 -0
- package/dist/tools/python-deps-analyzer.js.map +1 -0
- package/dist/tools/query-tools.d.ts +23 -0
- package/dist/tools/query-tools.d.ts.map +1 -0
- package/dist/tools/query-tools.js +256 -0
- package/dist/tools/query-tools.js.map +1 -0
- package/dist/tools/react-tools.d.ts +218 -0
- package/dist/tools/react-tools.d.ts.map +1 -0
- package/dist/tools/react-tools.js +714 -0
- package/dist/tools/react-tools.js.map +1 -0
- package/dist/tools/report-tools.js +47 -0
- package/dist/tools/report-tools.js.map +1 -1
- package/dist/tools/review-diff-tools.d.ts +2 -6
- package/dist/tools/review-diff-tools.d.ts.map +1 -1
- package/dist/tools/review-diff-tools.js +51 -66
- package/dist/tools/review-diff-tools.js.map +1 -1
- package/dist/tools/room-tools.d.ts +36 -0
- package/dist/tools/room-tools.d.ts.map +1 -0
- package/dist/tools/room-tools.js +147 -0
- package/dist/tools/room-tools.js.map +1 -0
- package/dist/tools/route-tools.d.ts +27 -1
- package/dist/tools/route-tools.d.ts.map +1 -1
- package/dist/tools/route-tools.js +744 -18
- package/dist/tools/route-tools.js.map +1 -1
- package/dist/tools/ruff-tools.d.ts +32 -0
- package/dist/tools/ruff-tools.d.ts.map +1 -0
- package/dist/tools/ruff-tools.js +114 -0
- package/dist/tools/ruff-tools.js.map +1 -0
- package/dist/tools/search-ranker.d.ts.map +1 -1
- package/dist/tools/search-ranker.js +7 -0
- package/dist/tools/search-ranker.js.map +1 -1
- package/dist/tools/serialization-tools.d.ts +24 -0
- package/dist/tools/serialization-tools.d.ts.map +1 -0
- package/dist/tools/serialization-tools.js +156 -0
- package/dist/tools/serialization-tools.js.map +1 -0
- package/dist/tools/sql-tools.d.ts +234 -0
- package/dist/tools/sql-tools.d.ts.map +1 -0
- package/dist/tools/sql-tools.js +1037 -0
- package/dist/tools/sql-tools.js.map +1 -0
- package/dist/tools/status-tools.d.ts +10 -0
- package/dist/tools/status-tools.d.ts.map +1 -0
- package/dist/tools/status-tools.js +32 -0
- package/dist/tools/status-tools.js.map +1 -0
- package/dist/tools/symbol-tools.d.ts +19 -0
- package/dist/tools/symbol-tools.d.ts.map +1 -1
- package/dist/tools/symbol-tools.js +78 -4
- package/dist/tools/symbol-tools.js.map +1 -1
- package/dist/tools/test-impact-tools.d.ts +29 -0
- package/dist/tools/test-impact-tools.d.ts.map +1 -0
- package/dist/tools/test-impact-tools.js +156 -0
- package/dist/tools/test-impact-tools.js.map +1 -0
- package/dist/tools/typecheck-tools.d.ts +39 -0
- package/dist/tools/typecheck-tools.d.ts.map +1 -0
- package/dist/tools/typecheck-tools.js +191 -0
- package/dist/tools/typecheck-tools.js.map +1 -0
- package/dist/tools/wiring-tools.d.ts +19 -0
- package/dist/tools/wiring-tools.d.ts.map +1 -0
- package/dist/tools/wiring-tools.js +147 -0
- package/dist/tools/wiring-tools.js.map +1 -0
- package/dist/types.d.ts +9 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/framework-detect.d.ts +18 -2
- package/dist/utils/framework-detect.d.ts.map +1 -1
- package/dist/utils/framework-detect.js +150 -3
- package/dist/utils/framework-detect.js.map +1 -1
- package/dist/utils/import-graph.d.ts +36 -0
- package/dist/utils/import-graph.d.ts.map +1 -1
- package/dist/utils/import-graph.js +212 -9
- package/dist/utils/import-graph.js.map +1 -1
- package/dist/utils/language-detect.d.ts +21 -0
- package/dist/utils/language-detect.d.ts.map +1 -0
- package/dist/utils/language-detect.js +183 -0
- package/dist/utils/language-detect.js.map +1 -0
- package/dist/utils/nextjs-ast-readers.d.ts +44 -0
- package/dist/utils/nextjs-ast-readers.d.ts.map +1 -0
- package/dist/utils/nextjs-ast-readers.js +341 -0
- package/dist/utils/nextjs-ast-readers.js.map +1 -0
- package/dist/utils/nextjs-audit-cache.d.ts +51 -0
- package/dist/utils/nextjs-audit-cache.d.ts.map +1 -0
- package/dist/utils/nextjs-audit-cache.js +116 -0
- package/dist/utils/nextjs-audit-cache.js.map +1 -0
- package/dist/utils/nextjs-metadata-readers.d.ts +65 -0
- package/dist/utils/nextjs-metadata-readers.d.ts.map +1 -0
- package/dist/utils/nextjs-metadata-readers.js +447 -0
- package/dist/utils/nextjs-metadata-readers.js.map +1 -0
- package/dist/utils/nextjs.d.ts +42 -0
- package/dist/utils/nextjs.d.ts.map +1 -0
- package/dist/utils/nextjs.js +284 -0
- package/dist/utils/nextjs.js.map +1 -0
- package/dist/utils/python-import-resolver.d.ts +42 -0
- package/dist/utils/python-import-resolver.d.ts.map +1 -0
- package/dist/utils/python-import-resolver.js +101 -0
- package/dist/utils/python-import-resolver.js.map +1 -0
- package/dist/utils/python-imports.d.ts +28 -0
- package/dist/utils/python-imports.d.ts.map +1 -0
- package/dist/utils/python-imports.js +117 -0
- package/dist/utils/python-imports.js.map +1 -0
- package/dist/utils/react-alias.d.ts +15 -0
- package/dist/utils/react-alias.d.ts.map +1 -0
- package/dist/utils/react-alias.js +31 -0
- package/dist/utils/react-alias.js.map +1 -0
- package/dist/utils/test-file.d.ts.map +1 -1
- package/dist/utils/test-file.js +7 -0
- package/dist/utils/test-file.js.map +1 -1
- package/dist/utils/walk.d.ts +22 -0
- package/dist/utils/walk.d.ts.map +1 -1
- package/dist/utils/walk.js +70 -2
- package/dist/utils/walk.js.map +1 -1
- package/package.json +3 -2
- package/rules/codesift.md +34 -5
- package/rules/codesift.mdc +34 -5
- package/rules/codex.md +34 -5
- package/rules/gemini.md +34 -5
- package/src/parser/languages/tree-sitter-javascript.wasm +0 -0
- package/src/parser/languages/tree-sitter-kotlin.wasm +0 -0
- package/src/parser/languages/tree-sitter-php.wasm +0 -0
- package/src/parser/languages/tree-sitter-php_only.wasm +0 -0
- package/src/parser/languages/tree-sitter-python.wasm +0 -0
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# CodeSift -- Token-efficient code intelligence for AI agents
|
|
2
2
|
|
|
3
|
-
CodeSift indexes your codebase with tree-sitter AST parsing and gives AI agents
|
|
3
|
+
CodeSift indexes your codebase with tree-sitter AST parsing and gives AI agents 160 MCP tools (47 core + 113 discoverable) via CLI or MCP server. It uses 61-95% fewer tokens than raw grep/Read workflows on typical code navigation tasks.
|
|
4
4
|
|
|
5
5
|
**Works with:** Claude Code, Cursor, Codex, Gemini CLI, Zed, Aider, Continue — any MCP client.
|
|
6
6
|
|
|
@@ -149,7 +149,7 @@ codesift retrieve local/my-project \
|
|
|
149
149
|
| `codesift impact <repo> --since <ref>` | Blast radius of git changes + affected tests + risk scores per file |
|
|
150
150
|
| `codesift context <repo> <query>` | Assemble relevant code context. Supports `--level L0\|L1\|L2\|L3` for compression. |
|
|
151
151
|
| `codesift knowledge-map <repo>` | Module dependency map with circular dependency detection |
|
|
152
|
-
| `codesift trace-route <repo> <path>` | Trace HTTP route → handler → service → DB calls (NestJS/Next.js/Express) |
|
|
152
|
+
| `codesift trace-route <repo> <path>` | Trace HTTP route → handler → service → DB calls (NestJS/Next.js/Express/Ktor/Spring Boot Kotlin) |
|
|
153
153
|
| `codesift communities <repo>` | Louvain community detection — discover code clusters from import graph |
|
|
154
154
|
|
|
155
155
|
### Code analysis
|
|
@@ -160,7 +160,7 @@ codesift retrieve local/my-project \
|
|
|
160
160
|
| `codesift complexity <repo>` | Cyclomatic complexity + nesting depth per function |
|
|
161
161
|
| `codesift clones <repo>` | Copy-paste detection (hash bucketing + line similarity) |
|
|
162
162
|
| `codesift hotspots <repo>` | Git churn x complexity = risk-ranked file list |
|
|
163
|
-
| `codesift patterns <repo> <pattern>` | Structural anti-pattern search (
|
|
163
|
+
| `codesift patterns <repo> <pattern>` | Structural anti-pattern search (33 built-in + custom regex) |
|
|
164
164
|
|
|
165
165
|
### Cross-repo
|
|
166
166
|
|
|
@@ -185,28 +185,31 @@ codesift retrieve local/my-project \
|
|
|
185
185
|
| `codesift generate-claude-md <repo>` | Generate CLAUDE.md project summary |
|
|
186
186
|
| `codesift list-patterns` | List all built-in anti-pattern names |
|
|
187
187
|
|
|
188
|
-
## MCP tools (
|
|
188
|
+
## MCP tools (160 total — 47 core + 113 discoverable)
|
|
189
189
|
|
|
190
|
-
When running as an MCP server, CodeSift exposes
|
|
190
|
+
When running as an MCP server, CodeSift exposes 47 core tools directly. The remaining 113 niche tools are discoverable via `discover_tools` and `describe_tools`.
|
|
191
191
|
|
|
192
192
|
| Category | Tools |
|
|
193
193
|
|----------|-------|
|
|
194
194
|
| **Indexing** | `index_folder` (mtime skip, dirty propagation), `index_repo`, `index_file` (single-file reindex, 9ms), `list_repos`, `invalidate_cache` |
|
|
195
|
-
| **Search** | `search_symbols` (detail_level: compact/standard/full, token_budget), `search_text` (auto_group, group_by_file) |
|
|
196
|
-
| **Outline** | `get_file_tree`, `get_file_outline`, `get_repo_outline`, `suggest_queries` |
|
|
197
|
-
| **Symbol retrieval** | `get_symbol`, `get_symbols`, `find_and_show`, `get_context_bundle` |
|
|
198
|
-
| **References & graph** | `find_references` (LSP-enhanced), `trace_call_chain
|
|
195
|
+
| **Search** | `search_symbols` (detail_level: compact/standard/full, token_budget, kind filter incl. `component`/`hook`), `search_text` (auto_group, group_by_file, ranked) |
|
|
196
|
+
| **Outline** | `get_file_tree`, `get_file_outline`, `get_repo_outline`, `suggest_queries` (React-aware: suggests component/hook queries when detected) |
|
|
197
|
+
| **Symbol retrieval** | `get_symbol`, `get_symbols`, `find_and_show`, `get_context_bundle` (React enrichment: hooks_used, child_components, parent_components, wrapper pattern) |
|
|
198
|
+
| **References & graph** | `find_references` (LSP-enhanced), `trace_call_chain` (JSX-aware: `<Component>` = call edge; `filter_react_hooks` option), `impact_analysis`, `trace_route` (HTTP route → handler → DB — NestJS/Next.js/Express/Ktor/Spring Boot/Yii2/Laravel) |
|
|
199
|
+
| **React** | `trace_component_tree` (BFS JSX composition tree with Mermaid output), `analyze_hooks` (hook inventory, Rule of Hooks violations, custom hook composition), `analyze_renders` (re-render risk: inline props, missing memo, children-aware threshold, markdown output), `analyze_context_graph` (createContext → Provider → useContext consumer mapping) |
|
|
199
200
|
| **LSP bridge** | `go_to_definition` (LSP + index fallback), `get_type_info` (hover), `rename_symbol` (cross-file type-safe rename) |
|
|
200
201
|
| **Context & knowledge** | `assemble_context` (level: L0/L1/L2/L3), `get_knowledge_map`, `detect_communities` (Louvain) |
|
|
201
202
|
| **Conversation search** | `index_conversations`, `search_conversations`, `find_conversations_for_symbol` |
|
|
202
203
|
| **Diff** | `diff_outline`, `changed_symbols` |
|
|
203
204
|
| **Batch retrieval** | `codebase_retrieval` (batch multiple sub-queries with shared token budget, incl. `type: "conversation"`) |
|
|
204
205
|
| **Security** | `scan_secrets` (AST-aware secret detection, ~1,100 rules, masked output) |
|
|
205
|
-
| **
|
|
206
|
-
| **
|
|
206
|
+
| **PHP / Yii2** | `resolve_php_namespace` (PSR-4 FQCN→file), `analyze_activerecord` (model schema: tableName, relations, rules, behaviors), `trace_php_event` (event→listener chain), `find_php_views` (render→view mapping), `resolve_php_service` (Yii::\$app→concrete class), `php_security_scan` (compound: SQL injection, XSS, eval, exec, unserialize), `php_project_audit` (9-gate meta-tool), `find_php_n_plus_one` (foreach N+1 detection), `find_php_god_model` (oversized AR model detector) |
|
|
207
|
+
| **Analysis** | `find_dead_code` (framework-aware incl. React/Next.js route entry points), `analyze_complexity` (React: hook_count, state_count, effect_count, jsx_depth), `find_clones`, `analyze_hotspots`, `search_patterns` (33 built-in: JS/TS ×9, React ×20, Kotlin ×6, PHP ×4), `list_patterns`, `frequency_analysis` (AST subtree clustering), `find_perf_hotspots` (6 perf anti-patterns: unbounded queries, sync I/O, N+1 loops, unbounded parallel, missing pagination, expensive recompute), `explain_query` (Prisma→SQL with EXPLAIN ANALYZE), `audit_scan` (5-gate composite: dead code + clones + patterns + complexity + hotspots) |
|
|
208
|
+
| **Architecture** | `classify_roles` (symbol role classification via call graph), `check_boundaries` (architecture boundary enforcement), `ast_query` (structural grep via tree-sitter), `fan_in_fan_out` (import graph coupling: most-imported, most-dependent, hub files, coupling score 0-100), `co_change_analysis` (temporal coupling from git history: Jaccard similarity, cluster detection), `architecture_summary` (one-call composite: stack + communities + coupling + circular deps + LOC + entry points, Mermaid output) |
|
|
207
209
|
| **Cross-repo** | `cross_repo_search`, `cross_repo_refs` |
|
|
208
210
|
| **Report** | `generate_report` (standalone HTML with complexity, dead code, hotspots, communities) |
|
|
209
211
|
| **Tool discovery** | `discover_tools` (keyword search across hidden tools), `describe_tools` (full schema on demand, optional `reveal`) |
|
|
212
|
+
| **Meta** | `index_status` (check if repo is indexed: file/symbol counts, language breakdown, text_stub languages), `analyze_project` (stack + conventions detection), `get_extractor_versions` (parser language support) |
|
|
210
213
|
| **Utility** | `generate_claude_md` (architecture + behavioral guidance), `usage_stats` (with token savings tracking) |
|
|
211
214
|
|
|
212
215
|
### Conversation search
|
|
@@ -268,6 +271,58 @@ scan_secrets(repo="local/my-project", file_pattern="src/config/**")
|
|
|
268
271
|
- Severity mapping: cloud keys (AWS, GCP) = critical, API keys (OpenAI, GitHub) = high
|
|
269
272
|
- Inline warnings in `index_file` responses when secrets detected
|
|
270
273
|
|
|
274
|
+
### PHP / Yii2 support
|
|
275
|
+
|
|
276
|
+
Full PHP code intelligence with first-on-market Yii2 framework awareness. No other general-purpose MCP tool provides static Yii2 intelligence.
|
|
277
|
+
|
|
278
|
+
**Symbol extraction** (tree-sitter-based):
|
|
279
|
+
- Namespaces, classes, interfaces, traits, enums (PHP 8.1), functions, methods, properties, constants
|
|
280
|
+
- PHPDoc extraction, signature extraction with type hints and return types
|
|
281
|
+
- PHPUnit test detection: `TestCase` subclass = `test_suite`, `test*` methods = `test_case`, `setUp`/`tearDown` = `test_hook`
|
|
282
|
+
|
|
283
|
+
**Yii2 framework awareness:**
|
|
284
|
+
- Convention routing: `trace_route("site/index")` resolves to `SiteController::actionIndex()` (incl. module nesting)
|
|
285
|
+
- `analyze_project` detects Yii2 via `composer.json` and extracts: controllers, models, modules, widgets, behaviors, components, assets, config files
|
|
286
|
+
- 9 PHP-specific tools: namespace resolution (PSR-4), ActiveRecord schema extraction (relations, rules, behaviors), event/listener tracing, view mapping, service locator resolution, security scanning, project audit (9-gate), N+1 query detection, god-model detection
|
|
287
|
+
- **Auto-load**: PHP tools are automatically enabled when `composer.json` is detected at CWD — no need to call `discover_tools`/`describe_tools` first
|
|
288
|
+
|
|
289
|
+
**Laravel support:**
|
|
290
|
+
- Route tracing via `Route::get('/path', [Controller::class, 'method'])` pattern matching
|
|
291
|
+
- Convention extraction: controllers, middleware, models, routes, migrations
|
|
292
|
+
|
|
293
|
+
```bash
|
|
294
|
+
# Trace a Yii2 route
|
|
295
|
+
trace_route(repo, path="site/about")
|
|
296
|
+
|
|
297
|
+
# Analyze ActiveRecord models
|
|
298
|
+
analyze_activerecord(repo, model_name="User")
|
|
299
|
+
|
|
300
|
+
# PHP security scan (8 parallel checks)
|
|
301
|
+
php_security_scan(repo)
|
|
302
|
+
|
|
303
|
+
# Resolve PSR-4 namespace to file
|
|
304
|
+
resolve_php_namespace(repo, class_name="App\\Models\\User")
|
|
305
|
+
```
|
|
306
|
+
|
|
307
|
+
**LSP bridge:** Intelephense configured for go-to-definition, find-references, type-info, and rename across PHP files.
|
|
308
|
+
|
|
309
|
+
### Next.js intelligence
|
|
310
|
+
|
|
311
|
+
Deep Next.js static analysis — 10 dedicated tools covering routing, rendering, security, SEO, and architecture:
|
|
312
|
+
|
|
313
|
+
- `framework_audit` — one-call meta-audit: runs route map + metadata + server actions + boundary + data flow checks, returns composite score with prioritized findings
|
|
314
|
+
- `nextjs_route_map` — maps all App Router and Pages Router routes with rendering strategy (SSG/SSR/ISR/PPR), dynamic params, route groups, parallel routes, and intercepting routes
|
|
315
|
+
- `nextjs_metadata_audit` — detects missing/incomplete metadata exports, OpenGraph gaps, missing robots/sitemap, and SEO anti-patterns across all routes
|
|
316
|
+
- `nextjs_audit_server_actions` — security review of `"use server"` functions: input validation, auth checks, rate limiting, error exposure, and CSRF protection
|
|
317
|
+
- `nextjs_api_contract` — extracts API route contracts: HTTP methods, request/response shapes, middleware chain, and error responses
|
|
318
|
+
- `nextjs_boundary_analyzer` — analyzes `"use client"` boundaries: identifies unnecessary client components, bundle impact, and suggests server component opportunities
|
|
319
|
+
- `nextjs_link_integrity` — finds broken internal `<Link href>` references, orphan pages, and redirect chain issues
|
|
320
|
+
- `nextjs_data_flow` — detects data fetching waterfalls, redundant fetches, missing caching, and suggests parallel/streaming patterns
|
|
321
|
+
- `nextjs_middleware_coverage` — maps middleware.ts matcher patterns against routes to find unprotected endpoints
|
|
322
|
+
- `analyze_nextjs_components` — classifies components as server/client with confidence scoring and `suggested_fix` when boundary is suboptimal
|
|
323
|
+
|
|
324
|
+
**Auto-load**: Next.js tools are automatically enabled when `next` is detected in package.json — no manual discovery needed.
|
|
325
|
+
|
|
271
326
|
## When to use CodeSift vs grep
|
|
272
327
|
|
|
273
328
|
| Task | Best tool | Why |
|
|
@@ -291,11 +346,11 @@ scan_secrets(repo="local/my-project", file_pattern="src/config/**")
|
|
|
291
346
|
| Rename across files | `rename_symbol` | LSP type-safe rename in all files at once |
|
|
292
347
|
| Detect hardcoded secrets | `scan_secrets` | ~1,100 rules, AST-aware, masked output, auto-cached |
|
|
293
348
|
| Ranked text search | `search_text(ranked=true)` | Classifies hits by function, saves follow-up get_symbol calls |
|
|
294
|
-
| Find hidden tools | `discover_tools` + `describe_tools` |
|
|
349
|
+
| Find hidden tools | `discover_tools` + `describe_tools` | 102 tools hidden by default — search by keyword, get full schema |
|
|
295
350
|
| Find ALL occurrences | `grep -rn` | Exhaustive, no top_k cap |
|
|
296
351
|
| Count matches | `grep -c` | Simple exact count |
|
|
297
352
|
|
|
298
|
-
## Built-in anti-patterns
|
|
353
|
+
## Built-in anti-patterns (33 total)
|
|
299
354
|
|
|
300
355
|
The `patterns` command searches for common code quality issues across your codebase:
|
|
301
356
|
|
|
@@ -305,17 +360,76 @@ The `patterns` command searches for common code quality issues across your codeb
|
|
|
305
360
|
| `any-type` | `: any` or `as any` — lost type safety |
|
|
306
361
|
| `console-log` | `console.log/debug/info` in production code |
|
|
307
362
|
| `await-in-loop` | Sequential `await` inside `for` loops |
|
|
308
|
-
| `useEffect-no-cleanup` | React useEffect without cleanup return |
|
|
309
363
|
| `no-error-type` | Catch without `instanceof Error` narrowing |
|
|
310
364
|
| `toctou` | Read-then-write without atomic operation |
|
|
311
365
|
| `unbounded-findmany` | Prisma `findMany` without `take` limit |
|
|
312
366
|
| `scaffolding` | TODO/FIXME/HACK markers, Phase/Step stubs, "not implemented" throws |
|
|
367
|
+
| `runblocking-in-coroutine` | Kotlin: `runBlocking` inside suspend function — deadlock risk |
|
|
368
|
+
| `globalscope-launch` | Kotlin: `GlobalScope.launch/async` — lifecycle leak |
|
|
369
|
+
| `data-class-mutable` | Kotlin: `data class` with `var` property — breaks hashCode contract |
|
|
370
|
+
| `lateinit-no-check` | Kotlin: `lateinit var` without `isInitialized` check |
|
|
371
|
+
| `empty-when-branch` | Kotlin: empty `when` branch — swallowed case |
|
|
372
|
+
| `mutable-shared-state` | Kotlin: mutable `var` inside `object`/`companion` — thread-unsafe |
|
|
373
|
+
| **React (14 + 6 below)** | |
|
|
374
|
+
| `useEffect-no-cleanup` | useEffect without cleanup return — memory leak |
|
|
375
|
+
| `hook-in-condition` | Hook inside if/for/while/switch — Rule of Hooks violation |
|
|
376
|
+
| `useEffect-async` | async function directly in useEffect |
|
|
377
|
+
| `useEffect-object-dep` | Object/array literal in dep array — infinite re-render |
|
|
378
|
+
| `missing-display-name` | React.memo/forwardRef without displayName |
|
|
379
|
+
| `index-as-key` | Array index used as React key — incorrect reconciliation |
|
|
380
|
+
| `inline-handler` | Arrow function in JSX event handler — memoization killer |
|
|
381
|
+
| `conditional-render-hook` | Hook called after early return — Rule of Hooks violation |
|
|
382
|
+
| `dangerously-set-html` | dangerouslySetInnerHTML — XSS risk |
|
|
383
|
+
| `direct-dom-access` | document.getElementById/querySelector — use useRef |
|
|
384
|
+
| `unstable-default-value` | `= []`/`= {}` default in params — new ref every render |
|
|
385
|
+
| `jsx-falsy-and` | `{count && <Comp/>}` renders "0" when count is 0 |
|
|
386
|
+
| `nested-component-def` | Component inside component — remounts every render |
|
|
387
|
+
| `usecallback-no-deps` | useCallback/useMemo without dep array — useless memoization |
|
|
388
|
+
| **React 19 (4)** | |
|
|
389
|
+
| `react19-use-without-suspense` | use(promise) call — verify Suspense boundary |
|
|
390
|
+
| `react19-server-action-not-async` | Non-async function in `"use server"` file |
|
|
391
|
+
| `react19-form-action-non-function` | `<form action="url">` instead of action={fn} |
|
|
392
|
+
| `react19-useoptimistic-no-transition` | useOptimistic without useTransition pair |
|
|
393
|
+
| **RSC (2)** | |
|
|
394
|
+
| `rsc-non-serializable-prop` | Function passed as prop across RSC boundary |
|
|
395
|
+
| `rsc-date-prop` | Date object in JSX prop — loses prototype across boundary |
|
|
396
|
+
| **PHP (7)** | |
|
|
397
|
+
| `sql-injection-php` | User input flowing into SQL query |
|
|
398
|
+
| `xss-php` | Unescaped user input echoed to output |
|
|
399
|
+
| `eval-php` / `exec-php` | eval/shell execution — injection risk |
|
|
400
|
+
| `unserialize-php` | `unserialize()` on user input |
|
|
401
|
+
| `unescaped-yii-view` | Yii2 view without `Html::encode()` |
|
|
402
|
+
| `raw-query-yii` | Yii2 createCommand with string interpolation |
|
|
313
403
|
|
|
314
404
|
Custom regex is also supported: `codesift patterns local/project "Promise<.*any>"`.
|
|
315
405
|
|
|
406
|
+
### Performance anti-patterns (`find_perf_hotspots`)
|
|
407
|
+
|
|
408
|
+
A separate tool scans for performance-specific issues with balanced-brace loop body extraction (not just regex):
|
|
409
|
+
|
|
410
|
+
| Pattern | What it finds | Severity |
|
|
411
|
+
|---------|---------------|----------|
|
|
412
|
+
| `unbounded-query` | `findMany`/`find` without `take`/`limit` | high |
|
|
413
|
+
| `sync-in-handler` | `readFileSync`/`execSync` in route/handler/controller files | high |
|
|
414
|
+
| `n-plus-one` | DB/fetch call inside `for`/`while` loop body | high |
|
|
415
|
+
| `unbounded-parallel` | `Promise.all(arr.map(...))` without concurrency control | medium |
|
|
416
|
+
| `missing-pagination` | API response from unbounded list query | medium |
|
|
417
|
+
| `expensive-recompute` | Same method called 2+ times in loop body (excludes common methods) | low |
|
|
418
|
+
|
|
419
|
+
```bash
|
|
420
|
+
# Scan all patterns
|
|
421
|
+
find_perf_hotspots(repo)
|
|
422
|
+
|
|
423
|
+
# Only N+1 and unbounded queries
|
|
424
|
+
find_perf_hotspots(repo, patterns="n-plus-one,unbounded-query")
|
|
425
|
+
|
|
426
|
+
# Scope to API directory
|
|
427
|
+
find_perf_hotspots(repo, file_pattern="src/api")
|
|
428
|
+
```
|
|
429
|
+
|
|
316
430
|
## MCP server setup
|
|
317
431
|
|
|
318
|
-
CodeSift runs as an [MCP](https://modelcontextprotocol.io) server, exposing
|
|
432
|
+
CodeSift runs as an [MCP](https://modelcontextprotocol.io) server, exposing 160 tools to AI agents (47 core + 113 discoverable). The fastest setup method is `codesift setup <platform>` which handles everything automatically. Manual configuration is also supported:
|
|
319
433
|
|
|
320
434
|
### OpenAI Codex
|
|
321
435
|
|
|
@@ -478,7 +592,7 @@ All configuration is via environment variables.
|
|
|
478
592
|
|
|
479
593
|
7. **Agent onboarding** -- MCP `instructions` field sends ~800 tokens of guidance (tool discovery, hints, ALWAYS/NEVER rules) to every client automatically. `codesift setup` installs full rules files per platform + Claude Code hooks for enforcement.
|
|
480
594
|
|
|
481
|
-
8. **LSP bridge** (optional) -- When a language server is installed (typescript-language-server, pylsp, gopls, rust-analyzer, solargraph, intelephense), CodeSift uses it for type-safe `find_references`, precise `go_to_definition`, `get_type_info` via hover, and cross-file `rename_symbol`. Falls back to tree-sitter/grep when LSP is unavailable. Lazy start + 5 min idle kill — zero overhead when not used.
|
|
595
|
+
8. **LSP bridge** (optional) -- When a language server is installed (typescript-language-server, pylsp, gopls, rust-analyzer, kotlin-language-server, solargraph, intelephense), CodeSift uses it for type-safe `find_references`, precise `go_to_definition`, `get_type_info` via hover, and cross-file `rename_symbol`. Falls back to tree-sitter/grep when LSP is unavailable. Lazy start + 5 min idle kill — zero overhead when not used.
|
|
482
596
|
|
|
483
597
|
## Glob pattern support
|
|
484
598
|
|
|
@@ -492,7 +606,14 @@ File pattern parameters (`file_pattern`) support full glob syntax via [picomatch
|
|
|
492
606
|
|
|
493
607
|
## Supported languages
|
|
494
608
|
|
|
495
|
-
TypeScript, JavaScript (JSX/TSX), Python, Go, Rust, Java, Ruby, PHP, Markdown, CSS, Prisma, Astro
|
|
609
|
+
TypeScript, JavaScript (JSX/TSX), Python, Go, Rust, **Kotlin**, Java, Ruby, PHP, Markdown, CSS, Prisma, **Astro**.
|
|
610
|
+
|
|
611
|
+
**React/JSX/TSX** has first-class support across 4 waves + Tier 3 polish: `component` and `hook` SymbolKind values, JSX-aware call graph (all graph tools see `<Component>` usage as call edges), 20 React anti-patterns including multiline `hook-in-condition` and bug-free `nested-component-def` detection, `trace_component_tree` (BFS JSX composition tree), `analyze_hooks` (hook inventory + Rule of Hooks violation detection), `analyze_renders` (re-render risk with children-aware threshold + markdown output), `buildContextGraph` (createContext → Provider → useContext consumer mapping), React complexity metrics (hook_count, state_count, effect_count, jsx_depth), enriched `get_context_bundle` (hooks_used, child_components, parent_components, wrapper pattern incl. forwardRef generics, props_type), `filter_react_hooks` option on `trace_call_chain`, audit_scan REACT gate, React-aware review_diff (skips React patterns on non-.tsx diffs), generate_report React section (component/hook stats, top hooks), React/Next.js/Remix route entry point detection (prevents dead code false positives), shadcn/ui + Tailwind + form library detection in ReactConventions, `@/` alias resolution, RSC boundary detection (`"use client"`/`"use server"`), and build tool detection (Vite, CRA, webpack, Parcel, esbuild, Rspack, Rsbuild, Turbopack). Auto-loaded on React projects (package.json + .tsx files).
|
|
612
|
+
|
|
613
|
+
**Astro** has deep framework intelligence — the first and only static code intelligence for Astro in the MCP ecosystem. 4 dedicated tools: `astro_analyze_islands` (detect all `client:*`/`server:defer` directives, group by framework, track server islands), `astro_hydration_audit` (12 anti-pattern detectors AH01-AH12 with A/B/C/D scoring — catches `client:load` on Astro components, islands in loops, missing framework hints, below-fold eager hydration, and more), `astro_route_map` (file-based routing analysis with dynamic params, route conflicts, rendering mode per page, endpoint method detection), `astro_config_analyze` (tree-sitter AST walker for `astro.config.mjs` — extracts output mode, adapter, integrations, i18n, redirects with `config_resolution` honesty field). Also: 6 Astro anti-patterns in `search_patterns`, Astro-aware `trace_route`, `analyze_project` returns full `astro_conventions`, `.astro` extension normalization in import graph, framework detection for dead-code analysis, `.mdx` file indexing. Template parser (`parseAstroTemplate`) extracts islands, slots, component usages, and directives from HTML template section with balanced-brace tracking, conditional/loop detection, and landmark section awareness.
|
|
614
|
+
|
|
615
|
+
Kotlin support includes full tree-sitter parsing with a dedicated extractor for functions, classes (data/sealed/enum/abstract/annotation), interfaces, objects (singleton + companion), properties (val/var/const), type aliases, extension functions, suspend functions, generics, KDoc comments, and JUnit test detection (@Test, @BeforeEach, @AfterEach, @BeforeAll, @AfterAll). Route tracing supports Ktor DSL and Spring Boot Kotlin. Six Kotlin anti-patterns are built-in.
|
|
616
|
+
| PHP/Yii2 support | src/parser/extractors/php.ts (+ PHPDoc @property/@method synthesis), src/tools/php-tools.ts (9 tools: resolve_php_namespace, analyze_activerecord, trace_php_event, find_php_views, resolve_php_service, php_security_scan, php_project_audit, find_php_n_plus_one, find_php_god_model), src/tools/project-tools.ts (Yii2Conventions), src/tools/route-tools.ts (findYii2Handlers, findLaravelHandlers), src/tools/pattern-tools.ts (8 PHP anti-patterns), src/tools/graph-tools.ts (PHP method call detection), src/utils/import-graph.ts (PHP require/include + PSR-4 cross-file edges via resolvePhpNamespace), src/utils/walk.ts (BACKUP_FILE_PATTERNS auto-exclusion), src/parser/parser-manager.ts (error recovery try/catch), src/lsp/lsp-servers.ts (Intelephense), scripts/download-wasm.ts (tree-sitter-php@0.23.12) |
|
|
496
617
|
|
|
497
618
|
## Development
|
|
498
619
|
|
|
@@ -502,7 +623,7 @@ cd codesift-mcp
|
|
|
502
623
|
npm install
|
|
503
624
|
npm run download-wasm # Download tree-sitter WASM grammars
|
|
504
625
|
npm run build # TypeScript compilation
|
|
505
|
-
npm test # Run tests (Vitest,
|
|
626
|
+
npm test # Run tests (Vitest, 1300+ tests)
|
|
506
627
|
npm run test:coverage # Coverage report
|
|
507
628
|
npm run lint # Type check (tsc --noEmit)
|
|
508
629
|
```
|
|
@@ -555,7 +676,7 @@ If using `npx -y codesift-mcp` (the default in MCP config), the latest version i
|
|
|
555
676
|
### Checklist before publishing
|
|
556
677
|
|
|
557
678
|
- [ ] `npm run build` — 0 TypeScript errors
|
|
558
|
-
- [ ] `npm test` —
|
|
679
|
+
- [ ] `npm test` — 1300+ tests pass
|
|
559
680
|
- [ ] `rules/codesift.md` updated if hints or tools changed
|
|
560
681
|
- [ ] `src/instructions.ts` updated if rules changed (compact version)
|
|
561
682
|
- [ ] `README.md` updated if features added
|
|
@@ -585,7 +706,9 @@ BSL-1.1
|
|
|
585
706
|
| Glob support | src/utils/glob.ts (picomatch) |
|
|
586
707
|
| LSP bridge | src/lsp/lsp-client.ts, src/lsp/lsp-manager.ts, src/lsp/lsp-servers.ts, src/lsp/lsp-tools.ts |
|
|
587
708
|
| Secret scanning | src/tools/secret-tools.ts, @sanity-labs/secret-scan (package.json) |
|
|
588
|
-
| Languages | src/parser/parser-manager.ts, src/parser/extractors/ |
|
|
709
|
+
| Languages | src/parser/parser-manager.ts, src/parser/extractors/ (incl. kotlin.ts) |
|
|
710
|
+
| Kotlin support | kotlin.ts, graph-tools KEYWORD_SET, complexity when/?.let, test-file Test.kt, lsp-tools .kt, import-graph FQN, route-tools Ktor/Spring, pattern-tools 6 anti-patterns |
|
|
711
|
+
| PHP/Yii2 support | src/parser/extractors/php.ts (+ PHPDoc @property/@method synthesis), src/tools/php-tools.ts (9 tools: resolve_php_namespace, analyze_activerecord, trace_php_event, find_php_views, resolve_php_service, php_security_scan, php_project_audit, find_php_n_plus_one, find_php_god_model), src/tools/project-tools.ts (Yii2Conventions), src/tools/route-tools.ts (findYii2Handlers, findLaravelHandlers), src/tools/pattern-tools.ts (8 PHP anti-patterns), src/tools/graph-tools.ts (PHP method call detection), src/utils/import-graph.ts (PHP require/include + PSR-4 cross-file edges via resolvePhpNamespace), src/utils/walk.ts (BACKUP_FILE_PATTERNS auto-exclusion), src/parser/parser-manager.ts (error recovery try/catch), src/lsp/lsp-servers.ts (Intelephense), scripts/download-wasm.ts (tree-sitter-php@0.23.12) |
|
|
589
712
|
| Development | package.json:scripts (line 19-28) |
|
|
590
713
|
| Git URL | package.json:repository (line 62-64) |
|
|
591
714
|
-->
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HonoCache — in-memory LRU cache for HonoAppModel.
|
|
3
|
+
*
|
|
4
|
+
* Design decisions (spec D4 + adversarial review fixes):
|
|
5
|
+
* - True LRU: delete+set on hit to maintain insertion-order-based recency
|
|
6
|
+
* - Deep freeze on insert: prevent tool-cross-mutation of shared model
|
|
7
|
+
* - Concurrent build protection: in-flight promise deduplication
|
|
8
|
+
* - Path canonicalization in invalidate() for consistent matching
|
|
9
|
+
* - Session-scoped (no persistence): cleared on process exit
|
|
10
|
+
*
|
|
11
|
+
* Spec: docs/specs/2026-04-10-hono-framework-intelligence-spec.md
|
|
12
|
+
* Plan: docs/specs/2026-04-10-hono-framework-intelligence-plan.md (Task 10)
|
|
13
|
+
*/
|
|
14
|
+
import type { HonoAppModel } from "../parser/extractors/hono-model.js";
|
|
15
|
+
interface Extractor {
|
|
16
|
+
parse(entryFile: string): Promise<HonoAppModel>;
|
|
17
|
+
}
|
|
18
|
+
export declare class HonoCache {
|
|
19
|
+
private entries;
|
|
20
|
+
private building;
|
|
21
|
+
private maxEntries;
|
|
22
|
+
constructor(maxEntries?: number);
|
|
23
|
+
/**
|
|
24
|
+
* Get the HonoAppModel for a repo. Builds on miss, returns cached on hit.
|
|
25
|
+
* Concurrent calls during cold start share the same in-flight promise.
|
|
26
|
+
* Returned model is deeply frozen — do NOT attempt to mutate.
|
|
27
|
+
*/
|
|
28
|
+
get(repo: string, entryFile: string, extractor: Extractor): Promise<HonoAppModel>;
|
|
29
|
+
/**
|
|
30
|
+
* Synchronous peek — returns the cached model without building.
|
|
31
|
+
* Returns null on miss. Does NOT reorder LRU (peek is passive).
|
|
32
|
+
* Used by findDeadCode and other hot paths that cannot await.
|
|
33
|
+
*/
|
|
34
|
+
peek(repo: string): HonoAppModel | null;
|
|
35
|
+
/**
|
|
36
|
+
* Invalidate any cache entry whose files_used contains the given path.
|
|
37
|
+
* Canonicalizes via realpath before comparison for symlink/extension safety.
|
|
38
|
+
*/
|
|
39
|
+
invalidate(absolutePath: string): void;
|
|
40
|
+
/**
|
|
41
|
+
* Clear cache entries. If repo is provided, only that repo's entries.
|
|
42
|
+
* Otherwise clears all.
|
|
43
|
+
*/
|
|
44
|
+
clear(repo?: string): void;
|
|
45
|
+
private enforceLRU;
|
|
46
|
+
}
|
|
47
|
+
/** Singleton instance for the application. */
|
|
48
|
+
export declare const honoCache: HonoCache;
|
|
49
|
+
export {};
|
|
50
|
+
//# sourceMappingURL=hono-cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hono-cache.d.ts","sourceRoot":"","sources":["../../src/cache/hono-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AASvE,UAAU,SAAS;IACjB,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;CACjD;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,OAAO,CAAiC;IAChD,OAAO,CAAC,QAAQ,CAA4C;IAC5D,OAAO,CAAC,UAAU,CAAS;gBAEf,UAAU,SAAsB;IAI5C;;;;OAIG;IACG,GAAG,CACP,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,YAAY,CAAC;IAgCxB;;;;OAIG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;IAOvC;;;OAGG;IACH,UAAU,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAYtC;;;OAGG;IACH,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAY1B,OAAO,CAAC,UAAU;CASnB;AA2BD,8CAA8C;AAC9C,eAAO,MAAM,SAAS,WAAkB,CAAC"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HonoCache — in-memory LRU cache for HonoAppModel.
|
|
3
|
+
*
|
|
4
|
+
* Design decisions (spec D4 + adversarial review fixes):
|
|
5
|
+
* - True LRU: delete+set on hit to maintain insertion-order-based recency
|
|
6
|
+
* - Deep freeze on insert: prevent tool-cross-mutation of shared model
|
|
7
|
+
* - Concurrent build protection: in-flight promise deduplication
|
|
8
|
+
* - Path canonicalization in invalidate() for consistent matching
|
|
9
|
+
* - Session-scoped (no persistence): cleared on process exit
|
|
10
|
+
*
|
|
11
|
+
* Spec: docs/specs/2026-04-10-hono-framework-intelligence-spec.md
|
|
12
|
+
* Plan: docs/specs/2026-04-10-hono-framework-intelligence-plan.md (Task 10)
|
|
13
|
+
*/
|
|
14
|
+
import { existsSync, realpathSync } from "node:fs";
|
|
15
|
+
const DEFAULT_MAX_ENTRIES = 10;
|
|
16
|
+
export class HonoCache {
|
|
17
|
+
entries = new Map();
|
|
18
|
+
building = new Map();
|
|
19
|
+
maxEntries;
|
|
20
|
+
constructor(maxEntries = DEFAULT_MAX_ENTRIES) {
|
|
21
|
+
this.maxEntries = maxEntries;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Get the HonoAppModel for a repo. Builds on miss, returns cached on hit.
|
|
25
|
+
* Concurrent calls during cold start share the same in-flight promise.
|
|
26
|
+
* Returned model is deeply frozen — do NOT attempt to mutate.
|
|
27
|
+
*/
|
|
28
|
+
async get(repo, entryFile, extractor) {
|
|
29
|
+
const key = `${repo}:${entryFile}`;
|
|
30
|
+
// Cache hit: move to end (true LRU) and return
|
|
31
|
+
const cached = this.entries.get(key);
|
|
32
|
+
if (cached) {
|
|
33
|
+
this.entries.delete(key);
|
|
34
|
+
this.entries.set(key, cached);
|
|
35
|
+
return cached.model;
|
|
36
|
+
}
|
|
37
|
+
// Concurrent build protection: reuse in-flight promise
|
|
38
|
+
const inflight = this.building.get(key);
|
|
39
|
+
if (inflight)
|
|
40
|
+
return inflight;
|
|
41
|
+
// Build new model
|
|
42
|
+
const promise = extractor
|
|
43
|
+
.parse(entryFile)
|
|
44
|
+
.then((model) => {
|
|
45
|
+
const frozen = deepFreeze(model);
|
|
46
|
+
this.entries.set(key, { model: frozen, repo });
|
|
47
|
+
this.enforceLRU();
|
|
48
|
+
return frozen;
|
|
49
|
+
})
|
|
50
|
+
.finally(() => {
|
|
51
|
+
this.building.delete(key);
|
|
52
|
+
});
|
|
53
|
+
this.building.set(key, promise);
|
|
54
|
+
return promise;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Synchronous peek — returns the cached model without building.
|
|
58
|
+
* Returns null on miss. Does NOT reorder LRU (peek is passive).
|
|
59
|
+
* Used by findDeadCode and other hot paths that cannot await.
|
|
60
|
+
*/
|
|
61
|
+
peek(repo) {
|
|
62
|
+
for (const entry of this.entries.values()) {
|
|
63
|
+
if (entry.repo === repo)
|
|
64
|
+
return entry.model;
|
|
65
|
+
}
|
|
66
|
+
return null;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Invalidate any cache entry whose files_used contains the given path.
|
|
70
|
+
* Canonicalizes via realpath before comparison for symlink/extension safety.
|
|
71
|
+
*/
|
|
72
|
+
invalidate(absolutePath) {
|
|
73
|
+
const canonical = canonicalize(absolutePath);
|
|
74
|
+
for (const [key, entry] of this.entries) {
|
|
75
|
+
const match = entry.model.files_used.some((f) => f === canonical || f === absolutePath);
|
|
76
|
+
if (match) {
|
|
77
|
+
this.entries.delete(key);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Clear cache entries. If repo is provided, only that repo's entries.
|
|
83
|
+
* Otherwise clears all.
|
|
84
|
+
*/
|
|
85
|
+
clear(repo) {
|
|
86
|
+
if (!repo) {
|
|
87
|
+
this.entries.clear();
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
for (const [key, entry] of this.entries) {
|
|
91
|
+
if (entry.repo === repo) {
|
|
92
|
+
this.entries.delete(key);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
enforceLRU() {
|
|
97
|
+
while (this.entries.size > this.maxEntries) {
|
|
98
|
+
// Map.keys() returns in insertion order — first key is LRU
|
|
99
|
+
const oldest = this.entries.keys().next().value;
|
|
100
|
+
if (oldest !== undefined) {
|
|
101
|
+
this.entries.delete(oldest);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
function canonicalize(filePath) {
|
|
107
|
+
try {
|
|
108
|
+
if (existsSync(filePath)) {
|
|
109
|
+
return realpathSync.native(filePath);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
catch {
|
|
113
|
+
// Fall through
|
|
114
|
+
}
|
|
115
|
+
return filePath;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Recursively freeze an object and all its nested objects/arrays.
|
|
119
|
+
* Prevents tool-cross-mutation when multiple tools share the cached model.
|
|
120
|
+
*/
|
|
121
|
+
function deepFreeze(obj) {
|
|
122
|
+
Object.freeze(obj);
|
|
123
|
+
for (const value of Object.values(obj)) {
|
|
124
|
+
if (value && typeof value === "object" && !Object.isFrozen(value)) {
|
|
125
|
+
deepFreeze(value);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
return obj;
|
|
129
|
+
}
|
|
130
|
+
/** Singleton instance for the application. */
|
|
131
|
+
export const honoCache = new HonoCache();
|
|
132
|
+
//# sourceMappingURL=hono-cache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hono-cache.js","sourceRoot":"","sources":["../../src/cache/hono-cache.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/setup.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAMvD,eAAO,MAAM,mBAAmB,kDAAmD,CAAC;AACpF,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5D,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,oBAAoB,CAAC;CACtD;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,eAAe,GAAG,OAAO,CAAC;IACtE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAiJD,wBAAsB,YAAY,CAChC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,kBAAkB,CAAC,CA2E7B;AAkHD,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CActD;
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAMvD,eAAO,MAAM,mBAAmB,kDAAmD,CAAC;AACpF,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5D,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,oBAAoB,CAAC;CACtD;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,eAAe,GAAG,OAAO,CAAC;IACtE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAiJD,wBAAsB,YAAY,CAChC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,kBAAkB,CAAC,CA2E7B;AAkHD,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CActD;AAaD,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CA8BrD;AA+BD,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAiBtD;AAMD,OAAO,EAAE,eAAe,EAAE,CAAC;AAS3B,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAKjF;AAMD,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AASD,wBAAsB,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAsB1F;AAED,wBAAsB,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAO7E;AAkBD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,CAAC,EAAE,kBAAkB,GAAG,MAAM,CAM/F;AAED,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,MAAM,EAAE,CAAC,CAiCnB"}
|
package/dist/cli/setup.js
CHANGED
|
@@ -287,14 +287,29 @@ export async function setupClaudeHooks() {
|
|
|
287
287
|
// ---------------------------------------------------------------------------
|
|
288
288
|
// Codex CLI hooks — ~/.codex/hooks.json
|
|
289
289
|
// ---------------------------------------------------------------------------
|
|
290
|
-
// Codex only
|
|
291
|
-
// No PreCompact event.
|
|
290
|
+
// Codex PreToolUse/PostToolUse only intercept the Bash tool (not Read/Write/MCP).
|
|
291
|
+
// No PreCompact event. Codex passes hook input via stdin (like Gemini).
|
|
292
|
+
//
|
|
293
|
+
// Hooks installed:
|
|
294
|
+
// PreToolUse (Bash) → precheck-bash: redirect find/grep to CodeSift
|
|
295
|
+
// Stop → index-conversations: index session on end
|
|
292
296
|
// ---------------------------------------------------------------------------
|
|
293
297
|
export async function setupCodexHooks() {
|
|
294
298
|
const configDir = process.env["CODEX_HOME"] ?? join(homedir(), ".codex");
|
|
295
299
|
const hooksPath = join(configDir, "hooks.json");
|
|
296
300
|
await ensureDir(configDir);
|
|
297
301
|
const { root, hooks } = await loadHooksSection(hooksPath);
|
|
302
|
+
// PreToolUse: redirect find/grep bash commands to CodeSift tools
|
|
303
|
+
if (!Array.isArray(hooks["PreToolUse"])) {
|
|
304
|
+
hooks["PreToolUse"] = [];
|
|
305
|
+
}
|
|
306
|
+
if (!hasCodesiftHook(hooks["PreToolUse"])) {
|
|
307
|
+
hooks["PreToolUse"].push({
|
|
308
|
+
matcher: "Bash",
|
|
309
|
+
hooks: [{ type: "command", command: "codesift precheck-bash --stdin" }],
|
|
310
|
+
});
|
|
311
|
+
}
|
|
312
|
+
// Stop: index conversations on session end
|
|
298
313
|
if (!Array.isArray(hooks["Stop"])) {
|
|
299
314
|
hooks["Stop"] = [];
|
|
300
315
|
}
|
package/dist/cli/setup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,4 +6,17 @@ export declare function formatTraceRouteCompact(raw: unknown): string;
|
|
|
6
6
|
export declare function formatTraceRouteCounts(raw: unknown): string;
|
|
7
7
|
export declare function formatHotspotsCompact(raw: unknown): string;
|
|
8
8
|
export declare function formatHotspotsCounts(raw: unknown): string;
|
|
9
|
+
/** Grouped counts by router + rendering, then show top N URLs. */
|
|
10
|
+
export declare function formatNextjsRouteMapCompact(raw: unknown): string;
|
|
11
|
+
export declare function formatNextjsRouteMapCounts(raw: unknown): string;
|
|
12
|
+
export declare function formatNextjsMetadataAuditCompact(raw: unknown): string;
|
|
13
|
+
export declare function formatNextjsMetadataAuditCounts(raw: unknown): string;
|
|
14
|
+
export declare function formatFrameworkAuditCompact(raw: unknown): string;
|
|
15
|
+
export declare function formatFrameworkAuditCounts(raw: unknown): string;
|
|
16
|
+
export declare function formatServerActionsAuditCompact(raw: unknown): string;
|
|
17
|
+
export declare function formatServerActionsAuditCounts(raw: unknown): string;
|
|
18
|
+
export declare function formatApiContractCompact(raw: unknown): string;
|
|
19
|
+
export declare function formatApiContractCounts(raw: unknown): string;
|
|
20
|
+
export declare function formatBoundaryAnalyzerCompact(raw: unknown): string;
|
|
21
|
+
export declare function formatBoundaryAnalyzerCounts(raw: unknown): string;
|
|
9
22
|
//# sourceMappingURL=formatters-shortening.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatters-shortening.d.ts","sourceRoot":"","sources":["../src/formatters-shortening.ts"],"names":[],"mappings":"AAqCA,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAW5D;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAI3D;AAWD,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAaxD;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAGvD;AAaD,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CA2B5D;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAG3D;AAMD,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAU1D;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAGzD"}
|
|
1
|
+
{"version":3,"file":"formatters-shortening.d.ts","sourceRoot":"","sources":["../src/formatters-shortening.ts"],"names":[],"mappings":"AAqCA,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAW5D;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAI3D;AAWD,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAaxD;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAGvD;AAaD,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CA2B5D;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAG3D;AAMD,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAU1D;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAGzD;AAqBD,kEAAkE;AAClE,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CA4BhE;AAED,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAG/D;AAuBD,wBAAgB,gCAAgC,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAerE;AAED,wBAAgB,+BAA+B,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAGpE;AAiBD,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAQhE;AAED,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAG/D;AAwBD,wBAAgB,+BAA+B,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAsBpE;AAED,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAInE;AAmBD,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAkB7D;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAI5D;AAsBD,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAkBlE;AAED,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAIjE"}
|