Project Memory
Free All memory tools work from the filesystem — no addon required.
The Context Window Problem
Section titled “The Context Window Problem”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.
project_summary
Section titled “project_summary”Generates a comprehensive summary of the entire Godot project: scenes, scripts, resources, architecture patterns, dependencies, and conventions.
When to Use It
Section titled “When to Use It”- 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
Parameters
Section titled “Parameters”| Parameter | Type | Default | Description |
|---|---|---|---|
path | string | "res://" | Project root to summarize |
detail | string | "normal" | Output verbosity: brief (~80% fewer tokens), normal, full |
focus | array | null | Focus areas: "architecture", "scenes", "scripts", "resources", "conventions" |
Example
Section titled “Example”Prompt: “Give me an overview of this project.”
{ "tool": "project_summary", "args": { "detail": "normal" }}{ "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 divedetail: "full"includes every file with its dependencies and signals — useful for the first session on a new projectfocuslets 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
file_context
Section titled “file_context”Returns detailed context about a specific file: its dependencies, dependents, signals, methods, and role in the project architecture.
When to Use It
Section titled “When to Use It”- 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
Parameters
Section titled “Parameters”| Parameter | Type | Default | Description |
|---|---|---|---|
path | string | required | Path to the file |
detail | string | "normal" | Output verbosity: brief, normal, full |
Example
Section titled “Example”Prompt: “Tell me everything about OrderManager.gd”
{ "tool": "file_context", "args": { "path": "res://scripts/managers/OrderManager.gd", "detail": "full" }}{ "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 lookupsdetail: "full"includes method bodies, all signal connections, and transitive dependencies — use for deep investigation- After modifying a file, call
file_contextagain to verify the changes match your expectations - Pairs well with
project_summary— use the summary to find the relevant file, thenfile_contextto understand it deeply
Related Tools
Section titled “Related Tools”- Code analysis —
dependency_graphandsignal_mapprovide the raw data that memory tools summarize - Flow tracing — After
file_contextidentifies a file, usetrace_flowto follow its data paths - Configuration — Configure the
detailparameter default in.godotiq.json