Project Memory
PRO All memory tools are PRO intelligence tools. Filesystem-only, 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 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.
godotiq_project_summary
Section titled “godotiq_project_summary”Architecture overview, autoloads, conventions, file counts. Call FIRST in every session.
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. Use it to “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": "godotiq_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 dive.detail: "full"includes every file with its dependencies and signals. Useful for the first session on a new project.focuslets 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
godotiq_file_context
Section titled “godotiq_file_context”Deep context for a file: public API, dependencies, signals, who imports it, scene usage. Call BEFORE editing any file.
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": "godotiq_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 lookups.detail: "full"includes method bodies, all signal connections, and transitive dependencies. Use for deep investigation.- After modifying a file, call
godotiq_file_contextagain to verify the changes match your expectations - Pairs well with
godotiq_project_summary. Use the summary to find the relevant file, thengodotiq_file_contextto understand it deeply.
Related Tools
Section titled “Related Tools”- Code analysis:
godotiq_dependency_graphandgodotiq_signal_mapprovide the raw data that memory tools summarize - Flow tracing: After
godotiq_file_contextidentifies a file, usegodotiq_trace_flowto follow its data paths - Configuration: Configure the
detailparameter default in.godotiq.json