What it can do
| Operation | Examples |
|---|---|
| Go to definition | ”where is parseConfig defined?” |
| Find references | ”who calls parseConfig?” |
| Rename | ”rename useChat to useConversation everywhere” |
| Type info | ”what’s the return type of fetchUser?” |
| Diagnostics | ”any errors in this file?” |
| Call hierarchy | ”what does buildTools call?” |
navigate and analyze tools.
How it picks a backend
LSP always-on
The agent has LSP access even when the editor panel is closed. When you open Neovim (Ctrl+E), requests route through your LSP servers there. When it’s closed, SoulForge spawns standalone servers.
Check what’s attached:
After every edit
SoulForge snapshots diagnostics before the edit, compares after, and tells the agent:- New errors it just introduced
- Errors it just fixed
- Errors in other files caused by the edit

