doc/EVOLUTION: add LSP Go port to Phase 12
This commit is contained in:
parent
9f947e93ec
commit
ebd994fe7e
|
|
@ -315,9 +315,26 @@ tools/
|
|||
This decouples metadata from implementation language — compiled Go binaries,
|
||||
Python scripts, and bash tools all use the same discovery mechanism.
|
||||
|
||||
### LSP tools ported to Go
|
||||
The Python LSP bridge (`_lib/lsp/`) replaced with a pure Go implementation:
|
||||
|
||||
```
|
||||
tools/
|
||||
├── builtin/ ← in-process handlers (shell, reasoning, tool/skill registry)
|
||||
└── lsp/ ← shared LSP client library
|
||||
└── cmd/ ← individual binaries (lsp_definition, lsp_hover, ...)
|
||||
```
|
||||
|
||||
Architecture: each LSP tool binary embeds a bridge daemon (started on first
|
||||
invocation via `--bridge` flag, persists via Unix socket, auto-exits after 5min
|
||||
idle). No Python. No `_lib`. No external dependencies beyond the LSP servers
|
||||
themselves (gopls, clangd, intelephense).
|
||||
|
||||
### Repo reorganization
|
||||
- `contrib/{prompts,scripts,services,tools,skills,agents}` → `data/`
|
||||
- `contrib/elisp` stays (Emacs frontend contribution)
|
||||
- `tools/builtin/` — built-in tool handlers (moved from `tools/`)
|
||||
- `tools/lsp/` — Go LSP implementation (replaced `data/tools/_lib/lsp/`)
|
||||
|
||||
## Current Topology
|
||||
```
|
||||
|
|
|
|||
Loading…
Reference in New Issue