Linter
The linter catches automation-hostile VBA and syntax patterns that can block agents or surface modal dialogs.
Declaration, member-access, error-handling, Excel object, and procedure-scope checks are backed by tree-sitter-vba, so findings can distinguish comments and strings from executable code, module-level declarations from procedure-local declarations, and individual declarators in one Dim statement.
Rules include:
- Missing
Option Explicit SelectandActivate- Broad
On Error Resume Next - Implicit
Variantrisks - Public module fields
- Unqualified Excel object access
- Error-handler fallthrough
- Multiple declarator clarity
- Optional cleanup, shadowing, unused symbol, callback,
Range.Find,Resume, and nestedWithchecks - GUI boundaries such as file pickers, modal dialogs, UserForms, message pumps, and external process launches
- Syntax-safety findings that prevent VBE compile dialogs before
pushorrun
See Error Codes for stable lint codes.