
What is Indexing?
Indexing is the process where Alex:- Scans through all your code files
- Creates special embeddings for each file
- Stores these embeddings to quickly reference later
Why is it Important?
This indexing helps Alex:- Give you more accurate code suggestions
- Better understand the context when you ask questions
- Find relevant code examples from your own project
- Make smarter recommendations based on your actual codebase
Code Maps
Building on top of basic indexing, Alex now automatically parses your Swift project and constructs a “Code Map” for the files you are chatting about. This means Alex has an understanding of how files interact with each other, resulting in better code generation. When you start a chat, Alex:- Analyzes file dependencies and imports
- Maps class and type relationships
- Understands protocol conformances
- Tracks function calls between files
- Generate more accurate code suggestions
- Provide better refactoring recommendations
- Maintain consistency across related files
- Respect your project’s architecture
Code Maps are enabled by default for all chats, so you don’t need to do anything extra to get these benefits!
Managing Indexes
Access Index Management
Open the “Indexed Files” section in Settings to access the indexing UI.Here you can:
- View all indexed files
- Check indexing status
- Manage existing indexes
- Add multiple folders for indexing
Adding Multiple Folders
To index additional folders beyond your main Xcode project:
- Under “Search Files”, click the “Additional Folders” collapsible button
- Click the plus (+) button to select a folder
- Choose the folder you want to index (e.g., server repo, Android repo)
- Click “Reload Index” to start indexing the new folder
- If Alex has difficulties with recognizing the folder, hit delete index and reload it. Or try restarting the app.
- Backend server repositories
- Android projects alongside iOS
- Shared libraries or dependencies
- Any other related code folders
Automatic Synchronization
Your codebase index automatically updates when:- Files are modified
- New files are added
- Files are deleted
- Git branches are switched
