Updates
What’s new in dev-agent. We ship improvements regularly to help AI assistants understand your code better.
v0.10.6 — Graph Algorithms for dev_map and dev_refs
March 31, 2026
PageRank-based file ranking, subsystem detection, and dependency path tracing.
dev_maphot paths now use PageRank over the weighted dependency graph — files depended on by other important files rank higher than files with many shallow referencesdev_mapshows connected subsystems: groups of interdependent files identified via graph analysisdev_refsnewtraceToparameter:dev_refs { name: "authenticate", traceTo: "src/database.ts" }→ traces the shortest dependency chain between files- Weighted edges with sqrt dampening (inspired by aider’s repo map )
- PageRank: 2,000 nodes + 10,000 edges in 4ms — no performance impact
- All algorithms hand-rolled (~230 lines), no new dependencies
v0.10.5 — AST-Based Pattern Analysis
March 31, 2026
dev_patterns now uses tree-sitter AST queries for more accurate code analysis.
- Detects try/catch, promise.catch, error classes, async/await in try — patterns regex couldn’t see
- Arrow function return types now detected accurately (regex was fragile on
(): Type => ...) - Dynamic
import()now counts as ESM,require()detection more precise - Bundles TypeScript, TSX, and JavaScript grammars — covers the full JS/TS ecosystem
- 12 verified S-expression queries, 51 new tests with exact match counts
- Regex fallback preserved for non-JS/TS files
v0.10.4 — MCP Tools Improvement (Phase 1)
March 31, 2026
Faster pattern analysis, merged health into status, better agent usability.
dev_patternsis 10-30x faster — reads from Antfly index instead of re-scanning with ts-morphdev_healthmerged intodev_status(section="health") — reduced from 6 tools to 5dev_patternsparameter renamed fromquerytofilePathto prevent LLM misuse- New
format: "json"option ondev_patternsfor token-efficient agent workflows - All tools now return a
suggestionfield on errors for agent recovery guidance - Removed stale GitHub code from health adapter
- Extracted pure pattern analyzers for testability
v0.10.3 — Fix Setup/Index Model Directory Mismatch
March 30, 2026
Fixed dev setup reporting model ready while dev index fails with “model not found”.
hasModel/pullModelused~/.termite/modelsbut the running Antfly server looked in~/.antfly/models— both now use a shared--models-dirpointing at the server’s data directory- Improved model name matching to avoid false positives from substring collisions
- Added unit tests for model detection logic
v0.10.2 — MCP Install Fix & Dependency Cleanup
March 30, 2026
Fixed dev mcp install and removed dead metrics module.
- Fixed
dev mcp installfailing with “Repository not indexed” after successful indexing (was checking for stale LanceDBvectorsdirectory instead ofmetadata.json) - Removed dead metrics module — MetricsStore, analytics, collector were write-only with no consumers
- Removed
better-sqlite3native dependency (-36 transitive packages) - Updated storage help text to reflect actual Antfly-based storage
- 1,568 tests passing, 0 failures
v0.10.1 — Tool Refinements & Docs Cleanup
March 30, 2026
Cleaned up stale references, renamed dev_inspect → dev_patterns, merged dev explore into dev search.
dev_inspectrenamed todev_patterns— focused on pattern analysis, removed redundant similar-files featuredev exploreremoved —dev search --similar-to <file>replaces it- Search threshold default fixed (0.7 → 0) for RRF fusion scores
- Scanner exclusions expanded:
.env*,*.min.js,*.d.ts,generated/,.terraform/,.claude/ - Removed 3 stale MCP prompts (analyze-issue, search-github, create-plan)
- Swept all docs for LanceDB/@xenova/transformers → Antfly/Termite references
- 1,620 tests passing, 0 failures
v0.10.0 — CLI UX Overhaul & Antfly Resilience
March 30, 2026
Overhauled the CLI experience. 7x faster indexing, native-first Antfly, auto-recovery, cleaner search and map output.
What’s Changed
7x Faster Indexing
Removed buildCodeMetadata — a 32-second N+1 git call bottleneck that ran on every index. Indexing a 343-file repo now takes ~3 seconds instead of ~35.
Native-First Antfly
dev setup now uses the Antfly native binary by default. No Docker required.
brew install --cask antflydb/antfly/antfly
dev setup # Native (default)
dev setup --docker # Docker if you preferNew: dev reset Command
Clean slate — stops Antfly, removes all indexed data, ready for dev setup again.
dev resetAuto-Start & Auto-Recovery
dev indexauto-starts Antfly if not running- MCP server auto-starts Antfly on startup (no manual setup after reboot)
- MCP tools auto-recover if Antfly crashes mid-session — retry with automatic restart
Better Search
Search results now show clean rank + name + location. Removed misleading percentage scores — RRF fusion scores aren’t similarity percentages. Default threshold lowered to 0 so results always show.
Better Map
dev map output is now clean CLI output — no markdown headers, no emojis, relative paths in hot paths, proper tree connectors. --focus no longer shows redundant parent directory nesting. N+1 git calls in change frequency calculation replaced with a single bulk query.
Consistent CLI Output
All commands now use ora spinners with consistent styling. No more mixed logger timestamps and spinner checkmarks. Config is optional — all commands default to the current directory.
Removed
dev init— no longer needed, all commands default to cwddev statsanddev dashboard— metrics collection removed- GitHub output functions (dead code from Phase 1)
Breaking Changes
dev index .is now justdev index(path defaults to cwd). The old form still works.- Antfly table names changed from
*-vectors-lanceto*-code. Rundev index --forceto rebuild.
Testing
- 1,625 tests passing, 0 failures
v0.9.0 — Antfly Hybrid Search
March 29, 2026
Replaced LanceDB + @xenova/transformers with Antfly — a major upgrade to search quality and architecture.
What’s Changed
Hybrid Search (BM25 + Vector + RRF)
dev_search now combines keyword matching and semantic understanding in every query. Searching for “validateUser” finds the exact function (BM25) AND semantically related authentication code (vector), fused into one ranked result set via Reciprocal Rank Fusion.
New: dev setup Command
One command handles the entire search backend:
dev setup- Native-first: detects or installs the Antfly binary, pulls the embedding model
- Docker fallback: use
dev setup --dockerif you prefer containers - Auto-start: all commands (
dev index,dev mcp start) auto-start Antfly if needed
Auto-Embedding via Termite
No more managing an embedding pipeline. Antfly generates embeddings locally via Termite (ONNX-optimized models). Insert documents, search immediately — Antfly handles the rest.
Direct Key Lookup
Document retrieval by ID is now instant via tables.lookup(), replacing the previous O(n) zero-vector scan workaround.
Architecture
Before: Scanner → @xenova/transformers (embed) → LanceDB (store) → vector search
After: Scanner → Antfly (embed + store + hybrid search)- Removed ~1,400 lines of vector plumbing code
@lancedb/lancedband@xenova/transformersfully removed@antfly/sdkadded as the sole search dependency- VectorStorage facade preserved — all consumers unchanged
Breaking Changes
- Requires Antfly server. Run
dev setup(one-time) to install and start. - Existing LanceDB indexes are not migrated. Run
dev index --forceto rebuild with Antfly. - Default port changed to 18080 to avoid conflicts with common dev servers on 8080.
Testing
- 1,935 tests passing, 0 failures
- 20 new AntflyVectorStore integration tests (insert, upsert, hybrid search, delete, count, model mismatch detection)
- VectorStorage mock for tests that don’t need a live server
v0.8.5 — Enhanced Pattern Analysis & Performance
December 14, 2025
Refactored dev_patterns with 5-10x faster pattern analysis and comprehensive code comparison.
What’s Changed
🔄 Simplified dev_patterns Tool
The action parameter has been streamlined. dev_patterns is now a single-purpose tool that automatically:
- Finds similar files using semantic search
- Analyzes and compares 5 pattern categories
# Before (v0.8.4)
dev_patterns { action: "compare", query: "src/auth.ts" }
# After (v0.8.5) - Simpler!
dev_patterns { query: "src/auth.ts" }What’s New
🔍 Comprehensive Pattern Analysis
dev_patterns now analyzes 5 pattern categories automatically:
- Import Style — ESM, CJS, mixed, or unknown
- Error Handling — throw, result types, callbacks, or unknown
- Type Coverage — full, partial, or none (TypeScript only)
- Testing — Detects co-located test files
- File Size — Lines vs similar files
Example output:
## File Inspection: src/auth/middleware.ts
### Similar Files (5 analyzed)
1. `src/auth/session.ts` (78%)
2. `src/middleware/logger.ts` (72%)
3. `src/api/auth-handler.ts` (68%)
### Pattern Analysis
**Import Style:** Your file uses `esm`, matching 100% of similar files.
**Error Handling:** Your file uses `throw`, but 60% use `result`.
**Type Coverage:** Your file has `full` coverage (80% match).
**Testing:** No test file found. 40% of similar files have tests.
**Size:** 234 lines (smaller than average of 312 lines)⚡ Performance Improvements
- 5-10x faster pattern analysis via batch scanning
- 500-1000ms analysis time (down from 2-3 seconds)
- One ts-morph initialization vs 6 separate scans
- Embedding-based similarity (no more false matches)
🎯 Accuracy Improvements
- Extension filtering — Only compares files with same extension
- Semantic similarity — Uses document embeddings instead of file paths
- No duplicates — Fixed search to return unique results
- Relevant comparisons —
.tsfiles only compare with.tsfiles
Bug Fixes
Vector Store & Indexing
- Fixed
findSimilarto use document embeddings instead of path strings - Fixed
--forceflag to properly clear old vector data - Fixed race condition in LanceDB table creation during concurrent operations
- Added
searchByDocumentId()for embedding-based similarity search
MCP Protocol Compliance
- Removed
outputSchemafrom all 9 MCP adapters - Fixed Cursor/Claude compatibility issues (MCP error -32600)
- All tools now return plain markdown text wrapped in content blocks
New Features
Core Utilities
- Created
test-utils.tsin@prosdevlab/dev-agent-core/utils isTestFile()— Check if a file is a test filefindTestFile()— Find co-located test files- Reusable across services
Vector Store Enhancements
clear()— Delete all documents (used by--force)searchByDocumentId()— Find similar documents by embedding- Better race condition handling in table creation
Architecture Improvements
PatternAnalysisService
- Dedicated service in
@prosdevlab/dev-agent-core - 5 pattern extractors with comprehensive tests
- Batch scanning optimization for performance
- Comparison logic with statistical analysis
Service Refactoring
- Extracted test utilities to
core/utils(DRY principle) - PatternAnalysisService uses shared utilities
- Cleaner separation of concerns
Documentation
- Complete rewrite of dev-inspect.mdx
- Updated README.md with pattern categories
- Updated CLAUDE.md with new descriptions
- Migration guide from dev_explore to dev_patterns
Testing
- All 1100+ tests passing
- Added 10 new test-utils tests
- Pattern analysis service fully tested
- Integration tests for InspectAdapter
Migration Guide
API Simplification:
// Old (v0.8.4) - Had action parameter
dev_patterns({
action: "compare",
query: "src/auth.ts"
})
// New (v0.8.5) - Streamlined!
dev_patterns({
query: "src/auth.ts"
})The tool now does both similarity search AND pattern analysis automatically. Existing usage will continue to work.
Re-index Recommended:
For best results with the improved semantic search:
dev index . --forceThis clears old data and rebuilds with the improved embedding-based search.
v0.8.4 — Refocus on Semantic Value
December 14, 2025
Removed git analytics commands to refocus on dev-agent’s unique semantic capabilities.
What Changed
🗑️ Removed Features
Eliminated CLI commands that duplicate git/GitHub functionality:
dev owners— Usegit log --format="%ae" <path> | sort | uniq -c | sort -rnor GitHub Contributorsdev activity— Usegit log --since="1 month" --name-only | sort | uniq -c | sort -rn
Impact: -1,006 lines removed, cleaner codebase focused on unique semantic value.
Why This Matters
Dev-agent’s unique value is semantic understanding:
- ✅ Semantic code search (
dev_search) — Find code by meaning, not keywords - ✅ Code structure analysis (
dev_map,dev_patterns) — AST + embeddings
Git analytics (ownership, activity) are better served by existing tools:
- Git CLI has excellent built-in analytics
- GitHub provides rich contributor visualizations
- No need to duplicate what already works
What’s Kept
Core semantic tools remain:
dev_search— Semantic code searchdev_refs— Relationship queries (callers/callees)dev_map— Codebase structure with change frequencydev_patterns— File analysis (similarity + pattern checking)dev_status— Repository indexing statusdev_health— Server health checks
Supporting infrastructure:
code_metadatatable — Introspection of indexed code (LOC, functions, imports)calculateChangeFrequency— Powersdev_mapchange frequency display
Migration Guide
For git analytics, use standard tools:
# Ownership by contributor
git log --format="%ae" packages/core/ | sort | uniq -c | sort -rn
# Recent activity
git log --since="1 month" --name-only | sort | uniq -c | sort -rn
# GitHub visualization
# Visit: https://github.com/{org}/{repo}/graphs/contributorsPhilosophy
Dev-agent is an MCP context provider, not a CLI analytics dashboard.
Focus on what AI assistants can’t get elsewhere:
- Semantic search over code and commits
- AST-powered code structure analysis
- Cross-referencing multiple data sources
- Contextual code understanding
Leverage existing tools for what they do best:
- Git for commit/author analytics
- GitHub for contributor visualization
- Dev-agent for semantic understanding
v0.8.2 — Massive Indexing Performance & UX Improvements
December 13, 2025
184% faster indexing with zero silent gaps and context-aware developer insights.
What’s New
⚡ Performance Improvements (184% Faster)
Eliminated performance bottlenecks throughout the indexing pipeline:
- 63x faster metadata collection — Single batched git command replaces 863 individual calls
- Removed storage size calculation — Deferred to on-demand in
dev stats(saves 1-3s) - Simplified ownership tracking — Author contributions calculated on-demand (1s vs pre-indexing overhead)
- Total speedup — Indexing completes in ~33s vs ~95s (61s improvement!)
🎨 Section-Based Progress Display
No more silent gaps during indexing. Clean, informative output inspired by Homebrew and Cargo:
dev index .
✓ Scanning Repository (3.2s)
433 files → 2,525 components
✓ Embedding Vectors (20.7s)
2,525 documents
✓ Git History (4.4s)
252 commits
✓ GitHub Issues/PRs (7.8s)
163 documents
✓ Repository indexed successfully!
Indexed: 433 files • 2,525 components • 252 commits • 163 GitHub docs
Duration: 33.5s
💡 Next steps:
dev map Explore codebase structureApplied to 4 commands: dev index, dev update, dev git index, dev github index
- Git root detection — Works from any subdirectory
Architecture Simplifications
This release removes unnecessary complexity while improving performance:
- Removed
file_authorsSQLite table — On-demand calculation is fast enough (1s) - Removed
appendFileAuthors()andgetFileAuthors()from MetricsStore - Removed
authorContributionsfrom IndexUpdatedEvent - Cleaner separation — Metrics for analytics, ownership for developer insights
UX Improvements
More frequent progress updates:
- Scanner logs every 2 batches or 10 seconds (was every 50 files)
- Debug logs for slow file processing (>5s)
- Maximum 1-second gaps between progress updates
Better grouping in dev owners:
- Groups by GitHub handle instead of email (merges multiple emails per developer)
- Monorepo-aware directory grouping (2 levels for
packages/,apps/)
Graceful degradation:
- Verbose mode and non-TTY environments show traditional logs
- TTY detection for CI/CD compatibility
Before & After
Before:
[14:27:37] typescript 3450/3730 (92%)
← 3 MINUTES OF SILENCE
[14:30:09] typescript 3600/3730 (97%)
← EMBEDDING COMPLETES
← 63 SECONDS OF SILENCE
[14:31:12] Starting git extractionAfter:
✓ Scanning Repository (3.2s)
433 files → 2,525 components
✓ Embedding Vectors (20.7s)
2,525 documents
✓ Git History (4.4s)
252 commitsMigration
No breaking changes for end users. Internal APIs changed:
IndexUpdatedEventno longer includesauthorContributionsMetricsStoreownership methods removed (use on-demand calculation)
No re-index required. Changes take effect immediately.
v0.8.0 — Developer Insights & Performance
December 13, 2025
⚠️ Deprecation Notice:
dev ownersanddev activitywere removed in v0.8.4. Usegit logor GitHub for contributor analytics. Dev-agent now focuses on semantic search and code understanding.
New developer activity and ownership commands with 35x faster queries via indexed author contributions.
What’s New
🗺️ New Command: dev map
Visualize your codebase structure with component counts, exports, and hot paths:
dev map --depth 2 --change-frequency
packages/
├── 🔥 core/ (45 components, 12 exports) — 12 commits in 30d
│ ├── scanner/ (18 components, 3 exports)
│ └── vector/ (12 components, 5 exports)
├── ✏️ cli/ (28 components, 8 exports) — 3 commits in 30d
└── mcp-server/ (35 components, 9 exports)224x performance improvement (103s → 0.46s) through optimized scanning and lazy embedder initialization.
📊 Developer Insight Commands
Two new top-level commands for understanding codebase activity:
# See most active files with commit counts and complexity
dev activity
# See developer specializations and file ownership
dev ownersExample Output:
$ dev owners
👥 Developer Contributions
Developer Files Commits Last Active
───────────────────────────────────────────────────────
jane@example.com 147 523 2 hours ago
john@example.com 89 312 1 day ago
alice@example.com 64 201 3 days ago
Summary:
• 305 files analyzed across 3 developers
• Most active: jane@example.com (147 files)
• Average 3.5 commits per file💾 Persistent Metrics with SQLite
New MetricsStore tracks code analytics over time:
- File-level metrics (lines, complexity, change frequency)
- Author contributions per file
- Historical snapshots for trend analysis
- Foundation for future analytics commands (
dev trends,dev health)
⚡ Performance Improvements
Multiple commands received dramatic speedups:
dev map: 224x faster (103s → 0.46s) via optimized scanningdev owners: 35x faster (17.5s → 0.5s) via indexed author datadev stats: 10x faster via direct JSON reads- Offline capability: Indexed data works without git access
🎨 CLI Enhancements
- Modernized output with compact, scannable tables
- Factual summaries instead of verbose recommendations
- Visual indicators for activity (🔥 hot, ✏️ active, 📝 recent)
- GitHub handle resolution for developer identification
- Comprehensive help text with examples across all commands
🏗️ Architecture & Quality
This release includes significant internal improvements that improve reliability and enable future features:
- Service layer architecture — 7 services with dependency injection for better testability
- Complete Zod validation — All 9 MCP adapters validated at runtime
- SearchService refactor — Shared search logic across tools reduces duplication
- Enhanced error handling — Clearer messages and proper logging throughout
- Batched git operations — Reduced overhead from O(N files) to O(1)
- 1,918 tests passing — Comprehensive test coverage for all new features
These improvements make dev-agent more stable, easier to extend, and ready for upcoming analytics features.
Migration Notes
Breaking Changes:
dev metrics activity→dev activity(top-level command)dev metrics ownership→dev owners(top-level command)dev metrics sizeremoved (redundant withdev stats)
What You Get:
The dev metrics namespace is now reserved for future analytical commands like trends, health, and complexity. The simpler top-level commands provide better discoverability and UX.
Re-index Required
To populate author contribution data, re-index your repository:
dev index .This is a one-time operation. Future updates via dev update will maintain the author data automatically.
v0.7.0 — UX & TypeScript Performance Improvements
December 11, 2025
Enhanced user experience and configurable TypeScript performance optimizations.
What’s New
🎯 Improved User Experience
- Idempotent MCP install —
dev mcp installnow shows positive messaging when server already exists instead of erroring - Seamless workflow —
dev indexautomatically uses sensible defaults when no config exists (no manualdev initrequired)
⚡ TypeScript Performance Optimization
New default exclusions provide 10-15% indexing performance improvement for TypeScript projects:
{
"repository": {
"excludePatterns": [
// Standard exclusions
"**/node_modules/**", "**/dist/**", "**/.git/**", "**/coverage/**",
// TypeScript performance exclusions (new!)
"**/*.mock.ts", "**/*.mock.tsx", "**/mocks/**",
"**/*.d.ts", "**/test-utils/**", "**/testing/**"
]
}
}🛠️ Full Configurability
- Smart defaults — New users get performance benefits automatically
- Complete control — Fully customizable via
.dev-agent/config.json - Semantic value preserved — Stories files kept (contain valuable component documentation)
Customization Examples
Include type definition files:
{
"repository": {
"excludePatterns": [
"**/node_modules/**", "**/dist/**", "**/.git/**", "**/coverage/**",
"**/*.mock.ts", "**/*.mock.tsx", "**/mocks/**",
"**/test-utils/**", "**/testing/**"
// Removed "**/*.d.ts" to include type definitions in search
]
}
}Add project-specific patterns:
{
"repository": {
"excludePatterns": [
// Default patterns...
"**/vendor/**", "**/*.generated.ts", "**/legacy/**"
]
}
}Migration
No breaking changes. All improvements are backward compatible.
v0.6.1 — Reliability & Performance Improvements
December 11, 2025
Enhanced reliability, performance configuration, and better documentation for the Go support released in v0.6.0.
What’s New
⚡ Performance Configuration
Fine-tune scanning and indexing performance with environment variables:
# High-performance systems (8GB+ RAM, 8+ cores)
export DEV_AGENT_TYPESCRIPT_CONCURRENCY=30
export DEV_AGENT_INDEXER_CONCURRENCY=8
# Memory-conservative systems (under 4GB RAM)
export DEV_AGENT_CONCURRENCY=5
export DEV_AGENT_INDEXER_CONCURRENCY=2
dev index . # Uses your custom settingsAuto-detection: If no variables are set, dev-agent automatically detects optimal settings based on your CPU and memory.
🛠️ Enhanced Reliability
- Runtime WASM validation — Go scanner now validates tree-sitter WASM availability before parsing
- Build script improvements — Prevent silent failures that could break Go support
- Better error handling — Clearer error messages and proper logging levels across all scanners
📚 Documentation Improvements
- Document missing
dev updatecommand for fast incremental indexing - Add timing expectations: initial indexing takes 5-10 minutes for large codebases (4k+ files)
- Enhanced troubleshooting guide with performance tuning recommendations
- New performance tuning section in configuration docs
🧪 Testing & Architecture
- 57 new tests covering utility functions and edge cases
- Dependency injection for testable file system operations
- Extracted reusable modules for WASM resolution, concurrency calculation, and file validation
Migration
No breaking changes. All improvements are backward compatible.
Environment Variables
| Variable | Description | Auto-Detected Default |
|---|---|---|
DEV_AGENT_CONCURRENCY | Global concurrency setting | Based on CPU/memory |
DEV_AGENT_TYPESCRIPT_CONCURRENCY | TypeScript file processing | Based on system resources |
DEV_AGENT_INDEXER_CONCURRENCY | Vector embedding batches | Based on available memory |
DEV_AGENT_GO_CONCURRENCY | Go file processing | Based on system resources |
v0.6.0 — Go Language Support
December 10, 2025
Full Go language support with tree-sitter. Index Go codebases with the same quality as TypeScript — functions, methods, structs, interfaces, and generics.
What’s New
🐹 Go Scanner
dev-agent now fully supports Go codebases:
// All of these are now indexed and searchable:
func NewServer(cfg Config) *Server { ... }
func (s *Server) Start(ctx context.Context) error { ... }
type Config struct { Host string; Port int }
type Handler interface { Handle(ctx context.Context) error }
type Stack[T any] struct { items []T } // Generics!Features:
- Functions and methods with receiver information
- Structs, interfaces, and type aliases
- Go 1.18+ generics support
- Go doc comment extraction
- Exported symbol detection (capital letter convention)
📋 Progress Logging
New --verbose flag shows detailed progress:
dev index . --verbose
[scanner] Found 4338 go files {language: "go", files: 4338}
⠧ Embedding 4480/49151 documents (9%)
[indexer] Embedding complete {documentsIndexed: 49151}🚫 Smart Exclusions
Generated files are automatically skipped:
*.pb.go— Protobuf*.gen.go,*_gen.go— Code generators*.pb.gw.go— gRPC gatewaymock_*.go,mocks/— Mock filestestdata/— Test fixtures
Why This Matters
Go teams can now use dev-agent for semantic code search across their entire codebase. Search for “authentication middleware” and find your Go handlers, not just TypeScript files.
Tested on: Large Go codebase (~4k files, 49k documents) ✅
Technical Details
Go parsing uses tree-sitter WASM — the same parser used by GitHub, Neovim, and other tools. This provides:
- Fast, incremental parsing
- No Go installation required
- Portable across platforms
- Foundation for future Python/Rust support
v0.5.2 — GitHub Indexing for Large Repositories
December 6, 2025
Fixed ENOBUFS errors when indexing repositories with many GitHub issues/PRs. Large active repositories can now be fully indexed without buffer overflow issues.
What’s Fixed
🐛 Buffer Overflow Resolution
The GitHub indexing phase would fail with ENOBUFS (No buffer space available) on repositories with extensive GitHub activity:
# This would fail before:
dev index
✖ Failed to index repository
[03:09:07] ERROR Failed to fetch issues: spawnSync /bin/sh ENOBUFSSolution:
- Increased buffer capacity from 1MB to 50MB for GitHub API responses
- Reduced default fetch limit from 1000 to 500 items (per type)
- Added
--gh-limitflag for custom limits
What’s New
⚙️ Configurable Limits
# Default (works for most repos)
dev index
# Large repos (200+ issues/PRs)
dev index --gh-limit 200
# Very active repos (500+ issues/PRs)
dev index --gh-limit 100💬 Better Error Messages
If buffer issues occur, you now get actionable guidance:
Failed to fetch issues: Output too large.
Try using --gh-limit with a lower value (e.g., --gh-limit 100)Why This Matters
Many production repositories have hundreds or thousands of GitHub issues/PRs. Without this fix, dev index would fail completely on these repos, preventing AI tools from understanding project context.
Now it just works — and if you hit limits, the CLI tells you exactly how to fix it.
Tested on: 6,989 file repository with 1,000 GitHub issues/PRs ✅
v0.5.1 — Incremental Indexing
December 3, 2025
dev update now actually works. Only re-index files that changed — no more waiting for full re-scans.
What’s New
⚡ Fast Updates
dev index . # First run: full index
dev update # Fast! Only processes changes🔍 Smart Change Detection
- Detects modified files via content hash
- Finds new files added since last index
- Cleans up documents for deleted files
- Removes orphaned symbols when code changes
Why This Matters
Before: Every dev index . re-scanned your entire codebase. On a 10k file repo, that’s 5+ minutes.
Now: dev update detects what changed and only processes those files. Same result, fraction of the time.
v0.5.0 — Modern JavaScript Support
December 2, 2025
Better coverage for how developers actually write code today.
Modern JavaScript and TypeScript codebases look very different from traditional OOP. React hooks, arrow functions, and configuration objects are the primary APIs — and dev-agent now understands them.
What’s New
🎯 Arrow Functions
// Now indexed! AI can find these via semantic search
export const useAuth = () => { ... }
const validateEmail = (email: string) => email.includes('@')⚛️ React Hooks Detection
Hooks are automatically detected by the use* naming pattern. When you search for “authentication hook”, dev-agent knows useAuth is a hook — not just a function.
📦 Exported Constants
Configuration objects, context providers, and factory-created values are now searchable:
export const API_CONFIG = { baseUrl: '/api', timeout: 5000 }
export const ThemeContext = createContext({ dark: false })
export const SUPPORTED_LANGUAGES = ['typescript', 'javascript']Why This Matters
Before v0.5.0, searching for “API configuration” wouldn’t find export const API_CONFIG = {...}. Now it does. This means:
- Better search results for modern React/TypeScript codebases
- More context for AI assistants to understand your code
- Fewer “I couldn’t find…” moments when asking about hooks or configs
v0.4.4 — Test File Discovery
December 1, 2025
Search results now show related test files automatically.
When dev_search returns source files, it checks for matching test files (*.test.ts, *.spec.ts) and includes them in the response:
1. [89%] function: authenticate (src/auth.ts:15)
2. [84%] class: AuthMiddleware (src/middleware.ts:5)
---
Related test files:
• src/auth.test.ts
• src/middleware.test.tsThis helps AI assistants find both implementation and tests without extra searches — useful when fixing bugs or understanding expected behavior.
v0.4.0 — Intelligent Git History
November 27, 2025
Semantic search over your commit history.
Ever tried to find “when did we add rate limiting?” by scrolling through git log? Now you can just ask:
New Tool: dev_history
Search commits by meaning, not just keywords:
> "Find commits related to authentication changes"
1. [92%] fix(auth): resolve token refresh race condition
Author: jane@example.com | 3 days ago
Files: src/auth/refresh.ts, src/auth/token.ts
2. [87%] feat(auth): add OAuth2 provider support
Author: john@example.com | 2 weeks ago
Files: src/auth/oauth.ts, src/auth/providers/Change Frequency in dev_map
See which parts of your codebase are actively changing:
packages/
├── 🔥 core/ (45 components) — 12 commits in 30d
├── ✏️ mcp-server/ (28 components) — 3 commits in 30d
├── 📝 cli/ (15 components) — 2 commits in 90d
└── subagents/ (35 components)- 🔥 Hot — 10+ commits in last 30 days
- ✏️ Active — 3-9 commits in last 30 days
- 📝 Recent — Any commits in last 90 days
Context Assembly Improvements
dev_plan now includes related commits when assembling context for GitHub issues. AI assistants can see both what the issue asks for and how similar changes were made before.
v0.3.0 — Code Relationships
November 26, 2025
Understand how your code connects.
New Tool: dev_refs
Find what calls what — and what’s called by what:
> "What functions call validateUser?"
Callers of validateUser:
1. AuthMiddleware.authenticate (src/middleware.ts:45)
2. LoginController.handleLogin (src/controllers/login.ts:23)
3. SessionManager.validateSession (src/session.ts:67)Essential for impact analysis before refactoring.
Hot Paths in dev_map
See the most-referenced files in your codebase:
Hot Paths (most referenced):
🔥 src/utils/logger.ts (47 references)
🔥 src/types/index.ts (34 references)
🔥 src/config.ts (28 references)Smarter Context Assembly
dev_plan was refactored from generating task breakdowns to assembling rich context. Instead of making assumptions about how to implement something, it now gives AI assistants the context they need to figure it out themselves.
v0.1.0 — Initial Release
November 26, 2025
The foundation: local-first code understanding for AI tools.
Core Features
- Semantic Search — Find code by meaning, not keywords
- MCP Integration — Works with Cursor, Claude Code, and any MCP client
- Multi-language — TypeScript, JavaScript, Go, Python, Rust, Markdown
- 100% Local — No cloud, no telemetry, all processing on your machine
Five Tools at Launch
| Tool | Purpose |
|---|---|
dev_search | Semantic code search |
dev_plan | Context assembly for issues |
dev_patterns | File analysis & pattern discovery |
dev_gh | GitHub issue/PR search |
dev_status | Repository health |
Note:
dev_patternswas originally nameddev_exploreat launch. It was renamed and enhanced in v0.8.5 with comprehensive pattern analysis.
Installation
One command to index, one command to install:
npm install -g dev-agent
dev index .
dev mcp install --cursorWhat’s Next?
We’re working on:
- Python support — Using tree-sitter infrastructure from Go scanner
- Rust support — Structs, traits, impl blocks
- Parallel search — Query multiple repos simultaneously
Have ideas? Open an issue or join the discussion.