Skip to Content
UpdatesRelease Notes

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_map hot paths now use PageRank over the weighted dependency graph — files depended on by other important files rank higher than files with many shallow references
  • dev_map shows connected subsystems: groups of interdependent files identified via graph analysis
  • dev_refs new traceTo parameter: 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_patterns is 10-30x faster — reads from Antfly index instead of re-scanning with ts-morph
  • dev_health merged into dev_status (section="health") — reduced from 6 tools to 5
  • dev_patterns parameter renamed from query to filePath to prevent LLM misuse
  • New format: "json" option on dev_patterns for token-efficient agent workflows
  • All tools now return a suggestion field 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/pullModel used ~/.termite/models but the running Antfly server looked in ~/.antfly/models — both now use a shared --models-dir pointing 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 install failing with “Repository not indexed” after successful indexing (was checking for stale LanceDB vectors directory instead of metadata.json)
  • Removed dead metrics module — MetricsStore, analytics, collector were write-only with no consumers
  • Removed better-sqlite3 native 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_inspectdev_patterns, merged dev explore into dev search.

  • dev_inspect renamed to dev_patterns — focused on pattern analysis, removed redundant similar-files feature
  • dev explore removed — 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 prefer

New: dev reset Command

Clean slate — stops Antfly, removes all indexed data, ready for dev setup again.

dev reset

Auto-Start & Auto-Recovery

  • dev index auto-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 cwd
  • dev stats and dev dashboard — metrics collection removed
  • GitHub output functions (dead code from Phase 1)

Breaking Changes

  • dev index . is now just dev index (path defaults to cwd). The old form still works.
  • Antfly table names changed from *-vectors-lance to *-code. Run dev index --force to rebuild.

Testing

  • 1,625 tests passing, 0 failures

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 --docker if 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/lancedb and @xenova/transformers fully removed
  • @antfly/sdk added 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 --force to 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:

  1. Import Style — ESM, CJS, mixed, or unknown
  2. Error Handling — throw, result types, callbacks, or unknown
  3. Type Coverage — full, partial, or none (TypeScript only)
  4. Testing — Detects co-located test files
  5. 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.ts files only compare with .ts files

Bug Fixes

Vector Store & Indexing

  • Fixed findSimilar to use document embeddings instead of path strings
  • Fixed --force flag 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 outputSchema from 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.ts in @prosdevlab/dev-agent-core/utils
  • isTestFile() — Check if a file is a test file
  • findTestFile() — 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 . --force

This 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 — Use git log --format="%ae" <path> | sort | uniq -c | sort -rn or GitHub Contributors
  • dev activity — Use git 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 search
  • dev_refs — Relationship queries (callers/callees)
  • dev_map — Codebase structure with change frequency
  • dev_patterns — File analysis (similarity + pattern checking)
  • dev_status — Repository indexing status
  • dev_health — Server health checks

Supporting infrastructure:

  • code_metadata table — Introspection of indexed code (LOC, functions, imports)
  • calculateChangeFrequency — Powers dev_map change 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/contributors

Philosophy

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 structure

Applied 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_authors SQLite table — On-demand calculation is fast enough (1s)
  • Removed appendFileAuthors() and getFileAuthors() from MetricsStore
  • Removed authorContributions from 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 extraction

After:

✓ Scanning Repository (3.2s) 433 files → 2,525 components ✓ Embedding Vectors (20.7s) 2,525 documents ✓ Git History (4.4s) 252 commits

Migration

No breaking changes for end users. Internal APIs changed:

  • IndexUpdatedEvent no longer includes authorContributions
  • MetricsStore ownership 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 owners and dev activity were removed in v0.8.4. Use git log or 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 owners

Example 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 scanning
  • dev owners: 35x faster (17.5s → 0.5s) via indexed author data
  • dev 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 activitydev activity (top-level command)
  • dev metrics ownershipdev owners (top-level command)
  • dev metrics size removed (redundant with dev 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 installdev mcp install now shows positive messaging when server already exists instead of erroring
  • Seamless workflowdev index automatically uses sensible defaults when no config exists (no manual dev init required)

⚡ 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 settings

Auto-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 update command 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

VariableDescriptionAuto-Detected Default
DEV_AGENT_CONCURRENCYGlobal concurrency settingBased on CPU/memory
DEV_AGENT_TYPESCRIPT_CONCURRENCYTypeScript file processingBased on system resources
DEV_AGENT_INDEXER_CONCURRENCYVector embedding batchesBased on available memory
DEV_AGENT_GO_CONCURRENCYGo file processingBased 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 gateway
  • mock_*.go, mocks/ — Mock files
  • testdata/ — 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 ENOBUFS

Solution:

  • Increased buffer capacity from 1MB to 50MB for GitHub API responses
  • Reduced default fetch limit from 1000 to 500 items (per type)
  • Added --gh-limit flag 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.ts

This 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

ToolPurpose
dev_searchSemantic code search
dev_planContext assembly for issues
dev_patternsFile analysis & pattern discovery
dev_ghGitHub issue/PR search
dev_statusRepository health

Note: dev_patterns was originally named dev_explore at 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 --cursor

What’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.

Last updated on