Skip to content

Commit c2a8cdc

Browse files
authored
feat(go): Comprehensive Go scanner improvements and architecture enhancements (#140)
* feat(scanner): improve TypeScript scanner error handling and enable type checking - Simplify error handling from 12 to 3 layers (file-level, safeIterate, extractImports) - Enable type checking with lenient settings for better cross-file symbol resolution - Add detailed error tracking with phase detection and file paths - Remove excessive defensive coding while maintaining robustness - Improve error logging: first 10 errors at INFO level, rest at DEBUG - Better progress reporting with success/failure counts This improves callee extraction accuracy while maintaining graceful error handling. * feat(go): comprehensive Go scanner improvements and architecture enhancements Critical reliability fixes, performance improvements, and testability enhancements for Go support: ## High Priority Fixes - Fix silent dependency failures in copy-wasm.js script - Add runtime WASM validation to Go scanner with early error detection - Standardize error logging levels across scanners - Enhance progress feedback with time estimates ## Performance & Reliability - Add configurable concurrency via environment variables (DEV_AGENT_*_CONCURRENCY) - Implement system resource detection with intelligent defaults - Add batch processing for embeddings and file operations - Prevent memory issues on resource-constrained systems ## Architecture & Testability - Extract reusable utility modules for WASM resolution, concurrency, file validation - Implement dependency injection for mockable file system operations - Add comprehensive test coverage (57 new tests) for utility functions - Centralize error handling patterns across scanners ## Documentation - Add Configuration section to README with performance tuning - Create LANGUAGE_SUPPORT.md with contributor guidelines - Document new environment variables and troubleshooting steps - Add system requirements and optimization recommendations ## New Environment Variables - DEV_AGENT_TYPESCRIPT_CONCURRENCY: TypeScript scanner concurrency - DEV_AGENT_INDEXER_CONCURRENCY: Embedding batch concurrency - DEV_AGENT_GO_CONCURRENCY: Go scanner concurrency - DEV_AGENT_CONCURRENCY: General fallback concurrency These changes ensure robust Go support for production use while maintaining backward compatibility and improving the overall developer experience. * fix: update pnpm-lock.yaml for tree-sitter-wasms dependency The lockfile was out of sync with packages/core/package.json after adding tree-sitter-wasms dependency. This ensures CI builds work correctly with the new Go scanner dependencies. * chore: remove Renovate dependency automation Remove all Renovate configuration files, workflows, and documentation: - renovate.json5 and renovate.json (main configuration) - .github/renovate-automerge.json5 (automerge settings) - .github/renovate-groups.json5 (package grouping) - .github/workflows/renovate.yml (GitHub Actions workflow) - docs/DEPENDENCY_MANAGEMENT.md (Renovate documentation) Dependencies will now be managed manually to give more control over updates and reduce automated PR noise.
1 parent 5de5ded commit c2a8cdc

34 files changed

+2113
-679
lines changed

.github/renovate-automerge.json5

Lines changed: 0 additions & 55 deletions
This file was deleted.

.github/renovate-groups.json5

Lines changed: 0 additions & 84 deletions
This file was deleted.

.github/workflows/renovate.yml

Lines changed: 0 additions & 61 deletions
This file was deleted.

CLAUDE.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -234,4 +234,13 @@ For advanced users or development, you can manually configure the MCP server:
234234
- Memory leak prevention (circular buffers for history/metrics)
235235
- Graceful shutdown (proper event listener cleanup)
236236
- Health monitoring (`dev_health` tool)
237-
- Comprehensive logging with @lytics/kero
237+
- Comprehensive logging with @lytics/kero
238+
239+
5. **Performance Configuration**:
240+
- Configurable concurrency via environment variables
241+
- Auto-detection based on system resources (CPU/memory)
242+
- Environment variables:
243+
- `DEV_AGENT_CONCURRENCY` - global concurrency setting
244+
- `DEV_AGENT_TYPESCRIPT_CONCURRENCY` - TypeScript file processing
245+
- `DEV_AGENT_INDEXER_CONCURRENCY` - vector embedding batches
246+
- Example: `export DEV_AGENT_CONCURRENCY=10` before running `dev index .`

0 commit comments

Comments
 (0)