Repository layout
docs/ Public VitePress site — consumers/ + maintainers/
tamer/ Cloudflare Workers deploy config (docs + playground)
internals/ Agent / architect design docs (not published by VitePress)
crates/ Rust engine — cargo workspace, engine of record
clients/ Studio (Vue) + TypeScript client (@eelden/client)
examples/ Eelden Lang samples (.eel) + eelden.config.json
grammars/ TextMate grammar for .eel (docs highlighting, editors)
lsp/ LSP design notes (packaged server not shipped — see Status)
fuzz/ cargo-fuzz targets (full fuzz; CI uses eelden-fuzz-smoke)
scripts/ Repo helper scripts (e.g. cloud-agent install)
AGENTS.md Rules for agent-written code (Rust policy + teaching)
NAMING.md Product / language / package naming rulesCrates map
| Crate | Role |
|---|---|
eelden-lang | Lexer, AST, parser, typechecker; wasm intel artifact |
eelden-storage | Versioned pages, pager, B-tree, file/mem/OPFS stores |
eelden-wal | WAL frames + WalSink backends |
eelden-tenant | In-memory tenant catalog interface |
eelden-plan | Planner seam: typechecked AST → plan hint |
eelden-exec | Query executor, Meta, open/recover |
eelden-cli | Product binary: eelden run | serve | studio | … |
eelden-wasm | Browser session + OPFS durable engine ABI |
eelden-fault | Seeded fault injection for DST / IO doubles |
eelden-stress | Limit / recovery stress harness (maintainer tool) |
eelden-sim | Deterministic simulation / DST skeleton (maintainer tool) |
eelden-fuzz-smoke | Stdlib PRNG fuzz smoke (maintainer tool) |
Stress, sim, and fuzz-smoke are not product CLI — see Testing.
Clients
| Path | Role |
|---|---|
clients/studio | Studio UI + playground (?local=1 wasm) |
clients/typescript | @eelden/client — Money, tagged template, codegen |
Tamer
tamer/ holds stack identity and worker configs for docs and playground Workers only. There is no hosted database API deploy from this repo today. See Deploy.
Internals
internals/ is the agent source of truth: decisions, engine plan, living plans, review guides, rust notes. Public honesty updates go to Status and matching consumer pages — see Internals.
Naming
Product and package naming rules: NAMING.md (Eelden / Eelden Lang / .eel; forbidden product names Weft, EQL, standalone Eel).