gdeye
A fast static analysis, formatting, and LSP for GDScript (Godot 4.x). Built on tree-sitter-gdscript for fast, accurate parsing. Opinionated by default, but customizable.
Usage
# Analyze an entire Godot project
# Apply available auto-fixes (COMMIT FIRST!)
# Apply even dangerous fixes (such as removing dead functions)
# Format GDScript files (check mode - shows diff)
# Format in place
# List the available linter rules
Configuration
gdeye looks for a gdeye.toml file in the Godot project root (next to
project.godot). All options can also be passed on the command line.
# Glob patterns - only analyze matching files (default: all .gd files)
= ["scripts/**/*.gd"]
# Glob patterns - skip matching files (merged with CLI --exclude)
= ["addons/**", "test/**"]
# Rule severity: "off", "info", "warning", or "error"
[]
= "error"
# Rule too annoying? Nuke it.
= "off"
# Formatter settings
[]
= 100 # Maximum line width (default: 100)
= "tabs" # "tabs" or "spaces" (default: "tabs")
= 4 # Spaces per indent when using spaces (default: 4)
= "preserve" # "double", "single", or "preserve" (default: "preserve")
= "multiline" # "all", "multiline", or "none" (default: "multiline")
= 2 # Max consecutive blank lines (default: 2)
# Rule-specific options
[]
= 100 # Maximum lines per function (default: 80)
[]
= 6 # Maximum nesting depth (default: 5)
Use gdeye rules <name> to see available options for any rule.
CLI equivalents
# Exclude files
# Disable rules
# Restrict to specific files
Use gdeye check --help for all available options.
Inline suppression
Suppress warnings on specific lines with comments:
var x = 5 # gdeye:ignore
var y = 5 # gdeye:ignore correctness/unused-variable
# gdeye:ignore-next-line
var z = 5
# gdeye:ignore-next-line correctness/unused-variable
var w = 5
Building
To build without LSP or MCP support (smaller binary):
Editor Integration
gdeye provides an (experimental) Language Server Protocol (LSP) implementation for real-time diagnostics, hover information, go-to-definition, and more. This is still under active development and might have some rough edges, especially around completions.
Kate
Go to Settings → Configure Kate → LSP Client → User Server Settings and add:
MCP Server
gdeye includes an MCP (Model Context Protocol) server for AI assistants. Add
to your .mcp.json: