typescript-lsp

安装量: 42
排名: #17176

安装

npx skills add https://github.com/plaited/development-skills --skill typescript-lsp

This skill provides TypeScript Language Server Protocol integration for exploring and understanding TypeScript/JavaScript codebases.

IMPORTANT: Prefer LSP tools over Grep/Glob when working with *.ts, *.tsx, *.js, *.jsx files. LSP provides type-aware results that understand imports, exports, and symbol relationships.

Use these tools to:

  • Explore codebases - Find symbols, understand module structure, discover implementations

  • Find references - Type-aware search across the entire codebase (better than grep for symbols)

  • Understand types - Get full type signatures, generics, and documentation

  • Verify before editing - Check all usages before modifying or deleting exports

  • Navigate code - Jump to definitions, find implementations

When to Use Each Tool

| Glob | Find files by pattern

| Grep | Search text content

| lsp-find | Search TypeScript symbols

| lsp-hover | Get type info + TSDoc documentation

| lsp-refs | Find all references to a symbol

| lsp-analyze | Batch analysis of file structure

LSP vs Grep/Glob

| Find all usages of a function/type | ✅ lsp-refs | ❌ Misses re-exports, aliases

| Search for a symbol by name | ✅ lsp-find | ❌ Matches strings, comments

| Get type signature + TSDoc | ✅ lsp-hover | ❌ Not possible

| Understand file exports | ✅ lsp-analyze --exports | ❌ Doesn't resolve re-exports

| Find files by pattern | ❌ | ✅ Glob

| Search non-TS files (md, json) | ❌ | ✅ Grep

| Search for text in comments/strings | ❌ | ✅ Grep

When to Use

Exploring code (prefer LSP):

  • Run lsp-find to search for symbols across the workspace

  • Run lsp-symbols to get an overview of file structure

  • Run lsp-analyze --exports to see what a module provides

Before editing code:

  • Run lsp-references to find all usages of a symbol you plan to modify

  • Run lsp-hover to verify current type signatures

Before writing code:

  • Run lsp-find to search for similar patterns or related symbols

  • Run lsp-hover on APIs you plan to use

Path Resolution

All scripts accept three types of file paths:

  • Absolute paths: /Users/name/project/src/file.ts

  • Relative paths: ./src/file.ts or ../other/file.ts

  • Package export paths: my-package/src/module.ts (resolved via Bun.resolve())

Package export paths are recommended for portability and consistency with the package's exports field.

Scripts

Individual Scripts

lsp-hover

Get type information at a specific position.

bunx @plaited/development-skills lsp-hover <file> <line> <char>

Arguments:

  • file: Path to TypeScript/JavaScript file

  • line: Line number (0-indexed)

  • char: Character position (0-indexed)

Example:

bunx @plaited/development-skills lsp-hover src/utils/parser.ts 42 10

lsp-symbols

List all symbols in a file.

bunx @plaited/development-skills lsp-symbols <file>

Example:

bunx @plaited/development-skills lsp-symbols src/utils/parser.ts

lsp-references

Find all references to a symbol.

bunx @plaited/development-skills lsp-refs <file> <line> <char>

Example:

bunx @plaited/development-skills lsp-refs src/utils/parser.ts 42 10

lsp-find

Search for symbols across the workspace.

bunx @plaited/development-skills lsp-find <query> [context-file]

Arguments:

  • query: Symbol name or partial name

  • context-file: Optional file to open for project context

Example:

bunx @plaited/development-skills lsp-find parseConfig
bunx @plaited/development-skills lsp-find validateInput src/lib/validator.ts

Batch Script

lsp-analyze

Perform multiple analyses in a single session for efficiency.

bunx @plaited/development-skills lsp-analyze <file> [options]

Options:

  • --symbols, -s: List all symbols

  • --exports, -e: List only exported symbols

  • --hover <line:char>: Get type info (repeatable)

  • --refs <line:char>: Find references (repeatable)

  • --all: Run symbols + exports analysis

Examples:

# Get file overview
bunx @plaited/development-skills lsp-analyze src/utils/parser.ts --all

# Check multiple positions
bunx @plaited/development-skills lsp-analyze src/utils/parser.ts --hover 50:10 --hover 75:5

# Before refactoring: find all references
bunx @plaited/development-skills lsp-analyze src/utils/parser.ts --refs 42:10

Common Workflows

Understanding a File

# 1. Get exports overview
bunx @plaited/development-skills lsp-analyze path/to/file.ts --exports

# 2. For specific type info, hover on interesting symbols
bunx @plaited/development-skills lsp-hover path/to/file.ts <line> <char>

Before Modifying an Export

# 1. Find all references first
bunx @plaited/development-skills lsp-refs path/to/file.ts <line> <char>

# 2. Check what depends on it
# Review the output to understand impact

Finding Patterns

# Search for similar implementations
bunx @plaited/development-skills lsp-find handleRequest
bunx @plaited/development-skills lsp-find parseConfig

Pre-Implementation Verification

# Before writing code that uses an API, verify its signature
bunx @plaited/development-skills lsp-hover path/to/api.ts <line> <char>

Output Format

All scripts output JSON to stdout. Errors go to stderr.

Hover output:

{
  "contents": {
    "kind": "markdown",
    "value": "```typescript\nconst parseConfig: (options: Options) => Config\n```"
  },
  "range": { "start": {...}, "end": {...} }
}

Symbols output:

[
  {
    "name": "symbolName",
    "kind": 13,
    "range": { "start": {...}, "end": {...} }
  }
]

Analyze output:

{
  "file": "path/to/file.ts",
  "exports": [
    { "name": "exportName", "kind": "Constant", "line": 139 }
  ]
}

Performance

Each script invocation:

  • Starts TypeScript Language Server (~300-500ms)

  • Initializes LSP connection

  • Opens document

  • Performs query

  • Closes and stops

For multiple queries on the same file, use lsp-analyze to batch operations in a single session.

  • code-documentation: TSDoc standards for documentation
返回排行榜