Skip to content

Godot / GDScript support #57

Description

@NiMv1

Current situation

  • A mature tree-sitter grammar for GDScript already exists (prestonknopp/tree-sitter-gdscript, also published as tree-sitter-gdscript on npm).
  • Godot is widely used by indie developers and small teams.
  • RagCode currently provides full AST-based indexing for Go, PHP (incl. Laravel), and Python, with JavaScript/TypeScript planned (tree-sitter based).
  • GDScript is not supported. In Godot repositories, workspace detection typically resolves to the generic .git marker (project_type: git), so .gd files are not parsed by any language analyzer and do not produce semantic chunks in Qdrant.
  • As a result, RagCode has limited usefulness for Godot projects: GDScript symbols, relationships, and semantic search are effectively unavailable.

Potential scope

Implementation could follow the existing per-language analyzer pattern under internal/ragcode/analyzers/<lang>/ (similar to the planned JS/TS tree-sitter approach):

  1. Add tree-sitter-gdscript support — new GDScript analyzer with semantic chunking (functions, classes, signals, enums).
  2. Extract and index:
    • class_name / classes
    • functions and methods
    • signals (signal declarations)
    • enums
    • optional: doc comments, @export, @onready metadata where useful for search
  3. Add reference indexing — cross-file symbol references for navigation (find_implementations, get_function_details, etc.).
  4. Workspace detection — recognize project.godot as a workspace marker and set an appropriate project_type (e.g. godot / gdscript) so the language manager selects the GDScript analyzer.
  5. Optional: .tscn scene file support — parse ext_resource script references and node paths to link scenes and attached scripts.
  6. Scene ↔ script navigation — where feasible, expose relationships between .tscn nodes and their attached .gd scripts through existing MCP tools (search_code, hybrid_search, get_code_context).

Expected outcome

  • Better repository navigation for Godot projects.
  • Meaningful semantic and hybrid search over GDScript codebases.
  • Improved support for Godot developers using RagCode with Cursor, Windsurf, Copilot, and other MCP clients.
  • Increased adoption among the Godot community.

Context

Validated against the current homiodev/rag-code-mcp repository (README language table, workspace detection docs, analyzer layout). No existing open or closed issues request Godot/GDScript support.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions