elodin-dev

star 531

Develop and contribute to the Elodin codebase. Use when building Elodin from source, running tests, modifying core libraries, working on the Rust workspace, or onboarding as a contributor.

elodin-sys By elodin-sys schedule Updated 5/21/2026

name: elodin-dev description: Develop and contribute to the Elodin codebase. Use when building Elodin from source, running tests, modifying core libraries, working on the Rust workspace, or onboarding as a contributor.

Elodin Development

Elodin is a monorepo for aerospace simulation and flight software. The stack:

  • nox-py — Python SDK (JAX + PyO3 bindings; includes ECS in src/)
  • nox — Tensor compiler (→ Cranelift-MLIR / JAX)
  • Impeller2 — High-performance pub-sub telemetry protocol
  • Elodin-DB — Time-series telemetry database
  • Elodin Editor — 3D viewer and graphing tool (Bevy + Egui)
  • Roci — Reactive flight software framework
  • Aleph — NixOS configuration for Jetson Orin flight computers

Architecture

Python Simulations (nox-py)
        │
   ┌────┴────┬──────────────┐
   │         │              │
 NOX      Impeller2     Elodin-DB
Compiler  (Telemetry)   (Storage)
   │         │              │
Cranelift/ Stellarator    Elodin
  JAX      (Async RT)     Editor
                │
         ┌──────┴──────┐
       Roci          Aleph
    (Flight SW)   (Hardware)

Key integration points:

  1. nox-py → nox → Cranelift-MLIR (default) or JAX (simulation compilation)
  2. nox-py → impeller2 → elodin-db (telemetry)
  3. elodin-editor → impeller2 → elodin-db (visualization)
  4. roci → impeller2 → elodin-db (flight software telemetry)

Prerequisites

Development Environment

Always work inside the Nix shell. It provides Rust, Python, C/C++ toolchains, cloud tools, and git-lfs.

nix develop                              # Enter unified dev shell
nix develop --command "cargo build"      # One-off command

Build Commands

just install

# Run an example
elodin editor examples/three-body/main.py

CI Checks

All changes must pass these before merge. See ci-checks.md for details.

cargo fmt                                 # Rust formatting
cargo test                                # Rust tests
cargo clippy -- -Dwarnings                # Rust lints (warnings = errors)
ruff format --check && ruff check --fix   # Python formatting + lints
alejandra                                 # Nix formatting

Workspace Structure

The Cargo workspace has 57 members. Key crates by area:

Area Crates
Simulation nox, elodin-macros, nox-py, nox-frames, cranelift-mlir
Database db, db/cli, db/eql, db/tests
Telemetry impeller2, impeller2/{bevy,stellar,bbq,frame,kdl,wkt}
Editor elodin-editor, apps/elodin
Runtime stellarator, stellarator/{buf,macros,maitake}
Flight SW roci, roci/{macros,adcs}
FSW Apps serial-bridge, mekf, msp-osd, lqr, blackbox, gstreamer, video-streamer
Utilities wmm, s10, video-toolbox

Working from Repository Root

Always run commands from the repo root. This prevents path confusion across the many workspace members and aligns with how CI runs.

Component-Specific Skills

For deeper work on specific areas, see:

  • Editor: .cursor/skills/elodin-editor-dev/
  • Python SDK: .cursor/skills/nox-py-dev/
  • Database: .cursor/skills/elodin-db/
  • Aleph/NixOS: .cursor/skills/elodin-aleph/
  • Nix environment: .cursor/skills/elodin-nix/
Install via CLI
npx skills add https://github.com/elodin-sys/elodin --skill elodin-dev
Repository Details
star Stars 531
call_split Forks 38
navigation Branch main
article Path SKILL.md
More from Creator