SearchStorm
AI-powered semantic code search for VSCode. Find React components, hooks, and functions by describing what they do - not just their names.
Features
- Semantic Search - Find code by meaning, not keywords. Search "user authentication logic" and find
validateCredentials(), handleLogin(), and related code.
- React-Aware - Understands components, hooks, functions, types, and classes. Filter results by category with one click.
- Local-First - Runs entirely on your machine with Ollama. Your code never leaves your computer.
- Fast Indexing - Parallel parsing with incremental updates. Only re-indexes changed files.
- Flexible - Works with Ollama (free, local) or any OpenAI-compatible API.
Quick Start
1. Install Ollama (free, local AI)
# macOS
brew install ollama
# Or download from https://ollama.ai
2. Start Ollama and pull the embedding model
ollama serve
ollama pull nomic-embed-text
3. Index your workspace
Open Command Palette (Cmd+Shift+P) and run SearchStorm: Index Workspace
4. Search!
Press Cmd+Shift+; and start typing. Describe what you're looking for in natural language.
Commands
| Command |
Keybinding |
Description |
| SearchStorm: Search Codebase |
Cmd+Shift+; |
Open semantic search |
| SearchStorm: Index Workspace |
- |
Index/update your codebase |
| SearchStorm: Force Full Reindex |
- |
Rebuild index from scratch |
| SearchStorm: Clear Index |
- |
Delete the search index |
Configuration
Access settings via the gear icon in the search popup, or in VSCode settings:
| Setting |
Default |
Description |
searchstorm.embeddingBaseUrl |
http://localhost:11434/v1 |
Embedding API endpoint |
searchstorm.embeddingModel |
nomic-embed-text |
Model name |
searchstorm.embeddingApiKey |
- |
API key (for OpenAI, etc.) |
searchstorm.excludePatterns |
node_modules, dist, etc. |
Folders to skip |
Using OpenAI instead of Ollama
{
"searchstorm.embeddingBaseUrl": "https://api.openai.com/v1",
"searchstorm.embeddingModel": "text-embedding-3-small",
"searchstorm.embeddingApiKey": "sk-..."
}
How It Works
SearchStorm uses AI embeddings to understand your code's meaning:
- Parsing - Extracts components, hooks, functions, types, and classes from your TypeScript/React code
- Embedding - Converts each code chunk into a semantic fingerprint using AI
- Search - Your query gets the same treatment, then we find code with similar meaning
This means "saves user data to storage" can find persistUserPreferences() even though the words don't match.
Privacy
When using Ollama (default), everything runs locally. Your code never leaves your machine.
When using cloud APIs (OpenAI, etc.), code chunks are sent to generate embeddings. Use accordingly.
Licensing
SearchStorm is free for small projects. The free tier supports workspaces with up to 250 TypeScript files.
For larger projects, a license unlocks unlimited indexing.
Get a License
Already have a license? Enter it via the gear icon → "Enter License Key" in the search popup.
License
MIT License - see LICENSE file for details.