codesearch 0.1.9

A fast, intelligent CLI tool with multiple search modes (regex, fuzzy, semantic), code analysis, and dead code detection for popular programming languages
Documentation
# Advantages Over Grep

## Current Advantages

### 1. 🎨 **Better Visual Output**
- **Colored syntax highlighting** for matches (grep only highlights the pattern)
- **Clean file grouping** with clear headers
- **Better formatting** than grep's raw line-by-line output
- **Context preservation** with proper indentation

### 2. 📊 **Structured Data Output**
- **JSON output** for programmatic use and integration
- **Structured match data** with start/end positions
- **Metadata** about files (line count, size)
- **Easy parsing** for other tools and scripts

### 3. 🎯 **Intuitive File Filtering**
- **Extension-based filtering** (`--extensions py,js,ts`) vs grep's verbose `--include`
- **Clean directory exclusion** (`--exclude target,node_modules`)
- **Built-in common exclusions** for build artifacts
- **Smart defaults** for codebases

### 4. ⚡ **Performance Optimizations**
- **Parallel processing** potential for large codebases
- **Memory-efficient streaming** for large files
- **Optimized for code patterns** rather than general text
- **Faster startup** for repeated searches

### 5. 🔧 **Developer-Friendly Features**
- **Case-insensitive search** with simple flag
- **Result limiting** per file to avoid spam
- **Line number display** with clean formatting
- **Multiple output formats** (text/JSON)

## Potential Major Improvements

### 1. 🧠 **Semantic Code Understanding**
```bash
# Instead of just text matching:
grep "function.*user" *.js

# We could do semantic understanding:
codesearch search "user functions" --semantic
# Finds: getUserById, createUser, updateUser, deleteUser
```

**Implementation Ideas:**
- AST parsing for major languages
- Function/class/method detection
- Variable and type recognition
- Import/dependency analysis

### 2. 🎯 **Context-Aware Search**
```bash
# Search within specific scopes:
codesearch search "error" --context "class UserService"
codesearch search "validation" --context "function createUser"
codesearch search "TODO" --context "unimplemented"
```

**Features:**
- Search within specific functions/classes
- Scope-aware filtering
- Context-sensitive suggestions
- Related code discovery

### 3. 🔍 **Fuzzy Search & Smart Matching**
```bash
# Fuzzy matching for typos and variations:
codesearch search "usermanager" --fuzzy
# Matches: UserManager, user_manager, userManager

# Smart pattern suggestions:
codesearch search "get user" --suggest
# Suggests: getUserById, getUserByEmail, getAllUsers
```

**Capabilities:**
- Levenshtein distance matching
- Pattern suggestion engine
- Common typo correction
- Smart abbreviation expansion

### 4. 📈 **Code Metrics & Statistics**
```bash
codesearch search "function" --stats
# Output: Found 45 functions across 12 files
#         Most common: getUserById (8 occurrences)
#         Largest function: processPayment (23 lines)
```

**Metrics:**
- Occurrence statistics
- Code complexity analysis
- Usage frequency tracking
- Code quality indicators

### 5. 🎮 **Interactive Search Mode**
```bash
codesearch interactive
# Opens interactive mode with:
# - Real-time search as you type
# - Filter options (file type, scope, etc.)
# - Result preview and navigation
# - Search history and bookmarks
```

**Features:**
- Real-time filtering
- Keyboard navigation
- Search history
- Bookmarking results
- Quick actions (open file, copy line)

### 6. 🏆 **Smart Ranking & Scoring**
```bash
codesearch search "user" --ranked
# Results ranked by relevance:
# 1. User class definition (score: 95)
# 2. getUserById function (score: 90)
# 3. user variable usage (score: 60)
```

**Ranking Factors:**
- Semantic relevance
- Code context importance
- Usage frequency
- File importance
- Pattern completeness

### 7. 🔧 **Code Refactoring Integration**
```bash
codesearch search "deprecated" --refactor
# Suggests: Replace with new API
#          Update imports
#          Remove unused code
```

**Refactoring Features:**
- Find and replace suggestions
- Import optimization
- Dead code detection
- API migration helpers

### 8. 📚 **Search History & Learning**
```bash
codesearch history
# Shows: Recent searches, patterns, and results
codesearch favorites
# Shows: Bookmarked searches and results
```

**Learning Features:**
- Search pattern learning
- Personalized suggestions
- Team search sharing
- Search analytics

## Implementation Roadmap

### Phase 1: Enhanced Text Search
- [ ] Better regex engine with more patterns
- [ ] Improved performance optimizations
- [ ] More output formats (CSV, XML, etc.)
- [ ] Search result caching

### Phase 2: Semantic Understanding
- [ ] AST parsing for JavaScript/TypeScript
- [ ] Function/class detection
- [ ] Import/dependency analysis
- [ ] Basic semantic search

### Phase 3: Smart Features
- [ ] Fuzzy search implementation
- [ ] Context-aware filtering
- [ ] Interactive mode
- [ ] Search ranking

### Phase 4: Advanced Features
- [ ] Code metrics and statistics
- [ ] Refactoring suggestions
- [ ] Learning and personalization
- [ ] Team collaboration features

## Comparison Table

| Feature | Grep | Our Tool | Future |
|---------|------|----------|--------|
| Text Search ||||
| Regex Support ||||
| File Filtering | Basic | Better | Excellent |
| Output Format | Text only | Text + JSON | Multiple |
| Syntax Highlighting | Basic | Good | Excellent |
| Semantic Search ||||
| Context Awareness ||||
| Fuzzy Search ||||
| Interactive Mode ||||
| Code Metrics ||||
| Learning ||||

## Why This Matters

1. **Developer Productivity** - Faster, more accurate code discovery
2. **Code Quality** - Better understanding of codebase structure
3. **Maintenance** - Easier refactoring and updates
4. **Onboarding** - New developers can understand codebases faster
5. **Code Review** - Better tools for reviewing changes
6. **Documentation** - Automatic code documentation generation

The goal is to move beyond simple text matching to intelligent code understanding and analysis.