scip-finder
v0.1.0
Published
Fast TypeScript symbol search using SCIP code intelligence indexes
Maintainers
Readme
scip-finder
Fast symbol search for SCIP code intelligence indexes
Search for symbol definitions and references across large codebases using SCIP (Sourcegraph Code Intelligence Protocol) indexes. Perfect for understanding code structure, finding usage locations, and navigating complex projects.
Features
- Type-aware search - Distinguishes same-named symbols from different files/packages
- Fast queries - Searches large codebases (<100k LOC) in under 1 second
- Flexible filtering - Filter by defining file (
--from) or folder (--folder) - Multiple formats - Output as grep-like text or structured JSON
- Zero-config discovery - Automatically finds
index.scipin current directory
Quick Start
Prerequisites
- Node.js 18+
- SCIP index file
Installation
npm install -g scip-finderGenerate SCIP Index
# Install scip-typescript
npm install -g @sourcegraph/scip-typescript
# Generate index for your project (excludes node_modules, dist, build)
scip-indexBasic Usage
# Find all usages of a symbol
scip-finder MyFunction
# Filter to symbols from a specific file
scip-finder --from lib/main.ts SymbolName
# Filter results to a specific folder
scip-finder --folder src/ SymbolName
# Output as JSON for programmatic use
scip-finder --format json SymbolNameUsage Examples
Find Symbol References
$ scip-finder SymbolName
lib/main.ts:10:1: Definition
services/handler.ts:25:10:
services/handler.ts:42:20:Filter Results
# Only symbols defined in specific file
scip-finder --from models/User.ts User
# Only occurrences within a folder
scip-finder --folder server/ handleRequestJSON Output
$ scip-finder --format json SymbolName
{
"symbol": "SymbolName",
"occurrences": [
{
"file": "lib/main.ts",
"line": 10,
"column": 1,
"role": "Definition"
}
]
}Commands
scip-finder
Search for symbols in SCIP indexes.
scip-finder [options] <symbol>Options:
| Option | Description |
|--------|-------------|
| --scip <path> | Path to SCIP file (auto-discovers index.scip) |
| --from <file> | Filter to symbols defined in specific file |
| --folder <path> | Filter occurrences to files within folder |
| --format <type> | Output format: text or json (default: text) |
scip-index
Generate SCIP index from TypeScript project.
scip-indexAutomatically finds all tsconfig*.json files (excluding node_modules, dist, build, .git) and creates index.scip.
How It Works
- Generate SCIP -
scip-typescriptindexes your TypeScript/JavaScript project - Search - scip-finder loads the SCIP index and queries symbol occurrences
- Filter - Narrow results by defining file or folder path
- Output - Get results in text or JSON format
Contributing
Contributions are welcome! This project uses TypeScript and Jest.
License
MIT
