How It Works
Semantic search transforms your repositories into vector embeddings that capture their meaning, enabling intelligent search across your GitHub stars.Vector Embeddings
Each repository is converted into a mathematical representation (embedding) that captures its semantic meaning:- Repository Metadata: Name, description, language, topics
- README Content: Normalized and chunked documentation
- Embedding Generation: Converted to 384-dimensional vectors using local models
Similarity Search
When you search, GitStarRecall:- Converts your query into an embedding vector
- Computes cosine similarity against all repository embeddings
- Returns the most semantically similar repositories
Cosine Similarity
Natural Language Queries
Search using conversational language instead of keywords:Traditional Keyword
react hooks state managementNatural Language
“What are good libraries for managing state in React applications?”
Query Examples
Finding Tools by Purpose
Finding Tools by Purpose
- “Command line tools for database management”
- “Libraries for parsing configuration files”
- “Tools to improve developer productivity”
Technology Comparisons
Technology Comparisons
- “Lightweight alternatives to Webpack”
- “Modern CSS frameworks similar to Tailwind”
- “GraphQL clients for React”
Problem-Specific Searches
Problem-Specific Searches
- “How to handle file uploads in Express”
- “Testing frameworks for TypeScript”
- “Authentication libraries for Node.js”
Search Results
Results include context from matching repository chunks:Search Result Structure
Filtering Results
Refine search results using filters:- Language: Filter by programming language
- Topics: Filter by repository topics
- Recency: Filter by last updated date
Filters are applied after semantic search to preserve ranking quality.
Performance
Semantic search is optimized for browser environments:Search Performance Characteristics
| Repositories | Embeddings | Search Time |
|---|---|---|
| 100 | ~200 | <50ms |
| 500 | ~1000 | <200ms |
| 1000 | ~2000 | <400ms |
Best Practices
Be Specific
Include relevant details about your use caseGood: “Python libraries for processing CSV files”Better: “Fast Python libraries for parsing large CSV files with data validation”
Use Filters
Combine semantic search with filters for precisionSearch: “web frameworks”Filter: Language = JavaScript, Updated within 1 year
Multiple Attempts
Try different phrasings if results aren’t relevant“state management” → “managing application state” → “global state libraries”
Check Context
Review the chunk text to understand why a repository matched