What's New in v0.3.0
🐛 Bug Fixes
- Fixed crash on C# files —
c_sharp renamed to csharp to match tree-sitter-language-pack grammar name (#1)
- Broadened exception handling — grammar loader now catches all exceptions (LookupError, DownloadError, etc.) instead of just KeyError/AttributeError
- Empty code no longer scores 100/100 — quality gate returns score 0 for empty/whitespace-only code
- File race condition fixed — files deleted mid-indexing no longer crash the map process
- Large file OOM protection — parser skips files >1MB to prevent memory issues
🚀 Features
- Monorepo support — tested with 7+ projects in one repo (C#, PHP, TypeScript, Python, Go, Rust, JSX)
- New language queries — added tree-sitter definition queries for PHP, C#, Ruby, Kotlin, Swift, Scala
- JSX grammar mapping —
.jsx files now correctly use the JavaScript grammar
- Skip build directories — added
bin, obj, vendor, .next, .nuxt, packages, .angular to auto-skip list
- Fixed
_find_name_child — now recognizes name node type used by PHP/C# grammars
📊 Verified
- 22 languages load successfully
- Multi-project monorepo: 22 files, 101 symbols, 7 languages in one pass
- Build dirs (bin/obj/vendor/node_modules) properly excluded
- 109 tests passing, lint clean
Install
pip install arbiterx-gate