This directory holds git submodules for Morphir ecosystem repositories. Use this file when working on finos/morphir in ways that touch the ecosystem.
- morphir-elm – Reference Elm implementation (tracking
remixedbranch). Contains IR definition, Elm compiler, visualization components, and backend processors. - morphir-rust – Rust workspace (morphir-core, morphir-common, morphir-daemon, morphir-ext, etc.). The morphir CLI binary lives in this repo under
crates/morphir, not in the submodule; it depends on morphir-rust crates via path. - morphir-examples – Example Morphir projects.
- morphir-moonbit – MoonBit implementation of Morphir tooling.
- morphir-python – Python implementation of Morphir tooling.
Do not edit submodule content in-place for long-term changes. Prefer contributing in the submodule's own repo and then updating the submodule ref in finos/morphir when intentional.
- morphir-live (
crates/morphir-live) and morphir CLI (crates/morphir) depend on crates underecosystem/morphir-rust/crates/. - Use paths relative to the consuming crate. Example from
crates/morphir-live:
morphir_core = { path = "../../ecosystem/morphir-rust/crates/morphir-core" } - Do not add
ecosystem/morphir-rustas a workspace member in the rootCargo.toml; only use path dependencies to specific crates.
Same as root AGENTS.md: do not add AI assistants as co-authors in commits (EasyCLA).
To run tests inside morphir-rust:
cd ecosystem/morphir-rust && cargo testBuild and test MoonBit packages from the repo root using mise tasks:
# Build all packages (wasm and wasm-gc targets)
mise run build:morphir-moonbit
# Build specific package(s)
mise run build:morphir-moonbit -- morphir-sdk
mise run build:morphir-moonbit -- morphir-sdk morphir-core
# Run all tests
mise run test:morphir-moonbit
# Test specific package(s)
mise run test:morphir-moonbit -- morphir-sdkValid package names: morphir-sdk, morphir-core, morphir-moonbit-bindings
Changes inside submodules are committed in the submodule repo. The morphir repo only commits the submodule ref when intentionally updating to a new revision.
When morphir-go, morphir-python, or others are added, they will live under ecosystem/ with the same pattern. Document any language- or repo-specific usage in this file.
Python implementation of Morphir tooling. Uses uv for package management and behave for BDD tests.
cd ecosystem/morphir-python && uv sync && uv run behave