Skip to main content

Morphir CLI

The Morphir CLI shipped from this repository is a Rust command-line tool for working with Morphir IR, configuration, distributions, and language bindings.

Repository ownership

This CLI is built from crates/morphir in finos/morphir.

For the Go-based Morphir CLI (including WIT pipeline commands), see Morphir Go in finos/morphir-go.

Installation

Prebuilt binaries are published from finos/morphir releases.

Install with mise

mise use -g github:finos/morphir@0.4.0-alpha.5

To pin Morphir in a project's mise.toml:

[tools]
"github:finos/morphir" = "0.4.0-alpha.5"

Run mise install after changing the configuration. Prereleases must be selected explicitly.

Install a release archive manually

Download the archive for your system from GitHub Releases.

SystemProcessorAsset suffix
Linuxx86-64x86_64-unknown-linux-gnu.tgz
LinuxARM64aarch64-unknown-linux-gnu.tgz
macOSIntelx86_64-apple-darwin.tgz
macOSApple siliconaarch64-apple-darwin.tgz
Windowsx86-64x86_64-pc-windows-msvc.zip
WindowsARM64aarch64-pc-windows-msvc.zip

Extract the morphir executable (or morphir.exe on Windows) and add it to your PATH.

See INSTALLING.md in the repository for checksum verification and build-from-source instructions.

Verify installation

morphir version

Command overview

The Rust CLI includes:

CommandPurpose
morphir compileCompile source to Morphir IR
morphir generateGenerate code from Morphir IR
morphir configInspect effective configuration
morphir toolManage Morphir tools
morphir distManage Morphir distributions
morphir extensionManage Morphir extensions
morphir gleamGleam language binding commands
morphir schemaGenerate JSON Schema for Morphir IR
morphir versionPrint version information

Run morphir --help for the current command list. Some commands are experimental and hidden unless you pass --help-all.

Build from source

git clone --recurse-submodules https://github.com/finos/morphir.git
cd morphir
mise install
cargo build --locked --release --package morphir

The executable is written to target/release/morphir (or target\release\morphir.exe on Windows).

ToolRepositoryUse when
morphir-elmfinos/morphir-elmProduction Elm authoring, visualization, and mature backends
Morphir Go CLIfinos/morphir-goGo-based CLI, WIT pipeline, Go code generation
Morphir Livefinos/morphir (crates/morphir-live)Interactive IR visualization

For stable production workflows today, continue using morphir-elm unless your project specifically targets the Rust or Go CLIs.