Skip to content

Project Memory

Free All memory tools work from the filesystem — no addon required.

AI models have a limited context window. During a long session, earlier parts of the conversation get compressed or dropped (this is called context compaction). When that happens, the AI “forgets” the project structure, file relationships, and architectural decisions you discussed earlier.

GodotIQ’s memory tools solve this. Instead of re-reading every file, your AI can call project_summary to instantly rebuild its understanding of the entire project, or file_context to deep-dive into a specific file’s role and relationships. These tools are designed to be called at the start of every session and after any context compaction event.


Generates a comprehensive summary of the entire Godot project: scenes, scripts, resources, architecture patterns, dependencies, and conventions.

  • Start of every new AI session — gives the AI complete project context
  • After context compaction — rebuilds understanding that was lost
  • When the AI seems confused about project structure — “refresh” its knowledge
ParameterTypeDefaultDescription
pathstring"res://"Project root to summarize
detailstring"normal"Output verbosity: brief (~80% fewer tokens), normal, full
focusarraynullFocus areas: "architecture", "scenes", "scripts", "resources", "conventions"

Prompt: “Give me an overview of this project.”

Tool call
{
"tool": "project_summary",
"args": { "detail": "normal" }
}
Output
{
"project": "Pizza Rush",
"godot_version": "4.3",
"summary": {
"scenes": 24,
"scripts": 31,
"resources": 18,
"autoloads": ["EventBus", "GameManager", "SaveManager", "SoundManager"]
},
"architecture": {
"pattern": "Event bus + manager singletons",
"entry_point": "res://scenes/main/Main.tscn",
"key_managers": [
{ "name": "GameManager", "role": "Game state, level transitions, score" },
{ "name": "OrderManager", "role": "Order lifecycle, kitchen queue" },
{ "name": "EventBus", "role": "Global signal relay" }
],
"scene_tree": {
"Main": ["UI (CanvasLayer)", "World (Node3D)", "Managers (Node)"]
}
},
"conventions": {
"naming": "snake_case scripts, PascalCase scenes",
"structure": "scenes/ mirrors scripts/ hierarchy",
"signals": "Custom signals defined on emitter, connected via EventBus for cross-scene"
},
"recent_changes": [
"Added OrderPanel UI (3 files changed)",
"Refactored Enemy base class to use state machine"
]
}
  • detail: "brief" returns ~80% fewer tokens — use it when the AI just needs a refresher, not a deep dive
  • detail: "full" includes every file with its dependencies and signals — useful for the first session on a new project
  • focus lets you narrow the summary to just what you need (e.g., ["architecture", "conventions"] skips file listings)
  • Call this at the start of every session. It costs tokens but saves much more by preventing the AI from making wrong assumptions about your project

Returns detailed context about a specific file: its dependencies, dependents, signals, methods, and role in the project architecture.

  • Diving deep into a specific file before modifying it
  • Understanding a file’s role and relationships in the project
  • Getting the “full picture” before refactoring a class
ParameterTypeDefaultDescription
pathstringrequiredPath to the file
detailstring"normal"Output verbosity: brief, normal, full

Prompt: “Tell me everything about OrderManager.gd”

Tool call
{
"tool": "file_context",
"args": {
"path": "res://scripts/managers/OrderManager.gd",
"detail": "full"
}
}
Output
{
"file": "res://scripts/managers/OrderManager.gd",
"type": "GDScript",
"class_name": "OrderManager",
"extends": "Node",
"role": "Manages order lifecycle — creation, progress tracking, completion, and scoring",
"signals": [
{ "name": "order_created", "params": "order: Order" },
{ "name": "order_completed", "params": "order: Order" },
{ "name": "order_failed", "params": "order: Order, reason: String" }
],
"methods": [
{ "name": "create_order", "params": "menu_items: Array[MenuItem]", "returns": "Order" },
{ "name": "complete_order", "params": "order_id: int", "returns": "void" },
{ "name": "get_active_orders", "params": "", "returns": "Array[Order]" }
],
"dependencies": {
"direct": [
"res://scripts/data/Order.gd",
"res://scripts/data/MenuItem.gd",
"res://scripts/autoloads/EventBus.gd"
],
"used_by": [
"res://scenes/ui/OrderPanel.tscn",
"res://scenes/gameplay/Kitchen.tscn",
"res://scripts/managers/GameManager.gd"
]
},
"signal_connections": [
{
"signal": "order_completed",
"connected_to": [
"OrderPanel._on_order_completed (scene connection)",
"ScoreManager._on_order_completed (code: GameManager.gd:24)"
]
}
],
"lines": 127,
"last_modified": "2 days ago"
}
  • detail: "brief" returns just the class signature, signals, and direct dependencies — perfect for quick lookups
  • detail: "full" includes method bodies, all signal connections, and transitive dependencies — use for deep investigation
  • After modifying a file, call file_context again to verify the changes match your expectations
  • Pairs well with project_summary — use the summary to find the relevant file, then file_context to understand it deeply

  • Code analysisdependency_graph and signal_map provide the raw data that memory tools summarize
  • Flow tracing — After file_context identifies a file, use trace_flow to follow its data paths
  • Configuration — Configure the detail parameter default in .godotiq.json