Releases: jghiringhelli/codeseeker
v1.11.2 - Chocolatey Fix
Installation
# npm (recommended)
npm install -g codeseeker
# Homebrew
brew install jghiringhelli/codeseeker/codeseeker
# Chocolatey
choco install codeseeker
# Snap
sudo snap install codeseekerv1.11.1 - Search quality benchmark + storage fix
Installation
# npm (recommended)
npm install -g codeseeker
# Homebrew
brew install jghiringhelli/codeseeker/codeseeker
# Chocolatey
choco install codeseeker
# Snap
sudo snap install codeseekerv1.10.0 - RAPTOR Hierarchical Indexing
CodeSeeker v1.10.0 - RAPTOR Hierarchical Indexing
What's New
RAPTOR Hierarchical Indexing
CodeSeeker now builds a two-level summary tree on top of your indexed files, exploiting the natural directory → project hierarchy of source code.
How it works:
- Directory summary nodes (L2): mean-pool embeddings of all chunks in a directory → one centroid vector per folder, zero extra LLM calls
- Project root node (L3): mean of all L2 vectors, representing the entire codebase
- All nodes live in the same vector pool as file chunks — no special routing needed
What this means for search:
- Concrete query (
find JWT refresh logic) → finds exact file chunks as before - Abstract query (
what does the auth package do?) → naturally scores higher against directory summaries → instant package-level context
Smart incremental updates on sync:
- Structural hash of child file list (O(n log n), free) — skips if file set unchanged
- Cosine drift check against pooled child embeddings (threshold: 5%) — skips regeneration for minor edits
- Only regenerates when the directory semantics actually changed
Results surface with type: 'directory-summary' or type: 'root-summary' for traceability.
Search Weight Fix
Removed the PATH_WEIGHT flat 15% RRF bonus — it was added after RRF (corrupting rank scores) and double-counted what MiniSearch's boost: { filePath: 2 } already handles correctly inside BM25.
New weights: 50% vector / 50% text — cleaner scores, no double-counting.
New Storage Interface Methods
Four new methods on IVectorStore (implemented for both embedded SQLite and server PostgreSQL):
getById(id)— single document fetchgetFileEmbeddings(projectId, filePaths)— batch chunk embedding fetch for mean-poolinggetFilePathsForDir(projectId, dirPath)— directory-scoped file enumerationdeleteByFilePathPrefix(projectId, prefix)— prefix purge for clean reindex
Upgrade
\\�ash
/plugin uninstall codeseeker
/plugin install codeseeker@github:jghiringhelli/codeseeker#plugin
\\
Or via npm:
\\�ash
npm install -g codeseeker@1.10.0
\\
🤖 Generated with Claude Code
v1.9.0 - Consolidated 3-Tool MCP Architecture
Installation
# npm (recommended)
npm install -g codeseeker
# Homebrew
brew install jghiringhelli/codeseeker/codeseeker
# Chocolatey
choco install codeseeker
# Snap
sudo snap install codeseekerv1.8.1
Installation
# npm (recommended)
npm install -g codeseeker
# Homebrew
brew install jghiringhelli/codeseeker/codeseeker
# Chocolatey
choco install codeseeker
# Snap
sudo snap install codeseekerFull Changelog: v1.8.0...v1.8.1
v1.8.0 - Code Quality Tools & Project Detection Fix
CodeSeeker v1.8.0 - Code Quality Tools & Project Detection Fix
New MCP Tools
find_duplicates
Detect duplicate and similar code patterns across your codebase using semantic analysis.
find_duplicates({
project: "/path/to/project",
threshold: 0.8 // similarity threshold (0.0-1.0)
})Returns:
- Similarity scores between code chunks
- File paths and line numbers
- Duplicate detection using hash comparison and semantic similarity
find_dead_code
Identify unused code through knowledge graph analysis.
find_dead_code({
project: "/path/to/project"
})Detects:
- Orphan functions/classes with no incoming references
- God classes with too many methods
- Returns confidence scores and suggested actions
Bug Fixes
Project Auto-Detection Fix
Fixed critical bug where CodeSeeker would search the wrong index when multiple projects are indexed.
Root cause: MCP servers cannot detect the client's working directory (process.cwd() returns the server's directory, not Claude's workspace).
Solution:
- Now requires explicit
projectparameter when multiple projects exist - Returns clear error message listing available projects
- Single-project scenarios still work with auto-detection
Added
- MCP Registry support: CodeSeeker now listed in the official MCP Registry
- GitHub Actions release workflow: Automated publishing to npm, Homebrew, Chocolatey, Snap, and MCP Registry
Changed
- Snap confinement: Changed from classic to strict confinement for better security
Upgrade
# npm
npm update -g codeseeker
# Homebrew
brew upgrade jghiringhelli/codeseeker/codeseeker
# Chocolatey
choco upgrade codeseeker
# Snap
sudo snap refresh codeseeker
# Claude Code Plugin
/plugin uninstall codeseeker
/plugin install codeseeker@github:jghiringhelli/codeseeker#plugin🤖 Generated with Claude Code
v1.7.2 - Fix npm Package Distribution
CodeSeeker v1.7.2 - Fix npm Package Distribution
Fixed
- npm package: Include
postinstall.jsscript in published package - Chocolatey: Fixes installation failure due to missing postinstall script
- Package distribution: Ensure all required files are included in npm tarball
Technical Details
The v1.7.1 npm package was missing the scripts/postinstall.js file, causing installations via Chocolatey (and potentially other package managers) to fail. This release adds the script to the files array in package.json.
Upgrade
One-line install:
# macOS/Linux
curl -fsSL https://raw.githubusercontent.com/jghiringhelli/codeseeker/master/scripts/install.sh | sh
# Windows
irm https://raw.githubusercontent.com/jghiringhelli/codeseeker/master/scripts/install.ps1 | iexPackage managers:
npm update -g codeseeker
brew upgrade codeseeker
choco upgrade codeseeker # After approval
snap refresh codeseeker # After first publishClaude Code plugin:
/plugin update codeseeker🤖 Generated with Claude Code
v1.7.1 - npm postinstall for AI Assistant Configuration
CodeSeeker v1.7.1 - npm postinstall for AI Assistant Configuration
What's New
This release solves the chicken-and-egg problem: AI assistants won't use CodeSeeker MCP tools without explicit instructions, but users won't run codeseeker init without the AI suggesting it first.
Added
npm postinstall Script
When you install CodeSeeker via npm, it now automatically:
- Searches for user-level AI assistant instruction files
- Prompts for permission to add CodeSeeker MCP guidance
- Falls back gracefully in CI/non-interactive environments
Supported AI Assistants:
- Claude Code (
~/.claude/CLAUDE.md) - Cursor (
~/.cursor/rules,~/.cursorrules) - GitHub Copilot (
~/.github/copilot-instructions.md) - Windsurf (
~/.windsurf/rules.md) - Google Gemini (
~/.gemini/instructions.md) - xAI Grok (
~/.grok/instructions.md) - Sourcegraph Cody (
~/.sourcegraph/cody-instructions.md) - Amazon Q (
~/.aws/q-instructions.md) - And more...
Changed
- Renamed all remaining "CodeMind" references to "CodeSeeker" in documentation
- Updated environment variable prefixes in docs to use
CODESEEKER_consistently
How It Works
$ npm install -g codeseeker
🔍 CodeSeeker Post-Install Setup
📝 Found 2 agent file(s) that can be updated:
• Claude Code (no CodeSeeker guidance)
/Users/you/.claude/CLAUDE.md
• Cursor (global rules) (no CodeSeeker guidance)
/Users/you/.cursor/rules
CodeSeeker needs to add instructions to your AI agent files.
This helps AI assistants use CodeSeeker's semantic search instead of grep/glob.
? Update 2 file(s) with CodeSeeker guidance? (Y/n): Y
✅ Updated Claude Code
✅ Updated Cursor (global rules)
✅ Updated 2 file(s) with CodeSeeker guidance!
🚀 CodeSeeker is ready!
Run 'codeseeker --help' to see available commands.
CI/CD Support
In non-interactive environments (CI pipelines, Docker builds), the postinstall script automatically skips prompts:
🔍 CodeSeeker Post-Install Setup
⚠️ Running in non-interactive mode - skipping user prompts
Set CODESEEKER_SKIP_POSTINSTALL=true to skip this message
💡 To enable CodeSeeker MCP tools in your AI assistant, run:
codeseeker init (in your project directory)
Upgrade
npm update -g codeseekerOr for Claude Code plugin:
/plugin uninstall codeseeker
/plugin install codeseeker@github:jghiringhelli/codeseeker#plugin
🤖 Generated with Claude Code
v1.7.0 - Performance & Reliability
CodeSeeker v1.7.0 - Performance & Reliability
Added
Query Result Caching
Search results are now cached using the existing ICacheStore interface:
- Works with both LRU-cache (embedded mode) and Redis (server mode)
- 5-minute TTL with automatic invalidation when files change
- Cache indicator in search results shows when results were served from cache
- Reduces repeated query latency from ~100ms to ~1ms
Encoding Detection
Safe file reading with automatic encoding detection for non-UTF8 files:
- UTF-8 (default), UTF-8 BOM, UTF-16 LE/BE with BOM detection
- Falls back to latin1 for legacy Windows/ANSI files
- Binary detection: Automatically skips files with null bytes
- No more crashes on files with unexpected encodings
Graph Incremental Deletion
New deleteByFilePaths() method enables proper incremental sync:
- Previously, deleted files left orphan nodes in the graph until full reindex
- Now graph nodes are properly cleaned up when individual files are removed
- Implemented for both Graphology (embedded) and Neo4j (server)
Changed
Actionable Error Messages
All MCP tool errors now include troubleshooting steps:
- File not found: Suggests checking path and permissions
- Permission denied: Guidance on file system access
- Timeout: Retry suggestions, background indexing tips
- Connection errors: Server mode troubleshooting
- Not indexed: Direct command to run (
index({path: "..."})) - Out of memory: Guidance on excluding large directories
Upgrade
/plugin uninstall codeseeker
/plugin install codeseeker@github:jghiringhelli/codeseeker#plugin🤖 Generated with Claude Code
v1.6.0 - Security Hardening & Stability
CodeSeeker v1.6.0 - Security Hardening & Stability
This release focuses on security hardening and stability improvements for production use.
Security Improvements
Sensitive Files Never Indexed
Files that could contain secrets are automatically excluded:
.env,.env.*(environment variables)credentials.json,secrets.json,secrets.yaml*.pem,*.key,*.p12,*.pfx,*.jks(certificates/keys)id_rsa,id_dsa,id_ecdsa,id_ed25519(SSH keys).npmrc,.pypirc,token.json(auth tokens)- AWS/GCP service account credentials
Path Traversal Protection
Dangerous paths are blocked from indexing:
- System directories:
/etc,/var,/usr,C:\Windows,C:\Program Files - Sensitive directories:
.ssh,.gnupg,.aws,.azure - Paths containing
..are rejected
File Size Limit
Files larger than 5MB are automatically skipped to prevent memory issues.
Stability Improvements
Concurrent Indexing Protection
- Added mutex to prevent race conditions when multiple index requests arrive simultaneously
- Prevents data corruption from overlapping indexing operations
Memory Leak Prevention
- Completed/failed indexing jobs are automatically cleaned up after 1 hour
- Prevents memory growth in long-running MCP server sessions
Cancellation Support (Internal)
- Added cancellation token infrastructure for future "cancel indexing" feature
- Progress callbacks now check for cancellation
Upgrade
# Claude Code plugin
/plugin uninstall codeseeker
/plugin install codeseeker@github:jghiringhelli/codeseeker#plugin
# npm (for MCP server)
npm update -g codeseeker🤖 Generated with Claude Code