一键导入
elodin-dev
// 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.
// 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.
Contribute to the Elodin Editor, the 3D viewer and graphing tool. Use when editing files in libs/elodin-editor/ or apps/elodin/, working on the Bevy/Egui UI, modifying viewport rendering, telemetry graphs, video streaming, KDL schematics, or the command palette.
Tips for working with a Bevy application
Deploy and configure AlephOS on flight computers, write flight software services, and manage NixOS modules for the Aleph platform. Use when working with aleph/, deploying to Jetson Orin hardware, writing NixOS modules, flashing firmware, or composing a flight software stack.
Work with the Cranelift JIT MLIR backend. Use when modifying libs/cranelift-mlir/, adding new StableHLO ops, debugging simulation correctness issues, running the checkpoint diagnostic tool, or working on the pointer-ABI tensor runtime.
Create and modify physics simulations using the Elodin Python SDK. Use when writing or editing simulation Python files, defining components or systems, spawning entities, configuring 6DOF physics, setting up visualization, or integrating with SITL/HITL workflows.
Profile Elodin with Tracy. Use when profiling the editor, simulation, building with tracy features, capturing traces, analyzing performance, or adding custom instrumentation.
| 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 is a monorepo for aerospace simulation and flight software. The stack:
src/)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:
brew install just / apt install just)git lfs install globally)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
just install
# Run an example
elodin editor examples/three-body/main.py
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
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 |
Always run commands from the repo root. This prevents path confusion across the many workspace members and aligns with how CI runs.
For deeper work on specific areas, see:
.cursor/skills/elodin-editor-dev/.cursor/skills/nox-py-dev/.cursor/skills/elodin-db/.cursor/skills/elodin-aleph/.cursor/skills/elodin-nix/