How-To Series · Module 7: Power Tools

LSP: Semantic Diagnostics

Real language servers catch type errors the instant a file is written.

After this videoYour agent sees the same type errors a coding agent in an IDE would

Hermes runs full language servers like pyright, gopls, rust-analyzer, and typescript-language-server as background subprocesses and feeds their semantic diagnostics into the post-write lint check used by write_file and patch. After every edit, the agent sees exactly the errors that edit introduced: type errors, undefined names, missing imports, and project-wide semantic issues. LSP is gated on git workspace detection, layered with a syntax-only fallback, and configurable per-server in config.yaml.

About these resources. This episode explains the LSP subsystem in Hermes. The Sources block names the Hermes docs page that backs every claim.

New words here · Plain English

one sentence each · full glossary
Language ServerA background program that understands a programming language and can point out errors in your code, like a spellchecker for code.
LSPLanguage Server Protocol. A standard way for editors and tools to talk to language servers without being tied to one specific editor.
Semantic diagnosticsErrors that go beyond syntax, like using a variable that does not exist or passing the wrong type to a function.
PyrightA language server for Python, made by Microsoft. It catches type errors and undefined names.

Sources · What this video distills

1 docs page · every command below traces to one of them
Primary guide
Language Server Protocol (LSP)
Read ↗

Commands shown · Copy and paste

each shows the source doc it came from
Check service and server statusfrom source ↗
hermes lsp status
Install one language serverfrom source ↗
hermes lsp install pyright
Try every known recipefrom source ↗
hermes lsp install-all
Clear the broken-set and restartfrom source ↗
hermes lsp restart

Going deeper · Related Hermes docs

further reading · not sources of facts shown above

Next in the series · Episodes that build on this