Commands
What the agent uses
Every code intelligence operation tries LSP first:- Go-to-definition
- Find references
- Workspace-wide rename
- Diagnostics (errors, warnings, info)
- Code actions (quick fixes, refactors)
- Call hierarchy (incoming and outgoing)
- Type hierarchy (super and subtypes)
- Hover and type info
- Format document and format range
Dual backend
SoulForge runs LSP in two modes, whichever is available:
Both cover the same capabilities. Standalone servers stay warm as hot standby even when Neovim is open.
Supported languages
Typical LSP coverage (any Mason package works): TypeScript, JavaScript, Python, Go, Rust, Java, Kotlin, Scala, C#, Swift, Dart, Elixir, OCaml, Lua, C, C++, Ruby, PHP, Zig, Bash, CSS, HTML, JSON, TOML, YAML, Dockerfile, Vue. Tree-sitter detection adds ReScript, Solidity, TLA+, Emacs Lisp, Objective-C, Nix, HCL/Terraform, Bazel/Starlark, Jsonnet, Makefile, GraphQL, Protobuf, SQL, Markdown, MDX, XML, and more. For anything LSP doesn’t cover, the intelligence router falls through to ts-morph (TypeScript/JavaScript AST), tree-sitter, and regex.Mason installer
/lsp install opens a fuzzy-search browser over Mason’s registry. Pick a package, press enter, SoulForge installs it:
- npm packages to
~/.soulforge/lsp-servers/node_modules/ - pypi via
pip3 - cargo via
cargo install - golang via
go install - github releases downloaded and extracted
Check health
/diagnose runs a full check: tree-sitter, LSP readiness, semantic indexing, repo map status. Use it when something doesn’t feel right.
