Updates
What’s new in dev-agent. We ship improvements regularly to help AI assistants understand your code better.
v0.8.5 — Enhanced Pattern Analysis & Performance
December 14, 2025
Refactored dev_inspect with 5-10x faster pattern analysis and comprehensive code comparison.
What’s Changed
🔄 Simplified dev_inspect Tool
The action parameter has been streamlined. dev_inspect 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_inspect { action: "compare", query: "src/auth.ts" }
# After (v0.8.5) - Simpler!
dev_inspect { query: "src/auth.ts" }What’s New
🔍 Comprehensive Pattern Analysis
dev_inspect 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@lytics/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
@lytics/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_inspect
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_inspect({
action: "compare",
query: "src/auth.ts"
})
// New (v0.8.5) - Streamlined!
dev_inspect({
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 - ✅ Semantic commit search (
dev_history) — Search git history by concept - ✅ Code structure analysis (
dev_map,dev_inspect) — AST + embeddings - ✅ GitHub context (
dev_plan,dev_gh) — Cross-reference issues with code
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_history— Semantic commit searchdev_map— Codebase structure with change frequencydev_plan— GitHub issue context assemblydev_inspect— File analysis (similarity + pattern checking)dev_gh— GitHub semantic search
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_inspect | File analysis & pattern discovery |
dev_gh | GitHub issue/PR search |
dev_status | Repository health |
Note:
dev_inspectwas 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.