Skip to content

Project Memory

PRO All memory tools are PRO intelligence tools. Filesystem-only, 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 godotiq_project_summary to instantly rebuild its understanding of the entire project, or godotiq_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.


Architecture overview, autoloads, conventions, file counts. Call FIRST in every session.

  • 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. Use it to “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": "godotiq_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

Deep context for a file: public API, dependencies, signals, who imports it, scene usage. Call BEFORE editing any file.

  • 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": "godotiq_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 godotiq_file_context again to verify the changes match your expectations
  • Pairs well with godotiq_project_summary. Use the summary to find the relevant file, then godotiq_file_context to understand it deeply.

  • Code analysis: godotiq_dependency_graph and godotiq_signal_map provide the raw data that memory tools summarize
  • Flow tracing: After godotiq_file_context identifies a file, use godotiq_trace_flow to follow its data paths
  • Configuration: Configure the detail parameter default in .godotiq.json