{"passport":{"unfragile":{"@version":"1.0","version":"2026-05","artifact":{"id":"npm_npm-ts-scan","slug":"npm-ts-scan","name":"ts-scan","type":"cli","url":"https://www.npmjs.com/package/ts-scan","page_url":"https://unfragile.ai/npm-ts-scan","categories":["code-editors"],"tags":["typescript","cli","mcp","code-analysis","type-checking","language-service","model-context-protocol","code-intelligence","static-analysis"],"pricing":{"model":"open_source","free":true,"starting_price":null},"status":"active","verified":false},"capabilities":[{"id":"npm_npm-ts-scan__cap_0","uri":"capability://code.generation.editing.typescript.export.import.graph.analysis","name":"typescript export/import graph analysis","description":"Leverages the TypeScript Language Service to parse and analyze module dependency graphs, extracting all named exports, default exports, and import statements from TypeScript/JavaScript files. Uses the compiler API's SourceFile AST traversal to identify export declarations and their symbols, enabling precise mapping of what each module exposes and consumes without executing code.","intents":["I need to understand what a TypeScript module exports so I can use it correctly in my code","I want to find all files that import a specific symbol to understand its usage patterns","I need to detect unused exports or circular dependencies in my codebase","I'm refactoring and need to know the full dependency graph before moving files"],"best_for":["TypeScript developers analyzing large codebases","Teams building code generation or scaffolding tools","Developers integrating code intelligence into LLM agents via MCP"],"limitations":["Requires a valid TypeScript configuration (tsconfig.json) to resolve module paths correctly","Cannot analyze dynamic imports or require() calls with non-literal arguments","Performance degrades on very large monorepos (10k+ files) without proper caching strategy","Does not track re-exports across multiple module hops automatically"],"requires":["Node.js 14+","TypeScript 4.0+ installed locally or as peer dependency","Valid tsconfig.json in project root or specified path","Read access to source files"],"input_types":["TypeScript source files (.ts, .tsx)","JavaScript files (.js, .jsx)","tsconfig.json configuration"],"output_types":["JSON structured export/import metadata","Symbol name arrays","Module path strings"],"categories":["code-generation-editing","static-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"npm_npm-ts-scan__cap_1","uri":"capability://code.generation.editing.symbol.resolution.and.type.checking","name":"symbol resolution and type checking","description":"Integrates the TypeScript Language Service's symbol resolution engine to locate symbol definitions, trace their types, and report type errors at specific locations in code. Queries the compiler's getDefinitionAtPosition() and getQuickInfoAtPosition() APIs to resolve symbols to their declaration sites and retrieve type information without full compilation.","intents":["I need to find where a symbol is defined so I can navigate to its source","I want to check if my code has type errors before running it","I need to understand the inferred type of a variable at a specific location","I'm building an IDE feature and need symbol information for autocomplete or hover tooltips"],"best_for":["IDE/editor plugin developers needing language-aware features","LLM agents that need to understand code semantics for refactoring","CI/CD pipelines requiring fast type-checking without full compilation","Code review tools that need to flag type errors programmatically"],"limitations":["Requires TypeScript to be installed in the project (cannot work with plain JavaScript without a jsconfig.json)","Type checking is incremental and may miss errors if source files are not properly tracked","Cannot resolve symbols across monorepo boundaries without proper path mapping in tsconfig.json","Performance depends on project size; large projects may need caching to avoid repeated analysis"],"requires":["TypeScript 4.0+","Valid tsconfig.json with proper module resolution settings","Source files must be accessible and syntactically valid"],"input_types":["File path and position (line/column)","TypeScript source code","tsconfig.json"],"output_types":["Symbol definition location (file, line, column)","Type information (string representation)","Diagnostic error objects with location and message"],"categories":["code-generation-editing","static-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"npm_npm-ts-scan__cap_2","uri":"capability://tool.use.integration.mcp.server.integration.for.llm.context","name":"mcp server integration for llm context","description":"Exposes TypeScript code intelligence capabilities as a Model Context Protocol (MCP) server, allowing LLM agents and Claude to query code structure, symbols, and type information through a standardized tool interface. Implements MCP resource and tool schemas that map code analysis operations to callable functions with structured input/output contracts.","intents":["I want Claude to understand my TypeScript codebase so it can generate accurate code changes","I need an LLM agent to resolve symbol definitions and type errors as part of a code refactoring workflow","I'm building a multi-agent system where one agent needs to query another agent's code knowledge","I want to give my AI assistant read-only access to code intelligence without exposing the full codebase"],"best_for":["Developers integrating Claude or other LLMs into TypeScript development workflows","Teams building AI-assisted code generation or refactoring agents","Organizations needing to expose code intelligence to LLMs with controlled access","MCP ecosystem builders extending language support"],"limitations":["MCP server adds network/IPC overhead compared to direct API calls (typically 10-50ms per request)","LLM context window limits how much code metadata can be returned per query","Requires MCP client implementation on the LLM side (Claude, custom agents)","No built-in caching of analysis results; repeated queries re-analyze the same code"],"requires":["Node.js 14+","TypeScript 4.0+","MCP client (Claude, custom agent, or MCP inspector)","Valid TypeScript project with tsconfig.json"],"input_types":["MCP tool calls with JSON parameters","File paths and symbol names","Position coordinates (line/column)"],"output_types":["JSON-serialized code metadata","Symbol definitions and type information","Diagnostic error reports"],"categories":["tool-use-integration","memory-knowledge"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"npm_npm-ts-scan__cap_3","uri":"capability://data.processing.analysis.batch.file.analysis.and.reporting","name":"batch file analysis and reporting","description":"Processes multiple TypeScript files in a single invocation, collecting exports, imports, type errors, and symbol information across the entire codebase or a specified subset. Aggregates results into a unified report format (JSON, text, or structured output) that can be piped to other tools or stored for further analysis.","intents":["I need a report of all type errors in my project to prioritize fixes","I want to export the full module dependency graph as JSON for visualization or analysis","I need to audit all exports across my codebase to find unused or incorrectly typed ones","I'm generating documentation and need to extract all public APIs from my TypeScript library"],"best_for":["DevOps engineers building code quality gates in CI/CD pipelines","Documentation generators that need to extract API signatures","Teams auditing large codebases for type safety or API consistency","Developers building code visualization or dependency analysis tools"],"limitations":["Batch processing scales linearly with file count; 10k+ files may take minutes without parallelization","Output can be very large for big projects (megabytes of JSON); requires streaming or pagination for web tools","No built-in filtering or aggregation; consumers must post-process results to extract specific insights","Requires all files to be syntactically valid; a single parse error can halt batch processing unless error handling is configured"],"requires":["Node.js 14+","TypeScript 4.0+","Valid tsconfig.json","Sufficient disk space and memory for large projects"],"input_types":["File glob patterns or directory paths","Configuration options (output format, filters)","tsconfig.json"],"output_types":["JSON report with exports, imports, errors","Plain text summary","Structured data (CSV, JSONL for streaming)"],"categories":["data-processing-analysis","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"npm_npm-ts-scan__cap_4","uri":"capability://automation.workflow.cli.command.line.interface.with.structured.output","name":"cli command-line interface with structured output","description":"Provides a command-line interface that wraps TypeScript code intelligence operations, accepting file paths, symbols, and options as CLI arguments and outputting results in multiple formats (JSON, text, JSONL). Implements standard CLI patterns (exit codes, error messages, help text) and integrates with Unix pipes and shell scripting for composability.","intents":["I want to run code analysis as part of a shell script or Makefile","I need to pipe code analysis results to grep, jq, or other Unix tools for filtering","I'm building a CI/CD pipeline and need a simple command to check for type errors","I want to integrate code intelligence into my editor or IDE via a subprocess call"],"best_for":["DevOps engineers and SREs building shell-based automation","Developers using Unix/Linux development environments","Teams with existing CLI-based tooling pipelines","Developers who prefer command-line tools over programmatic APIs"],"limitations":["CLI startup overhead (Node.js process initialization) adds 100-500ms per invocation; not suitable for sub-second latency requirements","Output formatting is text-based; binary or streaming data requires additional encoding","No interactive mode; each invocation is stateless and cannot maintain context across commands","Error handling relies on exit codes and stderr; parsing error messages is fragile"],"requires":["Node.js 14+ installed and in PATH","TypeScript 4.0+ installed locally","Bash or compatible shell (for piping)","Read access to source files"],"input_types":["Command-line arguments (file paths, flags, options)","stdin (for piped input, if supported)","Configuration files (tsconfig.json)"],"output_types":["JSON (stdout)","Plain text (stdout)","JSONL (newline-delimited JSON)","Exit codes (0 for success, non-zero for errors)"],"categories":["automation-workflow","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"npm_npm-ts-scan__cap_5","uri":"capability://code.generation.editing.incremental.compilation.state.management","name":"incremental compilation state management","description":"Maintains an in-memory Language Service instance that tracks file changes and reuses compilation state across multiple analysis queries, avoiding redundant parsing and type-checking of unchanged files. Uses TypeScript's incremental compilation APIs to update only affected files when the codebase changes.","intents":["I'm running repeated code analysis queries and want to avoid recompiling the entire project each time","I need fast feedback when I save a file, without waiting for a full type-check","I'm building a long-running agent that analyzes code multiple times and needs responsive performance","I want to minimize CPU and memory usage when analyzing large projects"],"best_for":["Developers building real-time code analysis tools (IDE plugins, watchers)","LLM agents that perform multiple code queries in a single session","CI/CD systems that run multiple checks on the same codebase","Long-running services that need to analyze code without restarting"],"limitations":["Incremental state is lost when the process exits; no persistent caching across restarts","Memory usage grows with project size and number of analyzed files; large projects may require periodic garbage collection","File watching and change detection must be implemented externally; ts-scan does not provide file system monitoring","Stale state can occur if files are modified outside the process without notifying ts-scan"],"requires":["Node.js 14+ with sufficient heap memory (at least 512MB for medium projects)","TypeScript 4.0+","Valid tsconfig.json"],"input_types":["File paths and content (for updates)","Query parameters (symbols, positions)"],"output_types":["Analysis results (exports, types, errors)","Incremental compilation diagnostics"],"categories":["code-generation-editing","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0}],"trust":{"score":33,"verified":false,"data_access_risk":"high","permissions":["Node.js 14+","TypeScript 4.0+ installed locally or as peer dependency","Valid tsconfig.json in project root or specified path","Read access to source files","TypeScript 4.0+","Valid tsconfig.json with proper module resolution settings","Source files must be accessible and syntactically valid","MCP client (Claude, custom agent, or MCP inspector)","Valid TypeScript project with tsconfig.json","Valid tsconfig.json"],"failure_modes":["Requires a valid TypeScript configuration (tsconfig.json) to resolve module paths correctly","Cannot analyze dynamic imports or require() calls with non-literal arguments","Performance degrades on very large monorepos (10k+ files) without proper caching strategy","Does not track re-exports across multiple module hops automatically","Requires TypeScript to be installed in the project (cannot work with plain JavaScript without a jsconfig.json)","Type checking is incremental and may miss errors if source files are not properly tracked","Cannot resolve symbols across monorepo boundaries without proper path mapping in tsconfig.json","Performance depends on project size; large projects may need caching to avoid repeated analysis","MCP server adds network/IPC overhead compared to direct API calls (typically 10-50ms per request)","LLM context window limits how much code metadata can be returned per query","builder identity is not verified yet","no observed match outcomes yet"],"rank_breakdown":{"adoption":0.1269979676645324,"quality":0.37,"ecosystem":0.5000000000000001,"match_graph":0.25,"freshness":0.75,"weights":{"adoption":0.25,"quality":0.25,"ecosystem":0.1,"match_graph":0.28,"freshness":0.12}},"observed_outcomes":{"matches":0,"success_rate":0,"avg_confidence":0,"top_intents":[],"last_matched_at":null},"maintenance":{"status":"active","updated_at":"2026-05-24T12:16:24.483Z","last_scraped_at":"2026-05-03T14:24:03.775Z","last_commit":null},"community":{"stars":null,"forks":null,"weekly_downloads":931,"model_downloads":null,"model_likes":null}},"distribution":{"claim_url":"https://unfragile.ai/submit?claim=npm-ts-scan","compare_url":"https://unfragile.ai/compare?artifact=npm-ts-scan"}},"signature":"90E/AXvG+Z5acbp6sMprAe445s7xJCdNrX+0POf18JjJVWGxNn9XpoNXY4i2oEeIq7eVtS86K9edZT2iGuQkCA==","signedAt":"2026-06-23T08:28:37.281Z","signedBy":"unfragile.ai","version":1},"_links":{"self":"https://unfragile.ai/api/v1/passport/npm-ts-scan","artifact":"https://unfragile.ai/npm-ts-scan","verify":"https://unfragile.ai/api/v1/verify?slug=npm-ts-scan","publicKey":"https://unfragile.ai/api/v1/trust-passport-public-key","spec":"https://unfragile.ai/trust","schema":"https://unfragile.ai/schema.json","docs":"https://unfragile.ai/docs"}}