Install the CLI
Get the intropy CLI installed in about a minute.
Before you begin
Section titled “Before you begin”- A supported OS: macOS 13+, Linux x86_64/arm64, or Windows 11 (WSL2)
- .NET 10 SDK — every Component and system host is a .NET 10 project
- Docker Desktop 27+ — or another OCI-compatible engine (Rancher Desktop, Colima, podman). The local run starts its broker and service mocks as containers. If
docker inforeturns a socket permission error on Linux, use Docker’s Linux post-install steps - Dapr CLI 1.16 — runs the local sidecars every Intropy Component depends on
- Task — optional. Scaffolded projects ship a
Taskfile.ymlwrapping the common commands; everything it wraps can also be run by hand withdotnet
Install
Section titled “Install”Install the CLI from the Homebrew formula:
brew install integrio-intropy/tap/intropyThe formula installs the intropy binary and shell completions for bash, zsh, and fish.
Prefer not to use Homebrew? The install script under the Linux tab works on macOS too.
Install from the GitHub releases:
curl -fsSL https://github.com/integrio-intropy/intropy-cli/releases/latest/download/install.sh | /bin/bashThe script requires bash. Piping it to sh fails on distributions where /bin/sh is dash, such as Ubuntu. The script detects your OS and architecture, downloads the matching release archive, verifies the SHA256 checksum, and installs the binary and shell completions.
Windows is not a supported native target: the CLI relies on Unix path conventions and signal handling. Install and run intropy inside WSL 2, using the same script as on Linux:
curl -fsSL https://github.com/integrio-intropy/intropy-cli/releases/latest/download/install.sh | /bin/bashRun the rest of the toolchain (the .NET SDK, the Dapr CLI) inside WSL as well. A Dapr CLI on Windows is not visible from WSL, and WSL needs its own runtime: run dapr init (below) inside WSL so daprd installs to ~/.dapr/bin there. A Dapr CLI on Windows alone leaves WSL without a runtime, and every sidecar the tutorials start exits immediately. Docker Desktop for Windows works when WSL 2 integration is enabled for your distribution. If docker info fails inside WSL, follow Docker’s WSL integration guide.
Keep tutorial workspaces in the WSL Linux filesystem, such as ~/intropy-work. Do not scaffold under /mnt/c, OneDrive, or another Windows-mounted path. Intropy creates temporary files with Unix permissions; Windows-mounted filesystems can reject this with chmod … .tmp: operation not permitted.
mkdir -p ~/intropy-workcd ~/intropy-workInstall the Dapr CLI
Section titled “Install the Dapr CLI”The Dapr CLI is a separate install from the intropy CLI. Install it from the same environment that runs the tutorials:
brew install dapr/tap/dapr-clicurl -fsSL https://raw.githubusercontent.com/dapr/cli/master/install/install.sh | /bin/bashThe script is bash; the only change from the official Dapr install docs is curl instead of wget. Piping the script to sh fails on distributions where /bin/sh is dash, such as Ubuntu. The script detects your OS and architecture, downloads the matching release, and installs the dapr binary.
Run the same script as on Linux, inside WSL:
curl -fsSL https://raw.githubusercontent.com/dapr/cli/master/install/install.sh | /bin/bashBootstrap the Dapr runtime
Section titled “Bootstrap the Dapr runtime”After installing the Dapr CLI, bootstrap the local Dapr environment once — from the same environment that runs the tutorials: inside WSL on Windows, in your shell on macOS and Linux:
dapr initdapr init installs the runtime (daprd) that every local sidecar is launched from. The Dapr CLI alone is not enough: without this step every sidecar the tutorials start exits immediately. Verify with dapr --version; it should print a runtime version as well as a CLI version.
Verify
Section titled “Verify”intropy --versiondapr --versionYou should see a version line for intropy, for example intropy version 2.0.0, and a Dapr Runtime version line alongside the CLI version — the runtime line confirms dapr init has run. intropy --help lists the commands; the CLI reference describes each one.
Quoted command output across the tutorials and the CLI reference is captured from real runs at the template release noted on each page. Your runs will show the release you fetch, so the version strings may differ from the quoted ones — yours are the ones to trust.
Workspaces created before CLI 2.0
Section titled “Workspaces created before CLI 2.0”The tutorials are written for intropy CLI 2.1.1 and intropy-templates 2.0.0. CLI 2.0 wires Components by message name and cannot read a workspace scaffolded with CLI 1.x; it fails with this record predates the scalar message DSL. To keep working on such a workspace without migrating it, install CLI 1.0.1 beside 2.0 and pin the templates to v1.0.3, the last release that CLI understands. The release notes list what changed.
Install CLI 1.0.1 into its own directory, so it does not replace the 2.0 binary on your PATH. The script works on macOS, Linux and WSL:
curl -fsSL https://github.com/integrio-intropy/intropy-cli/releases/download/v1.0.1/install.sh \ | /bin/bash -s -- --version v1.0.1 --prefix ~/.local/intropy-1.0.1alias intropy1="$HOME/.local/intropy-1.0.1/intropy"The script warns that the directory is not on your PATH; the alias replaces that. It also writes 1.0.1 shell completions into any shared completion directory it finds (/etc/bash_completion.d, /usr/local/share/zsh/site-functions, ~/.zsh/completions, ~/.config/fish/completions). Regenerate the 2.0 completions there with intropy completion <shell> if you use them.
Run intropy1 from the existing workspace and pass --template-version v1.0.3 to every command that fetches templates: int create, sys create, sys update, the manifests commands, template and dashboard.
intropy1 int create extractor --template-version v1.0.3Without the pin, CLI 1.0.1 fetches the latest template release, which is written for CLI 2.0.