docs: add root README mapping the El monorepo #83
Reference in New Issue
Block a user
Delete Branch "feat/AddingReadme"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What & why
There was no root-level documentation for this monorepo — eight subprojects (
lang,engram,elp,epm,ide,ql,ui,arbor), each with its own manifest/spec, but nothing tying them together for someone landing on the repo cold. This adds a rootREADME.mdthat does that.It covers:
lang/spec/language.md's Overview and the four defining properties already documented there.lang(compiler/runtime) relates toengram(the graph memory substrate) and the tools/systems built on top (epm,ide,elp,ql,ui,arbor).manifest.eldescription(s) andspec/*.mdwhere one exists, not written from assumption. Includeslang's current implemented-vs-planned status, sourced directly fromlang/spec/language.md's Implementation Status section (the repo's stated single source of truth for that).lang/install.sh, or build from source and verify the self-hosting round-trip, then compile+runlang/examples/hello.el.dev → stage → mainpromotion pattern and per-subproject.gitea/workflows/CI, both visible in existing repo history, plus where specs and agent-guides (AGENTS.md) live.Depth is intentionally a map, not a duplicate of each subsystem's docs —
*/spec/*.md,*/README.md, andlang/AGENTS.mdremain the source of truth for their own areas; the root README links out to them rather than re-explaining them.Known gaps (flagged, not blocking)
elp/andarbor/have nospec/*.mdof their own yet, so those two sections are sourced frommanifest.eldescriptions only, thinner than thelang/engram/ql/uisections that had a spec to draw from.LICENSEfile exists — the Status section states proprietary/internal in prose; a formalLICENSEwould be a separate follow-up if wanted.Verification
git diff main...feat/AddingReadme --statshows a single new file, 154 insertions, nothing else touched.lang/BOOTSTRAP.md,lang/AGENTS.md,lang/spec/language.md,lang/spec/codegen-js.md,engram/README.md,ql/spec/elql.md,ui/spec/framework.md,lang/install.sh,lang/examples/hello.el,lang/examples/hello-project/,lang/releases/) was confirmed to exist in the tree before linking.manifest.eldescriptionfield rather than paraphrased from memory.849d54d73btob97b644799Welcome, André! Great first contribution — and a genuinely hard doc to write well, because El is a big monorepo. You've mapped it clearly and, importantly, accurately. I cross-checked the structural and technical claims against
dev.What's genuinely strong
dev(lang,engram,elp,epm,ide,ql,ui,arbor).arbor's six components are exact (arbor-core/-parse/-diagram/-layout/-render/-cli).uiis exactly 15 vessels. Theengramdescription checks out against its spec:sledbacking, spreading-activation retrieval, the four Working/Episodic/Semantic/Procedural tiers, and "flat cosine scan until scale demands an HNSW layer." The historical languages you name inelp(Old Norse, Sanskrit, Sumerian, Coptic, Akkadian, Ge'ez) are all present. This is well-researched.diff elc-new.c elc-verify.creproducibility check in Getting Started, is exactly right and the kind of thing that makes BOOTSTRAP.md less scary.One real nit (worth a small fix)
morphology-*.elmodules inelp/src(akk, ang, ar, cop, de, egy, enm, es, fi, fr, fro, gez, goh, got, grc, he, hi, ja, la, non, peo, pi, ru, sa, sga, sux, sw, txb, uga). If the canonical count is genuinely 31 (some languages may ride a shared/default morphology, or the profile enumerates more than have modules yet), a pointer to where the full list is authoritative —language-profile.el? — would let the number defend itself. Otherwise it's worth reconciling to 29. Small, but the rest of the doc is precise enough that readers will trust this figure.Smaller notes (optional)
uivessel enumeration lists ~14 by name and skipsel-native(the 15th ondev). Your "~15 vessels" count is correct; just noting the prose list is one short if you want it exhaustive.el_val_t (int64_t)reads fine as a characterization; no change needed.Overall: looks good — minor fixes. Only the "31 languages" number is worth touching before merge; everything else is accurate and clearly written. Base is correctly
devfor gitflow. Really solid first PR.