Contribute

Contributing to edda

edda was written the way you'd contribute to it: by agents, directed by one person, with the build as the arbiter. The workflow that built the compiler is the workflow that improves it — read the map, make the change, let the build tell you if you're right.

The workflow is the product

Start your agent with AGENTS.md — the canonical language reference. Edda isn't in most models' training data, so this is the file that makes an agent write it correctly.

The codebase maps itself. The compiler emits an index.toon structure map beside every source directory — signatures, effect rows, refinements, and the call graph, always in sync with the code that built them. Read the map chain down to a file before you open it; you'll know a function's contract and its callers before reading a line of its body.

edda build is the truth — it typechecks, discharges every contract, and regenerates the maps. edda check is the fast loop. If the build is green, no rot carried into the next change; if it's red, the diagnostic names the fix.

Where things live

The language is one monolith, edda-lang/edda, with five subtrees. The reference compiler that builds it is the separate edda-lang/edda-bootstrap.

compiler/

The native compiler — edda compiling edda, lexer through backend.

std/

The standard library: capabilities, collections, text, I/O.

runes/

The first-party packages — HTTP, JSON, CSS, TLS, and more.

web/

First-party apps, including this site — a verified edda program.

codex/

The language specification: the why behind every locked form.

edda-bootstrap

The Rust reference compiler that builds the toolchain today.

Where to start

New contributors: the good first issues are the softest on-ramp. Get the toolchain running first with the quickstart, then pick one up and let the build guide you.

The most useful thing you can do today needs no compiler knowledge: verify a platform. Windows x64 is the verified target; Linux and macOS build but are still being confirmed across systems. Build the toolchain on your OS, run the quickstart, and tell us it worked — or file the bug that says it didn't. That report is both QA and the easiest first contribution.