> ## Documentation Index
> Fetch the complete documentation index at: https://docs.summerengine.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Project Intelligence

> How Summer Engine understands and indexes your entire project

## How It Works

Summer Engine automatically analyzes and indexes your project to understand:

* **Code structure** - Classes, functions, variables, and their relationships
* **Scene hierarchy** - Node trees, components, and connections
* **Asset relationships** - Textures, models, sounds, and where they're used
* **Project patterns** - Your coding style, naming conventions, and architecture

## Automatic Indexing

When you open a project, Summer Engine:

<Steps>
  <Step title="Scans all files">
    Analyzes scripts, scenes, resources, and project settings
  </Step>

  <Step title="Builds knowledge graph">
    Creates connections between different parts of your project
  </Step>

  <Step title="Understands context">
    Learns your patterns and project-specific logic
  </Step>

  <Step title="Stays updated">
    Continuously updates as you make changes
  </Step>
</Steps>

## What Summer Engine Knows

### Code Understanding

```gdscript theme={null}
# Summer Engine knows this is a player controller
extends CharacterBody3D
class_name Player

@export var speed: float = 5.0
@export var jump_velocity: float = 4.5

func _physics_process(delta):
    # Summer Engine understands this handles movement
    handle_movement(delta)
```

When you ask "make the player faster", Summer Engine knows:

* Which script controls the player
* That `speed` is the relevant variable
* How to modify it safely

### Scene Relationships

```
Main Scene
├── Player (CharacterBody3D)
│   ├── MeshInstance3D
│   └── CollisionShape3D
├── Environment
└── UI
    ├── HealthBar
    └── Score
```

Summer Engine understands these connections and can:

* Add UI elements that reference the player
* Create enemies that target the player node
* Modify scenes while preserving relationships

## Smart Suggestions

Based on project analysis, Summer Engine can suggest:

<CardGroup cols={2}>
  <Card title="Performance Improvements" icon="gauge">
    "I noticed you're using get\_node() in \_process. Let me cache those references."
  </Card>

  <Card title="Best Practices" icon="lightbulb">
    "This signal connection could be done in the editor instead of code."
  </Card>

  <Card title="Bug Prevention" icon="shield">
    "Adding null checks here would prevent crashes when nodes are freed."
  </Card>

  <Card title="Architecture Patterns" icon="network">
    "Consider using a state machine for this enemy behavior."
  </Card>
</CardGroup>

## Per-Project Indexing & Caching

Summer Engine uses **per-project indexing** with **intelligent caching**, similar to how Cursor indexes a repo. Each project has its own isolated search index. When you open a project, Summer Engine scans and indexes your codebase, then uses RAG (Retrieval-Augmented Generation) to find relevant context when you ask questions.

**Smart caching** means Summer Engine remembers what it learned between sessions *within that project*. The index persists so you don't start from scratch every time you open Summer Engine.

<Info>
  **New chats start fresh**: Each new chat does not automatically include a summary of your other chats. If you want context from a previous conversation, you need to inject it (for example, by referencing specific files or summarizing what you discussed).
</Info>

## Privacy & Performance

<Info>
  **Local Processing**: All analysis happens on your machine. Your code never leaves your computer.
</Info>

<Info>
  **Incremental Updates**: Only changed files are re-analyzed, keeping things fast.
</Info>

## Customizing Intelligence

You can guide Summer Engine's understanding:

### Project Comments

```gdscript theme={null}
# SUMMER: This is the main game manager singleton
extends Node

# SUMMER: Handle player spawning and respawning
func spawn_player():
    pass
```

### Ignore Patterns

Create a `.summerignore` file:

```
# Don't analyze generated files
.import/
builds/
temp/

# Skip third-party code
addons/third_party/
```

## Working with Large Projects

For projects with thousands of files:

* **Prioritization**: Summer Engine focuses on recently modified files
* **Selective indexing**: You can specify which folders are most important
* **Background processing**: Analysis happens without blocking your work

## Next Steps

<Card title="AI Operations" icon="bot" href="/ai-tools/operations">
  See how project intelligence powers Summer Engine's AI operations
</Card>
