feat: el-ide — native IDE for engram-lang, LSP, type graph, plugin ecosystem

Axum HTTP server (port 7771) serving a single-page IDE with CodeMirror 6
syntax highlighting for engram-lang, a force-directed type graph visualizer,
LSP (completions, hover, diagnostics), SSE-streamed build/run output, a
plugin host with five first-party plugins, and a reasoning panel that proxies
to engram-server. 28 tests across three crates, zero warnings.
This commit is contained in:
Will Anderson
2026-04-27 19:12:42 -05:00
commit 1172ab6351
27 changed files with 5944 additions and 0 deletions
+40
View File
@@ -0,0 +1,40 @@
[workspace]
members = [
"crates/el-ide-server",
"crates/el-lsp",
"crates/el-plugin-host",
]
resolver = "2"
[workspace.package]
version = "0.1.0"
edition = "2021"
license = "MIT"
authors = ["Neuron Technologies"]
[workspace.dependencies]
# Internal crates (el-ide workspace)
el-lsp = { path = "crates/el-lsp" }
el-plugin-host = { path = "crates/el-plugin-host" }
# Engram lang crates (path deps)
el-lexer = { path = "../engram-lang/crates/el-lexer" }
el-parser = { path = "../engram-lang/crates/el-parser" }
el-types = { path = "../engram-lang/crates/el-types" }
el-compiler = { path = "../engram-lang/crates/el-compiler" }
# External
serde = { version = "1", features = ["derive"] }
serde_json = "1"
thiserror = "2"
tokio = { version = "1", features = ["full"] }
axum = { version = "0.7", features = ["macros"] }
tower-http = { version = "0.5", features = ["cors", "fs"] }
rust-embed = { version = "8", features = ["axum"] }
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
reqwest = { version = "0.12", features = ["json"] }
async-stream = "0.3"
tokio-stream = "0.1"
which = "6"
mime_guess = "2"