Hey HN, my co-founder and I built lsproxy (https://github.com/agentic-labs/lsproxy), an open-source dev container that uses language servers and syntax tree parsers to expose an API for code navigation.
This allows you to give coding agents IDE-like `go to definition` and `find reference` capabilities, or to build code graphs for RAG.
1. Start the container with the code mounted.
2. The container starts and configures preinstalled language servers (currently support Python, Typescript/Javascript, and Rust) based on the code mounted in.
3. Incoming requests get routed to the correct language server.
4. The output from the language server is cleaned and standardized for the end user.
There are two main challenges we’re solving for:
1. Each server has different, poorly documented configuration settings, making testing difficult.
2. The protocol they adhere to (Language Server Protocol) is lenient, allowing behavior to differ between servers, and the protocol itself is geared towards visual IDEs and mouse cursors.
We built this because we’ve been working on AI code search and generation, spent a ton of time building coding-specific tools for our agents, and noticed everyone else in the space was building the same tools. We’re solving code navigation first, but we are excited to expand this to a complete development environment for AI agents to plug into.
This allows you to give coding agents IDE-like `go to definition` and `find reference` capabilities, or to build code graphs for RAG.
Interactive demo here: https://demo.lsproxy.dev/
How it works:
1. Start the container with the code mounted. 2. The container starts and configures preinstalled language servers (currently support Python, Typescript/Javascript, and Rust) based on the code mounted in. 3. Incoming requests get routed to the correct language server. 4. The output from the language server is cleaned and standardized for the end user.
There are two main challenges we’re solving for:
1. Each server has different, poorly documented configuration settings, making testing difficult. 2. The protocol they adhere to (Language Server Protocol) is lenient, allowing behavior to differ between servers, and the protocol itself is geared towards visual IDEs and mouse cursors.
We built this because we’ve been working on AI code search and generation, spent a ton of time building coding-specific tools for our agents, and noticed everyone else in the space was building the same tools. We’re solving code navigation first, but we are excited to expand this to a complete development environment for AI agents to plug into.